Linux文件管理指令-参数详解

cat指令

描述:cat(英文全拼:concatenate)命令用于连接文件并打印到标准输出设备上。

语法

cat [-AbeEnstTuv] [--help] [--version] fileName

参数:

  • -n 或 --number:由 1 开始对所有输出的行数编号。
  • -b 或 --number-nonblank:和 -n 相似,只不过对于空白行不编号。
  • -s 或 --squeeze-blank:当遇到有连续两行以上的空白行,就代换为一行的空白行。
  • -v 或 --show-nonprinting:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。
  • -E 或 --show-ends : 在每行结束处显示 $。
  • -T 或 --show-tabs: 将 TAB 字符显示为 ^I。
  • -A, --show-all:等价于 -vET。
  • **-e:**等价于"-vE"选项;
  • **-t:**等价于"-vT"选项;

diff指令-比较文件差异

描述:Linux diff命令用于比较文件的差异。

​ diff以逐行的方式,比较文本文件的异同处。如果指定要比较目录,则diff会比较目录中相同文件名的文件,但不会比较其中子目录。

语法

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

参数:

  • -<行数>  指定要显示多少行的文本。此参数必须与-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参数时,仅显示不同之处。


diffsat指令-统计diff差异

描述:Linux diffstat命令根据diff的比较结果,显示统计数字。

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

语法

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

参数:

  • -n<文件名长度>  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

  • -p<文件名长度>  与-n参数相同,但此处的<文件名长度>包括了文件的路径。

  • -w  指定输出时栏位的宽度。


more指令

描述:more 命令类似 cat ,不过会以一页一页的形式显示,更方便使用者逐页阅读,而最基本的指令就是按空白键(space)就往下一页显示,按 b 键就会往回(back)一页显示,而且还有搜寻字串的功能(与 vi 相似),使用中的说明文件,请按 h 。

语法

more [-dlfpcsu] [-num] [+/pattern] [+linenum] [fileNames..]

参数:

  • -num 一次显示的行数
  • -d 提示使用者,在画面下方显示 [Press space to continue, ‘q’ to quit.] ,如果使用者按错键,则会显示 [Press ‘h’ for instructions.] 而不是 ‘哔’ 声
  • -l 取消遇见特殊字元 ^L(送纸字元)时会暂停的功能
  • -f 计算行数时,以实际上的行数,而非自动换行过后的行数(有些单行字数太长的会被扩展为两行或两行以上)
  • -p 不以卷动的方式显示每一页,而是先清除萤幕后再显示内容
  • -c 跟 -p 相似,不同的是先显示内容再清除其他旧资料
  • -s 当遇到有连续两行以上的空白行,就代换为一行的空白行
  • -u 不显示下引号 (根据环境变数 TERM 指定的 terminal 而有所不同)
  • +/pattern 在每个文档显示前搜寻该字串(pattern),然后从该字串之后开始显示
  • +num 从第 num 行开始显示
  • fileNames 欲显示内容的文档,可为复数个数

less指令

描述:less 与 more 类似,less 可以随意浏览文件,支持翻页和搜索,支持向上翻页和向下翻页。

语法

less [参数] 文件 

参数:

  • -b <缓冲区大小> 设置缓冲区的大小
  • -e 当文件显示结束后,自动离开
  • -f 强迫打开特殊文件,例如外围设备代号、目录和二进制文件
  • -g 只标志最后搜索的关键词
  • -i 忽略搜索时的大小写
  • -m 显示类似more命令的百分比
  • -N 显示每行的行号
  • -o <文件名> 将less 输出的内容在指定文件中保存起来
  • -Q 不使用警告音
  • -s 显示连续空行为一行
  • -S 行过长时间将超出部分舍弃
  • -x <数字> 将"tab"键显示为规定的数字空格
  • /字符串:向下搜索"字符串"的功能
  • ?字符串:向上搜索"字符串"的功能
  • n:重复前一个搜索(与 / 或 ? 有关)
  • N:反向重复前一个搜索(与 / 或 ? 有关)
  • b 向上翻一页
  • d 向后翻半页
  • h 显示帮助界面
  • Q 退出less 命令
  • u 向前滚动半页
  • y 向前滚动一行
  • 空格键 滚动一页
  • 回车键 滚动一行
  • [pagedown]: 向下翻动一页
  • [pageup]: 向上翻动一页

