美文网首页
find命令、文件名后缀

find命令、文件名后缀

作者: XiaoMing丶 | 来源:发表于2018-09-18 23:12 被阅读0次

    目录

    一、 find命令
    二、 文件名后缀

    一、 find命令

    find命令find命令用来在指定目录下查找文件,其格式为:find [路径] [参数] [ -print ] [ -exec -ok command ] { } /;

    ­print: find命令将匹配的文件输出到标准输出。
    ­exec: find命令对匹配的文件执行该参数所给出的shell命令。相应命令的形式为'command' { } \;,注意{ }和\;之间的空格。
    ­ok: 和­exec的作用相同,只不过以一种更为安全的模式来执行该参数所给出的shell命令,在执行每一个命令之前,都会给出提示,让用户来确定是否执行。
    ­exec command {} \; 将查到的文件执行command操作,{} 和 \;之间有空格

    下面简单介绍find的几个常用的参数:

    • -name filename:表示直接查找该文件名的文件。

    示例:

    [root@minglinux-01 ~]# find /etc/ -name 'sshd'
    /etc/pam.d/sshd
    /etc/sysconfig/sshd
    [root@minglinux-01 ~]# find . -name 'dir*'      //.表示当前目录,*是通配符
    ./dir1
    ./dir2
    ./dir3
    ./dir4
    [root@minglinux-01 ~]# find . -name 'test*'
    ./dir1/test1
    ./dir2/test2
    ./dir2/test5
    ./dir2/test6
    ./dir2/test7
    ./dir3/test3
    ./dir4/test4
    ./123/test
    ./123/test2
    
    • -type filetype:表示通过文件类型查找文件。前面学过,filetype包含f、b、c、d、l、s等类型。

    示例命令:

    [root@minglinux-01 ~]# find . -type d
    .
    ./.ssh
    ./dir1
    ./dir2
    ./dir3
    ./dir4
    ./123
    ./123/456
    ./123/789
    [root@minglinux-01 ~]# find . -type l
    ./1_soft.txt
    
    • size 文件大小单元:查找符合指定的文件大小的文件。示例:
    [root@minglinux-01 ~]# find /root/ -type f -size -1k -exec ls -lh {} \;
    -rwxr--r--. 1 root root 0 9月  14 23:16 /root/dir1/test1
    -rw-r--r--. 1 user1 testgroup 0 9月  14 23:53 /root/dir2/test2
    -rw-r--r--. 1 root root 0 9月  15 01:20 /root/dir2/test5
    -rw-r--r--. 1 root root 0 9月  15 01:21 /root/dir2/test6
    -rw-r--r--. 1 root root 0 9月  15 01:22 /root/dir2/test7
    -rw-r--r--. 1 root testgroup 0 9月  15 00:05 /root/dir3/test3
    -rw-rw-r--. 1 root root 0 9月  15 00:42 /root/dir4/test4
    -rw-r--r--. 1 root user1 0 9月  18 07:11 /root/123/test
    -rw-r--r--. 1 root root 0 9月  18 07:19 /root/123/test2
    -rw-r--r--. 1 root root 0 9月  18 08:18 /root/1.txt
    

    介绍一个命令stat,stat命令用于显示文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。如下示例:

    [root@minglinux-01 ~]# stat 1.txt 
      文件:"1.txt"
      大小:0          块:0          IO 块:4096   普通空文件
    设备:803h/2051d   Inode:33637538    硬链接:1
    权限:(0644/-rw-r--r--)  Uid:(    0/    root)   Gid:(    0/    root)
    环境:unconfined_u:object_r:admin_home_t:s0
    最近访问:2018-09-18 08:18:15.715855472 +0800
    最近更改:2018-09-18 08:18:15.715855472 +0800
    最近改动:2018-09-18 08:18:15.715855472 +0800
    创建时间:-
    

    上面的示例中可以看到文件的3个关于时间的信息,分别为最近访问、最近更改和最近改动。
    UNIX/Linux文件系统每个文件都有三种时间戳:

    访问时间(-atime/天,-amin/分钟):用户最近一次访问时间。
    修改时间(-mtime/天,-mmin/分钟):文件最后一次修改时间。
    变化时间(-ctime/天,-cmin/分钟):文件数据元(例如权限等)最后一次修改时间。

    下面介绍3个根据文件时间戳进行搜索的参数:

    • -atime +n/-n:表示访问或执行时间大于或小于n天的文件。参数还有-amin的用法,单位是分钟。

    查找当前目录一天内被访问过的所有文件,示例:

    [root@minglinux-01 ~]# find . -atime -1
    .
    ./.bash_profile
    ./.bashrc
    ./.bash_history
    ./.ssh
    ./.ssh/authorized_keys
    ./dir1
    ./dir2
    ./dir3
    ./dir4
    ./123
    ./123/456
    ./123/test
    ./123/789
    ./123/test2
    ./1_soft.txt
    ./1.txt
    
    • -ctime +n/-n:表示写入、更改inode属性(如更改所有者、权限或者链接)的时间大于或小于n天的文件。参数也有-amin的用法,单位是分钟。

    查找当前目录一天内文件数据元(例如权限等)被修改过的文件,命令如下:

    [root@minglinux-01 ~]# find . -ctime -1
    .
    ./.bash_history
    ./123
    ./123/456
    ./123/test
    ./123/789
    ./123/test2
    ./123/1.txt
    ./1_hard.txt
    ./1_soft.txt
    ./1.txt
    
    • -mtime +n/-n:表示写入时间大于或小于n天的文件,该参数用得最多。参数也有-amin的用法,单位是分钟。

    查找当前目录一天内被修改过的文件,示例:

    [root@minglinux-01 ~]# find . -mtime -1
    .
    ./.bash_history
    ./123
    ./123/456
    ./123/test
    ./123/789
    ./123/test2
    ./1_soft.txt
    ./1.txt
    

    参数的-mmin用法:

    [root@minglinux-01 ~]# find /root/ -type f -mmin -200
    /root/.bash_history
    

    find的一个特殊用法示例如下:

    [root@minglinux-01 ~]# ls -i 1_hard.txt 
    33637540 1_hard.txt
    [root@minglinux-01 ~]# find . -inum 33637540
    ./123/1.txt
    ./1_hard.txt
    

    上例可以知道通过# find . -inum inode号命令可以查找硬链接。

    二、 文件名后缀

    在Linux系统中,文件的后缀名没有具体意义,加或不加都无所谓。但是为了区分,我们习惯在定义文件名时加一个后缀名。
    比如1.sh代表它是一个shell脚本,2.tar.gz代表它是一个压缩包,my.conf代表它是一个配置文件,test.zip代表它是一个压缩文件。

    相关文章

      网友评论

          本文标题:find命令、文件名后缀

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