shell命令的总结一之文件管理

cat

使用权限:所有使用者
使用方式:cat [-AbeEnstTuv] [--help] [--version] fileName
说明:把档案串连接后传到基本输出(萤幕或加 > fileName 到另一个档案)
参数:
-n 或 --number 由 1 开始对所有输出的行数编号
-b 或 --number-nonblank 和 -n 相似,只不过对于空白行不编号
-s 或 --squeeze-blank 当遇到有连续两行以上的空白行,就代换为一行的空白行
-v 或 --show-nonprinting
范例:
cat -n textfile1 > textfile2 把 textfile1 的档案内容加上行号后输入 textfile2 这个档案里
cat -b textfile1 textfile2 >> textfile3 把 textfile1 和 textfile2 的档案内容加上行号(空白行不加)之后将内容附加到 textfile3 里。

chattrchattr

功能说明:改变文件属性。

语  法:chattr [-RV][-v<版本编号>][+/-/=<属性>][文件或目录...]

补充说明:这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式: 
 a:让文件或目录仅供附加用途。 
 b:不更新文件或目录的最后存取时间。 
 c:将文件或目录压缩后存放。 
 d:将文件或目录排除在倾倒操作之外。 
 i:不得任意更动文件或目录。 
 s:保密性删除文件或目录。 
 S:即时更新文件或目录。 
 u:预防以外删除。 
 
参  数:
 -R  递归处理,将指定目录下的所有文件及子目录一并处理。 
 -v<版本编号>  设置文件或目录版本。 
 -V  显示指令执行过程。 
 +<属性>  开启文件或目录的该项属性。 
 -<属性>  关闭文件或目录的该项属性。 
 =<属性>  指定文件或目录的该项属性。

chgrp


功能说明:变更文件或目录的所属群组。

语  法:chgrp [-cfhRv][--help][--version][所属群组][文件或目录...] 或 chgrp [-cfhRv][--help][--reference=<参考文件或目录>][--version][文件或目录...] 

补充说明:在UNIX系统家族里,文件或目录权限的掌控以拥有者及所属群组来管理。您可以使用chgrp指令去变更文件与目录的所属群组,设置方式采用群组名称或群组识别码皆可。 

参  数:
 -c或--changes  效果类似"-v"参数,但仅回报更改的部分。 
 -f或--quiet或--silent  不显示错误信息。 
 -h或--no-dereference  只对符号连接的文件作修改,而不更动其他任何相关文件。 
 -R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。 
 -v或--verbose  显示指令执行过程。 
 --help  在线帮助。 

 --reference=<参考文件或目录>  把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同。 

 。

chmod

功能说明:变更文件或目录的权限。

语  法: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:特殊?b>功能说明:变更文件或目录的权限。
 
参  数:
 -c或--changes  效果类似"-v"参数,但仅回报更改的部分。 
 -f或--quiet或--silent  不显示错误信息。 
 -R或--recursive  递归处理,将指定目录下的所有文件及子目录一并处理。 
 -v或--verbose  显示指令执行过程。 
 --help  在线帮助。 
 --reference=<参考文件或目录>  把指定文件或目录的权限全部设成和参考文件或目录的权限相同 
 --version  显示版本信息。 
 <权限范围>+<权限设置>  开启权限范围的文件或目录的该项权限设置。 
 <权限范围>-<权限设置>  关闭权限范围的文件或目录的该项权限设置。 
 <权限范围>=<权限设置>  指定权限范围的文件或目录的该项权限设置。

chown


功能说明:变更文件或目录的拥有者或所属群组。

语  法: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=<参考文件或目录>  把指定文件或目录的拥有者与所属群组全部设成和参考文件或目 录的拥有者与所属群组相同。 


cksum

功能说明:检查文件的CRC是否正确。 

语  法:cksum [--help][--version][文件...]  

补充说明:CRC是一种排错检查方式,该演算法的标准由CCITT所指定,至少可检测到99.998%的已知错误。指定文件交由cksum演算,它会回报计算结果,供用户核对文件是否正确无误。若不指定任何文件名称或是所给予的文件名为"-",则cksum指令会从标准输入设备读取数据。


cmp

功能说明:比较两个文件是否有差异。

语  法:cmp [-clsv][-i <字符数目>][--help][第一个文件][第二个文件]

