Linux 常用命令大全:覆蓋日常 99% 操作需求
1、基本命令
- pwd:顯示當前工作目錄的絕對路徑,例如在復雜目錄結構中快速確認位置,執行后會輸出類似/home/user/documents的結果。
- cd:切換目錄,cd 目錄路徑可進入指定目錄,cd ~回到當前用戶的家目錄,cd ..返回上一級目錄,cd -切換到上一次所在的目錄,cd /進入根目錄。
- ls:列出目錄內容,ls顯示當前目錄下的文件和目錄(不包含隱藏文件);ls -l以長格式顯示,包含權限、所有者、大小、修改時間等信息;ls -a顯示所有文件和目錄,包括隱藏文件(以。開頭的文件);ls -h與ls -l配合使用,以人類可讀的格式顯示文件大小(如 K、M、G);ls -t按修改時間排序,最新的文件排在前面;ls -r反向排序;ls -S按文件大小排序。
- clear:清空終端屏幕,使終端顯示更整潔,也可使用快捷鍵Ctrl + L實現相同功能。
- echo:輸出指定的字符串或變量值,echo "Hello World"輸出字符串,echo $PATH輸出環境變量 PATH 的值。
- date:顯示或設置系統時間,date顯示當前系統時間,date "+%Y-%m-%d %H:%M:%S"按指定格式顯示時間,date -s "2023-10-01 12:00:00"設置系統時間。
- cal:顯示日歷,cal顯示當前月份的日歷,cal 2023顯示 2023 年全年的日歷,cal 10 2023顯示 2023 年 10 月的日歷。
2、關機
- shutdown:關機或重啟系統,shutdown -h now立即關機;shutdown -h +1010 分鐘后關機;shutdown -r now立即重啟;shutdown -c取消已安排的關機或重啟任務;shutdown -h 23:00在 23:00 關機。
- poweroff:直接關閉系統,相當于shutdown -h now,操作更簡潔。
- reboot:重啟系統,功能與shutdown -r now類似,使用更方便。
- halt:關閉系統,與 poweroff 類似,會停止 CPU 運行,但可能需要手動關閉電源(現在多數系統中與 poweroff 功能相近)。
- init:改變系統運行級別,init 0關機,init 6重啟,init 3切換到多用戶命令行模式,init 5切換到圖形界面模式。
3、文件和目錄
- mkdir:創建目錄,mkdir 目錄名創建單個目錄;mkdir -p dir1/dir2/dir3遞歸創建多級目錄,即使父目錄不存在也能一次性創建;mkdir -m 755 dir創建目錄時指定權限為 755。
- rmdir:刪除空目錄,rmdir 目錄名只能刪除空目錄,若目錄中有文件或子目錄則無法刪除;rmdir -p dir1/dir2當 dir2 被刪除后,如果 dir1 也為空則一并刪除。
- touch:創建空文件或更新文件的時間戳,touch 文件名若文件不存在則創建空文件,若文件已存在則更新其訪問和修改時間;touch -d "2023-10-01" file修改文件的時間戳為指定日期。
- rm:刪除文件或目錄,rm 文件名刪除指定文件;rm -r 目錄名遞歸刪除目錄及其包含的所有文件和子目錄;rm -f 文件名強制刪除文件,不提示確認;rm -rf 目錄名強制遞歸刪除目錄,使用時需謹慎,避免誤刪重要數據;rm -i 文件名刪除前提示確認。
- mv:移動或重命名文件 / 目錄,mv 源文件 目標路徑將文件移動到目標路徑;mv 舊文件名 新文件名對文件進行重命名;mv 源目錄 目標路徑移動目錄;mv -f 源 目標強制移動,覆蓋已存在的目標文件不提示;mv -i 源 目標若目標存在則提示是否覆蓋。
4、文件搜索
- find:在指定目錄下搜索文件,find 搜索路徑 -name "文件名"按文件名搜索,支持通配符(如find /home -name "*.txt"搜索 /home 目錄下所有.txt 文件);find 搜索路徑 -size +10M搜索大于 10M 的文件;find 搜索路徑 -mtime -7搜索 7 天內修改過的文件;find 搜索路徑 -user 用戶名搜索指定用戶擁有的文件;find 搜索路徑 -type f只搜索普通文件;find 搜索路徑 -type d只搜索目錄;find 搜索路徑 -perm 755搜索權限為 755 的文件或目錄;find 搜索路徑 -name "*.log" -exec rm {} \;搜索.log 文件并刪除。
- locate:快速搜索文件,基于數據庫搜索,速度比find快,locate 文件名可快速找到包含該文件名的文件路徑。使用前可執行updatedb更新數據庫(部分系統會自動定期更新);locate -i 文件名忽略大小寫搜索;locate -r "正則表達式"按正則表達式搜索。
- grep:在文件中搜索指定的字符串,grep "字符串" 文件名在指定文件中搜索該字符串;grep -r "字符串" 目錄名遞歸在目錄下的所有文件中搜索;grep -i "字符串" 文件名忽略大小寫搜索;grep -n "字符串" 文件名顯示匹配行的行號;grep -v "字符串" 文件名顯示不包含該字符串的行;grep -A 3 "字符串" 文件名顯示匹配行及后面 3 行;grep -B 2 "字符串" 文件名顯示匹配行及前面 2 行;grep -C 2 "字符串" 文件名顯示匹配行及前后各 2 行。
- whereis:查找二進制程序、源代碼和手冊頁的位置,whereis ls查找 ls 命令的相關文件;whereis -b ls只查找二進制文件;whereis -m ls只查找手冊頁。
- which:在環境變量 PATH 指定的路徑中查找可執行文件的位置,which python查找 python 可執行文件的路徑;which -a ls顯示所有匹配的 ls 命令路徑。
5、掛載一個文件系統
- mount:掛載文件系統,mount /dev/設備名 掛載點將指定設備掛載到掛載點(如mount /dev/sdb1 /mnt/usb掛載 U 盤到 /mnt/usb);mount -o ro /dev/cdrom /mnt/cdrom以只讀方式掛載光盤;mount -t ext4 /dev/sda1 /mnt指定文件系統類型為 ext4 進行掛載;mount -o loop 鏡像文件 掛載點掛載 ISO 等鏡像文件;mount顯示當前所有已掛載的文件系統。
- umount:卸載文件系統,umount 掛載點或umount /dev/設備名(如umount /mnt/usb或umount /dev/sdb1),卸載前需確保該文件系統沒有被使用;umount -l 掛載點懶惰卸載,即使文件系統被使用也強制卸載(稍后實際卸載);umount -a卸載所有除了 proc、sysfs 等之外的文件系統。
- mountpoint:判斷一個目錄是否為掛載點,mountpoint /mnt/usb判斷 /mnt/usb 是否是掛載點;mountpoint -q /mnt/usb靜默模式,只通過返回值判斷。
- swapon:啟用交換分區或交換文件,swapon /dev/設備名啟用交換分區;swapon 交換文件名啟用交換文件;swapon -a啟用 /etc/fstab 中定義的所有交換設備;swapon -s顯示交換設備的使用情況。
6、磁盤空間
- df:顯示磁盤分區的空間使用情況,df默認以字節為單位顯示;df -h以人類可讀的格式(K、M、G)顯示;df -T顯示文件系統類型;df -i顯示 inode 使用情況;df -P使用 POSIX 格式輸出,便于腳本處理;df /home只顯示 /home 所在分區的情況。
- du:顯示目錄或文件的磁盤使用空間,du 目錄名顯示指定目錄下各子目錄的磁盤占用;du -h 文件名以人類可讀格式顯示文件大小;du -sh 目錄名顯示目錄的總大小(不顯示子目錄詳情);du -a 目錄名顯示目錄下所有文件和子目錄的大小;du -c 目錄名顯示總大小并匯總;du --max-depth=1 目錄名只顯示指定目錄下一級子目錄和文件的大小。
- lsblk:列出塊設備信息,lsblk顯示所有塊設備的樹形結構;lsblk -f顯示塊設備的文件系統信息;lsblk -l以列表形式顯示;lsblk -o NAME,SIZE,TYPE,MOUNTPOINT指定顯示的列。
- fdisk:磁盤分區工具,fdisk -l列出所有磁盤及分區信息;fdisk /dev/sda對 /dev/sda 磁盤進行分區操作(進入交互模式)。
- parted:磁盤分區工具,支持更大的磁盤和更多的分區格式,parted -l列出磁盤分區信息;parted /dev/sda對 /dev/sda 進行分區操作。
7、用戶和群組
- useradd:創建新用戶,useradd 用戶名創建用戶,默認在 /home 目錄下創建用戶家目錄;useradd -d /home/newdir 用戶名指定用戶家目錄;useradd -s /bin/bash 用戶名指定用戶的默認 shell;useradd -g 組名 用戶名指定用戶的主要組;useradd -G 組1,組2 用戶名指定用戶的附加組;useradd -m 用戶名自動創建用戶家目錄;useradd -r 用戶名創建系統用戶(無家目錄)。
- passwd:設置或修改用戶密碼,passwd 用戶名為指定用戶設置密碼,若不指定用戶名則為當前用戶修改密碼;passwd -l 用戶名鎖定用戶(禁止登錄);passwd -u 用戶名解鎖用戶;passwd -d 用戶名刪除用戶密碼(登錄無需密碼);passwd -S 用戶名顯示用戶密碼狀態。
- userdel:刪除用戶,userdel 用戶名刪除用戶,但保留用戶家目錄;userdel -r 用戶名刪除用戶的同時刪除其家目錄;userdel -f 用戶名強制刪除正在登錄的用戶。
- groupadd:創建用戶組,groupadd 組名創建指定名稱的用戶組;groupadd -g 1000 組名指定組 ID 創建組;groupadd -r 組名創建系統組。
- groupdel:刪除用戶組,groupdel 組名刪除指定的用戶組,需確保該組中沒有用戶。
- usermod:修改用戶屬性,usermod -g 組名 用戶名將用戶添加到指定的主要組;usermod -aG 組名 用戶名將用戶添加到指定的附加組(-a 表示追加);usermod -d 新目錄 用戶名修改用戶家目錄;usermod -s /bin/sh 用戶名修改用戶的默認 shell;usermod -l 新用戶名 舊用戶名修改用戶名;usermod -L 用戶名鎖定用戶;usermod -U 用戶名解鎖用戶。
- groupmod:修改用戶組屬性,groupmod -n 新組名 舊組名修改組名;groupmod -g 新GID 組名修改組 ID。
- id:顯示用戶和組的 ID 信息,id 用戶名顯示指定用戶的 UID、GID 及所屬組信息;id -u 用戶名只顯示 UID;id -g 用戶名只顯示主要 GID。
- who:顯示當前登錄的用戶信息,包括用戶名、登錄終端、登錄時間、遠程主機等;who -a顯示所有信息;who -r顯示當前運行級別。
- w:顯示當前登錄用戶及其執行的命令,比 who 更詳細,包含用戶的 CPU 使用情況等。
- last:顯示用戶登錄歷史記錄;last -n 10顯示最近 10 條記錄;last -u 用戶名顯示指定用戶的登錄歷史。
8、文件的權限
- chmod:修改文件或目錄的權限,權限分為讀(r,4)、寫(w,2)、執行(x,1),分別對應所有者、所屬組和其他用戶。chmod 755 文件名為所有者授予讀、寫、執行權限,所屬組和其他用戶授予讀和執行權限;chmod u+x 文件名為所有者添加執行權限;chmod g-w 文件名取消所屬組的寫權限;chmod o=r 文件名為其他用戶設置只讀權限;chmod -R 755 目錄名遞歸修改目錄及其內容的權限;chmod a+x 文件名為所有用戶添加執行權限;chmod 000 文件名取消所有用戶的權限;chmod --reference=參考文件 目標文件將目標文件權限設置為與參考文件相同。
- chown:修改文件或目錄的所有者和所屬組,chown 用戶名 文件名將文件所有者改為指定用戶;chown 用戶名:組名 文件名同時修改所有者和所屬組;chown -R 用戶名:組名 目錄名遞歸修改目錄的所有者和所屬組;chown .組名 文件名只修改所屬組(使用。分隔)。
- chgrp:修改文件或目錄的所屬組,chgrp 組名 文件名將文件所屬組改為指定組;chgrp -R 組名 目錄名遞歸修改目錄的所屬組;chgrp --reference=參考文件 目標文件將目標文件所屬組設置為與參考文件相同。
- umask:設置創建文件或目錄的默認權限,umask顯示當前的 umask 值;umask 022設置 umask 值為 022(創建文件默認權限為 644,目錄為 755)。
9、文件的特殊屬性
- chattr:設置文件的特殊屬性,chattr +i 文件名設置文件為不可修改、刪除或重命名;chattr +a 文件名使文件只能追加內容,不能刪除或修改已有內容;chattr -i 文件名取消不可修改屬性;chattr +s 文件名文件刪除后數據塊被清零;chattr +u 文件名文件刪除后可恢復;chattr -R +i 目錄名遞歸設置目錄及其內容不可修改。
- lsattr:查看文件的特殊屬性,lsattr 文件名顯示指定文件的特殊屬性;lsattr -d 目錄名顯示目錄的特殊屬性;lsattr -R 目錄名遞歸顯示目錄及其內容的特殊屬性;lsattr -a 文件名顯示包括隱藏文件在內的特殊屬性。
10、打包和壓縮文件
- tar:打包和解包文件,常用于備份。tar -cvf 包名.tar 文件/目錄將文件或目錄打包成 tar 包;tar -xvf 包名.tar解包 tar 包;tar -tvf 包名.tar查看 tar 包內的內容;tar -czvf 包名.tar.gz 文件/目錄打包并以 gzip 壓縮;tar -xzvf 包名.tar.gz解壓 gzip 壓縮的 tar 包;tar -cjvf 包名.tar.bz2 文件/目錄打包并以 bzip2 壓縮;tar -xjvf 包名.tar.bz2解壓 bzip2 壓縮的 tar 包;tar -cJvf 包名.tar.xz 文件/目錄打包并以 xz 壓縮;tar -xJvf 包名.tar.xz解壓 xz 壓縮的 tar 包。
- gzip:壓縮或解壓縮文件,gzip 文件名壓縮文件(壓縮后原文件刪除,生成.gz 文件);gzip -d 文件名.gz解壓縮.gz 文件;gzip -l 文件名.gz查看壓縮文件的信息;gzip -k 文件名壓縮文件時保留原文件。
- bzip2:比 gzip 壓縮率更高,bzip2 文件名壓縮文件;bzip2 -d 文件名.bz2解壓縮;bzip2 -k 文件名壓縮時保留原文件;bzip2 -z 文件名強制壓縮(即使文件已壓縮)。
- xz:高壓縮率的壓縮工具,xz 文件名壓縮文件;xz -d 文件名.xz解壓縮;xz -k 文件名壓縮保留原文件;xz -l 文件名.xz查看壓縮信息。
- zip:創建 ZIP 格式壓縮包,zip 壓縮包名.zip 文件/目錄創建 ZIP 包;zip -r 壓縮包名.zip 目錄遞歸壓縮目錄;zip -d 壓縮包名.zip 文件名從壓縮包中刪除文件;zip -u 壓縮包名.zip 文件名更新壓縮包中的文件。
- unzip:解壓縮 ZIP 格式文件,unzip 壓縮包名.zip解壓縮;unzip -l 壓縮包名.zip查看壓縮包內容;unzip 壓縮包名.zip -d 目錄解壓到指定目錄;unzip -o 壓縮包名.zip覆蓋已有文件不提示。
11、RPM 包
- rpm -ivh 包名.rpm:安裝 RPM 包,-i表示安裝,-v顯示詳細信息,-h顯示進度條。
- rpm -Uvh 包名.rpm:升級 RPM 包,若包未安裝則進行安裝。
- rpm -e 包名:卸載 RPM 包,只需包名無需完整文件名。
- rpm -qa:列出系統中已安裝的所有 RPM 包。
- rpm -qa | grep 關鍵詞:查找包含關鍵詞的已安裝 RPM 包。
- rpm -qi 包名:查看指定 RPM 包的詳細信息(版本、描述等)。
- rpm -ql 包名:列出 RPM 包安裝的所有文件路徑。
- rpm -qf 文件名:查詢指定文件由哪個 RPM 包安裝。
- rpm -V 包名:驗證 RPM 包安裝的文件是否被修改。
- rpm --import 公鑰文件:導入 RPM 包的簽名公鑰,用于驗證包的完整性。
12、YUM 軟件包升級器
- yum install 包名:安裝軟件包,自動解決依賴關系。
- yum update:升級系統中所有可升級的軟件包。
- yum remove 包名:卸載軟件包,同時卸載無用的依賴。
- yum list:列出所有可用的軟件包(已安裝和可安裝)。
- yum list installed:列出已安裝的軟件包。
- yum list available:列出可安裝的軟件包。
- yum search 關鍵詞:搜索包含關鍵詞的軟件包。
- yum clean all:清理 YUM 緩存的軟件包和元數據。
- yum makecache:生成 YUM 緩存,加快后續操作速度。
- yum groupinstall "軟件包組名":安裝整個軟件包組。
- yum groupremove "軟件包組名":卸載軟件包組。
- yum repolist:列出已啟用的 YUM 倉庫。
13、DEB 包
- dpkg -i 包名.deb:安裝 DEB 包,需手動解決依賴問題。
- dpkg -r 包名:卸載 DEB 包,保留配置文件。
- dpkg -P 包名:徹底卸載 DEB 包,刪除配置文件。
- dpkg -l | grep 關鍵詞:查找包含關鍵詞的已安裝 DEB 包。
- dpkg -s 包名:查看指定 DEB 包的狀態信息。
- dpkg -L 包名:列出 DEB 包安裝的所有文件。
- dpkg -S 文件名:查詢指定文件由哪個 DEB 包安裝。
- dpkg --configure -a:配置未完成配置的軟件包。
- dpkg -c 包名.deb:查看 DEB 包內的文件列表(未安裝時)。
14、查看文件內容
- cat 文件名:顯示文件的全部內容,適合查看小文件。
- tac 文件名:反向顯示文件內容(從最后一行到第一行)。
- more 文件名:分頁顯示文件內容,按空格鍵翻頁,按 q 退出。
- less 文件名:比 more 更強大的分頁查看工具,支持上下滾動、搜索(按 / 輸入關鍵詞,n 下一個,N 上一個),按 q 退出。
- head 文件名:顯示文件的前幾行,默認前 10 行。
- head -n 20 文件名:顯示文件的前 20 行。
- tail 文件名:顯示文件的后幾行,默認后 10 行。
- tail -n 15 文件名:顯示文件的后 15 行。
- tail -f 文件名:實時跟蹤文件的新增內容(常用于查看日志),按 Ctrl+C 退出。
- nl 文件名:給文件內容添加行號并顯示,類似 cat -n。
- od -c 文件名:以 ASCII 碼方式顯示二進制文件內容。
15、文本處理
- sed:流編輯器,用于文本替換、刪除等操作。sed 's/舊內容/新內容/' 文件名替換每行第一個匹配的舊內容;sed 's/舊內容/新內容/g' 文件名替換所有匹配的舊內容;sed '/關鍵詞/d' 文件名刪除包含關鍵詞的行;sed '3d' 文件名刪除第 3 行;sed '2,5d' 文件名刪除第 2 到 5 行;sed -i 's/舊/新/g' 文件名直接修改文件內容(謹慎使用)。
- awk:文本處理工具,按列處理數據。awk '{print $1}' 文件名打印每行的第 1 列;awk -F ':' '{print $1,$3}' /etc/passwd以:為分隔符,打印第 1 和第 3 列;awk '$3 > 1000' 文件名打印第 3 列大于 1000 的行;awk '/關鍵詞/ {print $0}' 文件名打印包含關鍵詞的行;awk 'BEGIN{total=0} {total+=$1} END{print total}' 文件名計算第 1 列的總和。
- sort:對文本內容排序。sort 文件名按默認規則排序;sort -n 文件名按數值大小排序;sort -r 文件名反向排序;sort -k 2 文件名按第 2 列排序;sort -u 文件名去除重復行;sort -t ',' -k 3n 文件名以,為分隔符,按第 3 列數值排序。
- uniq:處理重復行(需先排序)。uniq 文件名去除連續重復行;uniq -c 文件名統計連續重復行的次數;uniq -d 文件名只顯示重復的行;uniq -u 文件名只顯示不重復的行。
- cut:截取文本的列。cut -f 1 文件名截取第 1 列(默認制表符分隔);cut -d ':' -f 1,6 /etc/passwd以:為分隔符,截取第 1 和第 6 列;cut -c 1-5 文件名截取每行的第 1 到 5 個字符;cut -c 10- 文件名截取每行第 10 個字符及之后的內容。
- paste:合并多個文件的列。paste file1 file2將 file1 和 file2 的內容按列合并;paste -d ',' file1 file2以,作為分隔符合并。
- tr:字符轉換或刪除。tr 'a-z' 'A-Z' < 文件名將文件中 lowercase 轉為 uppercase;tr -d 'abc' 文件名刪除文件中的 a、b、c 字符;tr -s ' ' 文件名將多個連續空格壓縮為一個。
16、字符設置和文件格式轉換
- iconv -f 原編碼 -t 目標編碼 原文件 -o 目標文件:轉換文件編碼,如iconv -f GBK -t UTF-8 old.txt -o new.txt將 GBK 編碼的 old.txt 轉為 UTF-8 編碼的 new.txt。
- dos2unix 文件名:將 DOS 格式文件(換行符為 \r\n)轉換為 UNIX 格式(換行符為 \n)。
- unix2dos 文件名:將 UNIX 格式文件轉換為 DOS 格式。
- enca -L 語言 文件名:檢測文件的編碼格式,如enca -L chinese file.txt檢測中文文件編碼。
- enca -L 語言 -x 目標編碼 文件名:轉換文件編碼,如enca -L chinese -x UTF-8 file.txt。
17、文件系統分析
- dumpe2fs /dev/設備名:顯示 ext 系列文件系統的詳細信息(如塊大小、inode 數量等),需指定具體分區(如 /dev/sda1)。
- e2fsck /dev/設備名:檢查并修復 ext 系列文件系統的錯誤,需在卸載狀態下使用,e2fsck -y /dev/sda1自動回答 yes 修復所有錯誤。
- fsck:檢查并修復文件系統,自動識別文件系統類型,fsck /dev/sda1;fsck -f /dev/sda1強制檢查即使文件系統看似正常。
- tune2fs:調整 ext 系列文件系統的參數,tune2fs -l /dev/sda1顯示參數;tune2fs -c 50 /dev/sda1設置每掛載 50 次檢查文件系統。
- badblocks:檢查磁盤壞塊,badblocks /dev/sda檢查整個磁盤;badblocks -o badblocks.list /dev/sda1將壞塊列表保存到文件。
18、初始化一個文件系統
- mkfs:創建文件系統,mkfs.ext4 /dev/sda1在 /dev/sda1 上創建 ext4 文件系統;mkfs.xfs /dev/sdb1創建 xfs 文件系統;mkfs.vfat /dev/sdc1創建 FAT32 文件系統(常用于 U 盤)。
- mkfs.ext4:專門創建 ext4 文件系統,mkfs.ext4 -L 卷標 /dev/sda1創建時指定卷標;mkfs.ext4 -b 4096 /dev/sda1指定塊大小為 4096 字節。
- mkfs.xfs:創建 xfs 文件系統,mkfs.xfs -f /dev/sdb1強制創建(即使已有文件系統)。
- mkswap /dev/設備名:初始化交換分區,mkswap /dev/sda5將 /dev/sda5 初始化為交換分區。
19、SWAP 文件系統
- dd if=/dev/zero of=/swapfile bs=1G count=4:創建一個 4GB 的交換文件(if 表示輸入文件,of 表示輸出文件,bs 是塊大小,count 是塊數)。
- mkswap /swapfile:將文件初始化為交換文件系統。
- swapoff /swapfile:關閉交換文件。
- swapon -s:顯示所有交換設備和文件的使用情況。
- free -h:查看內存和交換分區的使用情況,確認 swap 是否生效。
- 永久啟用:編輯 /etc/fstab,添加/swapfile swap swap defaults 0 0,使系統重啟后自動掛載。
20、備份
- rsync -av 源路徑 目標路徑:同步文件和目錄,-a歸檔模式(遞歸、保留權限等),-v詳細輸出。如rsync -av /home/user /backup備份 /home/user 到 /backup。
- rsync -avz 源路徑 遠程用戶@遠程主機:目標路徑:通過 SSH 遠程同步,-z壓縮傳輸數據。
- tar -czvf /backup/$(date +%Y%m%d)_etc.tar.gz /etc:按日期創建 /etc 目錄的壓縮備份。
- dump -0u -f /backup/root_dump /:備份根目錄到指定文件,-0是備份級別(0 為全量),-u更新備份記錄。
- restore -rf /backup/root_dump:恢復 dump 創建的備份。
- cp -a 源文件 目標文件:復制文件并保留所有屬性(權限、時間戳等),適合簡單備份。
21、光盤
- cdrecord -v dev=/dev/cdrom 鏡像.iso:刻錄 ISO 鏡像到光盤,-v顯示詳細信息。
- mkisofs -o 鏡像.iso 目錄:將目錄內容制作成 ISO 鏡像文件。
- mount /dev/cdrom /mnt/cdrom:掛載光盤到 /mnt/cdrom 目錄。
22、網絡
- ifconfig:查看和配置網絡接口信息,ifconfig顯示所有激活的網絡接口;ifconfig eth0查看指定接口(如 eth0)的信息;ifconfig eth0 192.168.1.100 netmask 255.255.255.0為 eth0 設置 IP 和子網掩碼;ifconfig eth0 up激活接口;ifconfig eth0 down禁用接口。
- ip:更強大的網絡配置工具,ip addr查看 IP 地址信息;ip addr add 192.168.1.101/24 dev eth0為 eth0 添加 IP;ip link set eth0 up/down激活 / 禁用接口;ip route查看路由表;ip route add default via 192.168.1.1設置默認網關。
- ping:測試網絡連通性,ping 192.168.1.1向目標 IP 發送 ICMP 請求;ping -c 4 www.baidu.com發送 4 個請求后停止;ping -i 2 10.0.0.1每隔 2 秒發送一次請求。
- traceroute:追蹤數據包到目標主機的路徑,traceroute www.google.com顯示經過的路由節點;traceroute -n 192.168.1.1以 IP 顯示節點(不解析域名)。
- netstat:查看網絡連接、路由表等,netstat -tuln顯示所有監聽的 TCP 和 UDP 端口;netstat -an顯示所有網絡連接;netstat -r顯示路由表;netstat -s顯示網絡統計信息。
- ss:替代 netstat 的工具,更高效,ss -tuln查看監聽端口;ss -an查看所有連接;ss -o state established '( dport = :80 or sport = :80 )'查看 80 端口的已建立連接。
- hostname:查看或設置主機名,hostname顯示當前主機名;hostname newname臨時修改主機名(重啟失效);永久修改需編輯/etc/hostname文件。
- host:DNS 查詢工具,host www.baidu.com查詢域名對應的 IP;host 114.114.114.114反向查詢 IP 對應的域名。
- dig:更詳細的 DNS 查詢工具,dig www.baidu.com查詢域名信息;dig @8.8.8.8 www.baidu.com指定 DNS 服務器查詢;dig +short www.baidu.com只顯示 IP 結果。
- wget:下載文件,wget http://example.com/file.tar.gz下載指定 URL 文件;wget -c http://example.com/bigfile.iso斷點續傳;wget -O newname.zip http://example.com/oldname.zip指定保存文件名。
- curl:傳輸數據工具,支持多種協議,curl Example Domain獲取網頁內容;curl -O http://example.com/file.txt下載文件;curl -X POST -d "name=test" http://example.com/api發送 POST 請求。
23、列出目錄內容
- ls:基礎命令,已在基本命令中詳述,補充ls -la可查看所有文件(包括隱藏)的詳細信息;ls -ld 目錄名查看目錄本身的信息而非內容。
- tree:以樹形結構列出目錄內容,tree顯示當前目錄樹形結構;tree -L 2只顯示 2 級目錄;tree -d只顯示目錄;tree -f顯示文件的完整路徑。
24、查看文件的類型
- file:判斷文件類型,file filename顯示文件類型(文本、二進制、壓縮包等);file -b filename只顯示類型描述(無文件名);file -L linkname查看符號鏈接指向的文件類型。
- mime-type:查看文件的 MIME 類型(部分系統需安裝),mime-type filename返回類似text/plain的結果。
25、復制文件目錄等操作
- cp:復制文件和目錄,cp source.txt dest.txt復制文件;cp -i source.txt dest.txt覆蓋前提示;cp -r dir1 dir2遞歸復制目錄;cp -a dir1 dir2復制目錄并保留所有屬性;cp *.txt /tmp復制所有 txt 文件到 /tmp。
- rsync:高效同步工具,已在備份中詳述,補充rsync -av --delete source/ dest/同步并刪除 dest 中 source 沒有的文件。
- scp:通過 SSH 復制文件,scp localfile user@remotehost:/path復制本地文件到遠程;scp user@remotehost:/file localpath復制遠程文件到本地;scp -r dir user@remotehost:/path遞歸復制目錄。
26、系統常用命令
- top:實時監控系統資源使用情況,顯示進程 CPU、內存占用等,按q退出;top -p 1234只監控 PID 為 1234 的進程;top -u username只顯示指定用戶的進程。
- htop:增強版 top,支持鼠標操作,htop啟動后可直觀查看系統狀態,按F10退出。
- ps:查看進程狀態,ps aux顯示所有進程;ps -ef以全格式顯示進程;ps aux | grep python查找 python 相關進程;ps -l顯示當前終端的進程。
- pstree:以樹形結構顯示進程,pstree顯示所有進程樹;pstree -p顯示進程 ID;pstree username顯示指定用戶的進程樹。
- kill:終止進程,kill 1234向 PID 為 1234 的進程發送終止信號;kill -9 1234強制終止進程(慎用);killall processname終止所有同名進程。
- bg:將前臺進程轉為后臺運行,bg %1將編號為 1 的暫停進程放入后臺。
- fg:將后臺進程調至前臺,fg %1將編號為 1 的后臺進程調至前臺。
- jobs:查看后臺運行的進程,jobs列出所有后臺進程及狀態。
- nohup:使進程在后臺長期運行,nohup command &執行命令并忽略掛起信號,輸出保存到 nohup.out。
- free:查看內存使用情況,free -h以人類可讀格式顯示內存和 swap 使用;free -s 5每隔 5 秒刷新一次。
- vmstat:報告虛擬內存統計信息,vmstat顯示內存、進程、IO 等信息;vmstat 2 5每隔 2 秒輸出一次,共 5 次。
- iostat:監控 CPU 和 IO 統計,iostat顯示 CPU 和設備 IO 信息;iostat -x 1每隔 1 秒顯示詳細 IO 信息。
- sar:系統活動報告工具,sar -u 1 3監控 CPU 使用(1 秒一次,3 次);sar -r查看內存使用;sar -n DEV查看網絡接口統計。
- history:查看命令歷史記錄,history顯示所有歷史命令;history 10顯示最近 10 條;!123執行歷史記錄中編號為 123 的命令;!grep執行最近一條以 grep 開頭的命令。
- alias:設置命令別名,alias ll='ls -l'將 ll 設為 ls -l 的別名;alias查看所有別名;unalias ll取消別名。
- uname:顯示系統信息,uname -a顯示所有系統信息(內核版本、主機名、架構等);uname -r顯示內核版本;uname -m顯示機器架構。
- uptime:顯示系統運行時間和負載,uptime輸出格式:當前時間 up 運行時間, 用戶數, 負載平均值。
- df和du:已在磁盤空間中詳述,補充df -Th顯示文件系統類型;du -sh *顯示當前目錄下各文件 / 目錄的總大小。
27、VIM
- vim 文件名:啟動 VIM 并打開文件,若文件不存在則創建。
- 插入模式:按i在當前光標前插入;I在行首插入;a在當前光標后插入;A在行尾插入;o在當前行下方新增一行并插入;O在當前行上方新增一行并插入;按Esc退出插入模式。
-
- 移動光標:h左移,j下移,k上移,l右移;gg到文件開頭;G到文件結尾;nG到第 n 行;^到行首;$到行尾。
-
- 刪除操作:x刪除光標所在字符;dd刪除當前行;ndd刪除從當前行開始的 n 行;dG刪除從當前行到文件結尾;d$刪除從光標到行尾。
-
- 復制粘貼:yy復制當前行;nyy復制 n 行;p粘貼到光標后;P粘貼到光標前。
-
- 查找替換:/關鍵詞向下查找;?關鍵詞向上查找;n下一個匹配;N上一個匹配;:s/舊內容/新內容/替換當前行第一個匹配;:s/舊內容/新內容/g替換當前行所有匹配;:%s/舊內容/新內容/g替換整個文件所有匹配;:%s/舊內容/新內容/gc替換時確認。
- 末行模式:按:進入,w保存;q退出;wq保存并退出;q!強制退出不保存;set nu顯示行號;set nonu隱藏行號;set autoindent自動縮進;:n跳轉到第 n 行。
28、軟件包管理命令 (RPM)
-
- rpm -qp 包名.rpm:查詢未安裝的 RPM 包信息。
-
- rpm -qpl 包名.rpm:列出未安裝的 RPM 包將安裝的文件。
-
- rpm -qpR 包名.rpm:查看未安裝的 RPM 包的依賴關系。
-
- rpm -ivh --force 包名.rpm:強制安裝,覆蓋已安裝文件。
-
- rpm -ivh --nodeps 包名.rpm:忽略依賴關系安裝(不推薦,可能導致軟件無法運行)。
-
- rpm -Va:驗證系統中所有已安裝的 RPM 包文件完整性。
-
- rpm -qi --changelog 包名:查看包的更新日志。
本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/92998.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/92998.shtml
英文地址,請注明出處:http://en.pswp.cn/web/92998.shtml
如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!