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