Linux 常用命令

255 阅读2分钟

文件查找

经常需要查找文件在哪个目录,或者哪些文件包含有指定的字符串,总结以下常用几个用法

  • 查找当前目录下包含"sjmf_free_order_1571235995571_2"字符串的所有文件

    • 命令1:grep -rn "sjmf_free_order_1571235995571_2" ./
      解析:r表示递归,n表示表示查询结果显示行号

    • 命令2:find ./ -name "." | xargs grep "sjmf_free_order_1571235995571_2"

  • 查找当前目录下名称带".cpp"的后缀文件

    • 命令:find ./ -name "*.cpp"
  • 如果不清楚文件位置,只知道文件类型

    • 命令:find / -type f -name "*.txt" | xargs grep "hello"
    • 查找在要目录下,包含hello字符串的所以后缀为".txt"的文件

内存,CPU使用情况

经常会遇到机器CPU挂满,或者内存被占满的情况,以下总结比较常用的查询命令,方便随时使用

  • top top命令很直接看出每个进程CPU,内存的使用情况。

    • 最常的方式就是:
    1. 按CPU占有率排序: shift + P
    2. 按内存占有排序: shift + M
  • 查看CPU占有率最高的前10个进程

    • 命令:ps -aux | head -1;ps aux| grep -v PID|sort -rn -k +3 | head -K
    • 拆分命令:
      1. ps -aus | head -l
        主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)
      2. ps aux|grep -v PID|sort -rn -k +3|head
        sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序,而-k +3则是针对第3列的内容进行排序,再使用head命令获取默认前10行数据
        不写head后面的K,则默认10个。-20,则表示20个进程
  • 查看内存使用最高的前10个进程

    • 命令:ps -aux | head -1;ps aux| grep -v PID|sort -rn -k +4 | head
    • 解析同上

磁盘使用情况

查看当前磁盘使用情况

  • df df命令查看当前机器挂载的各磁盘使用情况

  • du 查看当前目录下各个文件夹大小

    • 命令:du -h --max-depth=1
    • 数字表示显示文件夹层级