1、通过进程id查询服务所在目录

eg:以redis服务为例

  1. ps -ef|grep redis 本行命令实现:查询进程id
  2. ls -al /proc/5075 本行命令实现:查看进程5075进行的相关路径(注:/proc 只能在root用户下使用)
  3. 一次查询多个服务:ps -ef|grep -E ‘zookeeper|redis’

Linux命令学习 - 图1

  1. cd /home/soft/redis-3.2.11/src 本行命令实现:切换至目录

    2、通过进程id查询服务所在端口号

    eg:以Jenkins为例:

  2. ps -ef|grep jenkins 本行命令实现:查询进程id

  3. netstat -tlnp|grep 4154 根据进程名查对应的端口号,4154是进程id
  4. 端口号就是8088

image.png

3、查看端口是否被占用

  1. netstat -anp |grep “端口号”
  2. 出现LISTEN时表示端口被占用。

    4、查看系统版本

  3. cat /etc/redhat-release

image.png

5、查看TCP连接数及状态

  1. 命令:netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
  2. TCP连接状态详解:(只有存在某种状态,才会显示)
    • LISTEN: 侦听来自远方的TCP端口的连接请求
      SYN-SENT: 再发送连接请求后等待匹配的连接请求
      SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认
      ESTABLISHED: 代表一个打开的连接
      FIN-WAIT-1: 等待远程TCP连接中断请求,或先前的连接中断请求的确认
      FIN-WAIT-2: 从远程TCP等待连接中断请求
      CLOSE-WAIT: 等待从本地用户发来的连接中断请求
      CLOSING: 等待远程TCP对连接中断的确认
      LAST-ACK: 等待原来的发向远程TCP的连接中断请求的确认
      TIME-WAIT: 等待足够的时间以确保远程TCP接收到连接中断请求的确认
      CLOSED: 没有任何连接状态

6、查看内存使用情况

  1. cat /proc/meminfo

7、转换windows下的换行符等(dos2unix)

  1. 问题如下:

restart.sh: line 2: $’\r’: command not found: No such file or directoryst/tracker-gate-v1/
restart.sh: line 4: $’exit\r’: command not found
restart.sh: line 5: $’\r’: command not found

  1. dos2unix 命令解决;dos2unix 文件名1 文件名2 文件名3

8、上传文件命令

  1. rz -be -y

9、vim批量替换命令

  1. https://www.cnblogs.com/beenoisy/p/4046074.html
  2. :%s/原来内容/替换后的内容/g
  • % 表示全文
  • s 表示替换

10、日志查询命令

  1. tail命令
  • -n 是显示行号;相当于nl命令;例子如下:
  • tail -100f test.log 实时监控100行日志
  • tail -n 10 test.log 查询日志尾部最后10行的日志;
  • tail -n +10 test.log 查询10行之后的所有日志;
  1. head命令
  • 跟tail是相反的,tail是看后多少行日志;例子如下:
  • head -n 10 test.log 查询日志文件中的头10行日志;
  • head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
  1. cat命令
  • tac是倒序查看,是cat单词反写;例子如下:
  • cat -n test.log |grep “debug” 查询关键字的日志
  1. sed命令
  • sed -n ‘/2014-12-17 16:17:20/,/2014-12-17 16:17:36/p’ test.log
  • 特别说明:上面的两个日期必须是日志中打印出来的日志,否则无效;
  • 先 grep ‘2014-12-17 16:17:20’ test.log 来确定日志中是否有该 时间点