免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 一生有你llx
打印 上一主题 下一主题

[系统管理] Linux基础命令 [复制链接]

论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
51 [报告]
发表于 2018-11-22 09:07 |只看该作者
diffstat
      这个程序读取diff的输出,并显示每个文件的插入、删除和修改的直方图。Diffstat是一个用于检查大型复杂修补程序文件的程序。它从包含diff输出的一个或多个输入文件中读取,生成针对引用的每个文件更改的总行的直方图。如果输入文件名以.bz 2、.gz、.lzma、.z或.z结尾,Diffstat将通过管道从相应的程序读取未压缩数据。它还可以根据标准输入的管道文件推断压缩类型。
     Diffstat识别来自diff的最流行的输出类型:
     unified,修补程序首选。
     context,最好的可读性,但不太紧凑。
     default,不是很好,但很容易产生。

     Diffstat检测由diff输出的行,以判断比较了哪些文件,然后在第一列中计数表示更改类型(插入、删除或修改)的标记。这些在直方图中显示为“、”-“和”!“字符。如果命令行上没有指定文件名,Diffstat将读取标准输入中的差异。
     此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
     diffstat [options]  [file-specifications]

2、选项列表
选项
说明
-b
忽略diff中的“二进制文件XXX和YYY不同”匹配的行
-c
在每一行输出前加上“#”,使其成为shell脚本的注释行。
-D destination
指定一个目录,其中包含可作为应用差异的结果而引用的文件。Diffstat将计算相应文件中的行数(在通过-p选项调整名称之后),以获得每个文件中的总行数。
-e file
将标准错误重定向到文件
-f format
指定直方图的格式:
0,为了简洁,它只显示值和一个直方图代码insert (+),delete (-)或modify (!)。
1,正常格式。
2,用点填充直方图。
4,使用直方图打印每个值。
任何非零值都会给出直方图。点和个别值可以结合在一起,例如-f6给出两者。
-h
显示帮助信息并且退出
-k
禁止合并报表中的文件名
-l
只列出文件名。不生成直方图。
-m
从修补程序文件的每个“块”中合并插入/删除计数,以接近修改行的计数
-n number
指定用于文件名的最小宽度。如果不指定这一点,Diffstat在去掉常见前缀后使用最长文件名的长度。
-N number
指定用于文件名的最大宽度。超过此限制的名称在左侧被截断。如果您没有指定此选项,下面将检查-n选项。
-o file
将标准输出重定向到文件
-p number
重写删除公共路径名的逻辑,模拟修补程序“-p”选项。
-q
抑制空差异的“0文件更改”消息
-r code
提供直方图中显示的数据的可选舍入,而不是通过错误调整截断数据:
0,是默认的。不执行舍入操作,但累积错误将添加到下列中。
1,舍入数据。
2,对数据进行舍入并调整直方图,以确保在有任何差异的情况下显示某些内容,即使这些差异通常被四舍五入为零。
-S source
这类似于-D选项,但指定了一个可以找到原始文件(在应用差异之前)的位置。
-t
重写直方图,生成逗号分隔值的输出。
-u
禁止对报表中的文件名进行排序。
-v
显示进度,例如,如果输出重定向到文件,则将进度消息写入标准错误
-V
显示版本号,并且退出
-w number
指定直方图的最大宽度。直方图将永远不会小于10列,以防文件名过大。

3、环境变量
     Diffstat运行在可移植的UNIX环境中。您可以通过设置与输入文件名称相对应的环境变量来覆盖用于解压缩输入文件的程序的编译路径。然而,Diffstat假设生成的程序使用相同的命令行选项,例如“-c”来解压缩到标准输出。
     DIFFSTAT_BZCAT_PATH
     DIFFSTAT_BZIP2_PATH
     DIFFSTAT_COMPRESS_PATH
     DIFFSTAT_GZIP_PATH
     DIFFSTAT_LZCAT_PATH
     DIFFSTAT_PCAT_PATH
     DIFFSTAT_UNCOMPRESS_PATH
     DIFFSTAT_ZCAT_PATH


4、实例
     统计差异信息
