tar命令
可以为linux的文件和目录创建档案。利用tar,可以为某一特定文件创建档案(备份文件),也可以在档案中改变文件,或者向档案中加入新的文件。
注意:打包和压缩是两个概念。打包是指将一大堆文件或目录变成一个总的文件;压缩则是将一个大的文件通过一些压缩算法变成一个小文件。
选项:
-A或--catenate:新增文件到以存在的备份文件;
-B:设置区块大小;
-c或--create:建立新的备份文件;
-C
<目录>
:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项。
目录>
-d:记录文件的差别;
-x或--extract或--get:从备份文件中还原文件;
-t或--list:列出备份文件的内容;
-z或--gzip或--ungzip:通过gzip指令处理备份文件;
-Z或--compress或--uncompress:通过compress指令处理备份文件;
-f
<备份文件>
或--file=
<备份文件>
:指定备份文件;
-v或--verbose:显示指令执行过程;
-r:添加文件到已经压缩的文件;
-u:添加改变了和现有的文件到已经存在的压缩文件;
-j:支持bzip2解压文件;
-v:显示操作过程;
-l:文件系统边界设置;
-k:保留原有文件不覆盖;
-m:保留文件不被覆盖;
-w:确认压缩文件的正确性;
-p或--same-permissions:用原来的文件权限还原文件;
-P或--absolute-names:文件名使用绝对名称,不移除文件名称前的“/”号;
-N
<日期格式>
或 --newer=
<日期时间>
:只将较指定日期更新的文件保存到备份文件里;
--exclude=
<范本样式>
:排除符合范本样式的文件。
范本样式>
日期时间>
日期格式>
备份文件>
备份文件>
实例:
压 缩:tar -jcv -f filename.tar.bz2 要被压缩的文件或目录名称
查 询:tar -jtv -f filename.tar.bz2
解压缩:tar -jxv -f filename.tar.bz2 -C 欲解压缩的目录
grep命令
(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
选项:
-a 不要忽略二进制数据。
-A
<显示列数>
除了显示符合范本样式的那一行之外,并显示该行之后的内容。
-b 在显示符合范本样式的那一行之外,并显示该行之前的内容。
-c 计算符合范本样式的列数。
-C
<显示列数>
或-
<显示列数>
除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d
<进行动作>
当指定要查找的是目录而非文件时,必须使用这项参数,否则grep命令将回报信息并停止动作。
进行动作>
-e
<范本样式>
指定字符串作为查找文件内容的范本样式。
-E 将范本样式为延伸的普通表示法来使用,意味着使用能使用扩展正则表达式。
-f
<范本文件>
指定范本文件,其内容有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每一列的范本样式。
-F 将范本样式视为固定字符串的列表。
-G 将范本样式视为普通的表示法来使用。
-h 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H 在显示符合范本样式的那一列之前,标示该列的文件名称。
-i 忽略字符大小写的差别。
-l 列出文件内容符合指定的范本样式的文件名称。
-L 列出文件内容不符合指定的范本样式的文件名称。
-n 在显示符合范本样式的那一列之前,标示出该列的编号。
-q 不显示任何信息。
-R/-r 此参数的效果和指定“-d recurse”参数相同。
-s 不显示错误信息。
-v 反转查找。
-w 只显示全字符合的列。
-x 只显示全列符合的列。
-y 此参数效果跟“-i”相同。
-o 只输出文件中匹配到的部分。
范本文件>
范本样式>
显示列数>
显示列数>
显示列数>
find命令
在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。
选项:
-name
<范本样式>
:指定字符串作为寻找文件或目录的范本样式;
-user
<拥有者名称>
:查找符和指定的拥有者名称的文件或目录;
-iname
<范本样式>
:此参数的效果和指定“-name”参数类似,但忽略字符大小写的差别;
-atime<24小时数>:查找在指定时间曾被存取过的文件或目录,单位以24小时计算;
-amin
<分钟>
:查找在指定时间曾被存取过的文件或目录,单位以分钟计算;
-ctime<24小时数>:查找在指定时间之时被更改的文件或目录,单位以24小时计算;
-mtime<24小时数>:查找在指定时间曾被更改过的文件或目录,单位以24小时计算;
-perm
<权限数值>
:查找符合指定的权限数值的文件或目录;
-size
<文件大小>
:查找符合指定的文件大小的文件;
-type
<文件类型>
:只寻找符合指定的文件类型的文件;
文件类型>
文件大小>
权限数值>
分钟>
范本样式>
拥有者名称>
范本样式>
实例:
当前目录及子目录下查找所有以.txt和.pdf结尾的文件
find . \( -name "*.txt" -o -name "*.pdf" \)
或
find . -name "*.txt" -o -name "*.pdf"
找出/home下不是以.txt结尾的文件
find /home ! -name "*.txt"
根据文件类型进行搜索
find . -type 类型参数
类型参数列表:
f 普通文件
l 符号连接
d 目录
c 字符设备
b 块设备
s 套接字
p Fifo
根据文件时间戳进行搜索
find . -type f 时间戳
UNIX/Linux文件系统每个文件都有三种时间戳:
访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。
xargs命令
给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具。
xargs也可以将单行或多行文本输入转换为其他格式,例如多行变单行,单行变多行。xargs的默认命令是echo,空格是默认定界符。