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