美文网首页
find 命令的使用笔记

find 命令的使用笔记

作者: My熊猫眼 | 来源:发表于2021-12-29 09:51 被阅读0次

    使用find 命令查找文件系统中的空间使用:

    root:~# find / -path /proc -prune -o -path /dev -prune -o -path /sys -prune -o -path /run -prune -o -size +100M -type f -exec du -hs {} \;  | sort -k1h  | tail 
    

    其中 -prune 一般必须和-path 一起使用;并且-prune 后面的其他条件都需要 用逻辑 -o 进行连接;
    上述命令的意思是:
    在根目录下,查找size大于100M的文件,在查找过程中排除 /proc, /dev,/sys, /run 目录,查找后统计各个文件的使用大小,然后用sort 命令进行排序,最后取出使用较大的几个文件;

    关于-perm参数的理解:

    在查看man 帮助文档的时候,在-perm参数的说明中有“permission bits”的说法,这个说法是什么意思呢? 这个其实就是指所有的非0(可以是r,w,x中的任意一个)的权限设置,而并不是指permission的所有的bits. 理解了这个,就容易理解 -perm 的-mode 与 /mode的区别了;

    关于-atime参数的理解:

    atime, mtime,ctime的单位是24h, 也就是查找出的时间都是某个24小时为区间, 所以 n 就表示24*n 小时以上,但是(n+1)*24小时以内; -n 表示 n*24 小时以内的;+n 表示 n*24小时以上的

    关于-xdev, -print0 , -maxdepth参数的使用:

    这个参数是 global option, 通常紧跟查找的path ,所以一般写在最前面,表示只是查找当前目录所在的文件系统,而不查找属于其他文件系统的目录,当然了,该参数可以和 -path PATH -prune 配合使用;
    -maxdepth 表示find 查找路径的深度
    -print0 主要是当查找的文件包含 特殊符号时候的处理方式,可以和xargs -0 配合使用,非常有用;
    如下表示:
    查找根目录所在的文件系统,同时也要排除/home 目录,查找修改时间是5*24小时以前,但是6*24小时以内的文件, 查找深度最大为3, 最后 以print0 方式打印出来;

    root:~# find / -xdev -maxdepth 3  -path /home -prune -o -mtime 5 -type f -print0 
    

    相关文章

      网友评论

          本文标题:find 命令的使用笔记

          本文链接:https://www.haomeiwen.com/subject/ujkvqrtx.html