我正在建立一个关于在Linux中寻找文件、监控和与此相关的一切的 "小抄"。下面是其中的一些内容。
递归查找包含特定文本的文件
grep -rn "pattern" /path/to/dir
# include only certain files
grep -rn "pattern" --include="*.js" --exclude="*node_modules/*" --exclude="*.min.js*" /path/to/dir
- 添加
-w以匹配整个单词而不是部分单词 - 添加
-i,用于不区分大小写的搜索
如何在Linux中查找文件
find /path/to/dir -name "*.js"
# execute a command on those files
# "{} \;" just means the command ends
find /path/to/dir -name "*.js" -exec rm -f {} \;
find /path/to/dir -name "*.js" -exec chmod 700 {} \;
find 命令非常强大,可以做更多的事情,比如。
- 查找具有特定权限的文件
find . -type f -perm 0664 - 查找属于某个特定用户的文件
find . -user joe - 查找N天前修改过的文件
find . -mtime 50 - 查找指定大小的文件
find . -size 50M
查找你的进程是否正在运行
ps aux | grep postgres
查找开放的端口和拥有这些端口的进程
lsof -i
lsof -i | grep apache
# list processes using tcp port 80
lsof -i tcp:80
lsof 是一个列出开放文件的命令。单独运行它将列出活动进程中的所有开放文件。添加 ,不加选项,会列出所有拥有网络文件的文件。添加一个选项-i
查找你的内部IP地址
/sbin/ifconfig