天天看點

Linux shell指令積累,持續更新ing......【tar指令】【split指令】分割大檔案【scp指令】【chown指令】【chgrp指令】【tee指令】【> 重定向指令】【du指令】

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 ./ :顯示目前目錄總計大小

繼續閱讀