在Linux中查找文件、文本、进程的实例教程

90 阅读1分钟

我正在建立一个关于在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