一、find命令
find 在指定目录下查找文件
如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找。
find 路径 选项
-name 文件名
[root@localhost ~]# find /etc/ -name "sshd_config"
#在/etc/目录下查找文件名为“sshd_config”的文件
/etc/ssh/sshd_config
[root@localhost ~]# find /etc/ -name "sshd*"
#在/etc/目录下查找文件名以“sshd”开头的文件(*.txt以txt结尾的文件,*hd*含有hd的文件)
/etc/ssh/sshd_config
/etc/systemd/system/multi-user.target.wants/sshd.service
/etc/sysconfig/sshd
/etc/pam.d/sshd
-type 文件类型
文件类型主要有:一般正规文件(f)、设备文件(b,c)、目录(d)、链接文件(l)、socket(s)
FIFO(p)等属性。
[root@localhost ~]# find /etc/ -type l
#在/etc/目录下查找文件类型为链接文件(l)的文件
[root@localhost ~]# find /dev/ -type b
#在/dev/目录下查找文件类型为设备文件(b)的文件
-mtime:当文件的“内容数据”更改时,就会更新这个时间
-atime:当文件的内容被取用时(cat文件),就会更新这个时间
-ctime:当文件的权限、属性更改时,就会更新这个时间
可以通过命令sta查看文件的详细信息
更改1.txt文件权限为700,发现最近改动时间(-ctime)发生改变。
给1.txt文件追加内容123,发现最近改动时间(-ctime)和最近更改时间(-mtime)都发生改变。所以当文件内容发生改变的时候,atime、ctime都会发生改变。
访问(cat)1.txt文件,发现最近访问时间(-atime)发生了改变。
find / -mtime 0
#查找 / 目录下从现在开始24小时前,有改动过内容的文件。
find / -mtime 3
#查找 / 目录下3天前开始24小时前(第3天-第4天),有过改动的文件。
find / -mtime -4
#查找 / 目录下4天内,有过改动的文件。
find / -mtime +4
#查找 / 目录下4天之前,有过改动的文件。
find /etc -newer /etc/passwd
#查找/etc 目录下,文件日期比/etc/passwd 新的文件。
find / -inum 3358
#查找 / 目录下,inode号为3358的文件。
find / -mmin -60
#查找 / 目录下一小时以内,有改动过的文件。
-size (k,M,G)
find / -size +10k
#查找 / 目录下,大于10k的文件。
find / -size +10k -size -50k
#查找 / 目录下,大于10k且小于50k的文件。
find / -size +10k -exec ls -l {}\;
{}代表的是“由find找到的内容”,find找到的结果会被放置到{}位置中。
-exec一直到\;是关键字,代表find额外命令的开始(-exec)到结束(\;),在这中间就是find命令内额外额命令。上个例子中的ls-l就是额外命令。
查找/root/test/目录下大于10k的文件,然后将大于10k的文件移动到/tmp/abc/目录下。
查找/tmp/abc/目录大于15k的文件,然后将大于15k的文件移动到/root/test/目录下,并重命名为bak.txt。
find / -mtime -1 -exec mv {} {} \;
#有两个{},是因为要将他们重命名并放在原来所在目录
二、文件后缀名
Linux文件是否能被执行,和后缀名没有太大关系,主要看文件的属性有关。加后缀名是为了方便我们 使用方便。
file.tar.gz file.tgz file.tar.bz2 file,rar file.gz file.zip 这些都是压缩文件,要通过相应的工具来解压或提取;
file.php 用php语言解释器进行解释,能用浏览器打开的文件;
fil.so这类是库文件;
file.doc file.obt 这是openoffice能打开的文件;