標籤:style blog http color 使用 strong
最近寫了一個shell指令碼,用到了cp、time、cut、awk命令,把他們的使用方法給寫下來:
1.cp和mv
cp命令:用來完成檔案的複製,從源檔案夾複製到目標檔案夾。執行後源檔案夾和目標檔案夾均有源檔案。
mv 命令:用來移動檔案。執行後,源檔案夾中沒有源檔案。我經常用mv命令來重新命名檔案
注意:cp命令源檔案夾與目標檔案夾不能使同一個;而在mv中可以是同一個。
命令解析:
#cp [-R] 源檔案 目標檔案夾
cp -R 參數 ---當複製整個檔案夾時使用。
#mv 源檔案 目標檔案夾
命令執行個體:
1.1複製單個檔案。
#cp /etc/init.d/rcS /tmp --- 將init.d目錄的rcS檔案複製到tmp目錄下,rcS為一個檔案名稱1.2
1.2複製檔案夾。
#cp -R /etc/init.d/ /tmp --- 將init.d目錄下所有檔案複製到tmp目錄中,init.d為一個檔案夾名
1.3複製多個檔案。
#cp /tmp/a*.txt /tmp/tmp ---
1.4檔案重新命名
#mv /tmp/test1 /tmp/test2 --- 講tmp檔案夾下test1 重新命名為 test2.
1.5移動檔案
#mv /tmp/test1 /home/kuaixiaoqian/test2 --- 將/tmp檔案夾下test1 檔案 移動到 /kuaixiaoqian檔案夾下,並重新命名為test2
2.time 命令
功能:用來計算某條命令執行時間。
格式:time shell下命令
返回形式:在shell下命令的執行結果後,增加如下語句:
2.1 使用樣本:
(1) 簡單使用
#time echo "hello"
返回結果:
(2)將time 值儲存到 檔案中
#(time echo "hello") 2>time.txt ---注意:2>time.txt 中 2 與 > 之間不能有空格
執行結果:
3. cut 與 awk 命令
cut 功能:剪下每一行資料,可以指定分隔字元(單字元分隔字元),和要擷取的域。詳情點擊這裡
awk功能:以空格(可以是連續多空格)為分隔字元,分隔每一行資料,擷取指定的值。命令詳解點這裡
3.1 使用樣本:
(1) cut獲得檔案大小
#ls -l time.txt | cut -d‘ ‘ -f5 ---注意:僅在ls -l 為單空格分隔時好使,cut把連續多空格認為是多個分隔字元
執行結果:
(2)awk 擷取檔案大小
#ls -l time.txt | awk ‘{print $5}‘ ---awk 預設以空格為分隔字元,連續多空格認為是一個分隔字元
執行結果:
ps:我在嵌入式ARM板上運行一指令碼,用cut命令無法正確獲得檔案大小,仔細一看才發現是由於連續多空格分隔 ls -l 結果的原因