Linux 2017年企業(yè)運(yùn)維經(jīng)典面試題匯總(2)

2018-07-31 14:45 更新

防偽碼:不要仰望別人,自己亦是風(fēng)景。


1、寫(xiě)一個(gè)腳本查找最后創(chuàng)建時(shí)間是三天前,后綴是*.log的文件并刪除

1
find .-ctime +3 -name '*.log' rm -rf

2、統(tǒng)計(jì)ip訪問(wèn)情況,要求分析nginx訪問(wèn)日志,找出訪問(wèn)頁(yè)面數(shù)量在前十位的ip

1
cataccess.log | awk '{print $1}' uniq -c | sort -rn | head -10

3、使用tcpdump監(jiān)聽(tīng)主機(jī)為192.168.1.1,tcp端口為80的數(shù)據(jù),同時(shí)將輸出結(jié)果保存輸出

到tcpdump.log。

1
tcpdump 'host 192.168.1.1 and port 80' > tcpdump.log

4、利用Python打印前一天的本地時(shí)間,格式為'2016-03-29 13:58:34'

1
time.strftime('%y-%m-%d%H:%M%:%S' time.locatime(time.time() -86400))

5、用Python將‘123456’反轉(zhuǎn)為‘654321’

1
‘123456’[::-1]

6、利用Python執(zhí)行shell命令并取得返回結(jié)果

1
2
3
4
5
>>> import subprocess
>>> a=subprocess.popen('ls',shell=True,stdout=subprocoss.PIPE,
stderr=subprocess.PIPE)
>>>stdout,sterr = a.communicate()
>>>print stdout

8、請(qǐng)用Python繼承process,并寫(xiě)一個(gè)并行執(zhí)行的類(lèi),并寫(xiě)出使用過(guò)程。

1
2
3
4
5
6
7
8
9
10
11
12
import multiprocessing
import time
class ClockProcess(multiprocessing.Process):
    def __init__(self, interval):
        multiprocessing.Process.__init__(self)
        self.interval = interval
    def run(self):
        n = 5
        while n > 0:
            print("the time is {0}".format(time.ctime()))
            time.sleep(self.interval)
            n -= 1

9、有文件file1

a、請(qǐng)用shell查詢file1 里面空行的所在行號(hào)

1
#awk '$0 ~ /^$/ {print NR}' file1


1
grep -n "^$" file1

b、編寫(xiě)ShellScript查詢file1 以abc結(jié)尾的行

1
grep "abc$" file1


1
sed -n '/abc$/ p' file1

c、打印出file1 文件第1 到第3 行

1
sed  -n '1,3p' file1

10、如何將本地80 端口的請(qǐng)求轉(zhuǎn)發(fā)到8080 端口,當(dāng)前主機(jī)IP 為192.168.2.1

1
Iptables –t nat -A PREROUTING -d 192.168.2.1 -p tcp  –dport 80 -j REDIRECT --to 8080

11、在11 月份內(nèi),每天的早上6 點(diǎn)到12 點(diǎn)中,每隔2 小時(shí)執(zhí)行一次/usr/bin/httpd.sh 怎么

實(shí)現(xiàn)

1
0 6-12/2 * 11 * /usr/bin/httpd.sh

12、編寫(xiě)個(gè)shell 腳本將/usr/local/test 目錄下大于100K 的文件轉(zhuǎn)移到/tmp目錄下

1
find /usr/local/test -type f -size +100k -exec mv {} /tmp/