[root@localhost wj]# diff 1.c 2.c
1c1
< asd
---
> add
3,4c3,4
< dfg
< ass
---
> dsgf
> sss
[root@localhost wj]# diff 1.c 2.c |diffstat -f 2
unknown |    6 +++---..........................................................
1 file changed, 3 insertions(+), 3 deletions(-)
[root@localhost wj]# diff 1.c 2.c |diffstat -f 1
unknown |    6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
You have new mail in /var/spool/mail/root
[root@localhost wj]# diff 1.c 2.c |diffstat -f 0
unknown |    6    3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)
[root@localhost wj]#


论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
52 [报告]
发表于 2018-11-23 08:16 |只看该作者
file
      判断指定文件的文件类型,它依据文件内容判断,并不依据扩展名。此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
      file [选项]  filename

2、选项列表
选项
说明
-v | --version
显示命令版本信息
--help
显示帮助文档
-b | --brief
列出结果的时候,不显示文件名
-C | --compile
编写一个magic.mgc输出文件,其中包含魔术文件或目录的预解析版本
-c | --checking-printout
以检查魔术文件的解析形式的打印输出。这通常与-m标志一起使用,用于在安装新的魔术文件之前调试它。
-e | --exclude testname
从确定文件类型的测试列表中排除在testname中指定的测试。有效的测试名称是:
apptype,EMX应用程序类型(仅在EMX上)。
text,各种类型的文本文件(此测试将尝试猜测文本编码,而不管“编码”选项的设置如何)
encoding,用于软魔术测试的不同文本编码
tokens,在文本文件中查找已知的令牌
cdf,打印复合文档文件的详细信息
compress,检查并查看压缩文件
elf,打印ELF文件的细节。
soft,查阅魔法档案。
tar,检查tar文件
-F | --separator
指定文件名和结果之间的分隔符,默认:
-f namefile | --files-from namefile
从给定的文件中,读取文件名,然后操作
-h | --no-dereference
选项导致符号链接不被遵循(在支持符号链接的系统上)。如果没有定义环境变量POSIXLY_TRIDER,则这是默认的
-i | --mime
导致文件命令输出MIME类型字符串,而不是更传统的人类可读的字符串。因此,它可以说‘text/plain;;charset=us-ascii’而不是‘ASCII文本’。为了使此选项工作,文件更改了它处理命令本身识别的文件的方式(例如许多文本文件类型、目录等),并使用了另一个“魔术”文件。(见下文档案部分)
--mime-type | --mime-encoding
类似-i,但只打印指定的元素。
k | --keep-going
第一次匹配别停,继续。随后的匹配将具有字符串‘\012-’。(如果需要换行符,请参见‘-r’选项。)
-L | --dereference
选项导致符号链接被遵循,就像ls(1)中的同名选项(在支持符号链接的系统上)。如果定义了环境变量POSIXLY_TRIDER,则这是默认的
-m | --magic-file magicfiles
指定包含魔术的文件和目录的备用列表。这可以是单个项目,也可以是冒号分隔的列表。如果在文件或目录旁边找到已编译的魔术文件,则将使用它。
-N | --no-pad
让文件名在输出中对齐                           
-n | --no-buffer
检查每个文件后,强迫stdout被刷新。这只有在检查文件列表时才有用。它用于希望从管道输出文件类型的程序。
-p | --preserve-date
在支持utime(2)或utime(2)的系统上,尝试保留分析过的文件的访问时间,假装文件从未读取过它们。
-r | --raw
不要将不可打印的字符翻译为\ooo。通常,文件将不可打印的字符转换为它们的八进制表示形式
-s | --special-files
通常,文件只尝试读取和确定STAT(2)报告是普通文件的参数文件的类型。这可以防止出现问题,因为读取特殊文件可能会产生特殊的后果。指定-s选项会导致file也读取参数文件,这些参数文件是块文件或字符特殊文件。这对于确定原始磁盘分区中数据的文件系统类型非常有用,这些分区是块特殊文件。此选项还会导致文件忽略stat(2)所报告的文件大小,因为在某些系统上,它报告原始磁盘分区的大小为零。
-z | --uncompress
试着查看压缩文件
-0 | --print0
在文件名结束后输出空字符‘\0’。很好地削减了产量。这不影响仍然打印的分隔符。
-z
尝试读取压缩文件的内容

