find命令可以按照指定的规则对硬盘上的文件进行查找,且可以跨越不同的文件系统。find命令的使用方法:
1 | find fold [option] |
下面按照不同的选项介绍find命令。
find -name
-name是最常用的选项,它指定了需要查找的文件名的模式,模式中可以使用通配符和简单的正则表达式。下面的命令查找Wdir目录下的.cpp文件:
1 2 3 4 5 6 7 8 9 10 11 | dutor@dutor-desktop:~$ find Wdir -name "*.cpp" Wdir/Cpp/Pthread/main.cpp Wdir/Cpp/STL/sort_list.cpp Wdir/Cpp/STL/Heap.cpp Wdir/Cpp/STL/operator.cpp Wdir/Cpp/STL/bind2nd/main.cpp Wdir/Cpp/STL/Kth-Max.cpp Wdir/Cpp/STL/priority_queue.cpp Wdir/Cpp/ACM/Huffman/main.cpp Wdir/Cpp/ACM/Bellman-Ford/main.cpp ...... |
需要注意的是,如果搜索目录以相对路径形式指定,则搜索结果也以相对路径形式给出;否则,搜索结果以绝对路径形式给出。
find -user
-user选项指定需要搜索的文件的属主/用户。相似地,-group指定需要搜索的用户组。
find -type
-type选项指定文件的类型,该选项可以使用的参数如下:
| 文件类型字符 | 含义 |
|---|---|
| f | 普通文件 |
| d | 目录 |
| l | 符号链接 |
| b | 块文件 |
| c | 字符文件 |
| p | FIFO管道文件 |
| s | 套接字 |
find ! -option
!可以对特定选项进行反义,下面命令搜索不属于dutor用户的.cpp文件:
1 | find . -name "*.cpp" ! -user dutor |
注意!与-之间的空格。
find -size
使用-size选项可以根据文件的大小进行查找。下面命令查找大小为10M(近似)的文件:
1 | find . -size 10M |
-size选项的参数的单位可以是
| 单位字符 | 含义 |
|---|---|
| b | block,默认512字节 |
| c | 字节 |
| k | 1024字节 |
| M | 1024k |
| G | 1024M |
另外,-size参数前还可以使用+和-,分别表示大于和小于指定大小的文件。例如下面命令查找大于10M的文件:
1 | find . -size +10M |
find -a
find命令的各选项可以利用-a, -o, -n进行逻辑组合。-a表示AND,-o表示OR,-n表示NOT。另外还可以使用转义的括号\(\)对逻辑表达式进行分组。例如下面命令查找大于或等于10M的普通文件:
1 | find . \( -size +10M -o -size 10M \) -a -type f |
find -exec
-exec是一个非常有用的选项,它允许对find的查找结果文件执行某个命令。例如,想把当前目录下所有的扩展名为.JPG的图片扩展名改为.jpg,可以执行如下命令:
1 | find . -name "*.JPG" -exec rename 's/JPG/jpg/g' {} \; |
其中{}表示find查找结果文件中的一个的文件名,转义的分号\;作为exec选项的结束,另外\;之前需要一个空格。
你好!除了代码,此处没有多少原创之物,皆为本人搜集、整理、总结之记录与心得,欢迎转载分享!转载时请尽量注明出处,将不胜感激。祝你健康、快乐!
请问这个wp代码插件叫啥名?
wp-codebox