1
2
3
4
5
6
7
8
9
10
11
#!/bin/bash
filelist=$(ls  /usr/local/test -l | grep "^-" awk '{print $9}'
filepath="/usr/local/test"
for file in $filelist
do
    filesize=$(du -s $filepath$file |awk '{print $1}')
    if [ $filesize -gt 100]
    then
    mv $filepath$file /tmp/
fi
done

13、簡(jiǎn)述raid0 raid1 raid5 三種工作模式的工作原理及特點(diǎn)。

 

1
2
RAID 0:帶區(qū)卷,連續(xù)以位或字節(jié)為單位分割數(shù)據(jù),并行讀/寫(xiě)于多個(gè)磁盤(pán)上,因此具有很高的數(shù)據(jù)傳輸率,但它沒(méi)有數(shù)據(jù)冗余,
RAID 0 只是單純地提高性能,并沒(méi)有為數(shù)據(jù)的可靠性提供保證,而且其中的一個(gè)磁盤(pán)失效將影響到所有數(shù)據(jù)。因此,RAID 0 不能應(yīng)用于數(shù)據(jù)安全性要求高的場(chǎng)合。


  

1
2
RAID 1:鏡像卷,它是通過(guò)磁盤(pán)數(shù)據(jù)鏡像實(shí)現(xiàn)數(shù)據(jù)冗余,在成對(duì)的獨(dú)立磁盤(pán)上產(chǎn)生互為備份的數(shù)據(jù),不能提升寫(xiě)數(shù)據(jù)效率。當(dāng)原始數(shù)據(jù)繁忙時(shí),可直接從鏡像拷貝中讀取數(shù)據(jù),因此RAID
1 可以提高讀取性能。RAID 1 是磁盤(pán)陣列中單位成本最高的,鏡像卷可用容量為總?cè)萘康?/2,但提供了很高的數(shù)據(jù)安全性和可用性。當(dāng)一個(gè)磁盤(pán)失效時(shí),系統(tǒng)可以自動(dòng)切換到鏡像磁盤(pán)上讀寫(xiě),而不需要重組失效的數(shù)據(jù)。

       

1
RAID5:至少由3塊硬盤(pán)組成,分布式奇偶校驗(yàn)的獨(dú)立磁盤(pán)結(jié)構(gòu),它的奇偶校驗(yàn)碼存在于所有磁盤(pán)上,任何一個(gè)硬盤(pán)損壞,都可以根據(jù)其它硬盤(pán)上的校驗(yàn)位來(lái)重建損壞的數(shù)據(jù)(最多允許1塊硬盤(pán)損壞)。所以raid5可以實(shí)現(xiàn)數(shù)據(jù)冗余,確保數(shù)據(jù)的安全性,同時(shí)raid5也可以提升數(shù)據(jù)的讀寫(xiě)性能。

14、oracle 數(shù)據(jù)庫(kù)備份方式

1
2
3
4
5
6
7
從物理與邏輯的角度分類(lèi):
物理備份:對(duì)數(shù)據(jù)庫(kù)操作系統(tǒng)的物理文件(如數(shù)據(jù)文件、控制文件、日志文件等)的備份,物理備份又分為冷備份和熱備份,前者是在關(guān)閉數(shù)據(jù)庫(kù)的時(shí)候進(jìn)行的,后者對(duì)正以歸檔日志方式進(jìn)行的數(shù)據(jù)庫(kù)備份,可以使用RMAN進(jìn)行數(shù)據(jù)庫(kù)的物理備份
邏輯備份:對(duì)數(shù)據(jù)庫(kù)邏輯組件(如表、表空間、存儲(chǔ)過(guò)程等數(shù)據(jù)庫(kù)對(duì)象)的備份邏輯備份的手段很多,如exp、數(shù)據(jù)泵expdp、數(shù)據(jù)庫(kù)閃回技術(shù)等
從數(shù)據(jù)庫(kù)的備份策略角度分類(lèi):
完全備份:每次對(duì)數(shù)據(jù)庫(kù)進(jìn)行完整備份
增量備份:只有那些在上次完全備份或者增量備份后被修改的文件才會(huì)被備份。
差異備份:備份那些自從上次完全備份之后被修改過(guò)的文件。

15、如何查看占用端口8080 的進(jìn)程

1
2
3
netstat -anpt | grep 8080
 lsof -i :8080

八、請(qǐng)寫(xiě)出apache2.X 版本的兩種工作模式,以及各自工作原理。如何查看apache 當(dāng)前所支持的模塊,并且查看是工作在哪種模式下?

