美文网首页
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