Linux shell指令積累 目錄
- 【tar指令】
-
- --strip-components N:去除N級目錄結構
- -C dir:解壓到指定目錄dir
- --exclude="dir":排除某個目錄
- 【split指令】分割大檔案
-
- -a:字尾長度
- -d:字尾使用數字,而不是字母
- -b:分割後單個檔案大小
- -l:分割後單個檔案行數
- 【scp指令】
-
- -r:拷貝目錄
- 【chown指令】
-
- -R:遞歸修改整個目錄下的子目錄和所有檔案
- 【chgrp指令】
-
- -R:遞歸修改整個目錄下的子目錄和所有檔案
- 【tee指令】
-
- -a:追加輸入資訊到檔案末尾
- 【> 重定向指令】
- 【du指令】
-
- -h:以K,M,G為機關
- --max-depth=:超過設定層之外的目錄不顯示
- -s:目前目錄總計
#########################分割線#########################
【tar指令】
–strip-components N:去除N級目錄結構
例如:如果 xxx.tar.bz2 的目錄結構為 dir1/dir2/dir3/test.txt
使用 tar -xjvf xxx.tar.bz2 --strip-components 1
結果 dir2/dir3/test.txt
使用 tar -xjvf xxx.tar.bz2 --strip-components 3
結果 test.txt
-C dir:解壓到指定目錄dir
例如:如果 xxx.tar.gz 在目錄 dir1/dir2/ 下
使用 tar -xvzf xxx.tar.gz -C …/
結果 xxx.tar.gz将被解壓到 dir1/ 目錄下
–exclude=“dir”:排除某個目錄
例如:tar -cvzf Android.tar.gz ./Android --exclude=".git"
結果是 Android.tar.gz 将不包含 ".git"目錄
【split指令】分割大檔案
-a:字尾長度
-d:字尾使用數字,而不是字母
-b:分割後單個檔案大小
-l:分割後單個檔案行數
例如1:split -a 2 -d -b 1G system.img system_img_
将system.img分割,每個檔案1G大小,字尾是2位數字,system_img_xx
例如2:tar -cvzf - ./Android/ --exclude=".git" | split -a 2 -d -b 2G - Android.tar.gz_
壓縮打包Android源碼目錄,排除.git目錄,同時分割打包之後的檔案,每個檔案2G,字尾是2位數字,Android.tar.gz_xx
【scp指令】
-r:拷貝目錄
例如:scp -r ./123/ [email protected]:~
拷貝目前位置下的目錄123,到192.168.1.100位址伺服器temp使用者目錄下
【chown指令】
-R:遞歸修改整個目錄下的子目錄和所有檔案
例如1:chown -R system:system ./123
設定目前位置下的目錄123及内部檔案,使用者為system,所屬組為system
例如2:chown -R system ./123
設定目前位置下的目錄123及内部檔案,使用者為system
【chgrp指令】
-R:遞歸修改整個目錄下的子目錄和所有檔案
例如:chgrp -R system ./123
設定目前位置下的目錄123及内部檔案,所屬組為system
【tee指令】
-a:追加輸入資訊到檔案末尾
make -j12 | tee android.log :覆寫此檔案(不影響螢幕輸出)
make -j12 | tee -a android.log :追加到此檔案末尾(不影響螢幕輸出)
【> 重定向指令】
make -j12 > android.log 或者 make -j12 1> android.log :
将stdout正常資訊重定向到檔案,stderr錯誤資訊依然在螢幕上;
make -j12 2> android.log :
将stderr錯誤資訊重定向到檔案,stdout正常資訊依然在螢幕上;
make -j12 > android.log 2>&1 :
将stdout正常資訊和stderr錯誤資訊都重定向到檔案;
make -j12 1> android_ok.log 2> android_error.log :
将stdout正常資訊和stderr錯誤資訊分别定位到不同檔案。
【du指令】
-h:以K,M,G為機關
–max-depth=:超過設定層之外的目錄不顯示
du -h --max-depth=1 :顯示目前目錄下,子目錄一層的大小
-s:目前目錄總計
du -sh ./ :顯示目前目錄總計大小