1
2
3
4
5
6
7
8
prefork(多進(jìn)程,每個(gè)子進(jìn)程產(chǎn)生一個(gè)線程)和worker(多進(jìn)程多線程,每個(gè)進(jìn)程生成多個(gè)線程)
  其主要工作方式是:當(dāng)Apache服務(wù)器啟動(dòng)后,mpm_prefork模塊會(huì)預(yù)先創(chuàng)建多個(gè)子進(jìn)程(默認(rèn)為5個(gè)),每個(gè)子進(jìn)程只有一個(gè)線程,當(dāng)接收到客戶端的請(qǐng)求后,mpm_prefork模塊再將請(qǐng)求轉(zhuǎn)交給子進(jìn)程處理,并且每個(gè)子進(jìn)程同時(shí)只能用于處理單個(gè)請(qǐng)求。如果當(dāng)前的請(qǐng)求數(shù)將超過(guò)預(yù)先創(chuàng)建的子進(jìn)程數(shù)時(shí),mpm_prefork模塊就會(huì)創(chuàng)建新的子進(jìn)程來(lái)處理額外的請(qǐng)求。Apache總是試圖保持一些備用的或者是空閑的子進(jìn)程用于迎接即將到來(lái)的請(qǐng)求。這樣客戶端的請(qǐng)求就不需要在接收后等候子進(jìn)程的產(chǎn)生。
由于在mpm_prefork模塊中,每個(gè)請(qǐng)求對(duì)應(yīng)一個(gè)子進(jìn)程,因此其占用的系統(tǒng)資源相對(duì)其他兩種模塊而言較多。不過(guò)mpm_prefork模塊的優(yōu)點(diǎn)在于它的每個(gè)子進(jìn)程都會(huì)獨(dú)立處理對(duì)應(yīng)的單個(gè)請(qǐng)求,這樣,如果其中一個(gè)請(qǐng)求出現(xiàn)問(wèn)題就不會(huì)影響到其他請(qǐng)求。Prefork在效率上要比Worker要高,但是內(nèi)存使用大得多不擅長(zhǎng)處理高并發(fā)的場(chǎng)景。
  Worker模式(多線程多進(jìn)程):
和prefork模式相比,worker使用了多進(jìn)程和多線程的混合模式,worker模式也同樣會(huì)先預(yù)派生一些子進(jìn)程,然后每個(gè)子進(jìn)程創(chuàng)建一些線程,同時(shí)包括一個(gè)監(jiān)聽(tīng)線程,每個(gè)請(qǐng)求過(guò)來(lái)會(huì)被分配到一個(gè)線程來(lái)服務(wù)。線程比起進(jìn)程會(huì)更輕量,因?yàn)榫€程是通過(guò)共享父進(jìn)程的內(nèi)存空間,因此,內(nèi)存的占用會(huì)減少一些,在高并發(fā)的場(chǎng)景下會(huì)比prefork有更多可用的線程,表現(xiàn)會(huì)更優(yōu)秀一些;另外,如果一個(gè)線程出現(xiàn)了問(wèn)題也會(huì)導(dǎo)致同一進(jìn)程下的線程出現(xiàn)問(wèn)題,如果是多個(gè)線程出現(xiàn)問(wèn)題,也只是影響Apache的一部分,而不是全部。
總的來(lái)說(shuō),prefork方式速度要稍高于worker,然而它需要的cpu和memory資源也稍多于woker。
可以通過(guò)命令httpd  -M  或 httpd -l 可以查看apache 當(dāng)前的模塊
可以通過(guò)命令httpd  -V查看是工作在哪種模式下

16、你使用過(guò)監(jiān)控軟件嗎?說(shuō)說(shuō)其特點(diǎn)