3、说明
      file对每个参数进行测试,试图对其进行分类。按照这个顺序执行的测试有三组:文件系统测试、魔术测试和语言测试。成功的第一个测试将导致打印文件类型。打印的类型通常包含一个单词text(该文件只包含打印字符和几个常见的控制字符,并可能安全地在ASCII终端上读取)、executable (该文件包含以某种UNIX内核可以理解的形式编译程序的结果),或包含任何其他含义的data(数据通常是“二进制”或不可打印的)。异常是众所周知的包含二进制数据的文件格式(核心文件、tar存档).在修改魔术文件或程序本身时,请确保保留这些关键字。用户依赖于知道目录中的所有可读文件都打印了单词“text”。不要像Berkeley那样,把“shell命令文本”改为“shell脚本”
      文件系统测试基于检查STAT(2)系统调用的返回。该程序检查该文件是否为空文件,或是否为某种特殊文件。如果在系统头文件中定义了适合您正在运行的系统的任何已知文件类型(套接字、符号链接或有名管道),则会直观地显示它们。
      魔术测试用于检查具有特定固定格式的数据的文件。这方面的典型示例是二进制可执行文件(已编译的程序)a.out文件,其格式在标准include目录中的#include<a.out.h>中定义,或者#include <exec.h>。这些文件具有一个“魔术号”,存储在文件开头附近的某个特定位置,该位置告诉UNIX操作系统该文件是二进制可执行文件,以及其中的几种类型中的哪一种。“魔术”的概念已经通过扩展应用于数据文件。任何在一个小的固定偏移量处具有一些不变标识符的文件通常都可以用这种方式来描述。标识这些文件的信息是从已编译的魔术文件/usr/share/misc/magic.mgc中读取的,如果编译的文件不存在,则从/usr/share/misc/magc目录中读取这些文件。此外,如果$HOME/.magic.mgc或$home/.magic存在,则它将优先用于系统魔术文件。如果/etc/magic存在,它将与其他魔术文件一起使用。
      如果文件与魔术文件中的任何条目不匹配,则检查它是否为文本文件。ASCII、ISO-8859-x、非ISO 8位扩展-ASCII字符集(例如在Macintosh和IBM PC系统上使用的字符集)、UTF-8编码Unicode、UTF-16编码Unicode和EBCDIC字符集可以通过构成每组可打印文本的不同范围和字节序列来区分。如果一个文件通过了这些测试中的任何一个,就会报告它的字符集。ASCII、ISO-8859-x、UTF-8和Extended-ASCII文件被识别为“Text”,因为它们在几乎任何终端上都是可读的;UTF-16和EBCDIC仅仅是“字符数据”,因为它们包含文本,但是文本需要翻译才能被读取。此外,文件将试图确定文本类型文件的其他特征.如果文件的行被CR、CRLF或Nel终止,而不是Unix标准LF,这将被报告。还将识别包含嵌入转义序列或过度醒目的文件。
      一旦文件确定了在文本类型文件中使用的字符集,它将试图确定该文件是用哪种语言编写的。语言测试寻找特定的字符串(Cf. #include<names.h>),它可以出现在文件的前几个块中的任何地方。例如,关键字.br表示文件很可能是troff(1)输入文件,正如关键字struct表示C程序一样。这些测试不如前两组可靠,因此它们是最后执行的。语言测试例程还测试一些混类(例如tar(1)存档)。
      任何无法标识为已在上述任何字符集中写入的文件,都被简单地称为“data”。

4、环境变量
      环境变量MAGIC可以用来设置默认的魔术文件名。如果设置了该变量,那么文件将不会尝试打开$HOME/.magic。文件酌情将‘.mgc’添加到此变量的值中。环境变量POSIXLY_RIDER控制(在支持符号链接的系统上),文件是否会尝试遵循符号链接。如果设置了,那么文件将遵循符号链接,否则就不会。这也是由-l和-h选项控制的。

5、返回值
      文件在成功时返回0,在错误时返回非零。如果文件操作数命名的文件不存在,无法读取,或者无法确定由文件操作数命名的文件的类型,则不认为这是影响退出状态的错误。

6、文件
      /usr/share/misc/magic.mgc,默认已编译魔术列表。
      /usr/share/misc/magic,包含默认魔术文件的目录。

7、实例
1)直接查看文件
[root@localhost weijie]# file 1.c
1.c: ASCII text         //默认分隔符是冒号
[root@localhost weijie]# file -F , 1.c         //指定分隔符为逗号
1.c, ASCII text
2)从给定文件中读取文件名,然后进行操作
[root@localhost weijie]# cat 1.c
2.c
3.c
[root@localhost weijie]# file -f 1.c         //1.c读取文件内容,将他们作为文件名重新进行file操作。
2.c: ASCII text
3.c: ASCII text
3)读取特殊文件的类型
$ file -s /dev/wd0{b,d}
/dev/wd0b: data
/dev/wd0d: x86 boot sector
$ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10}
/dev/hda:   x86 boot sector
/dev/hda1:  Linux/i386 ext2 filesystem
/dev/hda2:  x86 boot sector
/dev/hda3:  x86 boot sector, extended partition table
/dev/hda4:  Linux/i386 ext2 filesystem
/dev/hda5:  Linux/i386 swap file
/dev/hda6:  Linux/i386 swap file
/dev/hda7:  Linux/i386 swap file
/dev/hda8:  Linux/i386 swap file
/dev/hda9:  empty
/dev/hda10: empty
4)以MIME格式输出
$ file -i file.c file /dev/{wd0a,hda}           //输出MIME类型
file.c:      text/x-c
file:        application/x-executable
/dev/hda:    application/x-not-regular-file
/dev/wd0a:   application/x-not-regular-file


