Linux 技术手札

find 指令 – Linux 搜索档案工具

find 指令是 Linux 下十分好用的搜索指令,除了基本的搜索外,find 指令可以加入多种的参数让搜索更容易,以下列出几种 find 常见用法:

以下指令会在 /home 目录搜索档案名称为 ‘myfile.txt’ 的档案:

$ find /home -name ‘myfile.txt’

用 Linux 常用的正规表达式,搜索 /home/phpini 目录下以 index 开头的档案:

$ fine /home/phpini -name ‘index*’

以下指令跟上面差不多,分别是不会区分英文大小写:

$ fine /home/phpini -iname ‘index*’

以下会根据档案体积搜索,第一个指令是找出小于 5MB 的档案,第二个指令是找大过 20MB 的档案:

$ fine /home/phpini -size -5000k
$ fine /home/phpini -size +20000K

以下指令会根据档案最后存取及修改时间做搜索:

$ find /home/phpini -amin -10
$ find /home/phpini -atime -2
$ find /home/phpini -mmin -10
$ find /home/phpini -mtime -2

第一个指令会找出过去 10 分钟被存取过的档案.
第二个指令会找出过去 2 小时被存取过的档案.
第三个指令会找出过去 10 分钟被修改过的档案.
第四个指令会找出过去 2 小时被修改过的档案.

find 指令另一个十分实用的参数是 exec, 它会将找到的结果执行指定的档案, 例如以下指令会将找出的 .mp3 档, 用 ls -l 查看档案的详细内容:

$ find /home/phpini -name ‘*.mp3’ -exec ls -l {\}\ \;

在 -exec 后面的是要指行的指令, 上面是 “ls -l”, 而 {\}\ 代表回传的档案结果, 而最后的 \; 是结束字串, 需要在指令最后加上。

Exit mobile version