1
2
3
4
5
6
7
8
使用nagios對(duì)服務(wù)器進(jìn)行監(jiān)控,其特點(diǎn)側(cè)重于對(duì)檢測(cè)項(xiàng)的狀態(tài)監(jiān)控,主要通過(guò)nrpe實(shí)現(xiàn)對(duì)遠(yuǎn)程主機(jī)的監(jiān)控,但也可以通過(guò)snmp對(duì)設(shè)備(如路由器、交換機(jī))進(jìn)行監(jiān)控,可實(shí)時(shí)實(shí)現(xiàn)手機(jī)短信、電子郵件、MSN、飛信報(bào)警。
使用cacti 對(duì)服務(wù)器進(jìn)行監(jiān)控,其特點(diǎn)側(cè)重性能和流量監(jiān)控并通過(guò)圖表顯示,主要通過(guò)snmp協(xié)議收集監(jiān)測(cè)項(xiàng)數(shù)據(jù),可實(shí)時(shí)實(shí)現(xiàn)手機(jī)短信、電子郵件、
使用zabbix對(duì)服務(wù)器進(jìn)行監(jiān)控,zabbix是完全開(kāi)源的工具,整合了cacti和nagios等特性。
zabbix可以對(duì)主機(jī)的性能監(jiān)控、網(wǎng)絡(luò)設(shè)備性能監(jiān)控、數(shù)據(jù)庫(kù)、FTP 等通用協(xié)議監(jiān)控、多種告警方式、詳細(xì)的報(bào)表圖表繪制
支持自動(dòng)發(fā)現(xiàn)網(wǎng)絡(luò)設(shè)備和服務(wù)器(可以通過(guò)配置自動(dòng)發(fā)現(xiàn)服務(wù)器規(guī)則來(lái)實(shí)現(xiàn))
支持分布式,能集中展示、管理分布式的監(jiān)控點(diǎn),擴(kuò)展性強(qiáng)
可以自己開(kāi)發(fā)完善各類(lèi)監(jiān)控(根據(jù)相關(guān)接口編寫(xiě)程序?qū)崿F(xiàn)),編寫(xiě)插件容易,可以自定義監(jiān)控項(xiàng),報(bào)警級(jí)別的設(shè)置。
數(shù)據(jù)收集,支持 snmp(包括 trapping and polling ),IPMI,JMX,SSH,TELNET;

17、你對(duì)現(xiàn)在運(yùn)維工程師的理解和以及對(duì)其工作的認(rèn)識(shí)

1
運(yùn)維工程師在公司當(dāng)中責(zé)任重大,需要保證時(shí)刻為公司及客戶提供最高、最快、最穩(wěn)定、最安全的服務(wù)。運(yùn)維工程師的一個(gè)小小的失誤,很有可能會(huì)對(duì)公司及客戶造成重大損失,因此運(yùn)維工程師的工作需要嚴(yán)謹(jǐn)及富有創(chuàng)新精神。

18、第一部分 基礎(chǔ)題 

a. 僅列出 /test目錄下的所有目錄,請(qǐng)寫(xiě)出完整命令

1
ls /test -l | grep "^d"

b. umask 022 ,請(qǐng)描述該命令的含義

1
umask設(shè)置文件或目錄的缺省權(quán)限,umask 022表示目錄的缺省權(quán)限為755,文件的缺省權(quán)限為644

c. 在排除 /test/a目錄的條件下,歸檔并gzip壓縮整個(gè)/test目錄,請(qǐng)寫(xiě)出完整的操作命令t

1
tar zcvf backup.tar.gz --exclude /test/a /test

d. 查詢并列出 test進(jìn)程所打開(kāi)的當(dāng)前所有文件,請(qǐng)寫(xiě)出完整的操作命令

1
lsof -c test

e. 查詢并列出test.rpm包里所包含的所有文件,請(qǐng)寫(xiě)出完整的操作命令

1
2
rpm -qpl
  test.rpm

f. 將 /test/a目錄建立軟鏈接到 /test/b目錄,請(qǐng)寫(xiě)出完整的操作命令

1
ln -s /test/a test/b

g. 設(shè)置當(dāng)前用戶環(huán)境中 test變量為 123并使之立即生效,請(qǐng)寫(xiě)出完整操作命令

1
export test=123

h. 設(shè)置系統(tǒng)當(dāng)前運(yùn)行級(jí)別中 test服務(wù)狀態(tài)為啟動(dòng)時(shí)自動(dòng)加載,請(qǐng)寫(xiě)出完整操作命令

假設(shè)運(yùn)行級(jí)別為3級(jí)別

1
chkconfig  --level  3  test  on

k. 列出當(dāng)前系統(tǒng)中所有的網(wǎng)絡(luò)連接(包含進(jìn)程名),請(qǐng)寫(xiě)出完整操作命令

