5. 文件管理命令
chgrp(change group)
- 功能說明:變更文件或目錄的所屬群組。
- 語 法:chgrp [-cfhRv][–help][–version][所屬群組][文件或目錄…] 或 chgrp [-cfhRv][–help][–version][–reference=<參考文件或目錄>][文件或目錄…]
- 補充說明:在 UNIX 系統家族里,文件或目錄權限的掌控以擁有者及所屬群組來管理。您可以使用 chgrp 指令去變更文件與目錄的所屬群組,設置方式采用群組名稱或群組識別碼皆可。
- 參 數:
- -c 或 --changes 效果類似 “-v” 參數,但僅回報更改的部分。
- -f 或 --quiet 或 --silent 不顯示錯誤信息。
- -h 或 --no-dereference 只對符號連接的文件作修改,而不更動其他任何相關文件。
- -R 或 --recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
- -v 或 --verbose 顯示指令執行過程。
- –help 在線幫助。
- –reference=<參考文件或目錄> 把指定文件或目錄的所屬群組全部設成和參考文件或目錄的所屬群組相同。
- –version 顯示版本信息。
chmod(change mode)
- 功能說明:變更文件或目錄的權限。
- 語 法:chmod [-cfRv][–help][–version][<權限范圍>+/-/=<權限設置…>][文件或目錄…] 或 chmod [-cfRv][–help][–version][數字代號][文件或目錄…] 或 chmod [-cfRv][–help][–reference=<參考文件或目錄>][–version][文件或目錄…]
- 補充說明:在 UNIX 系統家族里,文件或目錄權限的控制分別以讀取,寫入,執行 3 種一般權限來區分,另有 3 種特殊權限可供運用,再搭配擁有者與所屬群組管理權限范圍。您可以使用 chmod 指令去變更文件與目錄的權限,設置方式采用文字或數字代號皆可。符號連接的權限無法變更,如果您對符號連接修改權限,其改變會作用在被連接的原始文件。權限范圍的表示法如下:
- u:User,即文件或目錄的擁有者。
- g:Group,即文件或目錄的所屬群組。
- o:Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個范圍。
- a:All,即全部的用戶,包含擁有者,所屬群組以及其他用戶。
- 有關權限代號的部分,列表于下:
- r:讀取權限,數字代號為 “4”。
- w:寫入權限,數字代號為 “2”。
- x:執行或切換權限,數字代號為 “1”。
- -:不具任何權限,數字代號為 “0”。
- s:特殊功能說明:變更文件或目錄的權限。
- 參 數:
- -c 或 --changes 效果類似 “-v” 參數,但僅回報更改的部分。
- -f 或 --quiet 或 --silent 不顯示錯誤信息。
- -R 或 --recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
- -v 或 --verbose 顯示指令執行過程。
- –help 在線幫助。
- –reference=<參考文件或目錄> 把指定文件或目錄的權限全部設成和參考文件或目錄的權限相同
- –version 顯示版本信息。
- <權限范圍>+<權限設置> 開啟權限范圍的文件或目錄的該項權限設置。
- <權限范圍>-<權限設置> 關閉權限范圍的文件或目錄的該項權限設置。
- <權限范圍>=<權限設置> 指定權限范圍的文件或目錄的該項權限設置。
chown(change owner)
- 功能說明:變更文件或目錄的擁有者或所屬群組。
- 語 法:chown [-cfhRv][–dereference][–help][–version][擁有者.<所屬群組>][文件或目錄…] 或 chown [-chfRv][–dereference][–help][–version][.所屬群組][文件或目錄…] 或 chown [-cfhRv][–dereference][–help][–reference=<參考文件或目錄>][–version][文件或目錄…]
- 補充說明:在 UNIX 系統家族里,文件或目錄權限的掌控以擁有者及所屬群組來管理。您可以使用 chown 指令去變更文件與目錄的擁有者或所屬群組,設置方式采用用戶名稱或用戶識別碼皆可,設置群組則用群組名稱或群組識別碼。
- 參 數:
- -c 或 --changes 效果類似 “-v” 參數,但僅回報更改的部分。
- -f 或 --quite 或 --silent 不顯示錯誤信息。
- -h 或 --no-dereference 之對符號連接的文件作修改,而不更動其他任何相關文件。
- -R 或 --recursive 遞歸處理,將指定目錄下的所有文件及子目錄一并處理。
- -v 或 --version 顯示指令執行過程。
- –dereference 效果和 “-h” 參數相同。
- –help 在線幫助。
- –reference=<參考文件或目錄> 把指定文件或目錄的擁有者與所屬群組全部設成和參考文件或目 錄的擁有者與所屬群組相同。
- –version 顯示版本信息。
cksum(check sum)
- 功能說明:檢查文件的 CRC 是否正確。
- 語 法:cksum [–help][–version][文件…]
- 補充說明:CRC 是一種排錯檢查方式,該演算法的標準由 CCITT 所指定,至少可檢測到 99.998%的已知錯誤。指定文件交由 cksum 演算,它會回報計算結果,供用戶核對文件是否正確無誤。若不指定任何文件名稱或是所給予的文件名為 “-”,則 cksum 指令會從標準輸入設備讀取數據。
- 參 數:
- –help 在線幫助。
- –version 顯示版本信息。
cmp(compare)
- 功能說明:比較兩個文件是否有差異。
- 語 法:cmp [-clsv][-i <字符數目>][–help][第一個文件][第二個文件]
- 補充說明:當相互比較的兩個文件完全一樣時,則該指令不會顯示任何信息。若發現有所差異,預設會標示出第一個不同之處的字符和列數編號。若不指定任何文件名稱或是所給予的文件名為 “-”,則 cmp 指令會從標準輸入設備讀取數據。
- 參 數:
- -c 或 --print-chars 除了標明差異處的十進制字碼之外,一并顯示該字符所對應字符。
- -i<字符數目> 或 --ignore-initial=<字符數目> 指定一個數目。
- -l 或 --verbose 標示出所有不一樣的地方。
- -s 或 --quiet 或 --silent 不顯示錯誤信息。
- -v 或 --version 顯示版本信息。
- –help 在線幫助。
6. 文件操作命令
cp(copy)
- 功能說明:復制文件或目錄。
- 語 法:cp [-abdfilpPrRsuvx][-S <備份字尾字符串>][-V <備份方式>][–help][–spares=<使用時機>][–version][源文件或目錄][目標文件或目錄] [目的目錄]
- 補充說明:cp 指令用在復制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經存在的目錄,則它會把前面指定的所有文件或目錄復制到該目錄中。若同時指定多個文件或目錄,而最后的目的地并非是一個已存在的目錄,則會出現錯誤信息。
- 參 數:
- -a 或 --archive 此參數的效果和同時指定 “-dpR” 參數相同。
- -b 或 --backup 刪除,覆蓋目標文件之前的備份,備份文件會在字尾加上一個備份字符串。
- -d 或 --no-dereference 當復制符號連接時,把目標文件或目錄也建立為符號連接,并指向與源文件或目錄連接的原始文件或目錄。
- -f 或 --force 強行復制文件或目錄,不論目標文件或目錄是否已存在。
- -i 或 --interactive 覆蓋既有文件之前先詢問用戶。
- -l 或 --link 對源文件建立硬連接,而非復制文件。
- -p 或 --preserve 保留源文件或目錄的屬性。
- -P 或 --parents 保留源文件或目錄的路徑。
- -r 遞歸處理,將指定目錄下的文件與子目錄一并處理。
- -R 或 --recursive 遞歸處理,將指定目錄下的所有文件與子目錄一并處理。
- -s 或 --symbolic-link 對源文件建立符號連接,而非復制文件。
- -S<備份字尾字符串> 或 --suffix=<備份字尾字符串> 用 “-b” 參數備份目標文件后,備份文件的字尾會被加上一個備份字符串,預設的備份字尾字符串是符號 “~”。
- -u 或 --update 使用這項參數后只會在源文件的更改時間較目標文件更新時或是 名稱相互對應的目標文件并不存在,才復制文件。
- -v 或 --verbose 顯示指令執行過程。
- -V<備份方式> 或 --version-control=<備份方式> 用 “-b” 參數備份目標文件后,備份文件的字尾會被加上一個備份字符串,這字符串不僅可用 “-S” 參數變更,當使用 “-V” 參數指定不同備份方式時,也會產生不同字尾的備份字串。
- -x 或 --one-file-system 復制的文件或目錄存放的文件系統,必須與 cp 指令執行時所處的文件系統相同,否則不予復制。
- –help 在線幫助。
- –sparse=<使用時機> 設置保存稀疏文件的時機。
- –version 顯示版本信息。
cut
- 使用權限:所有使用者
- 用法:cut -cnum1-num2 filename
- 說明:顯示每行從開頭算起 num1 到 num2 的文字。
- 范例:
shell>> cat example
test2
this is test1
shell>> cut -c0-6 example ## print 開頭算起前 6 個字元
test2
this i
indent
- 功能說明:調整 C 原始代碼文件的格式。
- 語 法:indent [參數][源文件] 或 indent [參數][源文件][-o 目標文件]
- 補充說明:indent 可辨識 C 的原始代碼文件,并加以格式化,以方便程序設計師閱讀。
- 參 數:
- -bad 或 --blank-lines-after-declarations 在聲明區段或加上空白行。
- -bap 或 --blank-lines-after-procedures 在程序或加上空白行。
- -bbb 或 --blank-lines-after-block-comments 在注釋區段后加上空白行。
- -bc 或 --blank-lines-after-commas 在聲明區段中,若出現逗號即換行。
- -bl 或 --braces-after-if-line if(或是 else,for 等等)與后面執行區段的 “{” 不同行,且 “}” 自成一行。
- -bli<縮排格數> 或 --brace-indent<縮排格數> 設置 { } 縮排的格數。
- -br 或 --braces-on-if-line if(或是 else,for 等等)與后面執行跛段的 “{” 不同行,且 “}” 自成一行。
- -bs 或 --blank-before-sizeof 在 sizeof 之后空一格。
- -c<欄數> 或 --comment-indentation<欄數> 將注釋置于程序碼右側指定的欄位。
- -cd<欄數> 或 --declaration-comment-column<欄數> 將注釋置于聲明右側指定的欄位。
- -cdb 或 --comment-delimiters-on-blank-lines 注釋符號自成一行。
- -ce 或 --cuddle-else 將 else 置于 “}”(if 執行區段的結尾)之后。
- -ci<縮排格數> 或 --continuation-indentation<縮排格數> 敘述過長而換行時,指定換行后縮排的格數。
- -cli<縮排格數> 或 --case-indentation-<縮排格數> 使用 case 時,switch 縮排的格數。
- -cp<欄數> 或 -else-endif-column<欄數> 將注釋置于 else 與 elseif 敘述右側定的欄位。
- -cs 或 --space-after-cast 在 cast 之后空一格。
- -d<縮排格數> 或 -line-comments-indentation<縮排格數> 針對不是放在程序碼右側的注釋,設置其縮排格數。
- -di<欄數> 或 --declaration-indentation<欄數> 將聲明區段的變量置于指定的欄位。
- -fc1 或 --format-first-column-comments 針對放在每行最前端的注釋,設置其格式。
- -fca 或 --format-all-comments 設置所有注釋的格式。
- -gnu 或 --gnu-style 指定使用 GNU 的格式,此為預設值。
- -i<格數> 或 --indent-level<格數> 設置縮排的格數。
- -ip<格數> 或 --parameter-indentation<格數> 設置參數的縮排格數。
- -kr 或 --k-and-r-style 指定使用 Kernighan&Ritchie 的格式。
- -lp 或 --continue-at-parentheses 敘述過長而換行,且敘述中包含了括弧時,將括弧中的每行起始欄位內容垂直對其排列。
- -nbad 或 --no-blank-lines-after-declarations 在聲明區段后不要加上空白行。
- -nbap 或 --no-blank-lines-after-procedures 在程序后不要加上空白行。
- -nbbb 或 --no-blank-lines-after-block-comments 在注釋區段后不要加上空白行。
- -nbc 或 --no-blank-lines-after-commas 在聲明區段中,即使出現逗號,仍舊不要換行。
- -ncdb 或 --no-comment-delimiters-on-blank-lines 注釋符號不要自成一行。
- -nce 或 --dont-cuddle-else 不要將 else 置于 “}” 之后。
- -ncs 或 --no-space-after-casts 不要在 cast 之后空一格。
- -nfc1 或 --dont-format-first-column-comments 不要格式化放在每行最前端的注釋。
- -nfca 或 --dont-format-comments 不要格式化任何的注釋。
- -nip 或 --no-parameter-indentation 參數不要縮排。
- -nlp 或 --dont-line-up-parentheses 敘述過長而換行,且敘述中包含了括弧時,不用將括弧中的每行起始欄位垂直對其排列。
- -npcS 或 --no-space-after-function-call-names 在調用的函數名稱之后,不要加上空格。
- -npro 或 --ignore-profile 不要讀取 indent 的配置文件.indent.pro。
- -npsl 或 --dont-break-procedure-type 程序類型與程序名稱放在同一行。
- -nsc 或 --dont-star-comments 注解左側不要加上星號(*)。
- -nsob 或 --leave-optional-semicolon 不用處理多余的空白行。
- -nss 或 --dont-space-special-semicolon 若 for 或 while 區段僅有一行時,在分號前不加上空格。
- -nv 或 --no-verbosity 不顯示詳細的信息。
- -orig 或 --original 使用 Berkeley 的格式。
- -pcs 或 --space-after-procedure-calls 在調用的函數名稱與 “{” 之間加上空格。
- -psl 或 --procnames-start-lines 程序類型置于程序名稱的前一行。
- -sc 或 --start-left-side-of-comments 在每行注釋左側加上星號(*)。
- -sob 或 --swallow-optional-blank-lines 刪除多余的空白行。
- -ss 或 --space-special-semicolon