程序员的日常 – 必备Linux常用指令(实例)

java服务器

浏览数:803

2018-9-18

后端开发人员必备的linux常用命令清单,这是我在公司给团队小伙伴一次技术小分享的内容。还没来得及整理好格式,先放上来跟大家分享。新手司机可以收藏、学习,老司机可以批评指正。

  • ps 是Process Status的缩写,ps命令用来列出系统中当前运行的那些进程的快照。

    • -a 显示同一终端下的所有程序
    • -A 显示所有进程
    • -e 等于“-A”
    • f  显示程序间的关系,pid & ppid
    • -H 显示树状结构
    • u  指定(当前)用户的所有进程
    • 示例

      • ps -ef
      • ps -aux
  • grep 文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行信息打印出来。

    • -A 前多少行,不包括当前行
    • -B 后多少行,不包括当前行
    • -C 前后多少行,不包括当前行
    • -c 统计行数
    • -i 忽略大小写
    • 示例

      • grep -C 10 keywords fileName.log 在文件fileName.log查找关键词keywords前后10行
  • netstat 查看访问网络连接状态

    • -a或–all 显示所有连线中的Socket
    • -n或–numeric 直接使用IP地址,而不通过域名服务器
    • -p或–programs 显示正在使用Socket的程序识别码和程序名称
    • -t或–tcp 显示TCP传输协议的连线状况
    • -u或–udp 显示UDP传输协议的连线状况
    • 示例

      • netstat -apn | grep 8080
      • netstat -apnt | grep 8080
  • vi 编辑器常用命令

    • 编辑 a
    • 查看

      • /word
      • 查找上一个 n
      • 查找下一个 N
    • 替换

      • xxx
    • 撤回、重做 uctrl + r
    • 复制

      • 从光标当前位置开始 v
      • 从光标当前行开始 V
    • 粘贴

      • p
    • 删除

      • 字符 xX
      • 单词 diwdaw
      • dd
    • 添加行

      • 上一行 O
      • 下一行 o
    • 翻页 ctrl + d, ctrl + u
    • 显示行号 : set nu
    • 显示当前行信息 ctrl + g
      • 0
      • $
      • 第一行 gg
      • 最后一行 G
      • (
      • )
      • {
      • }
    • 屏幕

      • 上滚 ctrl + v
      • 下滚 ctrl + e
      • 上半屏 ctrl + u
      • 下半屏 ctrl + d
      • 上滚整屏 ctrl + b
      • 下滚整屏 ctrl + f
    • 保存退出

      • w 保存
      • q 退出
      • q! 不保存,强制退出
  • df 检查linux服务器的文件系统的磁盘空间占用情况

    • -T 文件系统类型
    • -h 方便阅读方式显示,,1K=1024
    • -H -H 等于“-h”,但是计算式,1K=1000,而不是1K=1024
    • -l 只显示本地文件系统列表
    • -k 区块为1024字节
    • -a 全部文件系统列表
    • 示例

      • df -hl
  • du 查看文件和目录磁盘使用的空间

    • -a 显示当前目录以及子目录下所有的文件大小
    • -h 自动转换单位 M,GB
    • -s 统计总大小
    • 示例

      • du -a
      • du -sh 当前目录大小
  • find 查找文件,配合正则使用更佳

    • -name 名字
    • -size 大小
    • -type 类型
    • 示例

      • find /home/server -name server.xml 查找/home/server下名字为server.xml的文件
      • find . -type d | sort 查找当前所有目录并排序
      • find . -size +1000c -print 查找当前目录大于1K的文件
  • tail 从指定点开始将文件写到标准输出

    • 示例

      • tail -20f app.log
  • tar 打包工具

    • -c 新建压缩文件,与 x 逆操作
    • -v 显示操作过程
    • -f 指定压缩文件
    • -x 解压缩文件 与 c 反向操作
    • -z 支持gzip解压文件
    • 示例

      • tar -xvf name.tar.gz 解包
      • tar -cvf name.tar.gz /dir 打包,未压缩
      • tar -zxvf name.tar.gz 解包,gzip解压缩
      • tar -zcvf name.tar.gz /dir 打包,gzip压缩
  • top 性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

    top - 14:06:23 up 70 days, 16:44,  2 users,  load average: 1.25, 1.32, 1.35
    
    Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
    
    Cpu(s):  5.9%us,  3.4%sy,  0.0%ni, 90.4%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
    
    Mem:  32949016k total, 14411180k used, 18537836k free,   169884k buffers
    
    Swap: 32764556k total,        0k used, 32764556k free,  3612636k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                
    
    28894 root      22   0 1501m 405m  10m S 52.2  1.3   2534:16 java
  • wc 是 Word Count 缩写,统计指定文件中的字节数、字数、行数,并将统计结果显示输出

    • -c 统计字节数
    • -l 统计行数
    • -m 统计字符数。这个标志不能与 -c 标志一起使用
    • -w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串
    • -L 打印最长行的长度
    • 示例

      • wc -m

原文链接:https://segmentfault.com/a/1190000016376773