熟练使用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