补充说明:当相互比较的两个文件完全一样时,则该指令不会显示任何信息。若发现有所差异,预设会标示出第一个不同之处的字符和列数编号。若不指定任何文件名称或是所给予的文件名为"-",则cmp指令会从标准输入设备读取数据。

参  数:
 -c或--print-chars  除了标明差异处的十进制字码之外,一并显示该字符所对应字符。 
 -i<字符数目>或--ignore-initial=<字符数目>  指定一个数目。 
 -l或--verbose  标示出所有不一样的地方。 
 -s或--quiet或--silent  不显示错误信息。 


cp

功能说明:复制文件或目录。 

语  法: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指令执行时所处的文件系统相同,否则不予复制。 



cut

使用权限:所有使用者

用法:cut -cnum1-num2 filename

说明:显示每行从开头算起 num1 到 num2 的文字。

范例:

        shell>> cat example
        test2
        this is test1
        shell>> cut -c0-6 example       ## print 开头算起前 6 个字元
        test2
        this i 


diff

功能说明:比较文件的差异。 

语  法:diff [-abBcdefHilnNpPqrstTuvwy][-<行数>][-C <行数>][-D <巨集名称>][-I <字符或字符串>][-S <文件>][-W <宽度>][-x <文件或目录>][-X <文件>][--help][--left-column][--suppress-common-line][文件或目录1][文件或目录2] 

补充说明:diff以逐行的方式,比较文本文件的异同处。所是指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

参  数:
 -<行数>  指定要显示多少行的文本。此参数必须与-c或-u参数一并使用。 
 -a或--text  diff预设只会逐行比较文本文件。
 -b或--ignore-space-change  不检查空格字符的不同。 
 -B或--ignore-blank-lines  不检查空白行。 
 -c  显示全部内文,并标出不同之处。 
 -C<行数>或--context<行数>  与执行"-c-<行数>"指令相同。 
 -d或--minimal  使用不同的演算法,以较小的单位来做比较。 
 -D<巨集名称>或ifdef<巨集名称>  此参数的输出格式可用于前置处理器巨集。 
 -e或--ed  此参数的输出格式可用于ed的script文件。 
 -f或-forward-ed  输出的格式类似ed的script文件,但按照原来文件的顺序来显示不同处。 
 -H或--speed-large-files  比较大文件时,可加快速度。 
 -l<字符或字符串>或--ignore-matching-lines<字符或字符串>  若两个文件在某几行有所不同,而这几行同时都包含了选项中指定的字符或字符串,则不显示这两个文件的差异。 
 -i或--ignore-case  不检查大小写的不同。 
 -l或--paginate  将结果交由pr程序来分页。 
 -n或--rcs  将比较结果以RCS的格式来显示。 
 -N或--new-file  在比较目录时,若文件A仅出现在某个目录中,预设会显示:
Only in目录:文件A若使用-N参数,则diff会将文件A与一个空白的文件比较。  
 -p  若比较的文件为C语言的程序码文件时,显示差异所在的函数名称。 
 -P或--unidirectional-new-file  与-N类似,但只有当第二个目录包含了一个第一个目录所没有的文件时,才会将这个文件与空白的文件做比较。 
 -q或--brief  仅显示有无差异,不显示详细的信息。 
 -r或--recursive  比较子目录中的文件。 
 -s或--report-identical-files  若没有发现任何差异,仍然显示信息。 
 -S<文件>或--starting-file<文件>  在比较目录时,从指定的文件开始比较。 
 -t或--expand-tabs  在输出时,将tab字符展开。 
 -T或--initial-tab  在每行前面加上tab字符以便对齐。 
 -u,-U<列数>或--unified=<列数>  以合并的方式来显示文件内容的不同。 
 -v或--version  显示版本信息。 
 -w或--ignore-all-space  忽略全部的空格字符。 
 -W<宽度>或--width<宽度>  在使用-y参数时,指定栏宽。 
 -x<文件名或目录>或--exclude<文件名或目录>  不比较选项中所指定的文件或目录。 
 -X<文件>或--exclude-from<文件>  您可以将文件或目录类型存成文本文件,然后在=<文件>中指定此文本文件。 
 -y或--side-by-side  以并列的方式显示文件的异同之处。 
 --help  显示帮助。 
 --left-column  在使用-y参数时,若两个文件某一行内容相同,则仅在左侧的栏位显示该行内容。
 --suppress-common-lines  在使用-y参数时,仅显示不同之处。


diffstat

功能说明:根据diff的比较结果,显示统计数字。

语  法:diff [-wV][-n <文件名长度>][-p <文件名长度>]

补充说明:diffstat读取diff的输出结果,然后统计各文件的插入,删除,修改等差异计量。

参  数:
 -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。 
 -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。 
 -w  指定输出时栏位的宽度。 
 -V  显示版本信息。


file

功能说明:辨识文件类型。 

语  法:file [-beLvz][-f <名称文件>][-m <魔法数字文件>...][文件或目录...]  

补充说明:通过file指令,我们得以辨识该文件的类型。 

参  数:
 -b  列出辨识结果时,不显示文件名称。 
 -c  详细显示指令执行过程,便于排错或分析程序执行的情形。 
 -f<名称文件>  指定名称文件,其内容有一个或多个文件名称呢感,让file依序辨识这些文件,格式为每列一个文件名称。  
 -L  直接显示符号连接所指向的文件的类别。 
 -m<魔法数字文件>  指定魔法数字文件。 
 -v  显示版本信息。 
 -z  尝试去解读压缩文件的内容。





find

功能说明:查找文件或目录。

语  法:find [目录...][-amin <分钟>][-anewer <参考文件或目录>][-atime <24小时数>][-cmin <分钟>][-cnewer <参考文件或目录>][-ctime <24小时数>][-daystart][-depyh][-empty][-exec <执行指令>][-false][-fls <列表文件>][-follow][-fprint <列表文件>][-fprint0 <列表文件>][-fprintf <列表文件><输出格式>][-fstype <文件系统类型>][-gid <群组识别码>][-group <群组名称>][-help][-ilname <范本样式>][-iname <范本样式>][-inum <inode编号>][-ipath <范本样式>][-iregex <范本样式>][-links <连接数目>][-lname <范本样式>][-ls][-maxdepth <目录层级>][-mindepth <目录层级>][-mmin <分钟>][-mount] 
[-mtime <24小时数>][-name <范本样式>][-newer <参考文件或目录>][-nogroup][noleaf] [-nouser][-ok <执行指令>][-path <范本样式>][-perm <权限数值>][-print][-print0][-printf <输出格式>][-prune][-regex <范本样式>][-size <文件大小>][-true][-type <文件类型>][-uid <用户识别码>][-used <日数>][-user <拥有者名称>][-version][-xdev][-xtype <文件类型>]

补充说明:find指令用于查找符合条件的文件。任何位于参数之前的字符串都将被视为欲查找的目录。

参  数:
 -amin<分钟>  查找在指定时间曾被存取过的文件或目录,单位以分钟计算。 
 -anewer<参考文件或目录>  查找其存取时间较指定文件或目录的存取时间更接近现在的文件或目录。 
 -atime<24小时数>  查找在指定时间曾被存取过的文件或目录,单位以24小时计算。 
 -cmin<分钟>  查找在指定时间之时被更改的文件或目录。 
 -cnewer<参考文件或目录>  查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。 
 -ctime<24小时数>  查找在指定时间之时被更改的文件或目录,单位以24小时计算。 
 -daystart  从本日开始计算时间。 
 -depth  从指定目录下最深层的子目录开始查找。 
 -expty  寻找文件大小为0 Byte的文件,或目录下没有任何子目录或文件的空目录。 
 -exec<执行指令>  假设find指令的回传值为True,就执行该指令。 
 -false  将find指令的回传值皆设为False。 
 -fls<列表文件>  此参数的效果和指定"-ls"参数类似,但会把结果保存为指定的列表文件。 
 -follow  排除符号连接。 
 -fprint<列表文件>  此参数的效果和指定"-print"参数类似,但会把结果保存成指定的列表文件。 
 -fprint0<列表文件>  此参数的效果和指定"-print0"参数类似,但会把结果保存成指定的列表文件。 
 -fprintf<列表文件><输出格式>  此参数的效果和指定"-printf"参数类似,但会把结果保存成指定的列表文件。 
 -fstype<文件系统类型>  只寻找该文件系统类型下的文件或目录。 
 -gid<群组识别码>  查找符合指定之群组识别码的文件或目录。 
 -group<群组名称>  查找符合指定之群组名称的文件或目录。 
 -help或--help  在线帮助。 
 -ilname<范本样式>  此参数的效果和指定"-lname"参数类似,但忽略字符大小写的差别。 
 -iname<范本样式>  此参数的效果和指定"-name"参数类似,但忽略字符大小写的差别。 
 -inum<inode编号>  查找符合指定的inode编号的文件或目录。 
 -ipath<范本样式>  此参数的效果和指定"-ipath"参数类似,但忽略字符大小写的差别。 
 -iregex<范本样式>  此参数的效果和指定"-regexe"参数类似,但忽略字符大小写的差别。 
 -links<连接数目>  查找符合指定的硬连接数目的文件或目录。 
 -iname<范本样式>  指定字符串作为寻找符号连接的范本样式。 
 -ls  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。 
 -maxdepth<目录层级>  设置最大目录层级。 
 -mindepth<目录层级>  设置最小目录层级。 
 -mmin<分钟>  查找在指定时间曾被更改过的文件或目录,单位以分钟计算。 
 -mount  此参数的效果和指定"-xdev"相同。 
 -mtime<24小时数>  查找在指定时间曾被更改过的文件或目录,单位以24小时计算。 
 -name<范本样式>  指定字符串作为寻找文件或目录的范本样式。 
 -newer<参考文件或目录>  查找其更改时间较指定文件或目录的更改时间更接近现在的文件或目录。 
 -nogroup  找出不属于本地主机群组识别码的文件或目录。 
 -noleaf  不去考虑目录至少需拥有两个硬连接存在。 
 -nouser  找出不属于本地主机用户识别码的文件或目录。 
 -ok<执行指令>  此参数的效果和指定"-exec"参数类似,但在执行指令之前会先询问用户,若回答"y"或"Y",则放弃执行指令。 
 -path<范本样式>  指定字符串作为寻找目录的范本样式。 
 -perm<权限数值>  查找符合指定的权限数值的文件或目录。 
 -print  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为每列一个名称,每个名称之前皆有"./"字符串。 
 -print0  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式为全部的名称皆在同一行。 
 -printf<输出格式>  假设find指令的回传值为True,就将文件或目录名称列出到标准输出。格式可以自行指定。 
 -prune  不寻找字符串作为寻找文件或目录的范本样式。 
 -regex<范本样式>  指定字符串作为寻找文件或目录的范本样式。 
 -size<文件大小>  查找符合指定的文件大小的文件。 
 -true  将find指令的回传值皆设为True。 
 -typ<文件类型>  只寻找符合指定的文件类型的文件。 
 -uid<用户识别码>  查找符合指定的用户识别码的文件或目录。 
 -used<日数>  查找文件或目录被更改之后在指定时间曾被存取过的文件或目录,单位以日计算。 
 -user<拥有者名称>  查找符合指定的拥有者名称的文件或目录。 
 -version或--version  显示版本信息。 
 -xdev  将范围局限在先行的文件系统中。 
 -xtype<文件类型>  此参数的效果和指定"-type"参数类似,差别在于它针对符号连接检查。



git

功能说明:文字模式下的文件管理员。 

语  法:git

补充说明:git是用来管理文件的程序,它十分类似DOS下的Norton Commander,具有互动式操作界面。它的操作方法和Norton Commander几乎一样,略诉如下: 
  F1 :执行info指令,查询指令相关信息,会要求您输入欲查询的名称。 
  F2 :执行cat指令,列出文件内容。 
  F3 :执行gitview指令,观看文件内容。 
  F4 :执行vi指令,编辑文件内容。 
  F5 :执行cp指令,复制文件或目录,会要求您输入目标文件或目录。 
  F6 :执行mv指令,移动文件或目录,或是更改其名称,会要求您输入目标文件或目录。 
  F7 :执行mkdir指令,建立目录。 
  F8 :执行rm指令,删除文件或目录。 
  F9 :执行make指令,批处理执行指令或编译程序时,会要求您输入相关命令。 
  F10 :离开git文件管理员。






你可能感兴趣的:(number,文件管理)