第九章 Linux系统文件查找与压缩
我们将要学习:
1 . 文件的查找命令
2 . 不同文件的查找方法
3 . 查找命令的横向比较
Linux的文件搜索命令
which 及 where 仅能查找 $PATH 路径下的文件,也就是平时可以执行命令的位置
which显示一个可执行文件的完整路径,按照alias-> $PATH的顺序查找的顺序查找
whereis搜索一个可执行工具及其相关配置、帮助
slocate 查找文件飞快,但是文件信息每一天才能更新一次,但是无法查出刚刚添加的文件
find 最兢兢业业的查找命令,但是速度很慢,功能非常强大
grep 可以搜索包含某些关键词的文件
1、which 查找可执行文件命令 2、whereis 比which多了一个man帮助 3、slocate/locate 查的是自己的数据库,自己的数据库用updatedb更新 4、find 5、grep
[root@localhost /]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@localhost /]# whereis ls
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz/usr/share/man/man1p/ls.1p.gz
[root@localhost /]# locate ls #列出说有的文件中有ls字的文件
/boot/grub2/i386-pc/blscfg.mod
/boot/grub2/i386-pc/cbls.mod
/boot/grub2/i386-pc/command.lst
locate –r ‘*dd’ 使用 -r 参数使用正则表达式精确匹配
find / -name “*aa*.sh” 查找如果不确定用双引号括起,*表示多个字母
find查的比较全但是慢,可以用locate查的快
find / -name “*aa*.sh” –ls 查到并列出文件详细信息
find / -name “*aa*.sh” –exec file {} \; 解释:-exec后面更的想要执行的命令
find / -name “*aa*.sh” –ok file {} \; 解释:-ok后面更的想要执行的命令,要询问你是否要删除,-exec是不询问直接执行
find / -user sheck 查看sheck用户的文件
find / -user sheck -a(且,-o为或) -group sheck 查找sheck用户并且sheck组的文件
-name(文件名称) -user(用户名) -type(文件类型)-group(组) -perm(文件权限)
-size(大小) -mtime(更改时间) -ok -exec -ls
##########################################
find 的常用 find 参数如下:
-user : 根据文件拥有者寻找文件
-group : 根据文件所属组寻找文件
-name : 根据文件名寻找文件
-perm : 根据文件权限寻找文件
-size : 根据文件大小寻找文件
-type : 根据文件类型寻找文件,参数对应 c、b、l、f、d
##########################################
find / -pern -777 -type d –ls 显示文件夹中文件权限是777的文件夹,这样777是比较危险777所以人都可以执行,要设置为1777其他用户只能执行自己创建的文件
find [ 路径] [ 参数] [ 表达式] -exec 指令 {} \; ;
–{} 代表find找到的文件
–\ 禁止转意
–;表示本行指令结束
当使用-exec 指令时,{ } \ ; 必须一同添加
# cat /etc/cron.daily/mlocate 每天凌晨执行命令文件
[root@localhost /]# vi /etc/DIR_COLORS 这个文件是改系统里面显示的各种颜色
grep 查看文件指定字符的命令
# grep -R -l nologin /tmp/lianxi-linux/ 查看/tmp/lianxi-linux文件夹中的文件中包含nologin单词的文件名称,如果去掉 –l就是查看每个nologin单词的位置,有可能一个文件有多个nologin那就所以有的行都显示在屏幕上
4、压缩工具
Linux中是先打包在压缩文件
? compress ,uncompress传统的最古老的 传统的最古老的Unix压缩工具
? gzip ,gunzip 最广泛的压缩工具
Linux系统中标准压缩工具对于文本文件能够达到很高压缩率,对于文本文件能够达到很高压缩率
? bzip2 ,bunzip2新版Linux压缩工具,比gzip拥有更高的压缩率
#compress source.dat 压缩
# compress -d source.dat.Z 解压
#gzip a 压缩
#gunzip a.gz 两个方法一样 #gzip –d a.gz 解压
#bzip2 a 压缩
#bunzip2 a.bz2 两个方法一样 #bzip2–d a.bz2 解压
2、tar包的使用
? 磁带机、软盘、ZIP设备上做备份。
? 可以备份在硬盘文件上
? 主要参数:
– c:将文件备份出来 创建
– v:将过程输出
– x:从一个文件中解出备份
– r: 将文件添加入已经存在的文件中
? 范例
– 备份:tar cvfbackup.tar *.txt
– 解开:tar xvfbackup.tar –C backup/
#tar cvf /tmp/root.tar /tmp 打包文件/tmp打包到/tmp/roor.tar
#tar rvf /tmp/root.tar /etc/passwd /etc/hosts追加,把passwd/hosts文件追加到打包文件root.tar中,后面可以添加多个文件
#tar xvf /tmp/root.tar -C /tmp/ddd 解压,把root.tar解压到ddd目录下
tvf 查看压缩包
#tar cvfz /tmp/root.tar.gz /tmp/hosts 打包并压缩成.gz文件,解压是xvfz
#tar cvfj /tmp/root.tar.bz2 /tmp/hosts 压缩成bz2压缩文件,压缩程度变高,解压是xvfj