云计算实战系列十(文件查找及包管理)

文件查找

知识点

  • grep: 文件内容过滤 
  • find : 文件查找,针对文件名
  • xargs
  • 文件打包及压缩 gzip bzip2 xz unzip(了解)
1.1 命令文件  # which ls        //从PATH环境变量 (echo $PATH)
where is vim 
[root@localhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/usr/local/htop/bin/:/root/bin
1.2、任意文件 
A.  locate 
(查询的数据库: /var/lib/mlocate/mlocate.db)计划任务:每天自动更新数据库 /etc/cron.daily/mlocate.cron  手动更新数据库:updatedb            
locate ifcfg-eth0                
locate ifcfg-enp0s25
updatedb后才能查找到  非常麻烦 不建议使用 如果没有  locate  使用YUM直接安装是不行的。 要查一下在哪个包里 yum   provides locate    -→  mlocate   → 直接YUM mlocate即可

find详解

find options [expression] [action]
===expression===    熟用*通配符

1按文件名:
[root@newrain ~]# find /etc -name "ifcfg-eth0"  
[root@newrain ~]# find /etc -iname "ifcfg-eth0"         //-i忽略大小写
[root@newrain ~]# find /etc -iname "ifcfg-eth*"

2按文件大小:
[root@newrain ~]# find /etc -size +5M                       //大于5M
[root@newrain ~]# find /etc -size 5M
[root@newrain ~]# find /etc -size -5M
[root@newrain ~]# find /etc -size +5M -ls                   //-ls找到的处理动作        不是平时用的ls
ll - h   查看大小

3指定查找的目录深度:
-maxdepth levels
-mindepth levels
[root@newrain ~]# find / -maxdepth 3 -a  -name "ifcfg-eth0"           maxdepth 3   最大3层    a要满足2个条件 并且
按时间找(atime,mtime,ctime):
[root@newrain ~]# find /etc -mtime +5                       //修改时间超过5天
[root@newrain ~]# find /etc -mtime 5                        //修改时间等于5天
[root@newrain ~]# find /etc -mtime -5                       //修改时间5天以内

4按文件类型:
[root@newrain ~]# find /dev -type f                        //f普通
[root@newrain ~]# find /dev -type d                        //d目录
[root@newrain ~]# find /dev -type l                        //l链接
[root@newrain ~]# find /dev -type b                        //b块设备
[root@newrain ~]# find /dev -type c                        //c字符设备
[root@newrain ~]# find /dev -type s                        //s套接字
[root@newrain ~]# find /dev -type p                        //p管道文件 

5按文件权限:
[root@newrain ~]# find . -perm 644 -ls      .是当前目录    精确查找644   *一般都是精确
[root@newrain ~]# find . -perm -644 -ls     -是包含到意思 

带不带- 自己对比一下   查看。       带-表示只要6就可以
[root@newrain ~]# find . -perm -600 -ls
[root@newrain ~]# find . -perm -222 -ls                                   //全局可写
[root@newrain ~]# find /usr/bin /usr/sbin -perm -4000 -ls         //包含set uid
[root@newrain ~]# find /usr/bin /usr/sbin -perm -2000 -ls         //包含set gid
[root@newrain ~]# find /usr/bin /usr/sbin -perm -1000 -ls         //包含sticky    

找到后处理的动作 ACTIONS:
-name "ifcfg*" | xargs
-name "ifcfg*" -print  
-name "ifcfg*" -ls
-name "ifcfg*" -exec

[root@newrain ~]# find /etc -name "ifcfg*"
[root@newrain ~]# find /etc -name "ifcfg*" -print
[root@newrain ~]# find /etc -name "ifcfg*" -ls
[root@newrain ~]# find /etc -name "ifcfg*" -exec cp -rvf {} /tmp \;
[root@newrain ~]# find /etc -name "ifcfg*" -ok cp -rvf {} /tmp \;
[root@newrain ~]# find /etc -name "ifcfg*" -exec rm -rf {} \;
[root@newrain ~]# find /etc -name "ifcfg*" -delete


案例1: 分别找出file5   和除了file5的文件 
[root@newrain ~]# mkdir dir1
[root@newrain ~]# touch dir1/file{1..20}

[root@newrain ~]# find /root/dir1 -name "file5"
[root@newrain ~]# find /root/dir1 ! -name "file5"                                    !为取反

[root@newrain ~]# find /root/dir1 -name "file5" -o -name "file9"           即是file5又是file9
/root/dir1/file5
/root/dir1/file9

tar详解

打包

===打包===
[root@newrain ~]# tar -czf etc1.tar.gz /etc  //-z 调用gzip 
[root@newrain ~]# tar -cjf etc2.tar.bz2 /etc  //-j 调用bzip2
[root@newrain ~]# tar -cJf etc3.tar.xz /etc  //-J 调用xz
[root@newrain ~]# ll -h etc*
-rw-r--r--. 1 root root 8.7M 3月 12 00:08 etc1.tar.gz
-rw-r--r--. 1 root root 7.5M 3月 12 00:08 etc2.tar.bz2
-rw-r--r--. 1 root root 4.8M 3月 12 00:09 etc3.tar.xz
===解压,解包===
[root@newrain ~]# tar -tf sys.tar.xz      
[root@newrain ~]# tar -xzvf etc1.tar.gz 
[root@newrain ~]# tar -xvf etc1.tar.gz      //无需指定解压工具,tar会自动判断
[root@newrain ~]# tar -xvf etc2.tar.bz2 -C /tmp   //-C重定向到//tmp目录
[root@newrain ~]# tar xf etc3.tar.xz
参数解释
-c | --create 建立新的存档
-f | --file [HOSTNAME:]F 指定存档或设备
==解压zip
[root@newrain ~]# unzip xxx.zip
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值