paste指令-合并文件

描述:Linux paste 命令用于合并文件的列。

​ paste 指令会把每个文件以列对列的方式,一列列地加以合并。

语法

paste [-s][-d <间隔字符>][--help][--version][文件...]

参数:

  • -d<间隔字符>或–delimiters=<间隔字符>  用指定的间隔字符取代跳格字符。
  • -s或–serial  串列进行而非平行处理。
  • –help  在线帮助。
  • –version  显示帮助信息。
  • [文件…] 指定操作的文件路径

slocate命令

描述:slocate命令查找文件或目录。

​ slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息。

语法

slocate [-u][--help][--version][-d <目录>][查找的文件]

参数:

  • -d<目录>或–database=<目录>  指定数据库所在的目录。
  • -u  更新slocate数据库。
  • –help  显示帮助。
  • –version  显示版本信息。

touch指令-创建文件

描述: touch命令用于修改文件或者目录的时间属性,包括存取时间和更改时间。若文件不存在,系统会建立一个新的文件。

语法

touch [-acfm][-d<日期时间>][-r<参考文件或目录>] [-t<日期时间>][--help][--version][文件或目录…]

参数:

  • -a 改变档案的读取时间记录。

  • -m 改变档案的修改时间记录。

  • -c 假如目的档案不存在,不会建立新的档案。与 --no-create 的效果一样。

  • -f 不使用,是为了与其他 unix 系统的相容性而保留。

  • -r 使用参考档的时间记录,与 --file 的效果一样。

  • -d 设定时间与日期,可以使用各种不同的格式。

  • -t 设定档案的时间记录,格式与 date 指令相同。

  • –no-create 不会建立新档案。

  • –help 列出指令格式。


whereis指令

描述:whereis命令用于查找文件。

​ 该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。

​ 该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。

语法

whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]

参数:

  • -b  只查找二进制文件。
  • -B<目录>  只在设置的目录下查找二进制文件。
  • -f  不显示文件名前的路径名称。
  • -m  只查找说明文件。
  • -M<目录>  只在设置的目录下查找说明文件。
  • -s  只查找原始代码文件。
  • -S<目录>  只在设置的目录下查找原始代码文件。
  • -u  查找不包含指定类型的文件。

scp指令-服务器之间的文件传输

描述:scp 命令用于 Linux 之间复制文件和目录。

​ scp 是 secure copy 的缩写, scp 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。

​ scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。

语法

scp [-1246BCpqrv] [-c cipher] [-F ssh_config] [-i identity_file][-l limit] [-o ssh_option] [-P port] [-S program][[user@]host1:]file1 [...] [[user@]host2:]file2#简易写法scp [可选参数] file_source file_target 

参数:

  • -1: 强制scp命令使用协议ssh1
  • -2: 强制scp命令使用协议ssh2
  • -4: 强制scp命令只使用IPv4寻址
  • -6: 强制scp命令只使用IPv6寻址
  • -B: 使用批处理模式(传输过程中不询问传输口令或短语)
  • -C: 允许压缩。(将-C标志传递给ssh,从而打开压缩功能)
  • -p:保留原文件的修改时间,访问时间和访问权限。
  • -q: 不显示传输进度条。
  • -r: 递归复制整个目录。
  • -v:详细方式显示输出。scp和ssh(1)会显示出整个过程的调试信息。这些信息用于调试连接,验证和配置问题。
  • -c cipher: 以cipher将数据传输进行加密,这个选项将直接传递给ssh。
  • -F ssh_config: 指定一个替代的ssh配置文件,此参数直接传递给ssh。
  • -i identity_file: 从指定文件中读取传输时使用的密钥文件,此参数直接传递给ssh。
  • -l limit: 限定用户所能使用的带宽,以Kbit/s为单位。
  • -o ssh_option: 如果习惯于使用ssh_config(5)中的参数传递方式,
  • -P port:注意是大写的P, port是指定数据传输用到的端口号
  • -S program: 指定加密传输时所使用的程序。此程序必须能够理解ssh(1)的选项。

lsatter指令

描述: lsattr命令用于显示文件属性。