论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
53 [报告]
发表于 2018-11-24 08:46 |只看该作者
whereis
      查找命令的位置,包括执行文件、源代码、手册文件。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      whereis [选项]  cmd
      whereis [-bmsu] [-BMS directory...  -f] filename...

2、选项列表
选项
说明
-b
只搜索二进制文件
-m
只搜索手册文件
-s
只搜索源代码
-u
寻找不寻常的条目。如果文件没有每个请求类型的一个条目,则该文件被认为是不寻常的。因此,“Whereis –m –u *”请求当前目录中没有文档的文件。
-B
在指定目录下搜索二进制文件
-M
在指定目录下搜索手册文件
-S
在指定目录下搜索源代码文件
-f
不显示文件名前的路径,在是使用-S 、–M、-B选项时,必须使用这个选项

3、实例
1)查找某个命令的二进制文件
[root@192 bin]#whereis -b ls
ls: /bin/ls
2)查找命令的手册文件
[root@192 bin]# whereis -m ls
ls: /usr/share/man/man1p/ls.1p.gz /usr/share/man/man1/ls.1.gz
3)查找/usr/bin中所有未记录在/usr/man/man 1中且源在/usr/src中的文件:
[root@192 bin]# cd /usr/bin
[root@192 bin]# whereis -u -M /usr/man/man1 -S /usr/src -f *


论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
54 [报告]
发表于 2018-11-25 08:38 |只看该作者
which
      在环境变量PATH中搜索某个命令,返回命令的执行文件或者脚本位置,默认只显示第一个结果。这需要一个或多个参数。对于它的每个参数,它会打印出当在shell提示符下输入该参数时将执行的可执行文件的完整路径。它通过使用与bash(1)相同的算法在环境变量路径中列出的目录中搜索可执行文件或脚本来做到这一点。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      which [options]  [--]  programname [...]

