1、文件查找工具
1)locate命令
locate
1.作用:对文件索引数据库中的内容进行搜索
2.新建系统,/var/lib/mlocate/下没有mlocate.db文件:
1)等一段时间,系统会自动生成此文件
2)updatedb命令创建文件索引数据库文件
3.updatedb对应的配置文件/etc/updatedb.conf,定义了创建mlocate.db目录索引的工作范围
4.参数:
-i 不区分大小写搜索
-r 使用基本的正则表达式
--regex 使用扩展正则表达式
-b 只匹配基名,默认匹配全路径
-c 显示匹配文件的数量
-l 限制输出的条目
5.适用范围:适合搜索相对静态不常变化的文件
[root@szb ~]
147
[root@szb ~]
/apps/nginx/conf/fastcgi.conf
/apps/nginx/conf/nginx.conf
/etc/GeoIP.conf
2)find命令
find
1.作用:在指定路径直接实时递归查找文件,效率不高
2.语法格式:find 查找选项 [查找路径范围] [表达式]
表达式:默认输出查找的内容到控制台,可以是查找条件选项或者处理动作等
3.查找条件选项:
-maxdepth 最大搜索遍历深度
-mindepth 最小搜索遍历深度
-name 指定文件名,支持通配符
-iname 忽略文件名称大小写
-type 根据文件类型查找(f/d/l/s/b/c/p)
-size 根据文件大小进行匹配
-inum 根据inode编号查找,ls -i查看
-empty 查找空目录或空文件
-samefile 可以找到和文件相同inode的文件
-links 查找链接数
-regex 正则匹配
-user 根据文件数组
-uid 根据UID进行匹配
-group/-gid 根据属组的名或id进行匹配
-nouser 文件属主不存在的
-nogroup 文件属组不存在的
-perm 根据文件权限,666,必须都是;/666只要有一个权限是;-666都必须包含
以天为单位:
-atime 根据访问时间查找
-mtime 根据修改时间查找
-ctime 根据创建时间查找
以分钟为单位:
-amin/-mmin/-cmin
4.动作:
-ls 功能类似于ls -l
-print0 查找的文件全路径输出,并用空字符null代替换行符进行分界
-delete 删除查找出来的文件
-ok 配合{} \;一起使用,{}表示查找到的文件,;代表ok语法结束符号,需要交互
-exec 等价于-ok,但是不需要交互确认
5.多条件的逻辑组合
-a 与
-o 或
-not/! 非
注意:复杂场景需要()将优先级括起来
示例1:
[root@szb test]
./diff.log
示例2:
[root@szb test]
1053045 4 -rw-rw-r-- 1 root root 13 Jun 21 14:36 ./file
[root@szb test]
/root/test/file2/root/test/file3/root/test/file4.bak/
示例3:
[root@szb test]
[root@szb test]
1053045 4 -rw-rw-r-- 1 root root 13 Jun 21 14:36 ./file
示例4:
[root@szb test]
示例5:
[root@szb test]
示例6:
[root@szb test]
3)xargs命令
xargs
1.作用:有些命令不接受标准输入,如ls;此命令接收标准输入,将其传递到正确的位置上
2.参数:
-n 将每#个空格替换成行,从而将一行转换成多行
-d 输入指定一个定制的定界符
-0 将null字符代替空格作为分界符,作用等同于find的-print0
示例1:
[root@szb test]
hellp
world
hellp world
示例2:
[root@szb test]
1 2 3 4
示例3:
[root@szb test]
1 2 3
4 5 6
7 8 9
10
示例4:
[root@szb test]
123 1232
1213 123
示例5:
[root@szb test]
[root@szb test]
2、文件压缩工具
1)compress命令
compress/uncompress
1.作用:压缩和解压缩
2.软件包:ncompress
3.压缩后文件后缀:.Z
4.参数:
-c 不会删除原文件,会将压缩的内容输出至控制台
-d 解压缩或uncompress
示例:
[root@szb test]
2)gzip命令
gzip/gunzip
1.作用:压缩和解压缩,压缩率比compress高
2.软件包:gzip
3.压缩后文件后缀:.gz
4.压缩率:1-9,默认6,指定压缩级别:gzip -9
5.参数:
-c 不会删除原文件,会将压缩的内容输出至控制台
-d 解压缩或gunzip
6.如果需要保留压缩包,可以用gzip包的zcat命令:
eg:zcat file.gz > file
示例:
[root@szb test]
3)bzip2命令
bzip2/bunzip2
1.作用:压缩和解压缩,压缩率比gzip还有好点
2.软件包:bzip2
3.压缩后文件后缀:.bz2
4.压缩率:1-9,默认9
5.参数:
-k 保留源文件
-d 解压缩或bunzip2
4)xz命令
xz/unxz
1.作用:压缩和解压缩,压缩率更高
2.软件包:xz
3.压缩后文件后缀:.xz
4.压缩率:1-9,默认9
5.参数:
-k 保留源文件
-d 解压缩或unxz
5)zip命令
zip/unzip
1.作用:压缩和解压缩,压缩率更高
2.软件包:zip,unzip
3.压缩后文件后缀:.zip
4.格式:zip file.zip file
5.参数:
-k 保留源文件
-d 解压缩或unzip
-r 压缩某个目录下的所有文件
[root@szb test]
[root@szb test]
3、打包工具
1) tar命令
tar
1.作用:磁带归档,用于将多个打包存放在磁带或磁盘归档文件中
2.参数:
常用选项:压缩:-zcvf;解压缩:-xvf
-c:创建存档文件
-t:列出存档文件内容
-x:将存档文件解包
-z:指定gzip压缩格式
-v:显示详细信息
-f:指定存档文件
-j:指定bzip2压缩格式
-J:指定xz压缩格式 # xz的压缩率相对高一点
-p:保留权限
-r:追加文件
-C:指定目录
-T:指定处理的文件
-X:排除指定文件的内容
3.格式:tar -zcvf file.tar file
4.后缀名:.tar.gz或者.tar.bz2或者.tar.xz
[root@szb test]
tar-1.26-35.el7.x86_64
[root@szb test]
[root@szb test]
[root@szb test]
[root@szb test]
[root@szb test]
2)splite命令
splite
1.作用:文件切割
2.参数:
-b 指定切割的单位大小
-d 切割后的后缀名通过数值进行区分00-99,默认字母:aa到zz
3.分割后的文件通过cat和重定向>合并一起
[root@szb szb]
[root@szb szb]
total 184
-rw-r--r-- 1 root root 92669 May 10 21:15 access_log
-rw-r--r-- 1 root root 40960 Jun 22 00:34 file00
-rw-r--r-- 1 root root 40960 Jun 22 00:34 file01
-rw-r--r-- 1 root root 10749 Jun 22 00:34 file02
[root@szb szb]
3)cpio命令
cpio
1.作用:非常古老的归档工具,包管理命令,复制文件到归档包
2.三种运行模式:
copy-out:-o,归档或打包模式
copy-in:-i,提取或解包模式
copy-pass:-p,透传或目录拷贝模式
3.参数:
-t 列出标准输入的归档文件中文件列表
-O 输出到指定的归档文件名
-d 自动生成目录
[root@szb szb]
cpio-2.11-28.el7.x86_64
[root@szb szb]
[root@szb szb]
[root@szb szb]
4、案例
示例1:
查找file文件命令
[root@szb szb]
示例2:
删除/data/files目录下1周前修改过的且大于10MB的文件
[root@szb szb]
示例3:
查找/data目录下用户szb的以a开头的文件
[root@szb szb]
示例4:
查找file文件命令
[root@szb szb]
示例5:
查找file文件命令
[root@szb szb]