一、基礎知識
Shell是什麼?
Shell是一種命令行解釋器,它能夠作為用戶與Linux內核之間的介面,為用戶提供了一種操作系統內核的方式。
常見的Shell有哪些?
常見的Shell有Bash、Ksh、Tsh等,在Linux系統中,Bash被廣泛使用,它是GNU計劃的一部分,並且是大多數Linux系統的默認Shell。
Shell腳本是什麼?
Shell腳本是用Shell語言編寫的一組命令,它可以很方便地調用Linux系統提供的各種工具和命令。
二、常用命令
1、ls命令
ls [-aAdfFhilnrRSt] directory...
ls命令用於顯示當前工作目錄下的文件和子目錄,包含隱藏文件和分別對待文件和目錄。常用參數:
- -a:顯示所有文件,包括隱藏文件。
- -l:顯示詳細信息。
- -h:配合-l使用,以易讀的方式顯示文件大小。
2、cd命令
cd [目錄名稱]
cd命令用於切換當前所在目錄。常用操作:
- cd:切換到用戶主目錄。
- cd ..:切換到上一級目錄。
- cd /:切換到根目錄。
3、mkdir命令
mkdir [目錄名稱]
mkdir命令用於創建新的目錄。常用選項:
- -p:遞歸創建目錄。
4、rm命令
rm [-fir] [文件或目錄]
rm命令用於刪除文件或目錄。常用選項:
- -f:強制刪除,不進行確認。
- -i:互動式刪除,需要確認。
- -r:遞歸刪除目錄及其內容。
5、cp命令
cp [-adfilprsu] [源文件路徑] [目標文件路徑]
cp命令用於複製文件或目錄。常用選項:
- -r:遞歸複製目錄及其內容。
- -p:複製文件的屬性。
- -f:強制覆蓋。
三、常用技巧
1、通配符
通配符是用來匹配文件名的特殊字元,常見的通配符有 *、?、[],通過使用通配符,可以進行批量操作。
# 顯示所有以 .txt 結尾的文件 ls *.txt # 顯示所有以 t 開始的 3 個字元的文件 ls t?? # 顯示所有以 a、b、c 開頭的文件 ls [abc]*
2、管道
管道符(|)將一個命令的輸出作為另一個命令的輸入,可以用來進行數據的過濾和轉換。
# 顯示所有以 .txt 結尾的文件,並按文件大小排序 ls -l *.txt | sort -k 5 # 統計文件中包含 foo 關鍵字的行數 cat file.txt | grep 'foo' | wc -l
3、命令替換
命令替換($())可以將命令的輸出結果作為變數傳遞給其他命令。
# 顯示當前系統的登錄用戶數量 echo "當前系統用戶數量為 $(who | wc -l)"
四、綜合應用
將前綴為 a 的所有文件複製到新建的目錄中,並將文件名修改為以 z 結尾:
# 創建新目錄 mkdir new_dir # 複製文件並重命名 cp -r a* new_dir/ && cd new_dir && rename 's/$/.z/' a*
統計當前目錄中所有文件的總大小:
# 輸出文件大小並求和 ls -l | awk '{print $5}' | grep '^[[:digit:]]' | awk '{s+=$1} END {print s}'
將 csv 文件中第 2,3 列合併為新的一列,並將價格乘以2:
# 使用awk命令進行列合併和計算 awk -F, '{print $1 "," $2+$3*2 "," $4}' file.csv
五、總結
Shell命令是Linux系統中不可或缺的一部分,通過掌握基礎知識和常用命令,可以大大提高工作效率和代碼質量,同時,熟練應用常用技巧和命令組合,可以進行複雜的數據處理和自動化操作。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/297503.html