Tuesday, February 24, 2009

018 find命令

find命令用于根据不同的条件在UNIX文件系统中查找文件。我们将通过多个例子来学习如何使用这个命令。

语法: find [pathnames] [conditions]

如何查找文件名中包含特定字符的文件
下面的例子将查找/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天内没有被修改的文件创建成一个ddmmyyyy_archive.tar归档文件并放到/tmp目录下:


提示:你可以使用midnight commander GUI来处理很多跟文件操作相关的任务,这是一个功能强大的基于文本的文件管理工具。

No comments:

Post a Comment