find命令是一个在UNIX文件系统中查找文件的常用命令,可以进行很多条件查找。让我们来看一些find命令的实例。
语法: find 路径 约束条件
如何查找在文件名中含有指定关键字的文件?
下面这条命令查找在“/etc”目录下所有文件名中含有“mail”的文件。
# find /etc -name "*mail*"
如何查找文件大小超过指定值的文件?
下面这个命令会列出系统中所有大于100M的文件
# find / -type f -size +100M
如何查找在最近几天没有被修改过的文件?
下面这条命令会列出在当前目录下在最近60天没有被修改过文件
# find . -mtime +60
如何查找在最近几天被修改的文件?
下面这条命令会列出在当前目录下在最近2天被修改过文件
# find . –mtime -2
如何删除扩展名为.tar.gz并且大于100M的压缩文件?
当你不想意外删除文件时,那么当执行下列命令要小心点。最好的方法是利用“ls -l”去执行下列相同命令以确保当执行rm命令时,你知道什么文件会被删除。
# find / -type f -name *.tar.gz -size +100M -exec ls -l {} \;
# find / -type f -name *.tar.gz -size +100M -exec rm -f {} \;
如何对最近几天没有被修改的文件进行存档?
下面的命令查找到在“/home/jsmith”目录下最近60天没有被修改的文件并且在“/tmp”下创建一个格式为“ddmmyyyy_archive.tar”的归档文件
# find /home/jsmith -type f -mtime +60 | xargs tar -cvf /tmp/`date '+%d%m%Y'_archive.tar`
提醒一下:你可以使用“midnight commander”上进行有关文件的一些操作,它是UNIX字符界面下一款非常强大的文件管理器。
【编辑推荐】