2、选项列表
选项
说明
-v | -V | --version
显示命令版本信息
--help
显示帮助文档
-a | -all
输出所有的结果,而不只是第一个
--read-alias | -i
从stdin中读取别名,在stdout上报告匹配的别名。
--skip-alias
忽略“--read-alias”
--read-function
从标准输入读取函数,在stdout输出
--skip-functions
忽略“--skip-functions”
--skip-dot
忽略PATH中以点开头的目录
--skip-tilde
跳过路径中以主目录中的波浪线和可执行文件开头的目录。
--show-dot
如果路径中的目录以点开始,并为该路径找到匹配的可执行文件,则打印“./Programname”而不是完整路径。
--show-tilde
当目录与主目录匹配时,输出一个波浪线。如果将该选项作以root身份调用,则忽略此选项
--tty-only
如果不在TTY上,则停止右边的处理选项。

3、返回值
      它返回失败参数的数量,或者当未指定“程序名”时返回-1。

4、实例
1)搜索指令
[root@192 /]# which -a ls
alias ls='ls --color=auto'         //ls是一个别名
    /bin/ls
2)显示所有结果
[root@192 /]# which -a ll
alias ll='ls -l --color=auto'
    /bin/ls
/usr/bin/which: no ll in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/src/jdk1.8.0_181/bin:/root/bin)




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
55 [报告]
发表于 2018-11-26 16:26 |只看该作者
sort
      以行为单位,对文本文件进行排,并输出排序结果。默认情况下,以每一行为一个单位,从首字符开始按照ASCII码向后逐个比较。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      sort [选项]  file
      sort [OPTION]... --files0-from=F

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示版本信息
-b
忽略每行开头的空白字符
-d | --dictionary-order
排序时只考虑空格、数字、英语字母
-f | --ignore-case
将小写字母改为大写
-g | --general-numeric-sort
按一般数值比较
-i | --ignore-nonprinting
只考虑040到176之间的ASCII字符
-M | --month-sort
按月份排序
-h | --human-numeric-sort
按可读性数据排序,例如1K,2G
-n | --numeric-sort
按数值大小排序        
-R | --random-sort
按键的随机散列排序
--random-source=FILE
从文件中获取随机字节
-r | --reverse
逆序排列
--sort=WORD
按给出的要求排序:general-numeric  -g,  human-numeric  -h,  month  -M, numeric -n, random -R, version -V
-V | --version-sort
按版本数字排序
--batch-size=NMERGE
最多一次合并NMERGE个输入;更多地使用temp文件
-c | --check | --check=diagnose-first
检测是否已排序,不排序
-C | --check=quiet | --check=silent
和“-c”一样,不要报告第一个坏行
--compress-program=PROG
用prog压缩时间,用prog-d解压
--files0-from=F
从文件F中以NUL结尾的名称指定的文件读取输入;如果F是-,则从标准输入中读取名称。
-k | --key=POS1[,POS2]
在POS 1(起始1)处启动键,在POS 2(默认行尾)结束键
-m | --merge
合并已经排序的文件,不排序
-o | --output=file
将结果输出到指定文件
-s | --stable
通过禁用最后的比较来稳定排序
-S | --buffer-size=SIZE
主内存缓冲器使用SIZE
-t | --field-separator=SEP
使用sep代替分隔符
-T | --temporary-directory=DIR
将DIR用于临时目录,而不是$TMPDIR或/tmp;多个选项指定多个目录
-u, --unique
和“-c”一起使用,检查是否有严格的排序;如果没有-c,则只输出相同运行的第一个。
-z, --zero-terminated
结束行为0字节,而不是换行符

3、实例
1)直接排序
[root@192 weijie]# cat 1.c
1K
1M
1G
1T
[root@192 weijie]# sort 1.c         //直接对比字符排序
1G
1K
1M
1T
2)按照可读的单位来排序
[root@192 weijie]# sort -h 1.c       //文件的内容按照单位排序,这些很明显是内存大小单位
1K
1M
1G
1T
3)按照数字排序
[root@192 weijie]# cat 2.c
123
23
212
[root@192 weijie]# sort 2.c         //默认排序,按照字符逐个比较
123
212
23
[root@192 weijie]# sort -n 2.c     //把内容当做数字排序
23
123
212




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
56 [报告]
发表于 2018-11-27 09:24 |只看该作者
cat
      连接文本文件或者标准输入,将结果输出到标准输出设备。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      cat [选项]  file
      cat  file1 file2  >  file3

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本
-A | --show-all
显示所有,等价于 –vET
-b | --number-nonblank
所有输出显示行号,除了空白行
-e
等价于 –vE
-E | --show-ends
在每一行的结尾输出 $
-n | --number
显示行号
-s | --squeeze
将连续的空行合并为一行
-T
将tab显示为^I
-t
等价 –vT
-v | --show-nonprinting
除了LDF和RAB,所有的控制符用“^“和“M-“方式显示

