文件与内容查找

目录

文件与内容查找

二、文件内容查看

三、文件的归档和压缩


文件与内容查找

功能项命令实例作用
findfind 起始目录 查找类型 查找条件查找起始目录及所有子目录下的文件及文件夹
find . -name "hello.txt"查找当前目录下文件名为hello.txt的文件或文件夹
find . -name "se*"查找当前目录下文件名由se开始的文件或文件夹
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 "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 mary查找当前目录下文件所有者为mary的文件或文件夹
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查找当前目录下所有的文件夹(普通文件的类型为f,了解Linux文件类型: 1)f: 普通文件,如文本文件,可执行文件 2) d: 目录 3)l: 软链接文件 4)c: 字符设备,如终端,磁带机等 5) b: 块设备,如光盘,硬盘等
find . -type l吉找当前目录下所有的软链接文件
find . -size 602c查找当前目录下文件大小为602字节的文件,可用单位为: c byte,k-Kilobytes,M - Megabytes, G-Gigabytes
find . -size +602c查找当前目录下文件大小大于602字节的文件(用-表明小于)
find . -name "hello*" -exec ls -l {} \;查找当前目录下所有以hello开头的文件并将其细节显示出来,如果查找出了目录,那么此时要注意目录中的内容会被列出来
find . -name "hello*" -exec rm {} \;查找当前目录下所有以hello开头的文件并将其别除
find . -name "hello*" | xargs ls -l查找当前目录下所有以hello开头的文件和文件夹并将其细节显示出来
linux中的 |管道符,前面这条命令的输出参数,作为后面那条命令的输入参数
find . -name "*[h]"以h结尾的,和上面相反

image-20230916160927800

这两组命令是等同的

二、文件内容查看

功能项命令实例作用
grepgrep [选项] 匹配模式 目标文件基于对目标文件的内容查找
grep "root" /etc/passwd查找到/etc/passwd文件中包含root的行
grep -n "root" /etc/passwd查找到/etc/passwd文件中包含root的行并输出行号
grep -n "^ma" /etc/passwd查找以ma为行首的行并输出行号
grep "bash$" /etc/passwd查找以bash为行尾的行
grep "^[r|d]" /etc/passwd查找以r或d为行首的行
grep -v "内容"排除包含“内容”的行
ls | grep test从Is的输出中过滤出包含test的文件名
grep -r games /etc在/etc目录下查找所有包含games的文件
grep "^sy .* login$" ./passwd在passwd目录中查找以sy开头,并以login结尾的行
find 与 grep 结合find ./ -name "*" | xargs grep word遍历查找某个目录下的所有文件中哪个包含word字符串的文件,与上一条命令的功能类似 这里如果不加 xargs ,那么grep word的对象就变成了find ./ -name "*" 输出的内容,只有加上才是从输出的文件里面去查找 word xargs的意思就是将前面输出的内容作为后面语句的参数,x表示可执行的,args表示参数的意思
wcwc -l统计文件行数或输出的个数, -c或-bvtes或--chars 只显示Bytes数。 -l或--lines 显示行数。 -w或--words 只显示字数,如果不指定参数,则统计所有信息

三、文件的归档和压缩

功能项命令实例作用
tar / gziptar 参数 生成的归档文件 被归档的文件
tar -cvf hello.tar hello.txt将hello.txt归档并命名成hello.tar
tar -cvf test.rar /opt/test将目录/opt/test归档并命名成test.tar
tar -tf test.tar将归档文件test.tar中的文件显示出来
tar -xvf test.tar提取归档文件中的内容
gzipgzip 参数 被操作缩的文件
gzip hello.tar将归档文件hello.tar压缩成hello.tar.gz
gzip -d hello.tar.gz解压缩文件成hello.tar
tar -zcvf hello.tar.gz hello.txt将hello.txt归档并压缩成hello.tar.gz
tar -zxvf hello.tar.gz解压缩
zip/unzipzip hello.zip hello.txt将hello.txt压缩并命名成hello.zip
zip -r test.zip /opt/test将/opt/test目录压缩
unzip -v hello.zip查看压缩文件hello.zip中的文件信息
unzip hello.zip解压缩hello.zip
  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值