1
2
3
4
5
6
7
8
9
netstat -antuple
(-a 顯示所有socket,包括正在監(jiān)聽(tīng)的。
  -n 以網(wǎng)絡(luò)IP地址代替名稱,顯示出網(wǎng)絡(luò)連接情形。
  -t 顯示TCP協(xié)議的連接情況
  -u 顯示UDP協(xié)議的連接情況。
  -p 顯示指定協(xié)議信息。
    -l或--listening 顯示監(jiān)控中的服務(wù)器的Socket。
  -e 顯示以太網(wǎng)統(tǒng)計(jì)。此選項(xiàng)可以與 -s 選項(xiàng)結(jié)合使用。

j. 實(shí)時(shí)抓取并顯示當(dāng)前系統(tǒng)中tcp 80端口的網(wǎng)絡(luò)數(shù)據(jù)信息,請(qǐng)寫(xiě)出完整操作命令

1
tcpdump -nn tcp port 80

19、第二部分綜合應(yīng)用
a. 請(qǐng)寫(xiě)出5個(gè)你常用的系統(tǒng)或網(wǎng)絡(luò)維護(hù)工具的名稱

1
2
3
4
5
rhel  centos  ubuntu
iotop用于檢查 I/O 的使用情況
htop實(shí)質(zhì)上是 top 的一個(gè)增強(qiáng)版本。它更容易對(duì)進(jìn)程排序。
ping
traceroute

b.在nslookup使用中,請(qǐng)問(wèn)如何查看test.com域中的MX記錄

1
2
3
4
5
6
7
#nslookup
>set type=mx
>test.comc. ftp ,ssh,smtp,pop3,https,請(qǐng)寫(xiě)出這些服務(wù)的默認(rèn)端口ftp:21
ssh:22
smtp:25
pop3:110
https:443.25G)

d. 請(qǐng)問(wèn)如何用iptables工具阻斷來(lái)自 192.168.0.1的所有網(wǎng)絡(luò)連接

1
iptable -I INPUT -s 192.168.0.1 -j DROP

e. 請(qǐng)簡(jiǎn)要描述Linux系統(tǒng)下源代碼編譯方式安裝軟件的大致步驟

1
2
3
4
5
tar釋放源碼包
cd 切換到解壓目錄
./configure 配置
make 編譯
make  install  安裝

f. 請(qǐng)寫(xiě)出Tomcat程序的主配置文件名

1
server.xml

g. Mysql客戶端工具中,請(qǐng)問(wèn)如何查詢當(dāng)前所有的連接進(jìn)程信息

1
2
mysql -u user -p password
-e "show processlist"

20. 服務(wù)器開(kāi)不了機(jī)怎么解決一步步的排查

1
2
3
硬件有無(wú)報(bào)警燈提示
主面板液晶面板有沒(méi)有提示什么報(bào)錯(cuò)信息,例如raid錯(cuò)誤的提示信息
先排除硬件還是軟件問(wèn)題

十四. Linux開(kāi)機(jī)模式

1
2
0 - 表示關(guān)閉系統(tǒng)(千萬(wàn)不要把默認(rèn)設(shè)置成0哦?。? - 單用戶模式2 - 多用戶模式,沒(méi)有NFS服務(wù)3 - 多用戶文本模式5 - 圖形模式6 - 系統(tǒng)重新啟動(dòng)
過(guò)修改/etc/inittab,使系統(tǒng)在啟動(dòng)時(shí)進(jìn)入不同模式。

21. Linux系統(tǒng)中病毒怎么解決

1
2
3
4
5
找到病毒文件然后刪除;中毒之后一般機(jī)器cpu、內(nèi)存使用率會(huì)比較高,機(jī)器向外發(fā)包等異常情況,排查方法:
linux服務(wù)器流量劇增,用iftop查看有連接外網(wǎng)的情況。netstat連接的外網(wǎng)ip和端口。#top命令找到cpu使用率高的進(jìn)程,一般病毒文件命名都比較亂#可以用ps aux 查看是否有不明進(jìn)程,找出病毒文件的位置#rm
-f 命令刪除病毒文件#檢查計(jì)劃任務(wù)、開(kāi)機(jī)啟動(dòng)項(xiàng)和病毒文件目錄有無(wú)其他可疑文件等
chkconfig    --list     |  grep  3:on
服務(wù)器啟動(dòng)級(jí)別是3的,檢查一下了開(kāi)機(jī)啟動(dòng)項(xiàng),沒(méi)有特別明顯的服務(wù)。然后檢查了一下開(kāi)機(jī)啟動(dòng)的一個(gè)文件,more   /etc/rc.local

22. 發(fā)現(xiàn)一個(gè)病毒文件你刪了他又自動(dòng)創(chuàng)建怎么解決

1
2
ps axu一個(gè)個(gè)排查,方法是查看可疑的用戶和系統(tǒng)相似而又不是的進(jìn)程找出進(jìn)程可疑。
殺掉所有與病毒相關(guān)的進(jìn)程,然后刪掉病毒這個(gè)可執(zhí)行文件,最后刪除病毒創(chuàng)建的文件

十七. 日志文件很大,怎么把他們切分

1
2
3
4
5
6
7
8
9
針對(duì)這些日志按每或每周進(jìn)行分割,例如只保留一周的數(shù)據(jù),用logrotate來(lái)實(shí)現(xiàn)日志的輪替?;蛘呔帉?xiě)日志文件大小監(jiān)控腳本,定期檢查該日志文件的大小,接近設(shè)定大小時(shí),進(jìn)行輪換。
如果日志文件存在并且很大,可以用Linux下的split進(jìn)行文件分割:
模式一:指定分割后文件行數(shù)
Split:按指定的行數(shù)截?cái)辔募袷? split [-n] file [name]參數(shù)說(shuō)明:-n: 指定截?cái)嗟拿恳晃募拈L(zhǎng)度,不指定缺省為1000行file: 要截?cái)嗟奈募ame: 截?cái)嗪螽a(chǎn)生的文件的文件名的開(kāi)頭字母,不指定,缺省為x,即截?cái)嗪螽a(chǎn)生的文件的文件名為xaa,xab....直到xzz
  
模式二:指定分割后文件大小
命令:split -b 10m server.log server_part_
其中server.log是要分割的文件,server_part_是分割文件的前綴。
對(duì)二進(jìn)制文件我們同樣也可以按文件大小來(lái)分隔

23. tcp/ip七層模型

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
應(yīng)用層 (Application):
網(wǎng)絡(luò)服務(wù)與最終用戶的一個(gè)接口。
協(xié)議有:HTTP FTP TFTP SMTP SNMP DNS TELNET HTTPS POP3 DHCP
表示層(Presentation Layer):
數(shù)據(jù)的表示、安全、壓縮。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
格式有,JPEG、ASCll、DECOIC、加密格式等
會(huì)話層(Session Layer):
建立、管理、終止會(huì)話。(在五層模型里面已經(jīng)合并到了應(yīng)用層)
對(duì)應(yīng)主機(jī)進(jìn)程,指本地主機(jī)與遠(yuǎn)程主機(jī)正在進(jìn)行的會(huì)話
傳輸層 (Transport):
定義傳輸數(shù)據(jù)的協(xié)議端口號(hào),以及流控和差錯(cuò)校驗(yàn)。
協(xié)議有:TCP UDP,數(shù)據(jù)包一旦離開(kāi)網(wǎng)卡即進(jìn)入網(wǎng)絡(luò)傳輸層
網(wǎng)絡(luò)層 (Network):
進(jìn)行邏輯地址尋址,實(shí)現(xiàn)不同網(wǎng)絡(luò)之間的路徑選擇。
協(xié)議有:ICMP IGMP IP(IPV4 IPV6) ARP RARP
數(shù)據(jù)鏈路層 (Link):
建立邏輯連接、進(jìn)行硬件地址尋址、差錯(cuò)校驗(yàn)等功能。(由底層網(wǎng)絡(luò)定義協(xié)議)
將比特組合成字節(jié)進(jìn)而組合成幀,用MAC地址訪問(wèn)介質(zhì),錯(cuò)誤發(fā)現(xiàn)但不能糾正。
物理層(Physical Layer):

24. 你常用的Nginx模塊,用來(lái)做什么

1
2
3
4
5
6
7
rewrite模塊,實(shí)現(xiàn)重寫(xiě)功能
access模塊:來(lái)源控制
ssl模塊:安全加密
ngx_http_gzip_module:網(wǎng)絡(luò)傳輸壓縮模塊
ngx_http_proxy_module 模塊實(shí)現(xiàn)代理
ngx_http_upstream_module模塊實(shí)現(xiàn)定義后端服務(wù)器列表
ngx_cache_purge實(shí)現(xiàn)緩存清除功能

25、請(qǐng)列出你了解的web服務(wù)器負(fù)載架構(gòu)。

1
2
3
4
Nginx
haproxy
keepalived
lvs

歡迎加技術(shù)群:323779636(Shell/Python運(yùn)維開(kāi)發(fā)群)


本文出自 “一盞燭光” 博客,謝絕轉(zhuǎn)載!

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)