问题描述
我是Linux的初学者,我想在/etc/
中搜索所有.conf
文件。
我试过grep -r *.conf /etc
,但结果不对。
我究竟做错了什么?
最佳解决思路
只需按键盘上的Ctrl
+ Alt
+ T
即可打开终端。打开时,运行以下命令:
find . -type f -name "*.txt"
这将列出扩展名为.txt
的所有文件。
开头的.
表示当前目录。 find
在给定路径下的所有目录中递归搜索。如果希望搜索从当前工作目录以外的其他位置开始,请指定路径,例如:
find /etc -type f -name "*.conf"
这将在/etc
目录及其所有子目录中搜索具有.conf
扩展名的常规文件。
次佳解决思路
我个人使用find
,但你也可以为这些东西进行全局测试:
shopt -s globstar
ls /etc/{,**/}*.conf
你可以使用locate,它很快但不可靠。
locate '/etc/**.conf'
第三种解决思路
grep
搜索文件的内容,而不是文件名。
要查找/etc/
中的所有.conf
文件,您需要查找:
find /etc -name "*.conf"
第四种思路
find命令很慢,使用此命令会立即给你结果:
locate "/etc/*.conf"
有关locate
命令(在mlocate
包中)的更多信息,请访问:https://medium.com/@thucnc/the-fastest-way-to-find-files-by-filename-mlocate-locate-commands-55bf40b297ab