3、实例
1)输出文件内容,带行号
[root@192 weijie]# cat -b 1.c
     1  2.c
     2  3.c
2)合并两个文件到第三个
[root@192 weijie]# cat 1.c 2.c
2.c
3.c
123
345
[root@192 weijie]#cat 1.c 2.c > 3.c
[root@192 weijie]#cat 3.c
2.c
3.c
123
345




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
57 [报告]
发表于 2018-11-28 09:59 |只看该作者
cp
      复制文件,可以将一个文件复制到另外一个地方,也可以将多个文件复制到目录。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      cp  [option] [-T]  src  dst
      cp  [option] src  dir
      cp  [option] -t  dir  src

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示命令版本
-a | --archive
等价于“-dR --preserve=all”
--backup[=CONTROL]
为每一个存在的目标文件创建备份
-b
类似“--backup”,但是没有参数
--copy-contents
递归时复制特殊文件的内容
-d
等价于“--no-dereference    --preserve=links”
-f | --force
强制执行
-i | --interactive
交互模式,覆盖文件之前询问
-H
遵循src中的命令行符号链接。
-l | --link
创建链接,不复制
-L | --dereference
始终遵循src中的符号链接
-n | --no-clobber
不覆盖已经存在的文件
-R | -r
递归模式,复制子目录
-s | --symbolic-link
创建符号链接,不复制
-P | --no-dereference
不遵循src中的符号链接
-p
等价于“--preserve=mode”
--preserve[=ATTR_LIST]
保留指定的属性(默认:模式、所有权、时间戳),如果可能的话,其他属性:上下文、链接、xattr、all
-c
等价于“--preserve=context”
--no-preserve=ATTR_LIST
不保留指定的属性
--parents
使用目录下的完整源文件名
-R | -r | --recursive
递归复制子目录
--reflink[=WHEN]
控制拷贝
--remove-destination
在尝试打开每个现有目标文件之前移动它(与“--force”相反)
--sparse=WHEN
控制稀疏文件的创建
--strip-trailing-slashes
从每个源参数中移除任何尾随斜线。
-s | --symbolic-link
创建符号链接,不复制
-S | --suffix=SUFFIX
重写通常的备份后缀
-t | --target-directory=DIRECTORY
将所有源参数复制到DIRECTORY中。
-T | --no-target-directory
将目标文件当做普通文件
-t | --target-directory=dir
复制所有的源文件到目录
-u | --update
以更新的方式复制
-v | --verbose
显示详细执行过程
-x | --one-file-system
保持在这个文件系统上
-Z | --context=CONTEXT
将副本的安全上下文设置为上下文

3、说明
      当“--reflink[=always]”被指定时,执行一个轻量级副本,其中数据块仅在修改时被复制。如果这是不可能的,复制失败,或者如果“--reflink=auto “被指定,则返回到标准副本。
     备份后缀为‘~’,除非设置“--suffix “或”SIMPLE_BACKUP_SUFFIX“。版本控制方法可以通过”--backup“选项或通过VERSION_CONTROL环境变量来选择。以下是这些值:
     1)none, off,从不备份,即使指定了“--backup“。
     2)numbered, t,数字版本控制。
     3)existing, nil,如果有数字备份,那么就使用数字备份,否则使用简单备份。
     4)simple, never,简单备份。
作为特例,当提供强制和备份选项时,cp对源进行备份,src和dst名字相同,都是常规文件。

4、实例
     1)复制整个目录
[root@192 weijie]# cp -r test01/ test03/            //使用-r选项,递归方式复制
[root@192 weijie]# ls test03
1.c  1.c~  2.c  3.c
     2)使用“-t”选项,将多个文件复制到目录