​ 用chattr执行改变文件或目录的属性,可执行lsattr指令查询其属性。

语法

lsattr [-adlRvV][文件或目录...]

参数:

  • -a  显示所有文件和目录,包括以".“为名称开头字符的额外内建,现行目录”.“与上层目录”…"。
  • -d  显示,目录名称,而非其内容。
  • -l  此参数目前没有任何作用。
  • -R  递归处理,将指定目录下的所有文件及子目录一并处理。
  • -v  显示文件或目录版本。
  • -V  显示版本信息。

chattr指令

描述:chattr命令用于改变文件属性。

属性的种类共八种:

  1. a:让文件或目录仅供附加用途。
  2. b:不更新文件或目录的最后存取时间。
  3. c:将文件或目录压缩后存放。
  4. d:将文件或目录排除在倾倒操作之外。
  5. i:不得任意更动文件或目录。
  6. s:保密性删除文件或目录。
  7. S:即时更新文件或目录。
  8. u:预防意外删除。

语法

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

参数:

  • -R 递归处理,将指定目录下的所有文件及子目录一并处理。
  • -v<版本编号> 设置文件或目录版本。
  • -V 显示指令执行过程。
  • +<属性> 开启文件或目录的该项属性。
  • -<属性> 关闭文件或目录的该项属性。
  • =<属性> 指定文件或目录的该项属性。

file指令-分辨文件类型

描述:file命令用于辨识文件类型。

​ 通过file指令,我们得以辨识该文件的类型。

语法

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

参数:

  • -b  列出辨识结果时,不显示文件名称。
  • -c  详细显示指令执行过程,便于排错或分析程序执行的情形。
  • -f<名称文件>  指定名称文件,其内容有一个或多个文件名称时,让file依序辨识这些文件,格式为每列一个文件名称。
  • -L  直接显示符号连接所指向的文件的类别。
  • -m<魔法数字文件>  指定魔法数字文件。
  • -v  显示版本信息。
  • -z  尝试去解读压缩文件的内容。
  • [文件或目录…] 要确定类型的文件列表,多个文件之间使用空格分开,可以使用shell通配符匹配多个文件。

patch指令

描述: patch命令用于修补文件。

​ patch指令让用户利用设置修补文件的方式,修改,更新原始文件。倘若一次仅修改一个文件,可直接在指令列中下达指令依序执行。如果配合修补文件的方式则能一次修补大批文件,这也是Linux系统核心的升级方法之一。

语法

patch [-bceEflnNRstTuvZ][-B <备份字首字符串>][-d <工作目录>][-D <标示符号>][-F <监别列数>][-g <控制数值>][-i <修补文件>][-o <输出文件>][-p <剥离层级>][-r <拒绝文件>][-V <备份方式>][-Y <备份字首字符串>][-z <备份字尾字符串>][--backup-if -mismatch][--binary][--help][--nobackup-if-mismatch][--verbose][原始文件 <修补文件>] 或 path [-p <剥离层级>] < [修补文件]

参数:

  • -b或–backup  备份每一个原始文件。
  • -B<备份字首字符串>或–prefix=<备份字首字符串>  设置文件备份时,附加在文件名称前面的字首字符串,该字符串可以是路径名称。
  • -c或–context  把修补数据解译成关联性的差异。
  • -d<工作目录>或–directory=<工作目录>  设置工作目录。
  • -D<标示符号>或–ifdef=<标示符号>  用指定的符号把改变的地方标示出来。
  • -e或–ed  把修补数据解译成ed指令可用的叙述文件。
  • -E或–remove-empty-files  若修补过后输出的文件其内容是一片空白,则移除该文件。
  • -f或–force  此参数的效果和指定"-t"参数类似,但会假设修补数据的版本为新 版本。
  • -F<监别列数>或–fuzz<监别列数>  设置监别列数的最大值。
  • -g<控制数值>或–get=<控制数值>  设置以RSC或SCCS控制修补作业。
  • -i<修补文件>或–input=<修补文件>  读取指定的修补文件。
  • -l或–ignore-whitespace  忽略修补数据与输入数据的跳格,空格字符。
  • -n或–normal  把修补数据解译成一般性的差异。
  • -N或–forward  忽略修补的数据较原始文件的版本更旧,或该版本的修补数据已使 用过。
  • -o<输出文件>或–output=<输出文件>  设置输出文件的名称,修补过的文件会以该名称存放。
  • -p<剥离层级>或–strip=<剥离层级>  设置欲剥离几层路径名称。
  • -f<拒绝文件>或–reject-file=<拒绝文件>  设置保存拒绝修补相关信息的文件名称,预设的文件名称为.rej。
  • -R或–reverse  假设修补数据是由新旧文件交换位置而产生。
  • -s或–quiet或–silent  不显示指令执行过程,除非发生错误。
  • -t或–batch  自动略过错误,不询问任何问题。
  • -T或–set-time  此参数的效果和指定"-Z"参数类似,但以本地时间为主。
  • -u或–unified  把修补数据解译成一致化的差异。
  • -v或–version  显示版本信息。
  • -V<备份方式>或–version-control=<备份方式> 用"-b"参数备份目标文件后,备份文件的字尾会被加上一个备份字符串,这个字符串不仅可用"-z"参数变更,当使用"-V"参数指定不同备份方式时,也会产生不同字尾的备份字符串。
  • -Y<备份字首字符串>或–basename-prefix=–<备份字首字符串>  设置文件备份时,附加在文件基本名称开头的字首字符串。
  • -z<备份字尾字符串>或–suffix=<备份字尾字符串> 此参数的效果和指定"-B"参数类似,差别在于修补作业使用的路径与文件名若为src/linux/fs/super.c,加上"backup/"字符串后,文件super.c会备份于/src/linux/fs/backup目录里。
  • -Z或–set-utc  把修补过的文件更改,存取时间设为UTC。
  • –backup-if-mismatch  在修补数据不完全吻合,且没有刻意指定要备份文件时,才备份文件。
  • –binary  以二进制模式读写数据,而不通过标准输出设备。
  • –help  在线帮助。
  • –nobackup-if-mismatch  在修补数据不完全吻合,且没有刻意指定要备份文件时,不要备份文件。
  • –verbose  详细显示指令的执行过程。

split指令-分割文件

描述:split命令用于将一个文件分割成数个。

​ 该指令将大文件分割成较小的文件,在默认情况下将按照每1000行切割成一个小文件。

语法

split [--help][--version][-<行数>][-b <字节>][-C <字节>][-l <行数>][要切割的文件][输出文件名]

参数:

  • -<行数> : 指定每多少行切成一个小文件
  • -b<字节> : 指定每多少字节切成一个小文件
  • –help : 在线帮助
  • –version : 显示版本信息
  • -C<字节> : 与参数"-b"相似,但是在切 割时将尽量维持每行的完整性
  • [输出文件名] : 设置切割后文件的前置文件名, split会自动在前置文件名后再加上编号

awk指令

描述:AWK 是一种处理文本文件的语言,是一个强大的文本分析工具。

语法

awk [选项参数] 'script' var=value file(s)或awk [选项参数] -f scriptfile var=value file(s)

参数:

  • -F fs or --field-separator fs
    指定输入文件折分隔符,fs是一个字符串或者是一个正则表达式,如-F:。
  • -v var=value or --asign var=value
    赋值一个用户定义变量。
  • -f scripfile or --file scriptfile
    从脚本文件中读取awk命令。
  • -mf nnn and -mr nnn
    对nnn值设置内在限制,-mf选项限制分配给nnn的最大块数目;-mr选项限制记录的最大数目。这两个功能是Bell实验室版awk的扩展功能,在标准awk中不适用。
  • -W compact or --compat, -W traditional or --traditional
    在兼容模式下运行awk。所以gawk的行为和标准的awk完全一样,所有的awk扩展都被忽略。
  • -W copyleft or --copyleft, -W copyright or --copyright
    打印简短的版权信息。
  • -W help or --help, -W usage or --usage
    打印全部awk选项和每个选项的简短说明。
  • -W lint or --lint
    打印不能向传统unix平台移植的结构的警告。
  • -W lint-old or --lint-old
    打印关于不能向传统unix平台移植的结构的警告。
  • -W posix
    打开兼容模式。但有以下限制,不识别:/x、函数关键字、func、换码序列以及当fs是一个空格时,将新行作为一个域分隔符;操作符=不能代替=;fflush无效。
  • -W re-interval or --re-inerval
    允许间隔正则表达式的使用,参考(grep中的Posix字符类),如括号表达式[[:alpha:]]。
  • -W source program-text or --source program-text
    使用program-text作为源代码,可与-f命令混用。
  • -W version or --version
    打印bug报告信息的版本。

cmp指令-比较差异

描述:cmp命令用于比较两个文件是否有差异。

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

语法

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

参数:

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

find指令

描述:find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

语法

find   path   -option   [   -print ]   [ -exec   -ok   command ]   {} \;

参数:

find 根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部份为 path,之后的是 expression。如果 path 是空字串则使用目前路径,如果 expression 是空字串则使用 -print 为预设 expression。

expression 中可使用的选项有二三十个之多,在此只介绍最常用的部份。

  • -mount, -xdev : 只检查和指定目录在同一个文件系统下的文件,避免列出其它文件系统中的文件

  • -amin n : 在过去 n 分钟内被读取过

  • -anewer file : 比文件 file 更晚被读取过的文件

  • -atime n : 在过去n天内被读取过的文件

  • -cmin n : 在过去 n 分钟内被修改过

  • -cnewer file :比文件 file 更新的文件

  • -ctime n : 在过去n天内被修改过的文件

  • -empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名称是 name

  • -ipath p, -path p : 路径名称符合 p 的文件,ipath 会忽略大小写

  • -name name, -iname name : 文件名称符合 name 的文件。iname 会忽略大小写

  • -size n : 文件大小 是 n 单位,b 代表 512 位元组的区块,c 表示字元数,k 表示 kilo bytes,w 是二个位元组。

  • -type c : 文件类型是 c 的文件。

  • -type d: 目录

  • -type c: 字型装置文件

  • -type b: 区块装置文件

  • -type p: 具名贮列

  • -type f: 一般文件

  • -type l: 符号连结

  • -type s: socket

  • -pid n : process id 是 n 的文件


cut指令-分离文件内容

描述:cut命令用于显示每行从开头算起 num1 到 num2 的文字。

语法

cut  [-bn] [file]cut [-c] [file]cut [-df] [file]

参数:

  • -b :以字节为单位进行分割。这些字节位置将忽略多字节字符边界,除非也指定了 -n 标志。
  • -c :以字符为单位进行分割。
  • -d :自定义分隔符,默认为制表符。
  • -f :与-d一起使用,指定显示哪个区域。
  • -n :取消分割多字节字符。仅和 -b 标志一起使用。如果字符的最后一个字节落在由 -b 标志的 List 参数指示的
    范围之内,该字符将被写出;否则,该字符将被排除

mv指令

描述:mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。

语法

mv [options] source destmv [options] source... directory

参数:

  • -b: 当目标文件或目录存在时,在执行覆盖前,会为其创建一个备份。
  • -i: 如果指定移动的源目录或文件与目标的目录或文件同名,则会先询问是否覆盖旧文件,输入 y 表示直接覆盖,输入 n 表示取消该操作。
  • -f: 如果指定移动的源目录或文件与目标的目录或文件同名,不会询问,直接覆盖旧文件。
  • -n: 不要覆盖任何已存在的文件或目录。
  • -u:当源文件比目标文件新或者目标文件不存在时,才执行移动操作。

tee指令-读取输入并将内容输出

描述: tee命令用于读取标准输入的数据,并将其内容输出成文件。

​ tee指令会从标准输入设备读取数据,将其内容输出到标准输出设备,同时保存成文件。

语法

tee [-ai][--help][--version][文件...]

参数:

  • -a或–append  附加到既有文件的后面,而非覆盖它.
  • -i或–ignore-interrupts  忽略中断信号。
  • –help  在线帮助。
  • –version  显示版本信息。

read指令-读取标准输入内容

描述:read命令用于从标准输入读取数值。

​ read 内部命令被用来从标准输入读取单行数据。这个命令可以用来读取键盘输入,当使用重定向的时候,可以读取文件中的一行数据。

语法

read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

参数:

  • -a 后跟一个变量,该变量会被认为是个数组,然后给其赋值,默认是以空格为分割符。
  • -d 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。
  • -p 后面跟提示信息,即在输入前打印提示信息。
  • -e 在输入的时候可以使用命令补全功能。
  • -n 后跟一个数字,定义输入文本的长度,很实用。
  • -r 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了。
  • -s 安静模式,在输入字符时不再屏幕上显示,例如login时输入密码。
  • -t 后面跟秒数,定义输入字符的等待时间。
  • -u 后面跟fd,从文件描述符中读入,该文件描述符可以是exec新开启的。

ln 命令-创建链接

描述:ln(英文全拼:link files)命令是一个非常重要命令,它的功能是为某一个文件在另外一个位置建立一个同步的链接。

​ 当我们需要在不同的目录,用到相同的文件时,我们不需要在每一个需要的目录下都放一个必须相同的文件,我们只要在某个固定的目录,放上该文件,然后在 其它的目录下用ln命令链接(link)它就可以,不必重复的占用磁盘空间。

语法

ln [参数][源文件或目录][目标文件或目录]

​ Linux文件系统中,有所谓的链接(link),我们可以将其视为档案的别名,而链接又可分为两种 : 硬链接(hard link)与软链接(symbolic link),硬链接的意思是一个档案可以有多个名称,而软链接的方式则是产生一个特殊的档案,该档案的内容是指向另一个档案的位置。硬链接是存在同一个文件系统中,而软链接却可以跨越不同的文件系统。

不论是硬链接或软链接都不会将原本的档案复制一份,只会占用非常少量的磁碟空间。

软链接

  • 1.软链接,以路径的形式存在。类似于Windows操作系统中的快捷方式
  • 2.软链接可以 跨文件系统 ,硬链接不可以
  • 3.软链接可以对一个不存在的文件名进行链接
  • 4.软链接可以对目录进行链接

硬链接

  • 1.硬链接,以文件副本的形式存在。但不占用实际空间。
  • 2.不允许给目录创建硬链接
  • 3.硬链接只有在同一个文件系统中才能创建

参数:

必要参数

  • -b 删除,覆盖以前建立的链接
  • -d 允许超级用户制作目录的硬链接
  • -f 强制执行
  • -i 交互模式,文件存在则提示用户是否覆盖
  • -n 把符号链接视为一般目录
  • -s 软链接(符号链接)
  • -v 显示详细的处理过程

选择参数

  • -S "-S<字尾备份字符串> "或 “–suffix=<字尾备份字符串>”
  • -V “-V<备份方式>“或”–version-control=<备份方式>”
  • –help 显示帮助信息
  • –version 显示版本信息

rm指令

描述: rm(英文全拼:remove)命令用于删除一个文件或者目录。

语法

rm [options] name...

参数:

  • -i 删除前逐一询问确认。
  • -f 即使原档案属性设为唯读,亦直接删除,无需逐一确认。
  • -r 将目录及以下之档案亦逐一删除。

tmpwatch指令

描述:tmpwatch命令用于删除暂存文件。

​ 执行tmpwatch指令可删除不必要的暂存文件,您可以设置文件超期时间,单位以小时计算。

语法

tmpwatch [-afqv][--test][超期时间][目录...]

参数:

  • -a或–all  删除任何类型的文件。
  • -f或–force  强制删除文件或目录,其效果类似rm指令的"-f"参数。
  • -q或–quiet  不显示指令执行过程。
  • -v或–verbose  详细显示指令执行过程。
  • -test  仅作测试,并不真的删除文件或目录。

cp指令

描述:cp(英文全拼:copy file)命令主要用于复制文件或目录。

语法

cp [options] source dest# 或cp [options] source... directory

参数:

  • -a:此选项通常在复制目录时使用,它保留链接、文件属性,并复制目录下的所有内容。其作用等于dpR参数组合。
  • -d:复制时保留链接。这里所说的链接相当于Windows系统中的快捷方式。
  • -f:覆盖已经存在的目标文件而不给出提示。
  • -i:与-f选项相反,在覆盖目标文件之前给出提示,要求用户确认是否覆盖,回答"y"时目标文件将被覆盖。
  • -p:除复制文件的内容外,还把修改时间和访问权限也复制到新文件中。
  • -r:若给出的源文件是一个目录文件,此时将复制该目录下所有的子目录和文件。
  • -l:不复制文件,只是生成链接文件。


你可能感兴趣的:(Linux,操作命令,linux)