Linux操作系统-05-文件查找与归档压缩

本文详细介绍了在Linux系统中如何熟练使用find命令进行文件查找,grep命令进行内容搜索,以及tar和zip/unzip进行文件归档与压缩的基本用法和各种选项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

熟练使用find命令进行文件查找

熟练使用gerep命令对文件内容进行查找

熟练使用tar等命令进行文件归档与解压缩

一、文件查找

1、find命令

基本格式  :find 起始目录 查找类型 查找条件

#命令实例
find -name "hello.txt"                #查找当前目录下文件民为hello.txt的文件或文件夹
find  -name "hello"                   #查找当前目录下文件名包含hello的文件或文件夹
find /home -name "bash"               #查找/home目录下文件名包含bash的文件或文件夹
find . -name "*"                      #查找当前目录下的所有文件或文件夹(作用同ls -R)
find . -name "[h]*"                   #查找当前目录下以h开头的文件或文件夹
find . -name "[h|f]*"                 #查找当前目录下所有以h或f开头的文件或文件夹
find . -name "[a-z]*"                 #查找当前目录下所有以小写字母开头的文件或文件夹
find . -name "[A-Z]*"                 #查找当前目录下所有以大写字母开头的文件或文件夹
find . -name "[a-Z]*"                 #查找当前目录下所有以字母开头的文件或文件夹
find . -name "[h-w]*"                 #查找当前目录下所有以字母h-w开头的文件或文件夹
find . -name "[0-9]*"                 #查找当前目录下所有以数字开头的文件或文件夹
find . -name "[5-8]*"                 #查找当前目录下所欲以数字5-8开头的文件或文件夹
find . -name "[a-zA-Z0-9]*"           #查找当前目录下所有以数字和字母开头的文件或文件夹
find . -name "h?llo*"                  #查找当前目录下所有以h后面带一个字符再加llo开头的文件或文件夹
find . -name "[^ a-h]*"                   #查找当前目录下所有不以a-h开头的文件或文件夹
find . -name '\\'                       #查找当前目录下所有包含特殊字符\的文件(注意使用单引号)


find -perm 777                         #查找当前目录下权限为777的文件或文件夹
find -path "./test" -prune -o -name "hello"        #查找当前目录下除test目录的其他所欲目录中包含的hello的文件或文件夹
find . -user xiaodi                      #查找当前目录下文件所有者为xiaodi的文件或文件夹
find . -group dev                        #查找当前目录下文件或文件夹所在组为dev的内容
find . -mtime -3                         #查找当前目录下在3天内更新过的文件或文件夹
find . -mtime +3                         #查找当前目录下在3天前更新过的文件或文件夹
find . -newer hello.txt                  #查找当前目录下比hello.txt新的文件或文件夹
find . ! -newer hello.txt                #查找当前目录下比hello.txt旧的文件或文件夹
find . type d                            #查找当前目录下所有文件夹
find . type l                            #查找当前目录下所有的软链接文件
find . -size 602c
find . -size +602c
find . -name "hello*" -exec ls-l {} \    #查找当前目录下所有以hello开头的文件并将其详细信息显示出来,如果查找出目录,那么会被ls -l列出来
find . -name "hello*" | xargs ls-l        #查找当前目录下所有以hello开头的文件并将其详细信息显示出来,如果查找出目录,那么会被ls -l列出来,该命令中的"|"是管道符

2、grep命令

基本格式:grep [选项] 匹配模式 目标文件

grep "root" /etc/passwd        #查找/etc/passwd文件中包含root的行
grep -n “root” /etc/passwd     #查找/etc/passwd文件中包含root的行并输出行号
grep “^ma” /etc/passwd         #查找以ma为行首的行
grep "bash$" /etc/passwd       #查找以bash为行尾的行
grep "^s.*login$" ./passwd     #查找passwd文件中以s为开头且以login结尾的行
grep "^[r|d]" /etc/passwd      #查找以r或d为行首的行
grep -v "内容"                        #排除包含“内容”的行
ls | grep test                        #从ls输出的内容中过滤出包含test的文件名
find ./ -name "*" | xargs grep word   #遍历某个目录下的所有文件中包含word的文件,与上一条命令的功能类似。

wc命令    wc -l                    #统计文件行数或输出的个数,
ls /var/log | grep log | wc -l     #统计ls  /var/log下包含log的数量

二、文件归档与压缩

文件归档:不压缩只是把一堆文件放到一起

1、tar命令

参数:c创建归档,x提取归档,f指定文件,v输出创建过程动态信息,显示哪些文件加入了归档

tar -cvf  varlog.tar ./*      #将当前目录下的所有文件归档,tar是归档文件的后缀
tar -cf  varlog.tar ./*       #没有参数v的话不显示归档过程的信息
tar -tf  varlog.tar           #将归档中的文件显示出来
gzip varlog.tar               #压缩后会得到varlog.tar.gz,归档的varlog.tar文件就没有了
gzip -d varlog.tar.gz         #解压缩文件为varlog.tar
tar -xvf varlog.tar           #提取归档文件中的内容
tar -zcvf  varlog.tar.gz ./*  #将当前目录下的所有文件归档并压缩成 varlog.tar.gz
tar -zxvf  varlog.tar.gz      #解压

2、zip /unzip

zip test.zip test.txt      #将test.txt文件压缩为test.zip
zip varlog.zip ./*         #将当前目录下所有文件进行压缩
unzip -v test.zip           #查看压缩文件test.zip中的文件信息
unzip test.zip                #解压缩test.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zkaisen

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值