[root@192 weijie]# cp -t test01 1.c 2.c 3.c         //复制3个文件到test01目录
cp:是否覆盖"test01/1.c"?y
[root@192 weijie]# ls test01
1.c  1.c~  2.c  3.c
     3)创建链接
[root@localhost wj]# cp -s 3.c 4.c                    //创建符号链接,并不是复制
[root@localhost wj]# ls -l 4.c                        //查看内容,该文件是一个符号链接
lrwxrwxrwx 1 root root 3 10月 30 08:09 4.c -> 3.c
[root@localhost wj]#


做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用
链接:https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ  密码:n7bk

论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
58 [报告]
发表于 2018-11-29 07:48 |只看该作者
paste
      将指定的文件按照列的方式合并,将结果显示到标准输出设备上,相当于两个并列的cat命令。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      paste [选项]  files

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示版本
-d list | --delimiters=list
以指定的分隔符区取代tab
-s
合并同一个文件的多行

3、实例
1)合并三个文件
[root@localhost weijie]# cat 1.c     //显示这几个文件的内容
1K
1M
1G
1T
[root@localhost weijie]# cat 2.c
123
23
212
[root@localhost weijie]# cat 3.c
123
23
212
[root@localhost weijie]# paste 1.c 2.c 3.c      //将文件合并
1K  123 123
1M  23  23
1G  212 212
1T     
2)合并同一个文件的多行
[root@localhost weijie]# cat 4.c
123
23
212
[root@localhost weijie]# paste -s 4.c       //将同一个文件的多行合并成多列
123 23  212


论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
59 [报告]
发表于 2018-11-30 20:11 |只看该作者
split
      将一个大文件切割成较小的文件,默认情况下每1000行就会切割一次。分割后的文件,默认以xaa、xab、xac等命名。用户亦可以指定名字的前缀,例如指定前缀test,那么分割后的文件是testaa、testab、testac等。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      split [OPTION]… [INPUT [PREFIX]

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示版本信息
-a | --suffix-length=N
使用长度为N的后缀(默认为2)
-b | --bytes=SIZE
设置多少个字节分割一次
-C size | --line-size=size
设置每行最多size个字节
-d | --numeric-suffixes
用数字后缀代替字母
-l num | --line=num | -num
设置每多少行切割一次
--verbose
在打开每个输出文件之前打印一个诊断文件

3、实例
1)每2行分割一次
[root@localhost weijie]# split -2 5.c                 //2行分割一次
[root@localhost weijie]# ls
1.c  1.c~  2.c  3.c  4.c  4.c~  5.c xaa  xab  xac      //分割后的文件会自动命名
[root@localhost weijie]# cat xaa                      //查看分割后的文件
1,2c1,2
< 123
[root@localhost weijie]#cat xab
< 23
---
[root@localhost weijie]#cat xac
> 12345
> 2334
2)每10个字节分割一次,并指定输出文件的名字前缀
[root@localhost weijie]# split -b 10 5.c Tsplit           //10个字节分割,前缀名Tsplit
[root@localhost weijie]# ls
1.c  1.c~  2.c  3.c  4.c  4.c~  5.c  Tsplitaa  Tsplitab Tsplitac  Tsplitad xaa xab  xac
[root@localhost weijie]# cat Tsplitaa
1,2c1,2
< [root@localhost weijie]# cat Tsplitab
123
< 23




论坛徽章:
1
15-16赛季CBA联赛之福建
日期:2018-12-10 14:43:45
60 [报告]
发表于 2018-12-01 16:31 |只看该作者
fold
      按照指定的宽度显示文件。
      此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法
      fold [选项]  file

2、选项列表
选项
说明
--help
显示帮助文档
--version
显示版本信息
-b | --bytes
以字节为单位,指定宽度
-c | --characters
以字符为单位,指定宽度
-s | --space
以空格分割
-w | --width
指定列宽,默认30

3、实例
      每6个字节一行输出
[root@localhost weijie]# cat 1.c
hello world, i am david. i love linux, love code.
[root@localhost weijie]# fold -b6 1.c
hello
world,
i am
david.
i lov
e linu
x, lov
e code


您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP