Linux 手册
Linux 手冊
文章目錄
- Linux 手冊
- 1、文件管理
- ls命令 - 顯示指定工作目錄下的文件及屬性信息
- cp命令 – 復制文件或目錄
- mkdir命令 – 創建目錄文件
- mv命令 – 移動或改名文件
- pwd命令 – 顯示當前工作目錄的路徑
- 2、文檔編輯
- cat命令 – 在終端設備上顯示文件內容
- echo命令 – 輸出字符串或提取后的變量值
- rm命令 – 刪除文件或目錄
- tail命令 – 查看文件尾部內容
- grep命令 – 強大的文本搜索工具
- 3、系統管理
- rpm命令 – RPM軟件包管理器
- startx命令 – 初始化X-windows系統
- uname命令 – 顯示系統內核信息
- ps命令 – 顯示進程狀態
- 4、磁盤管理
- df命令 – 顯示磁盤空間使用情況
- fdisk命令 – 管理磁盤分區]
- lsblk命令 – 查看系統的磁盤使用情況
- hdparm命令 – 顯示與設定硬盤參數
- vgextend命令 – 擴展卷組
- 5、文件傳輸
- tftp命令 – 上傳及下載文件
- curl命令 – 文件傳輸工具
- fsck命令 – 檢查并修復Linux文件系統
- lprm命令 – 刪除打印隊列中的打印任務
- ftpwho命令 – 顯示ftp會話信息
- 6:網絡通訊
- ssh命令 – 安全的遠程連接服務器
- netstat命令 – 顯示網絡狀態
- dhclient命令 – 動態獲取或釋放IP地址
- ping命令 – 測試主機間網絡連通性
- ifconfig命令 – 顯示或設置網絡設備參數信息
- 7:設備管理
- mount命令 – 把文件系統掛載到目錄
- MAKEDEV命令 – 建立設備
- lspci命令 – 顯示當前設備所有PCI總線信息
- sensors命令 – 檢測服務器內部溫度及電壓
- setleds命令 – 設定鍵盤上方三個 LED 的狀態
- 8、備份壓縮
- zip命令 – 壓縮文件
- unzip命令 – 解壓縮zip格式文件
- gzip命令 – 壓縮和解壓文件
- zipinfo命令 – 查看壓縮文件信息
- gunzip命令 – 解壓提取文件內容
- 9、其他命令
- hash命令 – 顯示與清除命令運行時查詢的哈希表
- wait命令 – 等待指令
- bc命令 – 浮點運算
- history命令 – 顯示與管理歷史命令記錄
- rmmod命令 – 刪除模塊
- 擴展:知識干貨
- Red Hat Enterprise Linux 8/7/6/5/4 合集下載地址
- 中國程序員最容易讀錯的單詞匯總(帶正確發音示范)
- Hello , Linuxer ~
- END
- 學習資源
1、文件管理
ls命令 - 顯示指定工作目錄下的文件及屬性信息
ls是最常被使用到的Linux命令之一,來自于英文單詞list的縮寫,也正如list單詞的英文意思,其功能是列舉出指定目錄下的文件名稱及其屬性。
默認不加參數的情況下,ls命令會列出當前工作目錄中的文件信息,經常與cd和pwd命令搭配使用,十分方便。而帶上參數后,我們則可以做更多的事情,作為最基礎、最頻繁使用的命令,有必要仔細了解下其常用功能。
語法格式: ls [參數] [文件]
常用參數:
| -l | 使用長格式列出文件及目錄的詳細信息 |
| -r | 將文件以相反次序顯示(默認依英文字母次序) |
| -t | 根據最后的修改時間排序 |
| -A | 同 -a ,但不列出 “.” (當前目錄) 及 “…” (父目錄) |
| -S | 根據文件大小排序 |
| -R | 遞歸列出所有子目錄 |
| -d | 查看目錄的信息,而不是里面子文件的信息 |
| -i | 輸出文件的inode節點信息 |
| -m | 水平列出文件,以逗號間隔 |
| -X | 按文件擴展名排序 |
| –color | 輸出信息中帶有著色效果 |
參考實例
輸出當前目錄中的文件(默認不含隱藏文件):
[root@linuxcool ~]# ls anaconda-ks.cfg Documents initial-setup-ks.cfg Pictures Templates Desktop Downloads Music Public Videos輸出當前目錄中的文件(含隱藏文件):
[root@linuxcool ~]# ls -a . .bashrc Documents Music Videos .. .cache Downloads Pictures .viminfo anaconda-ks.cfg .config .esd_auth .pki .bash_history .cshrc .ICEauthority Public .bash_logout .dbus initial-setup-ks.cfg .tcshrc .bash_profile Desktop .local Templates輸出文件的長格式,包含屬性詳情信息:
[root@linuxcool ~]# ls -l total 8 -rw-------. 1 root root 1430 Dec 14 08:05 anaconda-ks.cfg drwxr-xr-x. 2 root root 6 Dec 14 08:37 Desktop drwxr-xr-x. 2 root root 6 Dec 14 08:37 Documents drwxr-xr-x. 2 root root 6 Dec 14 08:37 Downloads -rw-r--r--. 1 root root 1585 Dec 14 08:34 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 Dec 14 08:37 Music drwxr-xr-x. 2 root root 6 Dec 14 08:37 Pictures drwxr-xr-x. 2 root root 6 Dec 14 08:37 Public drwxr-xr-x. 2 root root 6 Dec 14 08:37 Templates drwxr-xr-x. 2 root root 6 Dec 14 08:37 Videos輸出指定目錄中的文件列表:
[root@linuxcool ~]# ls /etc adjtime hosts pulse aliases hosts.allow qemu-ga alsa hosts.deny qemu-kvm alternatives hp radvd.conf anacrontab idmapd.conf ras asound.conf init.d rc0.d at.deny inittab rc1.d ………………省略部分輸出信息………………輸出文件名稱及inode屬性塊號碼:
[root@linuxcool ~]# ls -i 35290115 anaconda-ks.cfg 35290137 initial-setup-ks.cfg 35290164 Templates1137391 Desktop 17840039 Music 51609597 Videos1137392 Documents 35290165 Pictures 17840038 Downloads 51609596 Public搭配通配符一起使用,輸出指定目錄中所有以sd開頭的文件名稱:
[root@linuxcool ~]# ls /dev/sd* /dev/sda /dev/sda1 /dev/sda2依據文件大小進行排序,輸出指定目錄中文件屬性詳情信息:
[root@linuxcool ~]# ls -Sl /etc total 1348 -rw-r--r--. 1 root root 692241 Sep 10 2018 services -rw-r--r--. 1 root root 66482 Dec 14 08:34 ld.so.cache -rw-r--r--. 1 root root 60352 May 11 2017 mime.types -rw-r--r--. 1 root dnsmasq 26843 Aug 12 2018 dnsmasq.conf -rw-r--r--. 1 root root 25696 Dec 12 2018 brltty.conf -rw-r--r--. 1 root root 9450 Aug 12 2018 nanorc -rw-r--r--. 1 root root 7265 Dec 14 08:03 kdump.conf -rw-------. 1 tss tss 7046 Aug 13 2018 tcsd.conf ………………省略部分輸出信息………………cp命令 – 復制文件或目錄
cp命令來自于英文單詞copy的縮寫,用于將一個或多個文件或目錄復制到指定位置,亦常用于文件的備份工作。-r參數用于遞歸操作,復制目錄時若忘記加則會直接報錯,而-f參數則用于當目標文件已存在時會直接覆蓋不再詢問,這兩個參數尤為常用。
**語法格式:**cp [參數] 源文件 目標文件
常用參數:
| -i | 若目標文件已存在,則會詢問是否覆蓋 |
| -p | 保留源文件或目錄的所有屬性 |
| -r | 遞歸復制文件和目錄 |
| -d | 當復制符號連接時,把目標文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄 |
| -l | 對源文件建立硬連接,而非復制文件 |
| -s | 對源文件建立符號連接,而非復制文件 |
| -b | 覆蓋已存在的文件目標前將目標文件備份 |
| -v | 詳細顯示cp命令執行的操作過程 |
| -a | 等價于“pdr”選項 |
參考實例
在當前工作目錄中,將某個文件復制一份,并定義新文件名稱:
[root@linuxcool ~]# cp anaconda-ks.cfg kickstart.cfg在當前工作目錄中,將某個目錄復制一份,并定義新目錄名稱:
[root@linuxcool ~]# cp -r Documents Doc復制某個文件時,保留其原始權限及用戶歸屬信息:
[root@linuxcool ~]# cp -a kickstart.cfg ks.cfg將某個文件復制到/etc目錄中,并覆蓋已有文件,不進行詢問:
[root@linuxcool ~]# cp -f ks.cfg /etc將多個文件一同復制到/etc目錄中,如已有目標文件名稱則默認詢問是否覆蓋:
[root@linuxcool ~]# cp anaconda-ks.cfg ks.cfg /etc cp: overwrite '/etc/ks.cfg'? ymkdir命令 – 創建目錄文件
mkdir命令來自于英文詞組“make directories”的縮寫,其功能是用來創建目錄文件。使用簡單,但需要注意若要創建的目標目錄已經存在,則會提示已存在而不繼續創建,不覆蓋已有文件。而目錄不存在,但具有嵌套的依賴關系,例如a/b/c/d/e/f,要想一次性創建則需要加入-p參數,進行遞歸操作。
語法格式 : mkdir [參數] 目錄
常用參數:
| -m | 建立目錄的同時設置目錄的權限 |
| -z | 設置安全上下文 |
| -v | 顯示目錄的創建過程 |
參考實例
在當前工作目錄中,建立一個目錄文件:
[root@linuxcool ~]# mkdir dir1在當前工作目錄中,創建一個目錄文件并設置700權限,不讓除所有主以外任何人讀、寫、執行它:
[root@linuxcool ~]# mkdir -m 700 dir2在當前工作目錄中,一次性創建多個目錄文件:
[root@linuxcool ~]# mkdir dir3 dir4 dir5在系統根目錄中,一次性創建多個有嵌套關系的目錄文件:
[root@linuxcool ~]# mkdir -p /dir1/dir2/dir3/dir4/dir5mv命令 – 移動或改名文件
mv命令來自于英文單詞move的縮寫,其功能與英文含義相同,用于對文件進行剪切和重命名。
這是一個高頻使用的文件管理命令,我們需要留意它與復制命令的區別。cp命令是用于文件的復制操作,文件個數是增加的,而mv則為剪切操作,也就是對文件進行移動(搬家)操作,文件位置發生變化,但總個數并無增加。
在同一個目錄內對文件進行剪切的操作,實際應理解成重命名操作,例如下面的實例一所示。
**語法格式:**mv [參數] 源文件 目標文件
常用參數:
| -f | 覆蓋已有文件時,不進行任何提示 |
| -b | 當文件存在時,覆蓋前為其創建一個備份 |
| -u | 當源文件比目標文件新,或者目標文件不存在時,才執行移動此操作 |
參考實例
在當前工作目錄中,對某個文件進行剪切后粘貼(重命名)操作:
[root@linuxcool ~]# mv anaconda-ks.cfg ks.cfg將某個文件移動到/etc目錄中,保留文件原始名稱:
[root@linuxcool ~]# mv ks.cfg /etc將某個目錄移動到/etc目錄中,并定義新的目錄名稱:
[root@linuxcool ~]# mv Documents /etc/docs將/home目錄中所有的文件都移動到當前工作目錄中,遇到已存在文件則直接覆蓋:
[root@linuxcool ~]# mv -f /home/* .pwd命令 – 顯示當前工作目錄的路徑
pwd命令來自于英文詞組”print working directory“的縮寫,其功能是用于顯示當前工作目錄的路徑,即顯示所在位置的絕對路徑。
在實際工作中,我們經常會在不同目錄之間進行切換,為了防止”迷路“,可以使用pwd命令快速查看當前所處的工作目錄路徑,方便開展后續工作。
語法格式:pwd [參數]
常用參數:
參考實例
查看當前工作目錄路徑:
[root@linuxcool ~]# pwd /root2、文檔編輯
cat命令 – 在終端設備上顯示文件內容
cat命令來自于英文單詞concatenate的縮寫,其功能是用于查看文件內容。在Linux系統中有很多用于查看文件內容的命令,例如more、tail、head……等等,每個命令都有各自的特點。cat命令適合查看內容較少的、純文本的文件。
對于內容較多的文件,使用cat命令查看后會在屏幕上快速滾屏,用戶往往看不清所顯示的具體內容,只好按Ctrl+c鍵中斷命令的執行,所以對于大文件,干脆用more命令吧~
**語法格式:**cat [參數] 文件
常用參數:
| -s | 顯示行數(多個空行算一個編號) |
| -b | 顯示行數(空行不編號) |
| -E | 每行結束處顯示$符號 |
| -T | 將TAB字符顯示為 ^I符號 |
| -v | 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外 |
| -e | 等價于”-vE”組合 |
| -t | 等價于”-vT”組合 |
| -A | 等價于 -vET組合 |
| –help | 顯示幫助信息 |
| –version | 顯示版本信息 |
參考實例
查看某個文件的內容:
[root@linuxcool ~]# cat anaconda-ks.cfg #version=RHEL8 ignoredisk --only-use=sda autopart --type=lvm # Partition clearing information ………………省略部分輸出信息………………查看某個文件的內容,并顯示行號:
[root@linuxcool ~]# cat -n anaconda-ks.cfg1 #version=RHEL82 ignoredisk --only-use=sda3 autopart --type=lvm4 # Partition clearing information5 clearpart --none --initlabel6 # Use graphical install ………………省略部分輸出信息………………搭配空設備文件和輸出重定向操作符,將某個文件內容清空:
[root@linuxcool ~]# cat /dev/null > anaconda-ks.cfg [root@linuxcool ~]# cat anaconda-ks.cfg [root@linuxcool ~]#持續寫入文件內容,直到碰到EOF符后才會結束并保存:
[root@linuxcool ~]# cat > anaconda-ks.cfg << EOF > Hello,World > Linux!~ > EOF [root@linuxcool ~]# cat anaconda-ks.cfg Hello,World Linux!~搭配輸出重定向操作符,將光盤設備制作成鏡像文件:
[root@linuxcool ~]# cat /dev/cdrom > rhel.iso [root@linuxcool ~]# ls rhel.iso -lh -rw-r--r--. 1 root root 6.7G May 2 00:43 rhel.iso [root@linuxcool ~]# file rhel.iso rhel.iso: DOS/MBR boot sector; partition 2 : ID=0xef, start-CHS (0x3ff,254,63), end-CHS (0x3ff,254,63), startsector 23128, 19888 sectorsecho命令 – 輸出字符串或提取后的變量值
echo是用于在終端設備上輸出指定字符串或變量提取后值的命令,能夠給用戶一些簡單的提醒信息,也可以將輸出的指定字符串內容同管道符一起傳遞給后續命令作為標準輸入信息再來進行二次處理,又或者同輸出重定向符一起操作,將信息直接寫入到文件中。
如需提取變量值,需在變量名稱前加入$符號做提取,變量名稱一般均為大寫形式。
**語法格式:**echo [參數] 字符串/變量
常用參數:
| -e “\a” | 發出警告音 |
| -e “\b” | 刪除前面的一個字符 |
| -e “\c” | 結尾不加換行符 |
| -e “\f” | 換行,光標扔停留在原來的坐標位置 |
| -e “\n” | 換行,光標移至行首 |
| -e “\r” | 光標移至行首,但不換行 |
| -E | 禁止反斜杠轉移,與-e參數功能相反 |
| —version | 查看版本信息 |
| –help | 查看幫助信息 |
參考實例
輸出指定字符串到終端設備界面(默認為電腦屏幕):
[root@linuxcool ~]# echo LinuxCool LinuxCool輸出某個變量值內容:
[root@linuxcool ~]# echo $PATH /usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin:/root/bin搭配轉義符一起使用,輸出純字符串內容:
[root@linuxcool ~]# echo \$PATH $PATH搭配輸出重定向符一起使用,將字符串內容直接寫入文件中:
[root@linuxcool ~]# echo "Hello World" > Document搭配反引號執行命令,并將執行結果輸出:
[root@linuxcool ~]# echo `uptime` 16:16:12 up 52 min, 1 user, load average: 0.00, 0.00, 0.00輸出帶有換行符的內容:
[root@linuxcool ~]# echo -e "First\nSecond\nThird" First Second Third指定刪除字符串中某些字符,隨后將內容輸出:
[root@linuxcool ~]# echo -e "123\b456" 12456rm命令 – 刪除文件或目錄
rm命令來自于英文單詞remove的縮寫,其功能是用于刪除文件或目錄,一次可以刪除多個文件,或遞歸刪除目錄及其內的所有子文件。
rm也是一個很危險的命令,使用的時候要特別當心,尤其對于新手更要格外注意,如執行rm -rf /*命令則會清空系統中所有的文件,甚至無法恢復回來。所以我們在執行之前一定要再次確認下在哪個目錄中,到底要刪除什么文件,考慮好后再敲擊回車,時刻保持清醒的頭腦。
**語法格式:**rm [參數] 文件
常用參數:
| -i | 刪除前會詢問用戶是否操作 |
| -r/R | 遞歸刪除 |
| -v | 顯示指令的詳細執行過程 |
參考實例
刪除某個文件,默認會進行二次確認,敲擊y進行確認。
[root@linuxcool ~]# rm anaconda-ks.cfg rm: remove regular file 'anaconda-ks.cfg'? y刪除某個文件,強制操作不需要二次確認:
[root@linuxcool ~]# rm -f initial-setup-ks.cfg刪除某個目錄及其內的子文件或子目錄,一并都強制刪除:
[root@linuxcool ~]# rm -rf Documents強制刪除當前工作目錄內的所有以.txt為后綴的文件
[root@linuxcool ~]# rm -f *.txt【離職小妙招,謹慎!!!】強制清空服務器系統內的所有文件:
[root@linuxcool ~]# rm -rf /*tail命令 – 查看文件尾部內容
tail命令的功能是用于查看文件尾部內容,例如默認會在終端界面上顯示出指定文件的末尾十行,如果指定了多個文件,則會在顯示的每個文件內容前面加上文件名來加以區分。
高階玩法的-f參數作用是持續顯示文件的尾部最新內容,類似于機場候機廳的大屏幕,總會把最新的消息展示給用戶,對閱讀日志文件尤為適合,而不需要手動刷新。
**語法格式:**tail [參數] 文件
常用參數:
| -f | 持續顯示文件最新追加的內容 |
| -F | 與選項“-follow=name”和“–retry”連用時功能相同 |
| -n | 輸出文件的尾部N(N位數字)行內容 |
| –retry | 即是在tail命令啟動時,文件不可訪問或者文件稍后變得不可訪問,都始終嘗試打開文件。 |
| –pid=<進程號> | 與“-f”選項連用,當指定的進程號的進程終止后,自動退出tail命令 |
| –help | 顯示指令的幫助信息 |
| –version | 顯示指令的版本信息 |
參考實例
默認顯示某個文件尾部的后10行內容:
[root@linuxcool ~]# tail initial-setup-ks.cfg %addon com_redhat_subscription_manager %end %addon ADDON_placeholder --disable --reserve-mb=auto %end%anaconda pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty %end指定顯示某個文件尾部的后5行內容:
[root@linuxcool ~]# tail -n 5 initial-setup-ks.cfg %anaconda pwpolicy root --minlen=6 --minquality=1 --notstrict --nochanges --notempty pwpolicy user --minlen=6 --minquality=1 --notstrict --nochanges --emptyok pwpolicy luks --minlen=6 --minquality=1 --notstrict --nochanges --notempty %end指定顯示某個文件尾部的后15個字節:
[root@linuxcool ~]# tail -c 30 initial-setup-ks.cfg t --nochanges --notempty %end持續刷新顯示某個文件尾部的后10行內容:
[root@linuxcool ~]# tail -f /var/log/messages ………………省略輸出信息………………grep命令 – 強大的文本搜索工具
grep來自于英文詞組“global search regular expression and print out the line”的縮寫,意思是用于全面搜索的正則表達式,并將結果輸出。人們通常會將grep命令與正則表達式搭配使用,參數作為搜索過程中的補充或對輸出結果的篩選,命令模式十分靈活。
與之容易混淆的是egrep命令和fgrep命令。如果把grep命令當作是標準搜索命令,那么egrep則是擴展搜索命令,等價于“grep -E”命令,支持擴展的正則表達式。而fgrep則是快速搜索命令,等價于“grep -F”命令,不支持正則表達式,直接按照字符串內容進行匹配。
語法格式: grep [參數] 文件
常用參數:
| -c | 只輸出匹配行的數量 |
| -l | 只列出符合匹配的文件名,不列出具體的匹配行 |
| -n | 列出所有的匹配行,顯示行號 |
| -h | 查詢多文件時不顯示文件名 |
| -s | 不顯示不存在、沒有匹配文本的錯誤信息 |
| -v | 顯示不包含匹配文本的所有行 |
| -w | 匹配整詞 |
| -x | 匹配整行 |
| -r | 遞歸搜索 |
| -q | 禁止輸出任何結果,已退出狀態表示搜索是否成功 |
| -b | 打印匹配行距文件頭部的偏移量,以字節為單位 |
| -o | 與-b結合使用,打印匹配的詞據文件頭部的偏移量,以字節為單位 |
| -F | 匹配固定字符串的內容 |
| -E | 支持擴展的正則表達式 |
參考實例
搜索某個文件中,包含某個關鍵詞的內容:
[root@linuxcool ~]# grep root /etc/passwd root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin搜索某個文件中,以某個關鍵詞開頭的內容:
[root@linuxcool ~]# grep ^root /etc/passwd root:x:0:0:root:/root:/bin/bash搜索多個文件中,包含某個關鍵詞的內容:
[root@linuxcool ~]# grep linuxprobe /etc/passwd /etc/shadow /etc/passwd:linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash /etc/shadow:linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::搜索多個文件中,包含某個關鍵詞的內容,不顯示文件名稱:
[root@linuxcool ~]# grep -h linuxprobe /etc/passwd /etc/shadow linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash linuxprobe:$6$9Av/41hCM17T2PrT$hoggWJ3J/j6IqEOSp62elhdOYPLhQ1qDho7hANcm5fQkPCQdib8KCWGdvxbRvDmqyOarKpWGxd8NAmp3j2Ln00::0:99999:7:::輸出在某個文件中,包含某個關鍵詞行的數量:
[root@linuxcool ~]# grep -c root /etc/passwd /etc/shadow /etc/passwd:2 /etc/shadow:1搜索某個文件中,包含某個關鍵詞位置的行號及內容:
[root@linuxcool ~]# grep -n network anaconda-ks.cfg 17:network --bootproto=static --device=ens160 --ip=192.168.10.10 --netmask=255.255.255.0 --onboot=off --ipv6=auto --activate 18:network --hostname=linuxcool.com搜索某個文件中,不包含某個關鍵詞的內容:
[root@linuxcool ~]# grep -v nologin /etc/passwd root:x:0:0:root:/root:/bin/bash sync:x:5:0:sync:/sbin:/bin/sync shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown halt:x:7:0:halt:/sbin:/sbin/halt linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash搜索當前工作目錄中,包含某個關鍵詞內容的文件,未找到則提示:
[root@linuxcool ~]# grep -l root * anaconda-ks.cfg grep: Desktop: Is a directory grep: Documents: Is a directory grep: Downloads: Is a directory initial-setup-ks.cfg grep: Music: Is a directory grep: Pictures: Is a directory grep: Public: Is a directory grep: Templates: Is a directory grep: Videos: Is a directory搜索當前工作目錄中,包含某個關鍵詞內容的文件,未找到不提示:
[root@linuxcool ~]# grep -sl root * anaconda-ks.cfg initial-setup-ks.cfg遞歸搜索,不僅搜索指定目錄,還搜索其內子目錄內是否有關鍵詞文件:
[root@linuxcool ~]# grep -srl root /etc /etc/fstab /etc/X11/xinit/Xclients /etc/X11/xinit/xinitrc /etc/libreport/events.d/collect_dnf.conf /etc/libreport/events.d/bugzilla_anaconda_event.conf /etc/libreport/forbidden_words.conf ………………省略部分輸出信息………………搜索某個文件中,精準匹配到某個關鍵詞的內容(搜索詞應與整行內容完全一樣才會顯示,有別于一般搜索):
[root@linuxcool ~]# grep -x cd anaconda-ks.cfg [root@linuxcool ~]# grep -x cdrom anaconda-ks.cfg cdrom判斷某個文件中,是否包含某個關鍵詞,通過返回狀態值輸出結果(0為包含,1為不包含),方便在Shell腳本中判斷和調用:
[root@linuxcool ~]# grep -q linuxprobe anaconda-ks.cfg [root@linuxcool ~]# echo $? 0 [root@linuxcool ~]# grep -q linuxcool anaconda-ks.cfg [root@linuxcool ~]# echo $? 1搜索某個文件中,空行的數量:
[root@linuxcool ~]# grep -c ^$ anaconda-ks.cfg 63、系統管理
rpm命令 – RPM軟件包管理器
rpm命令來自于英文詞組”RedHat Package Manager“的縮寫,中文譯為紅帽軟件包管理器,其功能是用于在Linux系統下對軟件包進行安裝、卸載、查詢、驗證、升級等工作。
**語法格式:**rpm [參數] 軟件包
常用參數:
| -b或-t | 設置包裝套件的完成階段,并指定套件檔的文件名稱; |
| -c | 只列出組態配置文件,本參數需配合”-l”參數使用 |
| -d | 只列出文本文件,本參數需配合”-l”參數使用 |
| -e | 卸載軟件包 |
| -f | 查詢文件或命令屬于哪個軟件包 |
| -h | 安裝軟件包時列出標記 |
| -i | 安裝軟件包 |
| -l | 顯示軟件包的文件列表 |
| -p | 查詢指定的rpm軟件包 |
| -q | 查詢軟件包 |
| -R | 顯示軟件包的依賴關系 |
| -s | 顯示文件狀態,本參數需配合”-l”參數使用 |
| -U | 升級軟件包 |
| -v | 顯示命令執行過程 |
| -vv | 詳細顯示指令執行過程 |
參考實例
正常安裝軟件包:
[root@linuxcool ~]# rpm -ivh cockpit-185-2.el8.x86_64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%]package cockpit-185-2.el8.x86_64 is already installed顯示系統已安裝過的全部RPM軟件包:
[root@linuxcool ~]# rpm -qa qemu-kvm-block-gluster-2.12.0-63.module+el8+2833+c7d6d092.x86_64 boost-atomic-1.66.0-6.el8.x86_64 gnome-session-wayland-session-3.28.1-6.el8.x86_64 grub2-tools-2.02-66.el8.x86_64 lohit-gurmukhi-fonts-2.91.2-3.el8.noarch liberation-fonts-common-2.00.3-4.el8.noarch policycoreutils-python-utils-2.8-16.1.el8.noarch ………………省略部分輸出信息………………查詢某個軟件的安裝路徑:
[root@linuxcool ~]# rpm -ql cockpit /usr/share/cockpit /usr/share/doc/cockpit/AUTHORS /usr/share/doc/cockpit/COPYING /usr/share/doc/cockpit/README.md /usr/share/man/man1/cockpit.1.gz /usr/share/metainfo/cockpit.appdata.xml /usr/share/pixmaps/cockpit.png卸載某個通過RPM軟件包安裝的服務:
[root@linuxcool ~]# rpm -evh cockpit Preparing... ################################# [100%] Cleaning up / removing...1:cockpit-185-2.el8 ################################# [100%]升級某個軟件包:
[root@linuxcool ~]# rpm -Uvh cockpit-185-2.el8.x86_64.rpm Verifying... ################################# [100%] Preparing... ################################# [100%] Updating / installing...1:cockpit-185-2.el8 ################################# [100%]startx命令 – 初始化X-windows系統
find命令的功能是根據給定的路徑和條件查找相關文件或目錄,可以使用的參數很多,并且支持正則表達式,結合管道符后能夠實現更加復雜的功能,是系統管理員和普通用戶日常工作必須掌握的命令之一。
find命令通常進行的是從根目錄(/)開始的全盤搜索,有別于whereis、which、locate……等等的有條件或部分文件的搜索。對于服務器負載較高的情況,建議不要在高峰時期使用find命令的模糊搜索,會相對消耗較多的系統資源。
語法格式:find [路徑] [參數]
常用參數:
| -perm | 匹配權限(mode為完全匹配,-mode為包含即可) |
| -user | 匹配所有者 |
| -group | 匹配所有組 |
| -mtime -n +n | 匹配修改內容的時間(-n指n天以內,+n指n天以前) |
| -atime -n +n | 匹配訪問文件的時間(-n指n天以內,+n指n天以前) |
| -ctime -n +n | 匹配修改文件權限的時間(-n指n天以內,+n指n天以前) |
| -nouser | 匹配無所有者的文件 |
| -nogroup | 匹配無所有組的文件 |
| -newer f1 !f2 | 匹配比文件f1新但比f2舊的文件 |
| -type b/d/c/p/l/f | 匹配文件類型(后面的字幕字母依次表示塊設備、目錄、字符設備、管道、鏈接文件、文本文件) |
| -size | 匹配文件的大小(+50KB為查找超過50KB的文件,而-50KB為查找小于50KB的文件) |
| -prune | 忽略某個目錄 |
| -exec …… {}; | 后面可跟用于進一步處理搜索結果的命令 |
參考實例
全盤搜索系統中所有以.conf結尾的文件:
[root@linuxcool ~]# find / -name *.conf /run/tmpfiles.d/kmod.conf /etc/resolv.conf /etc/dnf/dnf.conf /etc/dnf/plugins/copr.conf /etc/dnf/plugins/debuginfo-install.conf /etc/dnf/plugins/product-id.conf /etc/dnf/plugins/subscription-manager.conf ………………省略部分輸出信息………………在/etc目錄中搜索所有大約1M大小的文件:
[root@linuxcool ~]# find /etc -size +1M /etc/selinux/targeted/policy/policy.31 /etc/udev/hwdb.bin在/home目錄中搜索所有屬于指定用戶的文件:
[root@linuxcool ~]# find /home -user linuxprobe /home/linuxprobe /home/linuxprobe/.mozilla /home/linuxprobe/.mozilla/extensions /home/linuxprobe/.mozilla/plugins /home/linuxprobe/.bash_logout /home/linuxprobe/.bash_profile /home/linuxprobe/.bashrc列出當前工作目錄中的所有文件、目錄以及子文件信息:
[root@linuxcool ~]# find . . ./.bash_logout ./.bash_profile ./.bashrc ./.cshrc ./.tcshrc ./anaconda-ks.cfg ………………省略部分輸出信息………………在/var/log目錄下搜索所有指定后綴的文件,后綴不需要大小寫。
[root@linuxcool ~]# find /var/log -iname "*.log" /var/log/audit/audit.log /var/log/rhsm/rhsmcertd.log /var/log/rhsm/rhsm.log /var/log/sssd/sssd.log /var/log/sssd/sssd_implicit_files.log /var/log/sssd/sssd_nss.log /var/log/sssd/sssd_kcm.log /var/log/tuned/tuned.log /var/log/anaconda/anaconda.log /var/log/anaconda/X.log ………………省略部分輸出信息………………在/var/log目錄下搜索所有后綴不是.log的文件:
[root@linuxcool ~]# find /var/log ! -name "*.log" /var/log /var/log/lastlog /var/log/README /var/log/private /var/log/wtmp /var/log/btmp /var/log/samba搜索當前工作目錄中的所有近7天被修改過的文件:
[root@linuxcool ~]# find . -mtime +7 ./.bash_logout ./.bash_profile ./.bashrc ./.cshrc ./.tcshrc ………………省略部分輸出信息………………全盤搜索系統中所有類型為目錄,且權限為1777的目錄文件:
[root@linuxcool ~]# find / -type d -perm 1777 /dev/mqueue /dev/shm /var/tmp /tmp ………………省略部分輸出信息………………全盤搜索系統中所有類型為普通文件,且可以執行的文件信息:
[root@linuxcool ~]# find / -type f -perm /a=x /boot/vmlinuz-4.18.0-80.el8.x86_64 /boot/vmlinuz-0-rescue-c8b04558503242459d908c6c22a2d481 /etc/X11/xinit/xinitrc.d/50-systemd-user.sh /etc/X11/xinit/xinitrc.d/00-start-message-bus.sh /etc/X11/xinit/xinitrc.d/localuser.sh /etc/X11/xinit/Xclients /etc/X11/xinit/Xsession /etc/X11/xinit/xinitrc ………………省略部分輸出信息………………全盤搜索系統中所有后綴為.mp4的文件,并刪除所有查找到的文件:
[root@linuxcool ~]# find / -name "*.mp4" -exec rm -rf {} \;uname命令 – 顯示系統內核信息
uname命令來自于英文詞組”Unix name“的縮寫,其功能是用于查看系統主機名、內核及硬件架構等信息。如果不加任何參數,默認僅顯示系統內核名稱,相當于-s參數。
**語法格式:**uname [參數]
常用參數:
| -m | 顯示計算機硬件架構 |
| -n | 顯示主機名稱 |
| -r | 顯示內核發行版本號 |
| -s | 顯示內核名稱 |
| -v | 顯示內核版本 |
| -p | 顯示主機處理器類型 |
| -o | 顯示操作系統名稱 |
| -i | 顯示硬件平臺 |
參考實例
顯示系統內核名稱:
[root@linuxcool ~]# uname Linux顯示系統所有相關信息(含內核名稱、主機名、版本號及硬件架構):
[root@linuxcool ~]# uname -a Linux linuxcool.com 4.18.0-80.el8.x86_64 #1 SMP Wed Mar 13 12:02:46 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux顯示系統內核版本號:
[root@linuxcool ~]# uname -r 4.18.0-80.el8.x86_64現在系統硬件架構:
[root@linuxcool ~]# uname -i x86_64ps命令 – 顯示進程狀態
ps命令來自于英文詞組”process status“的縮寫,其功能是用于顯示當前系統的進程狀態。使用ps命令可以查看到進程的所有信息,例如進程的號碼、發起者、系統資源使用占比(處理器與內存)、運行狀態等等。幫助我們及時的發現哪些進程出現”僵死“或”不可中斷“等異常情況。
經常會與kill命令搭配使用來中斷和刪除不必要的服務進程,避免服務器的資源浪費。
**語法格式:**ps [參數]
常用參數:
| -A | 顯示所有程序 |
| c | 顯示每個程序真正的指令名稱,而不包含路徑 |
| -C <指令名稱> | 指定執行指令的名稱,并列出該指令的程序的狀況 |
| -d | 顯示所有程序,但不包括階段作業管理員的程序 |
| e | 列出程序時,顯示每個程序所使用的環境變量 |
| -f | 顯示UID,PPIP,C與STIME欄位 |
| f | 用ASCII字符顯示樹狀結構,表達程序間的相互關系 |
| g | 顯示現行終端機下的所有程序,包括所屬組的程序 |
| -G <群組識別碼> | 列出屬于該群組的程序的狀況 |
| h | 不顯示標題列 |
| -H | 顯示樹狀結構,表示程序間的相互關系 |
| -j | 采用工作控制的格式顯示程序狀況 |
| -l | 采用詳細的格式來顯示程序狀況 |
| L | 列出欄位的相關信息 |
| -m | 顯示所有的執行緒 |
| n | 以數字來表示USER和WCHAN欄位 |
| -N | 顯示所有的程序,除了執行ps指令終端機下的程序之外 |
| -p <程序識別碼> | 指定程序識別碼,并列出該程序的狀況 |
| r | 只列出現行終端機正在執行中的程序 |
| -s <階段作業> | 列出隸屬該階段作業的程序的狀況 |
| s | 采用程序信號的格式顯示程序狀況 |
| S | 列出程序時,包括已中斷的子程序資料 |
| -t <終端機編號> | 列出屬于該終端機的程序的狀況 |
| -T | 顯示現行終端機下的所有程序 |
| u | 以用戶為主的格式來顯示程序狀況 |
| -U <用戶識別碼> | 列出屬于該用戶的程序的狀況 |
| U <用戶名稱> | 列出屬于該用戶的程序的狀況 |
| v | 采用虛擬內存的格式顯示程序狀況 |
| -V或V | 顯示版本信息 |
| -w或w | 采用寬闊的格式來顯示程序狀況 |
| x | 顯示所有程序,不以終端機來區分 |
| X | 采用舊式的Linux i386登陸格式顯示程序狀況 |
| -y | 配合選項”-l”使用時,不顯示F(flag)欄位,并以RSS欄位取代ADDR欄位 |
| –cols <每列字符數> | 設置每列的最大字符數 |
| –headers | 重復顯示標題列 |
| –help | 在線幫助 |
| –info | 顯示排錯信息 |
| –lines <顯示列數> | 設置顯示畫面的列數 |
參考實例
顯示系統中全部的進程信息,含詳細信息:
[root@linuxcool ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S 20:05 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? I< 20:05 0:00 [rcu_gp] root 4 0.0 0.0 0 0 ? I< 20:05 0:00 [rcu_par_gp] ………………省略部分輸出信息………………結合輸出重定向,將當前進程信息保留備份至指定文件:
[root@linuxcool ~]# ps aux > backup.txt結合管道操作符,將當前系統運行狀態中指定進程信息過濾出來:
[root@linuxcool ~]# ps -ef | grep ssh ………………省略輸出信息………………結合管道操作符,將當前系統運行狀態中指定用戶的進程信息過濾出來:
[root@linuxcool ~]# ps -u rootPID TTY TIME CMD1 ? 00:00:01 systemd2 ? 00:00:00 kthreadd3 ? 00:00:00 rcu_gp4 ? 00:00:00 rcu_par_gp ………………省略部分輸出信息………………結合管道操作符與sort命令,依據處理器使用量(第三列)情況降序排序:
[root@linuxcool ~]# ps aux | sort -rnk 3 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2341 0.4 8.1 4504040 164896 tty2 Sl+ 20:05 0:24 /usr/bin/gnome-shell root 4534 0.3 0.4 220064 8520 ? Ssl 21:37 0:00 /usr/libexec/nm-dispatcher gdm 1541 0.1 7.3 4211428 147400 tty1 Sl+ 20:05 0:06 /usr/bin/gnome-shell………………省略部分輸出信息………………結合管道操作符與sort命令,依據內存使用量(第四列)情況降序排序:
[root@linuxcool ~]# ps aux | sort -rnk 4 USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2341 0.4 8.1 4503976 164828 tty2 Sl+ 20:05 0:27 /usr/bin/gnome-shell gdm 1541 0.1 7.3 4211428 147556 tty1 Sl+ 20:05 0:08 /usr/bin/gnome-shell root 2661 0.0 3.1 1271636 63004 tty2 Sl+ 20:05 0:01 /usr/bin/gnome-software --gapplication-service ………………省略部分輸出信息………………4、磁盤管理
df命令 – 顯示磁盤空間使用情況
df命令來自于英文詞組”Disk Free“的縮寫,其功能是用于顯示系統上磁盤空間的使用量情況。df命令顯示的磁盤使用量情況含可用、已有及使用率等信息,默認單位為Kb,建議使用-h參數進行單位換算,畢竟135M比138240Kb更利于閱讀對吧~
語法格式: df [參數] [對象磁盤/分區]
常用參數:
| -B <塊大小> | 指定顯示時的塊大小 |
| -h | 以容易閱讀的方式顯示 |
| -H | 以1000字節為換算單位來顯示 |
| -i | 顯示索引字節信息 |
| -k | 指定塊大小為1KB |
| -l | 只顯示本地文件系統 |
| -t <文件系統類型> | 只顯示指定類型的文件系統 |
| -T | 輸出時顯示文件系統類型 |
| – -sync | 在取得磁盤使用信息前,先執行sync命令 |
參考實例
帶有容量單位的顯示系統全部磁盤使用量情況:
[root@linuxcool ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 969M 0 969M 0% /dev tmpfs 984M 0 984M 0% /dev/shm tmpfs 984M 9.6M 974M 1% /run tmpfs 984M 0 984M 0% /sys/fs/cgroup /dev/mapper/rhel-root 17G 3.9G 14G 23% / /dev/sr0 6.7G 6.7G 0 100% /media/cdrom /dev/sda1 1014M 152M 863M 15% /boot tmpfs 197M 16K 197M 1% /run/user/42 tmpfs 197M 3.5M 194M 2% /run/user/0帶有容量單位的顯示指定磁盤分區使用量情況:
[root@linuxcool ~]# df -h /boot Filesystem Size Used Avail Use% Mounted on /dev/sda1 1014M 152M 863M 15% /boot顯示系統中所有文件系統格式為xfs的磁盤分區使用量情況:
[root@linuxcool ~]# df -t xfs Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/rhel-root 17811456 4041320 13770136 23% / /dev/sda1 1038336 155556 882780 15% /bootfdisk命令 – 管理磁盤分區]
fdisk命令來自于英文詞組“Partition table manipulator for Linux”的縮寫,其功能是用于管理磁盤的分區信息。如果一套幾百平米的房子內部沒有墻壁,雖然看起來會很敞亮,但是各種聲音、氣味、物品會隨意充斥在整個房子內,讓人極不舒適,因此需要用墻壁按照功能進行劃分,例如臥室、廁所、廚房、陽臺等等。
fdisk命令可以用于對磁盤進行分區操作,用戶可以根據實際情況進行合理劃分,這樣后期掛載和使用時會方便很多。
**語法格式:**fdisk [參數] [設備]
常用參數:
| -l | 列出指定的外圍設備的分區表狀況 |
| -s | 將指定的分區大小輸出到標準輸出上,單位為區塊 |
| -u | 搭配”-l”參數列表,會用分區數目取代柱面數目,來表示每個分區的起始地址 |
| -v | 顯示版本信息 |
參考實例
查看當前系統的分區情況:
[root@linuxcool ~]# fdisk -l Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x5f1d8ee5Device Boot Start End Sectors Size Id Type /dev/sda1 * 2048 2099199 2097152 1G 83 Linux /dev/sda2 2099200 41943039 39843840 19G 8e Linux LVM ………………省略部分輸出信息………………管理指定硬盤的分區(過程省略,以《Linux就該這么學》第6章節為準):
[root@linuxcool ~]# fdisk /dev/sda Welcome to fdisk (util-linux 2.32.1). Changes will remain in memory only, until you decide to write them. Be careful before using the write command.Command (m for help): n All space for primary partitions is in use. Command (m for help): m Help:DOS (MBR)a toggle a bootable flagb edit nested BSD disklabelc toggle the dos compatibility flagGenericd delete a partitionF list free unpartitioned spacel list known partition typesn add a new partitionp print the partition tablet change a partition typev verify the partition tablei print information about a partitionMiscm print this menuu change display/entry unitsx extra functionality (experts only)ScriptI load disk layout from sfdisk script fileO dump disk layout to sfdisk script fileSave & Exitw write table to disk and exitq quit without saving changesCreate a new labelg create a new empty GPT partition tableG create a new empty SGI (IRIX) partition tableo create a new empty DOS partition tables create a new empty Sun partition table ………………省略部分輸出信息………………lsblk命令 – 查看系統的磁盤使用情況
lsblk命令來自于英文詞組”list block“的縮寫,其功能是用于查看系統的磁盤使用情況。
**語法格式:**lsblk [參數]
常用參數:
| -b | 以字節單位顯示設備大小 |
| -d | 不顯示 slaves 或 holders |
| -e | 排除設備 |
| -f | 顯示文件系統信息 |
| -h | 顯示幫助信息 |
| -i | 僅使用字符 |
| -m | 顯示權限信息 |
| -l | 使用列表格式顯示 |
| -n | 不顯示標題 |
| -o | 輸出列 |
| -P | 使用key=”value”格式顯示 |
| -r | 使用原始格式顯示 |
| -t | 顯示拓撲結構信息 |
參考實例
顯示系統中所有磁盤設備的使用情況信息:
[root@linuxcool ~]# lsblk -a NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 20G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 19G 0 part ├─rhel-root 253:0 0 17G 0 lvm /└─rhel-swap 253:1 0 2G 0 lvm [SWAP] sr0 11:0 1 6.6G 0 rom /media/cdrom顯示系統中磁盤設備的歸屬及權限信息:
[root@linuxcool ~]# lsblk -m NAME SIZE OWNER GROUP MODE sda 20G root disk brw-rw---- ├─sda1 1G root disk brw-rw---- └─sda2 19G root disk brw-rw----├─rhel-root 17G root disk brw-rw----└─rhel-swap 2G root disk brw-rw---- sr0 6.6G root cdrom brw-rw----顯示系統中所有SCSI類型的磁盤設備信息:
[root@linuxcool ~]# lsblk -S NAME HCTL TYPE VENDOR MODEL REV TRAN sda 2:0:0:0 disk ATA VMware Virtual S 0001 sata sr0 3:0:0:0 rom NECVMWar VMware SATA CD01 1.00 sata以列表格式顯示磁盤設備信息,并且不顯示標題:
[root@linuxcool ~]# lsblk -nl sda 8:0 0 20G 0 disk sda1 8:1 0 1G 0 part /boot sda2 8:2 0 19G 0 part sr0 11:0 1 6.6G 0 rom /media/cdrom rhel-root 253:0 0 17G 0 lvm / rhel-swap 253:1 0 2G 0 lvm [SWAP]hdparm命令 – 顯示與設定硬盤參數
hdparm命令用于檢測,顯示與設定IDE或SCSI硬盤的參數。
**語法格式:**hdparm [參數]
常用參數:
| -f | 將內存緩沖區的數據寫入硬盤,并清空緩沖區 |
| -g | 顯示硬盤的磁軌,磁頭,磁區等參數 |
| -I | 直接讀取硬盤所提供的硬件規格信息 |
| -X | 設定硬盤的傳輸模式 |
參考實例
顯示硬盤的相關設置:
[root@linuxcool ~]# hdparm /dev/sda /dev/sda: IO_support = 0 (default 16-bit) readonly = 0 (off) readahead = 256 (on) geometry = 19929[柱面數]/255[磁頭數]/63[扇區數], sectors = 320173056[總扇區數], start = 0[起始扇區數]顯示硬盤的柱面、磁頭、扇區數:
[root@linuxcool ~]# hdparm -g /dev/sda評估硬盤的讀取效率:
[root@linuxcool ~]# hdparm -t /dev/sda直接讀取硬盤所提供的硬件規格信息:
[root@linuxcool ~]# hdparm -X /dev/sda使IDE硬盤進入睡眠模式:
[root@linuxcool ~]# hdparm -Y /dev/sdavgextend命令 – 擴展卷組
vgextend命令用于動態擴展LVM卷組,它通過向卷組中添加物理卷來增加卷組的容量。LVM卷組中的物理卷可以在使用vgcreate命令創建卷組時添加,也可以使用vgextend命令動態的添加。
**語法格式:**vgextend [參數]
常用參數:
| -t | 僅測試 |
參考實例
將物理卷/dev/sdb1加入卷組vglinuxprobe:
[root@linuxcool ~]# vgextend vglinuxprobe /dev/sdb15、文件傳輸
tftp命令 – 上傳及下載文件
tftp命令來自于英文詞組”Trivial File Transfer Protocol“的縮寫,中文譯為簡單文件傳輸協議,其功能是基于TFTP協議進行的文件傳輸工作。用戶可以通過文字模式將文件上傳至遠程服務器,亦可以從服務器下載文件到本地主機。
TFTP基于69/udp協議,不同于FTP文件傳輸協議,屬于輕量級的傳輸服務,不具備顯示文件列表、斷點續傳等功能。
**語法格式:**tftp [參數] 主機
常用參數:
| mode | 文件傳輸模式 |
| put | 上傳文件 |
| get | 下載文件 |
| quit | 退出 |
| verbose | 顯示詳細的處理信息 |
| trace | 顯示包路徑 |
| status | 顯示當前狀態信息 |
| binary | 二進制傳輸模式 |
| ascii | ascii 傳送模式 |
| rexmt | 設置包傳輸的超時時間 |
| timeout | 設置重傳的超時時間 |
| help | 幫助信息 |
| ? | 幫助信息 |
參考實例
遠程連接至指定服務器:
[root@linuxcool ~]# tftp 192.168.10.10下載遠程指定服務器中的文件至本地工作目錄:
tftp> get File1.txt上傳本地工作目錄中某個文件至遠程指定服務器:
tftp> put File2.txt退出登錄某臺遠程服務器:
tftp> quitcurl命令 – 文件傳輸工具
curl命令來自于英文詞組”CommandLine URL“的縮寫,其功能是用于在Shell終端界面中基于URL規則進行的文件傳輸工作。curl是一款綜合的傳輸工具,可以上傳也可以下載,支持HTTP、HTTPS、FTP等三十余種常見協議
**語法格式:**curl [參數] 網址
常用參數:
| -O | 保留遠程文件的原始名 |
| -u | 通過服務端配置的用戶名和密碼授權訪問 |
| -I | 打印HTTP響應頭信息 |
| -u | 指定登錄賬戶密碼信息 |
| -A | 設置用戶代理標頭信息 |
| -b | 設置用戶cookie信息 |
| -C | 支持斷點續傳 |
| -s | 靜默模式,不輸出任何信息 |
| -T | 上傳文件 |
參考實例
獲取指定網站的網頁源碼:
[root@linuxcool ~]# curl https://www.linuxcool.com% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="X-UA-Compatible" content="IE=Edge"/> <meta charset="UTF-8" /> ………………省略部分輸出信息………………下載指定網站中的文件:
[root@linuxcool ~]# curl -O https://www.linuxprobe.com/docs/LinuxProbe.pdf% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed 100 16.8M 100 16.8M 0 0 22.5M 0 --:--:-- --:--:-- --:--:-- 22.5M打印指定網站的HTTP響應頭信息:
[root@linuxcool ~]# curl -I https://www.linuxcool.com% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 HTTP/2 200 server: Tengine content-type: text/html; charset=UTF-8 vary: Accept-Encoding date: Wed, 04 May 2022 06:44:26 GMT vary: Accept-Encoding x-powered-by: PHP/7.4.11 vary: Accept-Encoding, Cookie cache-control: max-age=3, must-revalidate ali-swift-global-savetime: 1651646666 via: cache3.l2cn1802[235,234,200-0,M], cache17.l2cn1802[236,0], kunlun10.cn257[403,414,200-0,M], kunlun 2.cn257[417,0] x-cache: MISS TCP_REFRESH_MISS dirn:0:416601537 x-swift-savetime: Wed, 04 May 2022 06:44:26 GMT x-swift-cachetime: 3 timing-allow-origin: * eagleid: ab08f29616516466664417014e下載指定文件服務器中的文件(用戶名:linuxcool,密碼:redhat):
[root@linuxprobe ~]# curl -u linuxprobe:redhat ftp://www.linuxcool.com/LinuxProbe.pdffsck命令 – 檢查并修復Linux文件系統
fsck命令的英文全稱是“filesystem check”,即檢查文件系統的意思,常用于檢查并修復Linux文件系統的一些錯誤信息,操作文件系統需要先備份重要數據,以防丟失。
Linux fsck命令用于檢查并修復Linux文件系統,可以同時檢查一個或多個 Linux 文件系統;若系統掉電或磁盤發生問題,可利用fsck命令對文件系統進行檢查。
**語法格式:**fsck [參數] [文件系統]
常用參數:
| -A | 依照/etc/fstab配置文件的內容,檢查文件內所列的全部文件系統 |
| -N | 不執行指令,僅列出實際執行會進行的動作 |
| -P | 當搭配”-A”參數使用時,則會同時檢查所有的文件系統 |
| -r | 采用互動模式,在執行修復時詢問問題,讓用戶得以確認并決定處理方式 |
| -R | 當搭配”-A”參數使用時,則會略過/目錄的文件系統不予檢查 |
| -t | 指定要檢查的文件系統類型 |
| -T | 執行fsck指令時,不顯示標題信息 |
| -V | 顯示指令執行過程 |
參考實例
修復壞的分區文件系統:
[root@linuxcool ~]# fsck -t ext3 -r /usr/localfsck from util-linux 2.23.2e2fsck 1.42.9 (28-Dec-2013)fsck.ext3: Is a directory while trying to open /usr/localThe superblock could not be read or does not describe a correct ext2filesystem. If the device is valid and it really contains an ext2filesystem (and not swap or ufs or something else), then the superblockis corrupt, and you might try running e2fsck with an alternate superblock:e2fsck -b 8193 /usr/local: status 8, rss 1232, real 0.020288, user 0.002022, sys 0.005354顯示fsck系統安裝的版本號:
[root@linuxcool ~]# fsck --version fsck from util-linux 2.23.2lprm命令 – 刪除打印隊列中的打印任務
lprm命令的英文全稱是“Remove?jobs?from?the?print?queue”,意為用于刪除打印隊列中的打印任務。尚未完成的打印機工作會被放在打印機貯列之中,這個命令可用來將未送到打印機的工作取消。
**語法格式:**lprm [參數] [任務編號]
常用參數:
| -P | 指定接受打印任務的目標打印機 |
| -U | 指定可選的用戶名 |
參考實例
將打印機hpprint中的第102號任務移除:
[root@linuxcool ~]# lprm -Phpprint 102將第101號任務由預設打印機中移除:
[root@linuxcool ~]# lprm 101ftpwho命令 – 顯示ftp會話信息
ftpwho命令用于顯示當前所有以FTP登入的用戶會話信息。
執行該命令可得知當前用FTP登入系統的用戶有哪些人,以及他們正在進行的操作。
**語法格式:**ftpwho [參數]
常用參數:
| -v | 詳細模式,輸出更多信息 |
參考實例
查詢當前正在登錄FTP 服務器的用戶:
[root@linuxcool ~]# ftpwho在詳細模式下,查詢當前正在登錄FTP 服務器的用戶:
[root@linuxcool ~]# ftpwho -v顯示幫助信息:
[root@linuxcool ~]# ftpwho -h6:網絡通訊
ssh命令 – 安全的遠程連接服務器
ssh命令的功能是用于安全的遠程連接服務器主機系統,作為openssh套件中的客戶端連接工具,ssh命令可以讓我們輕松的基于ssh加密協議進行遠程主機訪問,從而實現對遠程服務器的管理工作。
語法格式: ssh [參數] 遠程主機
常用參數:
| -2 | 強制使用ssh協議版本2 |
| -4 | 強制使用IPv4地址 |
| -6 | 強制使用IPv6地址 |
| -A | 開啟認證代理連接轉發功能 |
| -a | 關閉認證代理連接轉發功能 |
| -b<IP地址> | 使用本機指定的地址作為對位連接的源IP地址 |
| -C | 請求壓縮所有數據 |
| -F<配置文件> | 指定ssh指令的配置文件,默認的配置文件為“/etc/ssh/ssh_config” |
| -f | 后臺執行ssh指令 |
| -g | 允許遠程主機連接本機的轉發端口 |
| -i<身份文件> | 指定身份文件(即私鑰文件) |
| -l<登錄名> | 指定連接遠程服務器的登錄用戶名 |
| -N | 不執行遠程指令 |
| -o<選項> | 指定配置選項 |
| -p<端口> | 指定遠程服務器上的端口 |
| -q | 靜默模式,所有的警告和診斷信息被禁止輸出 |
| -X | 開啟X11轉發功能 |
| -x | 關閉X11轉發功能 |
| -y | 開啟信任X11轉發功能 |
參考實例
基于ssh協議,遠程訪問服務器主機系統:
[root@linuxcool ~]# ssh 192.168.10.10 The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established. ECDSA key fingerprint is SHA256:ZEjdfRjQV8pVVfu0TSYvDP5UvOHuuogMQSDUgLPG3Kc. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.10.10' (ECDSA) to the list of known hosts. root@192.168.10.10's password: 此處輸入遠程服務器管理員密碼 Activate the web console with: systemctl enable --now cockpit.socketLast login: Tue Dec 14 08:49:08 2022 [root@linuxprobe ~]#使用指定的用戶身份登錄遠程服務器主機系統:
[root@linuxcool ~]# ssh -l linuxprobe 192.168.10.10 linuxprobe@192.168.10.10's password: 此處輸入指定用戶的密碼 Activate the web console with: systemctl enable --now cockpit.socket[linuxprobe@linuxprobe ~]$登錄遠程服務器主機系統后執行一條命令:
[root@linuxcool ~]# ssh 192.168.10.10 "free -m" root@192.168.10.10's password: 此處輸入遠程服務器管理員密碼total used free shared buff/cache available Mem: 1966 1359 76 21 530 407 Swap: 2047 9 2038強制使用v1版本的ssh加密協議連接遠程服務器主機:
[root@linuxcool ~]# ssh -1 192.168.10.10netstat命令 – 顯示網絡狀態
netstat命令來自于英文詞組”network statistics“的縮寫,其功能是用于顯示各種網絡相關信息,例如網絡連接狀態、路由表信息、接口狀態、NAT、多播成員等等。
netstat命令不僅應用于Linux系統,而且在Windows XP、Windows 7、Windows 10及Windows 11中均已默認支持,并且可用參數也相同,有經驗的運維人員可以直接上手。
**語法格式:**netstat [參數]
常用參數:
| -p | 顯示正在使用Socket的程序識別碼和程序名稱 |
| -l | 僅列出在監聽的服務狀態 |
| -t | 顯示TCP傳輸協議的連線狀況 |
| -u | 顯示UDP傳輸協議的連線狀況 |
| -i | 顯示網絡界面信息表單 |
| -r | 顯示路由表信息 |
| -n | 直接使用IP地址,不通過域名服務器 |
參考實例
顯示系統網絡狀態中的所有連接信息:
[root@linuxcool ~]# netstat -a Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:http 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:https 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:ms-wbt-server 0.0.0.0:* LISTEN顯示系統網絡狀態中的UDP連接信息:
[root@linuxcool ~]# netstat -nu Active Internet connections (w/o servers) Proto Recv-Q Send-Q Local Address Foreign Address State udp 0 0 172.19.226.238:68 172.19.239.253:67 ESTABLISHED顯示系統網絡狀態中的UDP連接端口號使用信息:
[root@linuxcool ~]# netstat -apu Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name udp 0 0 linuxcool:bootpc _gateway:bootps ESTABLISHED 1024/NetworkManager udp 0 0 localhost:323 0.0.0.0:* 875/chronyd udp6 0 0 localhost:323 [::]:* 875/chronyd顯示網卡當前狀態信息:
[root@linuxcool~]# netstat -i Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 31945 0 0 0 39499 0 0 0 BMRU lo 65536 0 0 0 0 0 0 0 0 LRU顯示網絡路由表狀態信息:
[root@linuxcool ~]# netstat -r Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface default _gateway 0.0.0.0 UG 0 0 0 eth0 172.19.224.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0找到某個服務所對應的連接信息:
[root@linuxcool ~]# netstat -ap | grep ssh unix 2 [ ] STREAM CONNECTED 89121805 203890/sshd: root [ unix 3 [ ] STREAM CONNECTED 27396 1754/sshd unix 3 [ ] STREAM CONNECTED 89120965 203890/sshd: root [ unix 2 [ ] STREAM CONNECTED 89116510 203903/sshd: root@p unix 2 [ ] STREAM CONNECTED 89121803 203890/sshd: root [ unix 2 [ ] STREAM CONNECTED 29959 1754/sshd unix 2 [ ] DGRAM 89111175 203890/sshd: root [ unix 3 [ ] STREAM CONNECTED 89120964 203903/sshd: root@pdhclient命令 – 動態獲取或釋放IP地址
dhclient命令來自于英文詞組“DHCP client”的縮寫,其功能是用于動態獲取或釋放IP地址。使用dhclient命令前需要將網卡模式設置成DHCP自動獲取,否則靜態模式的網卡是不會主動向服務器獲取如IP地址等網卡信息的。
**語法格式:**dhclient 參數 [網卡]
常用參數:
| -d | 總是以前臺方式運行程序 |
| -q | 安靜模式,不打印任何錯誤的提示信息 |
| -r | 釋放ip地址 |
| -n | 不配置任何接口 |
| -x | 停止正在運行的DHCP客戶端,而不釋放當前租約,殺死現有的dhclient |
| -s | 在獲取ip地址之前指定DHCP服務器 |
| -w | 即使沒有找到廣播接口,也繼續運行 |
參考實例
通過指定網卡發起DHCP請求,獲取網卡參數:
[root@linuxcool ~]# dhclient ens160釋放系統中已獲取的網卡參數:
[root@linuxcool ~]# dhclient -r Killed old client process向指定的服務器請求獲取網卡參數:
[root@linuxcool ~]# dhclient -s 192.168.10.10手動停止執行dhclient服務進程:
[root@linuxcool ~]# dhclient -x Removed stale PID fileping命令 – 測試主機間網絡連通性
ping命令的功能是用于測試主機間網絡連通性,發送出基于ICMP傳輸協議的數據包,要求對方主機予以回復,若對方主機的網絡功能沒有問題且防火墻放行流量,則就會回復該信息,我們也就可得知對方主機系統在線并運行正常了。
不過值得我們注意的是Linux與Windows相比有一定差異,Windows系統下的ping命令會發送出去4個請求后自動結束該命令;而Linux系統則不會自動終止,需要用戶手動按下組合鍵“Ctrl+c”才能結束,或是發起命令時加入-c參數限定發送個數。
**語法格式:**ping [參數] 目標主機
常用參數:
| -c | 指定發送報文的次數 |
| -i | 指定收發信息的間隔時間 |
| -I | 使用指定的網絡接口送出數據包 |
| -l | 設置在送出要求信息之前,先行發出的數據包 |
| -n | 只輸出數值 |
| -p | 設置填滿數據包的范本樣式 |
| -q | 不顯示指令執行過程 |
| -R | 記錄路由過程 |
| -s | 設置數據包的大小 |
| -t | 設置存活數值TTL的大小 |
| -v | 詳細顯示指令的執行過程 |
參考實例
測試與指定網站服務器之間的網絡連通性(需手動按下“Ctrl+c”組合鍵結束命令):
[root@linuxcool ~]# ping www.linuxcool.com PING www.linuxcool.com.w.kunlunar.com (222.85.26.229) 56(84) bytes of data. 64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=1 ttl=52 time=22.4 ms 64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=2 ttl=52 time=22.4 ms 64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=3 ttl=52 time=22.4 ms 64 bytes from www.linuxcool.com (222.85.26.229): icmp_seq=4 ttl=52 time=22.4 ms ^C --- www.linuxcool.com.w.kunlunar.com ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4005ms rtt min/avg/max/mdev = 22.379/22.389/22.400/0.094 ms測試與指定網站服務器之間的網絡連通性,發送請求包限定為4次:
[root@linuxcool ~]# ping -c 4 www.linuxcool.com PING www.linuxcool.com (222.85.26.234) 56(84) bytes of data. 64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=1 ttl=52 time=24.7 ms 64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=2 ttl=52 time=24.7 ms 64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=3 ttl=52 time=24.7 ms 64 bytes from www.linuxcool.com (222.85.26.234): icmp_seq=4 ttl=52 time=24.7 ms--- www.linuxcool.com.w.kunlunar.com ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3005ms rtt min/avg/max/mdev = 24.658/24.664/24.673/0.111 ms測試與指定主機之間的網絡連通性,發送3次請求包,每次間隔0.2秒,最長等待時間為3秒:
[root@linuxcool ~]# ping -c 3 -i 0.2 -W 3 192.168.10.10 64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.166 ms 64 bytes from 192.168.10.10: icmp_seq=2 ttl=64 time=0.060 ms 64 bytes from 192.168.10.10: icmp_seq=3 ttl=64 time=0.113 ms--- 192.168.10.10 ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 410ms rtt min/avg/max/mdev = 0.060/0.113/0.166/0.043 msifconfig命令 – 顯示或設置網絡設備參數信息
ifconfig命令來自于英文詞組”network interfaces configuring“的縮寫,其功能是用于顯示或設置網絡設備參數信息。在Windows系統中與之類似的命令叫做ipconfig,同樣的功能可以使用ifconfig去完成。
通常不建議使用ifconfig命令配置網絡設備的參數信息,因為一旦服務器重啟,配置過的參數會自動失效,還是編寫到配置文件中更穩妥。
**語法格式:**ifconfig [參數] [網卡設備]
常用參數:
| del<地址> | 刪除網絡設備IPv6的IP地址 |
| down | 關閉指定的網絡設備 |
| up | 啟動指定的網絡設備 |
| IP地址 | 指定網絡設備的IP地址 |
參考實例
顯示系統的網絡設備信息:
[root@linuxcool ~]# ifconfig ens160: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 192.168.10.30 netmask 255.255.255.0 broadcast 192.168.10.255inet6 fe80::4d16:980c:e0fe:51c2 prefixlen 64 scopeid 0x20<link>ether 00:0c:29:60:cd:ee txqueuelen 1000 (Ethernet)RX packets 407 bytes 34581 (33.7 KiB)RX errors 0 dropped 0 overruns 0 frame 0TX packets 59 bytes 6324 (6.1 KiB)TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ………………省略部分輸出信息………………對指定的網卡設備依次進行關閉和啟動操作:
[root@linuxcool ~]# ifconfig ens160 down [root@linuxcool ~]# ifconfig ens160 up對指定的網卡設備執行修改IP地址操作:
[root@linuxcool ~]# ifconfig ens160 192.168.10.20 netmask 255.255.255.0對指定的網卡設備執行修改MAC地址操作:
注意Linux系統中的MAC地址間隔符為冒號(:),而在Windows系統中間隔符為減號(-)。
[root@linuxcool ~]# ifconfig ens160 hw ether 00:aa:bb:cc:dd:ee對指定的網卡設備依次進行ARP協議關閉和開啟操作:
[root@linuxcool ~]# ifconfig ens160 -arp [root@linuxcool ~]# ifconfig ens160 arp7:設備管理
mount命令 – 把文件系統掛載到目錄
mount命令的功能是用于把文件系統掛載到目錄,文件系統指的是被格式化過的硬盤或分區設備,進行掛載操作后,用戶便可以在掛載目錄中使用硬盤資源了。
默認情況下Linux系統并不會像Windows系統那樣自動的掛載光盤和U盤設備,需要自行完成。
**語法格式:**mount [參數] [設備] [掛載點]
常用參數:
| -l | 顯示已加載的文件系統列表 |
| -h | 顯示幫助信息并退出 |
| -V | 顯示程序版本 |
| -n | 加載沒有寫入文件“/etc/mtab”中的文件系統 |
| -r | 將文件系統加載為只讀模式 |
| -a | 加載文件“/etc/fstab”中描述的所有文件系統 |
參考實例
查看當前系統中已有的文件系統信息(可結合管道符與grep命令進行過濾):
[root@linuxcool ~]# mount sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel) proc on /proc type proc (rw,nosuid,nodev,noexec,relatime) devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=99130k,nr_inodes=27835,mode=755) securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime) ………………省略部分輸出信息………………掛載/etc/fstab文件中所有已定義的設備文件:
[root@linuxcool ~]# mount -a將光盤設備掛載到指定目錄:
[root@linuxcool ~]# mount /dev/cdrom /media/cdrom mount: /media/cdrom: WARNING: device write-protected, mounted read-only.強制以xfs文件系統掛載硬盤設備到指定目錄:
[root@linuxcool ~]# mount -t xfs /dev/sdb /diskMAKEDEV命令 – 建立設備
MAKEDEV是一個腳本程序, 用于在 /dev 目錄下建立設備, 通過這些設備文件可以 訪問位于內核的驅動程序。
MAKEDEV 腳本創建靜態的設備節點,通常位于/dev目錄下。
**語法格式:**MAKEDEV [參數]
常用參數:
| -n | 并不做真正的更新, 只是顯示一下它的執行效果 |
| -d | 刪除設備文件 |
參考實例
顯示出執行的每一個動作:
[root@linuxcool ~]# ./MAKEDEV -v update刪除設備:
[root@linuxcool ~]# ./MAKEDEV -d devicelspci命令 – 顯示當前設備所有PCI總線信息
lspci命令用于顯示當前主機的所有PCI總線信息,以及所有已連接的PCI設備信息。 現在主流設備如網卡儲存等都采用PCI總線
**語法格式:**lspci [參數]
常用參數:
| -t | 以樹狀結構顯示PCI設備的層次關系 |
| -b | 以總線為中心的視圖 |
| -s | 僅顯示指定總線插槽的設備和功能塊信息 |
| -i | 指定PCI編號列表文件,不使用默認文件 |
| -m | 以機器可讀方式顯示PCI設備信息 |
參考實例
顯示當前主機的所有PCI總線信息:
[root@linuxcool ~]# lspci以樹狀結構顯示PCI設備的層次關系:
[root@linuxcool ~]# lspci -tsensors命令 – 檢測服務器內部溫度及電壓
sensors命令用于檢測服務器內部降溫系統是否健康,可以監控主板,CPU的工作電壓,風扇轉速、溫度等數據 。
語法格式:sensors
參考實例
檢測cpu工作電壓,溫度等:
[root@linuxcool ~]# sensors coretemp-isa-0000 Core 0: +48.0°C (high = +87.0°C, crit = +97.0°C) Core 1: +46.0°C (high = +87.0°C, crit = +97.0°C) Core 2: +47.0°C (high = +87.0°C, crit = +97.0°C) Core 3: +46.0°C (high = +87.0°C, crit = +97.0°C)setleds命令 – 設定鍵盤上方三個 LED 的狀態
setleds即是英文詞組“set leds”的合并,翻譯為中文就是設置LED燈。setleds命令用來設定鍵盤上方三個 LED 燈的狀態。在 Linux 中,每一個虛擬主控臺都有獨立的設定。
這是一個十分神奇的命令,竟然可以通過命令來控制鍵盤的燈的狀態。那么下面我一起來學習一下這個命令吧。
**語法格式:**setleds [參數]
常用參數:
| -D | 改變虛擬主控臺的狀態和預設的狀態 |
| -L | 直接改變 LED 顯示的狀態 |
| +num/-num | 將數字鍵打開或關閉 |
| +caps/-caps | 把大小寫鍵打開或關閉 |
| +scroll /-scroll | 把選項鍵打開或關閉 |
參考實例
控制鍵盤燈num燈亮和燈滅:
[root@linuxcool ~]# setleds +num [root@linuxcool ~]# setleds -num控制鍵盤的大小寫鍵打開或關閉,鍵盤指示燈亮與滅:
[root@linuxcool ~]# setleds +caps [root@linuxcool ~]# setleds -caps控制鍵盤的選項鍵打開或關閉,鍵盤指示燈亮與滅:
[root@linuxcool ~]# setleds +scroll對三燈的亮與滅的情況進行組合,分別設置為數字燈亮,大小寫燈滅,選項鍵scroll燈滅:
[root@linuxcool ~]# setleds +num -caps -scroll8、備份壓縮
zip命令 – 壓縮文件
zip命令的功能是用于壓縮文件,解壓命令為unzip。通過zip命令可以將文件打包成.zip格式的壓縮包,里面會附含文件的名稱、路徑、創建時間、上次修改時間等等信息,與tar命令相似。
**語法格式:**zip 參數 文件
常用參數:
| -r | 遞歸處理,將指定目錄下的所有文件和子目錄一并處理 |
| -z | 替壓縮文件加上注釋 |
| -v | 顯示指令執行過程或顯示版本信息 |
| -d | 更新壓縮包內文件 |
| -n<字尾字符串> | 不壓縮具有特定字尾字符串的文件 |
參考實例
將指定目錄及其內全部文件都打包成zip格式壓縮包文件:
[root@linuxcool ~]# zip -r backup1.zip /etcadding: etc/fstab (deflated 45%)adding: etc/crypttab (stored 0%)adding: etc/resolv.conf (stored 0%)adding: etc/dnf/ (stored 0%)adding: etc/dnf/modules.d/ (stored 0%)adding: etc/dnf/modules.d/container-tools.module (deflated 17%)adding: etc/dnf/modules.d/llvm-toolset.module (deflated 14%) ………………省略部分輸出信息………………將當前工作目錄內所有以.cfg為后綴的文件打包:
[root@linuxcool ~]# zip -r backup2.zip *.cfgadding: anaconda-ks.cfg (deflated 44%)adding: initial-setup-ks.cfg (deflated 44%)更新壓縮包文件中某個文件:
[root@linuxcool ~]# zip -dv backup2.zip anaconda-ks.cfg 1>1: updating: anaconda-ks.cfg (deflated 44%)unzip命令 – 解壓縮zip格式文件
unzip命令用于解壓縮zip格式文件,雖然Linux系統中更多的使用tar命令進行對壓縮包的管理工作,但有時也會收到同Windows系統常用的.zip和.rar格式的壓縮包文件,unzip格式便派上了用場。直接使用unzip命令解壓縮文件后,壓縮包內原有的文件會被提取并輸出保存到當前工作目錄下。
**語法格式:**unzip [參數] 壓縮包
常用參數:
| -v | 執行時顯示詳細的信息 |
| -c | 將解壓縮的結果顯示到屏幕上,并對字符做適當的轉換 |
| -n | 解壓縮時不要覆蓋原有的文件 |
| -j | 不處理壓縮文件中原有的目錄路徑 |
參考實例
將壓縮包文件解壓到當前工作目錄中:
[root@linuxcool ~]# unzip latest.zip Archive: latest.zipcreating: wordpress/inflating: wordpress/xmlrpc.php inflating: wordpress/wp-blog-header.php inflating: wordpress/readme.html inflating: wordpress/wp-signup.php inflating: wordpress/index.php ………………省略部分輸出信息………………將壓縮包文件解壓到指定的目錄中:
[root@linuxcool ~]# unzip latest.zip -d /home Archive: latest.zipcreating: /home/wordpress/inflating: /home/wordpress/xmlrpc.php inflating: /home/wordpress/wp-blog-header.php inflating: /home/wordpress/readme.html inflating: /home/wordpress/wp-signup.php inflating: /home/wordpress/index.php ………………省略部分輸出信息………………測試壓縮包文件是否完整,文件有無損壞:
[root@linuxcool ~]# unzip -t latest.zip Archive: latest.ziptesting: wordpress/ OKtesting: wordpress/xmlrpc.php OKtesting: wordpress/wp-blog-header.php OKtesting: wordpress/readme.html OKtesting: wordpress/wp-signup.php OKtesting: wordpress/index.php OK ………………省略部分輸出信息………………gzip命令 – 壓縮和解壓文件
gzip命令來自于英文單詞gunzip的縮寫,其功能是用于壓縮和解壓文件。gzip是一款使用廣泛的壓縮工具,文件經過壓縮后一般會以.gz后綴結尾,與tar命令合用后即為.tar.gz后綴。
據統計,gzip命令對文本文件的壓縮比率通常能達到60%~70%,壓縮后可以很好的提升存儲空間的使用率,還能夠在網絡傳輸文件時減少等待時間。
**語法格式:**gzip [參數] 文件
常用參數:
| -d | 解開壓縮文件 |
| -f | 強行壓縮文件 |
| -k | 保留原文件 |
| -l | 列出壓縮文件的相關信息 |
| -c | 把壓縮后的文件輸出到標準輸出設備,不去更動原始文件 |
| -r | 遞歸處理,將指定目錄下的所有文件及子目錄一并處理 |
| -q | 不顯示警告信息 |
參考實例
將指定的文件進行壓縮,壓縮包默認會以“原文件名.gz”保存到當前工作目錄下,原文件會被自動刪除:
[root@linuxcool ~]# gzip anaconda-ks.cfg解壓指定的壓縮包文件,并顯示解壓過程。解壓后的文件會保存在當前工作目錄下,壓縮包會被自動刪除:
[root@linuxcool ~]# gzip -dv anaconda-ks.cfg.gz anaconda-ks.cfg.gz: 44.3% -- replaced with anaconda-ks.cfg將指定的文件進行壓縮,但是不刪除原文件:
[root@linuxcool ~]# gzip -k initial-setup-ks.cfg顯示指定文件的壓縮信息:
[root@linuxcool ~]# gzip -l initial-setup-ks.cfg.gz compressed uncompressed ratio uncompressed_name929 1585 43.8% initial-setup-ks.cfgzipinfo命令 – 查看壓縮文件信息
zipinfo命令的全稱為“zip information”,該命令用于列出壓縮文件信息。執行zipinfo指令可得知zip壓縮文件的詳細信息。
**語法格式:**zipinfo [參數]
常用參數:
| -2 | 此參數的效果和指定”-1″參數類似,但可搭配”-h”,”-t”和”-z”參數使用 |
| -h | 只列出壓縮文件的文件名稱 |
| -l | 此參數的效果和指定”-m”參數類似,但會列出原始文件的大小而非每個文件的壓縮率 |
| -m | 此參數的效果和指定”-s”參數類似,但多會列出每個文件的壓縮率 |
| -M | 若信息內容超過一個畫面,則采用類似more指令的方式列出信息 |
| -s | 用類似執行”ls -l”指令的效果列出壓縮文件內容 |
| -t | 只列出壓縮文件內所包含的文件數目,壓縮前后的文件大小及壓縮率 |
| -T | 將壓縮文件內每個文件的日期時間用年,月,日,時,分,秒的順序列出 |
| -v | 詳細顯示壓縮文件內每一個文件的信息 |
| -x<范本樣式> | 不列出符合條件的文件的信息 |
| -z | 如果壓縮文件內含有注釋,就將注釋顯示出來 |
參考實例
顯示壓縮文件信息:
[root@linuxcool ~]# zipinfo file.zip Archive: file.zip 486 bytes 3 files -rw-r--r-- 2.3 unx 0 bx stor 24-May-10 18:54 a.c -rw-r--r-- 2.3 unx 0 bx stor 24-May-10 18:54 b.c -rw-r--r-- 2.3 unx 0 bx stor 24-May-10 18:54 c.c 3 files, 0 bytes uncompressed, 0 bytes compressed: 0.0%顯示壓縮文件中每個文件的信息:
[root@linuxcool ~]# zipinfo -v file.zip只顯示壓縮包大小、文件數目:
[root@linuxcool ~]# zipinfo -h file.zip Archive: file.zip Zip file size: 907 bytes, number of entries: 3生成一個基本的、長格式的列表(而不是冗長的),包括標題和總計行:
[root@linuxcool ~]# zipinfo -l file查看存檔中最近修改的文件:
[root@linuxcool ~]# zipinfo -T file | sort –nr -k 7 | sed 15qgunzip命令 – 解壓提取文件內容
gunzip命令來自于英文詞組”Gnu unzip“的縮寫,其功能是用于解壓提取文件內容。gunzip通常被用來解壓那些被基于gzip格式壓縮過的文件,也就是那些.gz結尾的壓縮包。
**語法格式:**gunzip [參數] 壓縮包
常用參數:
| -c | 把解壓后的文件輸出到標準輸出設備 |
| -f | 強行解開壓縮文件,不理會文件名稱或硬連接是否存在以及該文件是否為符號連接 |
| -h | 在線幫助 |
| -l | 列出壓縮文件的相關信息 |
| -L | 顯示版本與版權信息 |
| -n | 解壓縮時,若壓縮文件內含有遠來的文件名稱及時間戳記,則將其忽略不予處理 |
| -N | 解壓縮時,若壓縮文件內含有原來的文件名稱及時間戳記,則將其回存到解開的文件上 |
| -q | 不顯示警告信息 |
| -r | 遞歸處理,將指定目錄下的所有文件及子目錄一并處理 |
| -S<壓縮字尾字符串> | 更改壓縮字尾字符串 |
| -t | 測試壓縮文件是否正確無誤 |
| -v | 顯示指令執行過程 |
| -V | 顯示版本信息 |
參考實例
解壓指定的壓縮包文件:
[root@linuxcool ~]# gunzip Filename.gz解壓指定的壓縮包文件,并輸出解壓過程:
[root@linuxcool ~]# gunzip -v Filename.gz測試指定的壓縮包文件內容是否損壞,能夠正常解壓:
[root@linuxcool ~]# gunzip -t Filename.gz9、其他命令
hash命令 – 顯示與清除命令運行時查詢的哈希表
hash命令負責顯示與清除命令運行時系統優先查詢的哈希表(hash table)。
當執行hash命令不指定參數或標志時,hash命令向標準輸出報告路徑名列表的內容。此報告含有先前hash命令調用找到的當前shell環境中命令的路徑名。而且還包含通過正常命令搜索進程調用并找到的那些命令。
語法格式: hash [參數] [目錄]
常用參數:
| -l | 顯示哈希表中的命令 |
| -p<指令> | 將具有完整路徑的命令加入到哈希表中 |
| -r | 清除哈希表中的記錄 |
| -t | 顯示哈希表中命令的完整路徑 |
參考實例
顯示哈希表中的命令:
[root@linuxcool ~]# hash -l刪除哈希表中的命令:
[root@linuxcool ~]# hash -r向哈希表中添加命令:
[root@linuxcool ~]# hash -p /usr/sbin/adduser myadduser在哈希表中清除記錄:
[root@linuxcool ~]# hash -d顯示哈希表中命令的完整路徑:
[root@linuxcool ~]# hash -twait命令 – 等待指令
wait命令用來等待指令的指令,直到其執行完畢后返回終端。該指令常用于shell腳本編程中,待指定的指令執行完成后,才會繼續執行后面的任務。該指令等待作業時,在作業標識號前必須添加備份號”%”。
**語法格式:**wait [參數]
常用參數:
參考實例
等待作業號為1的作業完成后再返回:
[root@linuxcool ~]# wait %1 [root@linuxcool ~]# find / -name passwordbc命令 – 浮點運算
bc的英文全拼為“ Binary Calculator ”,是一種支持任意精度的交互執行的計算器語言。bash內置了對整數四則運算的支持,但是并不支持浮點運算,而bc命令可以很方便的進行浮點運算,當然整數運算也不再話下。
**語法格式:**bc [選項]
常用參數:
| -l | 定義使用的標準數學庫 |
| -w | 定義使用的標準數學庫 |
| -q | 打印正常的GNU bc環境信息 |
參考實例
算術操作高級運算bc命令它可以執行浮點運算和一些高級函數:
[root@linuxcool ~]# echo "1.212*3" | bc 3.636設定小數精度(數值范圍):
[root@linuxcool ~]# echo "scale=2;3/8" | bc.37計算平方和平方根:
[root@linuxcool ~]# echo "10^10" | bc10000000000 [root@linuxcool ~]# echo "sqrt(100)" | bc10history命令 – 顯示與管理歷史命令記錄
history命令來自于英文單詞歷史,其功能是用于顯示與管理歷史命令記錄。Linux系統默認會記錄用戶所執行過的所有命令,可以使用history命令查閱它們,也可以對其記錄進行修改和刪除操作。
語法格式: history [參數]
常用參數:
| -c | 清空命令記錄 |
| -d | 刪除指定序號的命令記錄 |
| -n | 讀取命令記錄 |
| -r | 讀取命令記錄到緩沖區 |
| -s | 將指定的命令添加到緩沖區 |
| -w | 將緩沖區信息寫入到歷史文件 |
參考實例
顯示執行過的全部命令記錄:
[root@linuxcool ~]# history 1 vim /etc/sysconfig/network-scripts/ifcfg-ens160 2 reboot3 vim /etc/sysconfig/network-scripts/ifcfg-ens1604 vim /etc/yum.repos.d/rhel.repo5 mkdir /media/cdrom6 vim /etc/fstab7 reboot8 ping 192.168.10.109 dnf install httpd10 exit ………………省略部分輸出信息………………顯示執行過的最近5條命令:
[root@linuxcool ~]# history 511 exit12 ifconfig13 vim /etc/hostname 14 reboot15 history將本次緩存區信息寫入到歷史文件中(~/.bash_history):
[root@linuxcool ~]# history -w將歷史文件中的信息讀入到當前緩沖區中:
[root@linuxcool ~]# history -r將本次緩沖區信息追加寫入到歷史文件中(~/.bash_history):
[root@linuxcool ~]# history -a清空本次緩沖區及歷史文件中的信息:
[root@linuxcool ~]# history -crmmod命令 – 刪除模塊
rmmod即“remove module”的簡稱,rmmod命令用于刪除模塊。 執行rmmod命令,可刪除不需要的模塊。Linux操作系統的核心具有模塊化的特性,因此在編譯核心時,不需要吧全部功能都放入核心,可以將這些功能編譯成一個個單獨的模塊,待有需要時再分別載入它們。
**語法格式:**rmmod [參數] [模塊名稱]
常用參數:
| -s | 把信息輸出至syslog常駐服務,而非終端機界面 |
| -v | 顯示指令執行的詳細信息 |
| -f | 強制移除模塊,使用此選項比較危險 |
| -w | 等待著,知道模塊能夠被除時再移除模塊 |
參考實例
卸載模塊pppoe并顯示執行信息:
[root@linuxcool ~]# rmmod -v pppoe卸載bridge模塊:
[root@linuxcool ~]# rmmod bridge卸載bridge模塊并將錯誤信息寫入syslog:
[root@linuxcool ~]# rmmod -s bridge孤立正在使用的bridge模塊,知道不被使用:
[root@linuxcool ~]# rmmod -w bridge刪除正在使用的bridge模塊(-f可以刪除正在使用的模塊,非常危險,慎用):
[root@linuxcool ~]# rmmod -f bridge擴展:知識干貨
Red Hat Enterprise Linux 8/7/6/5/4 合集下載地址
紅帽公司成立于1993年,是全球首家收入超10億美元的開源公司,總部位于美國,分支機構遍布全球。紅帽公司作為全球領先的開源和Linux系統提供商,其產品已被業界廣泛認可并使用,尤其是RHEL系統在業內擁有超高的Linux系統市場占有率。紅帽公司除了提供操作系統之外,還提供了虛擬化、中間件、應用程序、管理和面向服務架構的解決方案。
紅帽認證是由紅帽公司推出的Linux認證,該認證被認為是Linux行業乃至整個IT領域價值最高的認證之一。紅帽認證考試全部采用上機形式,在考察學生基礎理論能力的同時還考察了實踐動手操作以及排錯能力。紅帽公司針對紅帽認證制定了完善的專業評估與認證標準,其認證主要包括紅帽認證系統管理員(RHCSA)、紅帽認證工程師(RHCE)與紅帽認證架構師(RHCA)。
Red Hat Enterprise Linux,即RHEL,是全世界內使用最廣泛的Linux系統。RHEL系統具有極強的性能與穩定性,并且在全球范圍內擁有完善的技術支持。
本頁面內容已轉移到LinuxDown系統下載站并長期更新,請點擊下方鏈接訪問↓
https://www.linuxdown.com/
中國程序員最容易讀錯的單詞匯總(帶正確發音示范)
日常生產中,當我們需要查閱某個服務的官方文檔,或者學習某些最新技術資料時,經常會是英文內容。閱讀其實并不困難,或者Google翻譯軟件就能幫您搞定,但是轉述給同事、或者與他人交談中的發音問題怎么辦呢?
本文即針對程序員及運維同胞們最容易讀錯的單詞進行匯總,例如“VUE ”是不是很多同學此前一直讀成“V—U—E ”,即分成三個字母來讀呢?這樣不僅在工作中有些“露怯”,更重要的是英語國家的同事會聽不懂您的表達。
| access | [‘?kses] | 一種數據庫 | |
| admin | [‘?dm?n] | 管理員 | |
| agile | [‘?d?a?l] | 輕量級 | |
| amazon | [‘?m?z?n] | 亞馬遜 | |
| analogy | [??n?l?d?i] | 模擬 | |
| Angular | [‘??gj?l?] | 前端JS框架 | |
| AJAX | [‘eid??ks] | 交互式網頁 | |
| alias | [?e?li?s] | 別名 | |
| Apache | [?’p?t??] | 一個網站服務軟件 | |
| app | [?p] | 手機軟件 | |
| archive | [‘ɑ?ka?v] | 存檔 | |
| array | [?’rei] | 數組 | |
| ASCII | [‘?ski] | 一種編碼系統 | |
| aspect | [‘?spekt] | 方向 | |
| avatar | [‘?v?tɑ?] | 頭像 | |
| Azure | [‘???] | 一種云服務 | |
| bind | [ba?nd] | 一個DNS軟件 | |
| cache | [k??] | 緩存 | |
| Daemon | [‘di?m?n] | 守護進程 | |
| deny | [d?’na?] | 拒絕 | |
| deque | [‘dek] | 隊列 | |
| digest | [‘dɑ?d??st] | 整理 | |
| Django | [?d???ɡo?] | 一個網站框架 | |
| doc | [d?k] | 一種文檔類型 | |
| event | [?’vent] | 事件 | |
| facade | [f?’sɑ?d] | 外觀模式 | |
| fedora | [f?’d??r?] | 一個操作系統 | |
| format | [‘f??m?t] | 格式化 | |
| Git | [ɡ?t] | 一個版本控制軟件 | |
| Haskell | [?h?sk?l] | 一個編程語言 | |
| height | [ha?t] | 高度 | |
| hidden | [‘h?dn] | 隱藏 | |
| image | [‘?m?d?] | 圖片 | |
| implement | [‘?mpl?m(?)nt] | 實施 | |
| integer | [‘?nt?d??] | 整數類型 | |
| issue | [‘??u?] | 發行版本 | |
| Java | [‘d?ɑ?v?] | 一個編程語言 | |
| lambda | [?l?md?] | 一種匿名函數 | |
| linear | [‘l?n??] | 線性模型 | |
| Linux | [‘l?n?ks] | 一種操作系統 | |
| locale | [l??’kɑ?l] | 地點 | |
| main | [me?n] | 主要的 | |
| margin | [‘mɑ?d??n] | 邊緣 | |
| matrix | [?me?tr?ks] | 母體 | |
| maven | [‘me?vn] | 一個項目管理軟件 | |
| Microsoft | [‘maikr?us?ft] | 微軟 | |
| module | [‘m?dju?l] | 模塊 | |
| null | [n?l] | 失效的 | |
| phantom | [‘f?nt?m] | 虛構 | |
| parameter | [p?’r?m?t?] | 參數 | |
| putty | [?p?ti] | 一個遠程控制軟件 | |
| query | [‘kw??ri] | 詢問 | |
| Qt | [kju?t] | 一種開發架構 | |
| Realm | [relm] | 一種移動數據庫軟件 | |
| resolved | [r?’z?lvd] | 已解決 | |
| resort | [r??z?:t] | 求助 | |
| retina | [‘ret?n?] | 一種顯示屏 | |
| safari | [s?’fɑ?r?] | 一個瀏覽器軟件 | |
| scheme | [ski?m] | 一種編程語言 | |
| suite | [swi?t] | 套件 | |
| typical | [‘t?p?kl] | 典型的 | |
| Ubuntu | [?’b?nt?] | 一種操作系統 | |
| variable | [‘ve?ri?bl] | 變量 | |
| vue | [v’ju:] | 計算機考試 | |
| width | [w?dθ] | 寬度 | |
| YouTube | [‘ju?’tju?b] | 一個視頻網站 |
Hello , Linuxer ~
END
學習資源
-
視頻
- ? 2021 韓順平 一周學會Linux:https://www.bilibili.com/video/BV1Sv411r7vd(基于 CentOS 7.6 版本較新,視頻長度剛剛好,也比較完整)
- 【千鋒】Linux 云計算基礎視頻教程 650 集入門:https://www.bilibili.com/video/BV1pz4y1D73n(很全面,適合時間足夠、想認真學的同學)
- 【狂神說Java】Linux 教程 - 阿里云真實環境學習:https://www.bilibili.com/video/BV187411y7hF(算是個小的入門教程吧,時間足夠的話還是推薦看更完整的)
- 細說Linux - 從入門到精通:https://study.163.com/course/courseMain.htm?courseId=983014(感覺有點啰嗦,作為備用吧)
- 玩轉Vim 從放棄到愛不釋手:https://www.imooc.com/learn/1129(好評很多)
- 阿里云 Linux 運維學習路線:https://edu.aliyun.com/roadmap/linux
-
書籍
- 《鳥哥的 Linux 私房菜 —— 基礎篇》:http://cn.linux.vbird.org/linux_basic/linux_basic.php(經典)
- 《深入理解 LINUX 內核》:https://book.douban.com/subject/1767120/
- 《深入Linux內核架構》:https://book.douban.com/subject/4843567/
- 《Linux內核完全剖析》:https://book.douban.com/subject/3229243/
- 《Linux內核設計與實現(原書第3版)》:https://book.douban.com/subject/6097773/
-
文檔
-
Linux 教程(菜鳥教程):https://www.runoob.com/linux/linux-tutorial.html
-
Linux 教程(W3CSchool):https://www.w3cschool.cn/linux/
-
Linux 工具快速教程:https://linuxtools-rst.readthedocs.io(基礎、工具進階、工具參考)
-
-
合集
- Linux內核學習資料:https://github.com/0voice/linux_kernel_wiki
- GitHub Linux 專區:https://github.com/topics/linux(很多好項目)
- GitHub Linux 合集:https://github.com/inputsh/awesome-linux(Linux 系列技術)
- StackOverflow:https://stackoverflow.com/questions/tagged/linux(解決問題必備)
- 掘金 Linux 專區:https://juejin.cn/tag/Linux(技術文章)
-
實戰
- ? 藍橋云課 Linux 基礎入門:https://www.lanqiao.cn/courses/1(強烈推薦)
- 騰訊云動手實驗室:https://cloud.tencent.com/developer/labs
- 阿里云體驗實驗室:https://developer.aliyun.com/adc/labs/
- 阿里云知行實驗室:https://start.aliyun.com/
- 華為云沙箱實驗室:https://lab.huaweicloud.com/
-
社區(國內倒的差不多了)
- Linux 中國:https://linux.cn/
- 開源中國:https://www.oschina.net/(綜合的開源社區)
- 紅帽官網:https://www.redhat.com/zh
-
工具
- DistroTest 在線操作系統測試:https://distrotest.net
- ? Linux 命令搜索:https://wangchujiang.com/linux-command
- Linux 命令大全手冊:https://man.linuxde.net/
- Linux 命令大全手冊:https://www.linuxcool.com/
- Linux 命令示例:http://linux-commands-examples.com/
- 寶塔 Linux 面板:https://www.bt.cn/
- 在線 Shell 腳本檢查:https://www.shellcheck.net
-
面試題
- 牛客網 Linux 專項練習:https://www.nowcoder.com/intelligentTest
- 牛客網 Linux 面試題:https://www.nowcoder.com/search?query=linux%E9%9D%A2%E8%AF%95%E9%A2%98&type=question
- Linux 常見面試題整理:https://zhuanlan.zhihu.com/p/376749877
- Linux 常見面試題整理:https://github.com/0voice/linux_kernel_wiki#-%E9%9D%A2%E8%AF%95%E9%A2%98
總結
- 上一篇: html 支持ssi,shtml网页SS
- 下一篇: QT获取调色板rgb色值