Linux学习笔记(8)文件搜索与帮助(find)

【1】find综合参考

关键词:find

参考:https://www.cnblogs.com/Ido-911/p/9638612.html

帮助:

  (1) man ls   (2) info  ls   (3) whatis ls   (4) help

 

搜索:

  (1) which  ls :查看ls命令所在绝对路径  

  (2) locate useradd:查看命令相关的所有的文档和资料库

  (3) find : 找寻文件

    -----------------

    时间:【1】ctime ~创建时间  【2】atime~访问时间  【3】mtime~修改时间 mmin 是分钟

    大小:【1】-size ~大小    

      案例: find / -size +100M |xargs -i du -sh {}   #查看超过100M大小的所有文件

    逻辑:【1】-a  ~ and   【2】-o ~ or  【3】-exec command {} \ ;  ~搜索到之后对其执行命令   【4】 -ok、

    类型  【1】-type       f   d    ……  f为文件,d为目录 等等

    关键词:【1】-name test*:名字以test开头的所有  【2】-size +1M:大小超过1M的  

        【3】-user root:用户为root的文件  【4】-group/nogroup  user:分组是 参数,分组不是 参数

    --------------

    find /home/test/    -name test* |more            #查询/home/test/ 目录下 名字为test开头的所有文件   |more是分页显示

    find /etc/ -name init*  -type f |more  #查询 /etc/目录下 名字为init开头的,类型为文件的所有信息

    find /etc/ -mmin +120 |more    #查询/etc/目录下120分钟前被修改过的文件

    find /etc/ -mtime -2 |more    #查询/etc/目录下2天内被修改过的文件

    find /temp/ -mtime +7 -name '*itpux*'   -exec rm -rf {} \ ;             #找到目录下,7天前有修改的  名称中包含itpux的  然后执行删除

    find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \; #删除10天前的文件

 

  (4)grep :在文件/结果集 中搜索内容所在行

  【1】grep 'root'  password  :查看root关键词在password的所在行数据 

    #或可以改写成cat password |grep 'root'

    常用参数:

      【1】-i 不区分大小  【2】 -w 限制全部路径   【3】-c 匹配里面出现的参数次数

      【4】-l 列包含参数的文件名

  

【2】find 入门

一,查找文件

find  查找位置  选项(查找方式) 参数
find /root -user root    //按用户查找,找/root里面所有root的文件
find /root -type f  //按类型查找,f是普通文件
find /root -type d   //按类型查找,d是目录
find /root -type l  //按类型查找,l是链接文件
find /root -name abc  //按文件名查找,找不到就不显示
find /root   -name  "a*"    //模糊查找
find /root  -size -10M   //按大小查找, 找/下小于10M的文件
find /root  -size +10G    //找大于10G的文件
find /root  -size -10k
find /root  -mtime  -1   //找一天内被修改过的文件
echo 123 > 123.txt
find /root  -mtime  +1  //找一天前被修改过的文件
find /root -perm -o=rw  //在root目录里找其他人有rw权限的文件

 时间:【1】ctime ~创建时间  【2】atime~访问时间  【3】mtime~修改时间 mmin 是分钟

    大小:【1】-size ~大小    

      案例: find / -size +100M |xargs -i du -sh {}   #查看超过100M大小的所有文件

    逻辑:【1】-a  ~ and   【2】-o ~ or  【3】-exec command {} \ ;  ~搜索到之后对其执行命令   【4】 -ok、

    类型  【1】-type       f   d    ……  f为文件,d为目录 等等

    关键词:【1】-name test*:名字以test开头的所有  【2】-size +1M:大小超过1M的  

        【3】-user root:用户为root的文件  【4】-group/nogroup  user:分组是 参数,分组不是 参数

 

find特殊用法1:(默认就是 -a )

-a 并且    -o 或者

find /root -name root -a -user root  //找名字是root并且属于root的文件,-a也可以省略不写

find /root -name root -o -user root  //找名字是root或者属于root的文件

 

find特殊用法2

find /root -type f -exec cp {} /opt \;    //找/root里的普通文件,然后将其拷贝到/opt下 , -exec是要继续执行某指令,{}是前面找到的所有文件,\;代表结束

 

find特殊用法3:

-perm 权限查找

find /root -perm -o=rw //在root目录里找其他人有rw权限的文件

【3】常用find实践

(1)清空所有文件,追加内容到查找到的文件

find /data/docker  -type f -name "*.log" -exec sh -c "echo ''>{}" \;
find /data/docker  -type f -name "*.log"|xargs -I {} sh -c "echo ''>{}"

 






posted @ 2018-12-18 21:27  郭大侠1  阅读(308)  评论(0编辑  收藏  举报