Shell命令是Linux和Unix系統中的基礎,用于完成各種操作,如文件管理、程序執行、文本處理等。下面列舉一些常用的Shell命令,并詳細解釋它們的功能及應用場景:
-
ls
- 列出目錄內容- 功能:列出指定目錄中的文件和目錄。
- 應用場景:查看目錄中的內容。
- 例子:
ls -lh
顯示當前目錄下的文件和目錄,并以人類可讀的格式顯示文件大小。
-
cd
- 更改當前目錄- 功能:更改Shell的當前工作目錄。
- 應用場景:在文件系統中導航。
- 例子:
cd /home/user
切換到/home/user
目錄。
-
pwd
- 打印當前目錄- 功能:顯示當前工作目錄的完整路徑。
- 應用場景:找出當前所在目錄。
- 例子:
pwd
輸出當前目錄路徑。
-
mkdir
- 創建目錄- 功能:創建一個新目錄。
- 應用場景:創建新的文件夾。
- 例子:
mkdir new_folder
在當前目錄下創建一個名為new_folder
的新目錄。 - 詳細用法:4. 常用shell之mkdir的用法及衍生-CSDN博客
-
rmdir
- 刪除目錄- 功能:刪除空目錄。
- 應用場景:移除不再需要的空目錄。
- 例子:
rmdir old_folder
刪除名為old_folder
的目錄(目錄必須為空)。 - 詳細用法:5. 常用shell之rmdir - 刪除目錄 的用法和衍生用法-CSDN博客
-
touch
- 創建或更新文件- 功能:創建一個新文件或更新現有文件的時間戳。
- 應用場景:快速創建空文件或更改文件時間戳。
- 例子:
touch new_file.txt
創建一個名為new_file.txt
的空文件。 - 詳細用法:6. 常用shell之 touch - 創建或更新文件 的用法和衍生用法-CSDN博客
-
rm
- 刪除文件或目錄- 功能:刪除文件或目錄。
- 應用場景:移除文件或目錄。
- 例子:
rm file.txt
刪除名為file.txt
的文件。 - 詳細用法:7. 常用shell之 rm - 刪除文件或目錄 的用法,以及相關衍生用法-CSDN博客
-
cp
- 復制文件或目錄- 功能:復制文件或目錄。
- 應用場景:復制文件或整個目錄到新位置。
- 例子:
cp source.txt destination.txt
將source.txt
文件復制到destination.txt
。 - 詳細用法:8. 常用shell之 cp - 復制文件或目錄 的用法及衍生用法-CSDN博客
-
mv
- 移動或重命名文件或目錄- 功能:移動文件或目錄,或重命名它們。
- 應用場景:整理文件或更改文件名。
- 例子:
mv old_name.txt new_name.txt
將old_name.txt
重命名為new_name.txt
。 - 詳細用法:9. 常用shell之 mv - 移動或重命名文件或目錄 的用法及衍生用法-CSDN博客
-
grep
- 文本搜索- 功能:在文件中搜索符合條件的文本行。
- 應用場景:搜索包含特定文本的文件。
- 例子:
grep "search_term" file.txt
在file.txt
中搜索包含 "search_term" 的行。 - 詳細用法:10. 常用shell之 mv - 移動或重命名文件或目錄 的用法和衍生用法-CSDN博客
-
find
- 查找文件- 功能:在目錄樹中搜索文件。
- 應用場景:尋找符合特定條件的文件或目錄。
- 例子:
find /home -name "*.txt"
在/home
目錄及其子目錄下查找所有擴展名為.txt
的文件。 - 詳細用法:11. 常用shell之 find - 查找文件 的用法和衍生用法-CSDN博客
-
cat
- 查看和連接文件- 功能:查看文件內容、連接多個文件內容到標準輸出。
- 應用場景:查看文件內容或合并文件。
- 例子:
cat file1.txt file2.txt
查看file1.txt
和file2.txt
的內容。
-
echo
- 輸出文本- 功能:在標準輸出(通常是終端)上顯示一行文本或變量。
- 應用場景:顯示消息、變量值或將內容寫入文件。
- 例子:
echo "Hello World"
顯示 "Hello World"。
-
tail
- 查看文件末尾內容- 功能:顯示文件的最后幾行。
- 應用場景:查看日志文件或其他持續增長文件的最新內容。
- 例子:
tail -f /var/log/syslog
實時查看系統日志文件的新更新。
-
head
- 查看文件開頭內容- 功能:顯示文件的前幾行。
- 應用場景:快速查看文件的開始部分。
- 例子:
head -n 5 file.txt
顯示file.txt
的前5行。
-
sort
- 排序文本文件中的行- 功能:按字母或數字順序對文件內容進行排序。
- 應用場景:排序或合并文件。
- 例子:
sort file.txt
對file.txt
文件內容進行排序。
-
uniq
- 報告或省略重復行- 功能:從輸入中刪除重復的連續行。
- 應用場景:處理排序后的文件,刪除或統計重復行。
- 例子:
sort file.txt | uniq
對文件排序后刪除重復行。
-
cut
- 剪切文本文件中的部分- 功能:按列提取文本文件的內容。
- 應用場景:從文件中提取指定的列。
- 例子:
cut -d':' -f 1 /etc/passwd
提取/etc/passwd
文件中以冒號分隔的第一列。
-
awk
- 強大的文本處理工具- 功能:用于模式掃描和處理語言的工具,非常適合文本處理。
- 應用場景:復雜的文本處理,如分析、提取和報告。
- 例子:
awk '{print $2, $1}' file.txt
交換每行的第一和第二個字段。 - 詳細用法:19. 常用shell之awk的用法-CSDN博客
-
sed
- 流編輯器- 功能:對文本流(如文件)執行基本的文本轉換。
- 應用場景:文本替換、插入、刪除等。
- 例子:
sed 's/old/new/g' file.txt
將file.txt
中的 "old" 全部替換為 "new"。 - 詳細用法:20. 常用shell之sed的用法及優缺點-CSDN博客
-
chmod
- 更改文件權限- 功能:更改文件或目錄的訪問權限。
- 應用場景:設置文件的讀、寫和執行權限。
- 例子:
chmod 755 script.sh
設置script.sh
可被所有人讀取和執行,只有所有者可寫。
-
chown
- 更改文件所有者- 功能:更改文件或目錄的所有者和組。
- 應用場景:更改文件的所有權。
- 例子:
chown user:group file.txt
更改file.txt
的所有者為 "user",組為 "group"。
-
df
- 顯示磁盤空間使用情況- 功能:顯示文件系統的磁盤空間使用情況。
- 應用場景:監控磁盤空間。
- 例子:
df -h
以人類可讀的格式顯示磁盤空間使用情況。
-
du
- 顯示目錄空間使用情況- 功能:顯示文件或目錄所占用的磁盤空間。
- 應用場景:查找占用大量磁盤空間的文件或目錄。
- 例子:
du -sh /path/to/directory
顯示指定目錄的總磁盤使用量。
-
ps
- 查看活動進程- 功能:顯示當前系統中的活動進程。
- 應用場景:監控和管理進程。
- 例子:
ps aux
顯示系統中所有進程的詳細列表。
-
top
- 實時顯示進程動態- 功能:實時顯示進程及系統資源的使用情況。
- 應用場景:動態監控系統和進程狀態。
- 例子:直接運行
top
會打開一個交互界面,顯示當前活動進程及資源使用情況。
-
kill
- 終止進程- 功能:發送信號到進程,通常用于終止進程。
- 應用場景:終止掛起的或無響應的進程。
- 例子:
kill -9 1234
強制終止 PID 為 1234 的進程。
-
tar
- 打包和解壓文件- 功能:將文件打包成一個大文件,可選壓縮或解壓。
- 應用場景:文件備份和壓縮。
-
crontab
- 定時任務調度- 功能:安排定時任務。
- 應用場景:自動執行周期性任務,如備份、腳本運行等。
- 例子:
crontab -e
打開定時任務編輯器,添加或修改計劃任務。
-
wget
- 網絡下載工具- 功能:從網絡上下載文件。
- 應用場景:命令行下載網頁、文件等。
- 例子:
wget http://example.com/file.zip
下載指定URL的文件。
-
curl
- 數據傳輸工具- 功能:與服務器交換數據。
- 應用場景:命令行下進行數據上傳、下載,API測試等。
- 例子:
curl http://example.com
顯示指定 URL 的內容。
-
ssh
- 安全遠程登錄- 功能:安全地遠程登錄到另一臺計算機。
- 應用場景:遠程管理服務器或設備。
- 例子:
ssh user@example.com
使用 SSH 連接到 example.com。
-
scp
- 安全復制文件- 功能:通過 SSH 安全地傳輸文件。
- 應用場景:在不同計算機間安全地復制文件。
- 例子:
scp file.txt user@example.com:/path
將本地的file.txt
復制到遠程服務器。
-
iptables
- 網絡防火墻配置- 功能:配置 Linux 內核防火墻。
- 應用場景:設置網絡訪問控制規則。
- 例子:
iptables -L
列出所有防火墻規則。
-
df
- 磁盤空間使用情況- 功能:顯示文件系統的磁盤使用情況。
- 應用場景:檢查磁盤空間。
- 例子:
df -h
以人類可讀的格式顯示磁盤使用情況。
-
du
- 磁盤占用空間- 功能:估算和顯示文件或目錄所占磁盤空間。
- 應用場景:分析磁盤空間使用。
- 例子:
du -sh /path/to/dir
顯示指定目錄的總占用空間。
-
nano
/vi
/vim
- 文本編輯器- 功能:在命令行中編輯文本文件。
- 應用場景:創建和修改配置文件或編寫代碼。
- 例子:
nano file.txt
或vi file.txt
打開文件進行編輯。
-
jobs
- 列出后臺作業- 功能:顯示當前后臺運行的作業。
- 應用場景:管理后臺進程。
- 例子:
jobs
列出所有后臺作業。
-
fg
- 將后臺作業移到前臺- 功能:將后臺作業移至前臺繼續運行。
- 應用場景:繼續在前臺操作被暫停的作業。
- 例子:
fg %1
將作業號為1的后臺作業移到前臺。
-
bg
- 將作業放到后臺運行- 功能:使作業在后臺繼續運行。
- 應用場景:將暫停的作業放到后臺繼續運行。
- 例子:
bg %1
將作業號為1的作業放到后臺。
-
alias
- 創建命令別名- 功能:為長命令或常用命令創建短的別名。
- 應用場景:簡化復雜的命令或常用命令序列。
- 例子:
alias ll='ls -l'
創建ll
作為ls -l
的別名。
-
unalias
- 移除別名- 功能:刪除之前創建的別名。
- 應用場景:刪除不再需要的命令別名。
- 例子:
unalias ll
移除ll
這個別名。
-
env
- 查看環境變量- 功能:顯示當前用戶的環境變量。
- 應用場景:查看或設置環境變量。
- 例子:
env
顯示當前所有環境變量。
-
export
- 設置或顯示環境變量- 功能:創建新的環境變量或修改現有的環境變量。
- 應用場景:配置程序運行時的環境設置。
- 例子:
export PATH=$PATH:/new/path
添加/new/path
到現有的PATH
環境變量。
-
unset
- 刪除環境變量或函數- 功能:刪除指定的環境變量或函數。
- 應用場景:清理不再需要的環境變量或函數。
- 例子:
unset PATH
刪除PATH
環境變量。
-
which
- 顯示命令的完整路徑- 功能:顯示指定命令的完整路徑。
- 應用場景:確定正在使用的命令的位置。
- 例子:
which ls
顯示ls
命令的路徑。
-
whereis
- 查找文件- 功能:定位命令、源文件和手冊頁的位置。
- 應用場景:查找程序相關文件的位置。
- 例子:
whereis python
查找 Python 的可執行文件和源碼位置。
-
man
- 顯示命令手冊- 功能:顯示命令的手冊頁(幫助文檔)。
- 應用場景:學習特定命令的用法和選項。
- 例子:
man ls
顯示ls
命令的手冊頁。
-
history
- 命令歷史- 功能:顯示用戶命令歷史。
- 應用場景:回顧或重用之前的命令。
- 例子:
history
顯示命令歷史列表。
-
chmod
- 更改文件權限- 功能:更改文件或目錄的權限。
- 應用場景:控制對文件和目錄的訪問。
- 例子:
chmod 755 filename
設置文件的讀、寫、執行權限。
-
chown
- 更改文件所有者和組- 功能:更改文件或目錄的所有者和組。
- 應用場景:管理文件和目錄的所有權。
- 例子:
chown user:group filename
更改文件的所有者和組。
-
gzip
/gunzip
- 壓縮和解壓文件- 功能:使用 Gzip 壓縮或解壓文件。
- 應用場景:減小文件大小以節省空間或便于傳輸。
- 例子:
gzip file
壓縮文件,gunzip file.gz
解壓文件。
-
zip
/unzip
- 壓縮和解壓 ZIP 文件- 功能:創建和解壓 ZIP 格式的壓縮文件。
- 應用場景:文件打包和壓縮。
- 例子:
zip archive.zip file1 file2
壓縮文件,unzip archive.zip
解壓文件。
-
watch
- 定期執行命令- 功能:定期執行命令并顯示其輸出。
- 應用場景:監視命令的輸出,如系統資源、進程狀態等。
- 例子:
watch df -h
每隔2秒更新并顯示磁盤空間使用情況。
-
df
- 顯示磁盤使用情況- 功能:顯示系統中文件系統的磁盤使用情況。
- 應用場景:監控磁盤空間使用。
- 例子:
df -h
以人類可讀的格式顯示磁盤空間使用情況。
-
free
- 查看內存使用情況- 功能:顯示系統的空閑和已用內存及交換空間。
- 應用場景:監控內存使用情況。
- 例子:
free -m
以 MB 為單位顯示內存使用情況。
-
ping
- 檢查網絡連接- 功能:發送 ICMP ECHO_REQUEST 以測試目標主機的可達性。
- 應用場景:診斷網絡連接問題。
- 例子:
ping google.com
測試與 google.com 的網絡連接。
-
netstat
- 網絡統計信息- 功能:顯示網絡連接、路由表、接口統計等網絡信息。
- 應用場景:網絡問題診斷和分析。
- 例子:
netstat -a
顯示所有網絡連接。
-
traceroute
- 跟蹤網絡路徑- 功能:顯示數據包到達主機所經過的路由。
- 應用場景:網絡路徑分析。
- 例子:
traceroute google.com
跟蹤到 google.com 的路徑。
-
dig
- 查詢 DNS 信息- 功能:查詢 DNS 名稱服務器信息。
- 應用場景:DNS 故障診斷和信息查詢。
- 例子:
dig example.com
查詢 example.com 的 DNS 信息。
-
nslookup
- 查詢 DNS 信息- 功能:查詢域名的 DNS 信息。
- 應用場景:DNS 問題調試。
- 例子:
nslookup google.com
查詢 google.com 的 DNS 信息。
-
ifconfig
- 配置或顯示網絡接口參數- 功能:配置或顯示網絡接口的網絡參數。
- 應用場景:網絡配置和故障排查。
- 例子:
ifconfig eth0
顯示或配置名為 eth0 的網絡接口。
-
iwconfig
- 配置無線網絡接口- 功能:用于配置無線網絡接口的參數。
- 應用場景:無線網絡接口配置。
- 例子:
iwconfig wlan0
查看或配置名為 wlan0 的無線網絡接口。
-
hostname
- 顯示或設置系統的主機名- 功能:顯示或設置系統的主機名。
- 應用場景:管理系統主機名。
- 例子:
hostname
顯示當前系統主機名。
-
useradd
/userdel
- 添加或刪除用戶- 功能:添加或刪除系統用戶。
- 應用場景:用戶賬戶管理。
- 例子:
useradd newuser
添加新用戶,userdel olduser
刪除用戶。
-
groupadd
/groupdel
- 添加或刪除組- 功能:添加或刪除用戶組。
- 應用場景:用戶組管理。
- 例子:
groupadd newgroup
添加新組,groupdel oldgroup
刪除組。
-
passwd
- 更新用戶密碼- 功能:更新用戶的密碼。
- 應用場景:修改用戶賬戶密碼。
- 例子:
passwd username
修改指定用戶的密碼。
-
chgrp
- 更改文件或目錄的群組- 功能:更改文件或目錄的群組歸屬。
- 應用場景:管理文件或目錄的群組權限。
- 例子:
chgrp groupname file
更改文件的群組。
-
chmod
- 更改文件或目錄的權限- 功能:更改文件或目錄的訪問權限。
- 應用場景:管理文件或目錄的訪問權限。
- 例子:
chmod 755 file
設置文件的權限。
-
su
- 切換用戶身份- 功能:切換當前用戶身份到另一個用戶。
- 應用場景:臨時以其他用戶身份執行命令。
- 例子:
su - username
切換到指定用戶。
-
sudo
- 以超級用戶身份執行命令- 功能:以超級用戶或指定用戶身份執行命令。
- 應用場景:執行需要管理員權限的命令。
- 例子:
sudo apt update
以超級用戶身份更新軟件包列表。
-
apt-get
/yum
/dnf
- 包管理器- 功能:軟件包安裝和管理(基于發行版)。
- 應用場景:安裝、更新和移除軟件包。
- 例子:
apt-get install nginx
安裝 Nginx(在基于Debian的系統上)。
-
mount
/umount
- 掛載或卸載文件系統- 功能:掛載或卸載文件系統。
- 應用場景:管理設備或存儲的掛載點。
- 例子:
mount /dev/sdb1 /mnt
掛載設備,umount /mnt
卸載。
-
fdisk
- 磁盤分區工具- 功能:查看和修改磁盤分區表。
- 應用場景:磁盤分區管理。
- 例子:
fdisk /dev/sda
修改/dev/sda
磁盤的分區表。
-
mkfs
- 創建文件系統- 功能:在分區上創建新的文件系統。
- 應用場景:格式化分區,準備存儲使用。
- 例子:
mkfs.ext4 /dev/sdb1
在/dev/sdb1
創建一個新的 ext4 文件系統。
-
fsck
- 檢查和修復文件系統- 功能:檢查和修復文件系統的一致性和完整性。
- 應用場景:修復損壞或不一致的文件系統。
- 例子:
fsck /dev/sda1
檢查并修復/dev/sda1
分區。
-
dd
- 轉換和復制文件- 功能:復制文件并在復制過程中進行指定的轉換。
- 應用場景:備份整個磁盤或分區,創建啟動盤等。
- 例子:
dd if=/dev/sda of=/dev/sdb
將 sda 磁盤的內容復制到 sdb 磁盤。
-
find
- 查找文件和目錄- 功能:在目錄樹中查找文件和目錄。
- 應用場景:搜索文件和目錄,執行搜索到的文件上的操作。
- 例子:
find / -name "*.conf"
在根目錄下查找所有以.conf
結尾的文件。
-
locate
- 快速查找文件- 功能:基于數據庫快速查找文件的位置。
- 應用場景:快速定位文件。
- 例子:
locate nginx.conf
快速查找名為nginx.conf
的文件。
-
tar
- 打包和壓縮/解壓縮文件- 功能:創建文件檔案,并可選地對其進行壓縮或解壓縮。
- 應用場景:文件打包和壓縮。
- 例子:
tar -czvf archive.tar.gz /path/to/dir