Linux 技术手札

Linux find 指令的 exec 参数

Linux 下找档案很多时会用上 find 指令,当用 find 指令找到档案或目录后,可以在后面加上 -exec 参数,来对每一个找到的档案或目录执行特定指令。

find 指令加上 -exec 参数的具体语法是这样:

$ find /path/to -name “filename” -exec command {} \;

在 -exec 前面是 find 指令找出想要的档案,在 -exec 后面的 command 是要执行的指令, 而 { } 包著的是找到的档案或目录,后面需要加上 \; 完结。

以下是几个 find -exec 的使用例子:

搜寻并删除所有大过 100MB 的档案:

$ find /path/to -size +100M -exec /bin/rm {} \;

找出 .log.old 结尾的档案并删除:

$ find /path/to -name “*.log.old” -exec /bin/rm {} \;

将所有档案 .php 档案改变权限为 644:

$ find /path/to -name “*.php” -exec chmod 644 {} \;

将所有目录改变权限为 755:

$ find /path/to -type d -exec chmod 755 {} \;

将所有属于 “olduser” 的档案,改变为 “newuser”:

$ find /path/to -user olduser -exec chown newuser {} \;
Exit mobile version