Linux find 命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则 find 命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。
Linux grep 命令用于查找文件里符合条件的字符串。grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。
# 查找当前目录文件 find ./ -name 'filename'
# 只查找当前目录下的所有文件夹 find ./ -type d # 只查找当前目录下的所有文件 find ./ -type f
$ find ./ -type d ./ ./ec.com ./ec.com/.mozilla ./ec.com/.mozilla/extensions ./ec.com/.mozilla/plugins ./ec.com/.cache ./ec.com/.cache/abrt ./ec.com/.config ./ec.com/.config/abrt ./ec.com/.ssh
# 查找指定目录下的所有文件的内容 # -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。 # -i 或 --ignore-case : 忽略字符大小写的差别 $ find ./nginx/conf/ -type f | xargs grep -ri '8080' ./nginx/conf/nginx.conf.default: # listen somename:8080; ./nginx/conf/nginx.conf.20200811.bkp: server 127.0.0.1:8080; ./nginx/conf/nginx.conf.ssl.bkp: server 127.0.0.1:8080; ./nginx/conf/nginx.conf.20201026.bkp: server 127.0.0.1:8080; ./nginx/conf/nginx.conf: server 127.0.0.1:8080; # -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。 $ find ./nginx/conf/ -type f | xargs grep -ril '8080' ./nginx/conf/nginx.conf.default ./nginx/conf/nginx.conf.20200811.bkp ./nginx/conf/nginx.conf.ssl.bkp ./nginx/conf/nginx.conf.20201026.bkp ./nginx/conf/nginx.conf