码迷,mamicode.com
首页 > 其他好文 > 详细

03:文件查找

时间:2021-06-17 16:36:26      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:head   mtime   inf   大小   name   end   处理   ati   用户组   

内容概要

 

1 文件查找

 

内容详细

 技术图片

 

 

1 文件查找

 

# 查找命令所在位置
?
which ls
...
?
ps: 一些命令的路径都被配置到了环境变量PATH里
?
# 根据文件属性查找文件(find)
?
前戏: 
    共用参数:(默认是并且的关系)
        -a : 并且
        -o : 或者
例:
    [root@python test]# find ./ -size -30M -o -size +50M
    ./
    ./txt
    ./txt2
?
1 按照文件名查找
    -name"xxx" : 查找xxx文件
例:
    [root@python ~]# find /root/ -name "txt*"  -size +40M
    /root/txt2
    /root/a/b/c/txt2
        
2 按照文件的创建时间来查找
    +7     : 7天以前创建
    -7     : 7天以内创建
    7      : 正好第7天前创建
    
    -ctime : 按照创建时间查询
    -mtime : 按照修改时间查询
    -atime : 按照访问的时间查询
例:
    # 3天以内创建
    [root@python ~]# find /root/ -ctime -3
    # 3天以前创建
    [root@python ~]# find /root/ -ctime +3
    
3 按照文件属主、属组查找
    -user  : 属主
    -group : 属组
例:
    [root@python ~]# find /root/ -size +10M -user test
    /root/txt
    [root@python ~]# find /root/ -size +10M -group test
    /root/txt
    
4 按照文件的大小查找
    find 查询的路径 -size 大小
例:
    find /root/ -size +50M : 查询大于50M的文件
    find /root/ -size 20M  : 查询等于20M的文件
    find /root/ -size -60M : 查询小于60M的文件
    
5 设置查询最高的目录层级(目录层级参数必须放在第一位)
    -maxdepth 层级数
例:
    [root@python ~]# find /root/  -maxdepth 3 -a  -size +40M
    /root/txt2
    [root@python ~]# find /root/  -maxdepth 6 -a  -size +40M
    /root/txt2
    /root/a/b/c/txt2
    
6 按照文件类型来查询
    # 按照目录查询
        -type d
    例:
        [root@python ~]# find /root/ -type d
    # 按照普通文件来查询
        -type f
    例:
        [root@python ~]# find /root/ -type f
    # 查看设备文件
        -type c
    例:
        [root@python dev]# find /dev/ -type c
?
7 按照权限来查询
?
前戏: 
    rw-r--r--:
    
    rw- : 所属用户    (6)
    r-- : 所属用户组  (4)
    r-- : 其他用户    (4)
    
    r(4) : 只读
    w(2) : 只写
    x(1) : 执行
    
    chmod : 修改文件权限
        chmod 755 文件路径
    chown : 修改所属用户及用户组
        chown 用户.用户组 文件路径
        
    -perm 权限 : 按权限级别查找
例:
    [root@python test]# ll
    总用量 122880
    -r--r-----. 1 test user1 20971520 6月  16 17:33 txt
    -rw-r--r--. 1 root root  41943040 6月  16 17:33 txt1
    -rwxr-xr-x. 1 root root  62914560 6月  16 17:33 txt2
    [root@python test]# find ./  -perm 440
    ./txt
    [root@python test]# find ./  -perm 644
    ./txt1
    ./txt2
?
8 处理查询结果
    # 1 直接跟命令(有些命令不能使用,不推荐)
    例:
        [root@python test]# find ./  -perm 755 -ls
        202362858    0 drwxr-xr-x   2 root     root           41 6月 16 17:59 ./
        134514204 61440 -rwxr-xr-x   1 root     root     62914560 6月 16 17:33 ./txt2
    # 2 exec(推荐)
    # {} : 代表前面查询出来的内容,相当于一个容器
    find ./ -size +50M -exec cp {} /opt/ \;
    # 3 使用管道
    # xargs是将前面命令执行的结果先用一个{}来保存,然后用{}取出来处理
    find ./ -size +50M | xargs -I {} cp {} /mnt/
    
?

 

 

03:文件查找

标签:head   mtime   inf   大小   name   end   处理   ati   用户组   

原文地址:https://www.cnblogs.com/chijintao/p/14890997.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!