dzzl 发布于 2007-11-12 13:50:13
[分享]Linux文件查找命令(四下) 3. 可执行的操作 - exec 命令名称 {} 对符合条件的文件执行所给的Linux 命令,而不询问用户是否需要执行该命令。{}表示命令的参数即为所找到的文件;命令的末尾必须以“ \;”结束。
- ok 命令名称 { } 对符合条件的文件执行所给的Linux 命令,与exec不同的是,它会询问用户是否需要执行该命令。 - ls 详细列出所找到的所有文件。 - fprintf 文件名 将找到的文件名写入指定文件。 - print 在标准输出设备上显示查找出的文件名。 - printf 格式 格式的写法请参考有关C语言的书。
例1:查找当前目录中所有以main开头的文件,并显示这些文件的内容。 $ find . - name ‘main*’ - exec more {} \; 提供各类ARM开发板/开发工具http://edmarket.com.cn/plist-3-855.html 例2:删除当前目录下所有一周之内没有被访问过的a .out或*.o文件。 $ find . \(- name a.out - o - name ‘*.o’\)\\ > - atime +7 - exec rm {} \; 说明如下: 命令中的“.”表示当前目录,此时find将从当前目录开始,逐个在其子目录中查找满足后面指定条件的文件。\\(和\\)表示括号(),其中的“\\”称为转义符。之所以这样写是由于对Shell而言,(和)另有不同的含义,而不是这里的用于组合条件的用途。“- name a.out”是指要查找名为a.out的文件;“- name ‘*.o’”是指要查找所有名字以 .o结尾的文件。这两个- name之间的- o表示逻辑或(or),即查找名字为a.out或名字以 .o结尾的文件,find在当前目录及其子目录下找到这佯的文件之后,再进行判断,看其最后访问时间是否在7天以前(条件-atime +7),若是,则对该文件执行命令rm(- exec rm{ } \;)。其中{ }代表当前查到的符合条件的文件名,\;则是语法所要求的。上述命令中第一行的最后一个\\是续行符。当命令太长而在一行写不下时,可输入一个\\,之后系统将显示一个>,指示用户继续输入命令。提供各类ARM开发板/开发工具http://edmarket.com.cn/plist-3-855.html
locate命令 locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。当我们建立好这个数据库后,就可以方便地来搜寻所需文件了。 该命令的一般形式为: locate 例如:查找相关字issue $ locate issue /etc/issue /etc/issue.net /usr/man/man5/issue.5 提供各类ARM开发板/开发工具http://edmarket.com.cn/plist-3-855.html
/usr/man/man5/issue.net.5 。 |