1、通过进程id查询服务所在目录
eg:以redis服务为例
- ps -ef|grep redis 本行命令实现:查询进程id
- ls -al /proc/5075 本行命令实现:查看进程5075进行的相关路径(注:/proc 只能在root用户下使用)
- 一次查询多个服务:ps -ef|grep -E ‘zookeeper|redis’

cd /home/soft/redis-3.2.11/src 本行命令实现:切换至目录
2、通过进程id查询服务所在端口号
eg:以Jenkins为例:
ps -ef|grep jenkins 本行命令实现:查询进程id
- netstat -tlnp|grep 4154 根据进程名查对应的端口号,4154是进程id
- 端口号就是8088
3、查看端口是否被占用
5、查看TCP连接数及状态
- 命令:netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
- 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: 没有任何连接状态
- LISTEN: 侦听来自远方的TCP端口的连接请求
6、查看内存使用情况
- cat /proc/meminfo
7、转换windows下的换行符等(dos2unix)
- 问题如下:
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
- dos2unix 命令解决;dos2unix 文件名1 文件名2 文件名3
8、上传文件命令
- rz -be -y
9、vim批量替换命令
- https://www.cnblogs.com/beenoisy/p/4046074.html
- :%s/原来内容/替换后的内容/g
- % 表示全文
- s 表示替换
10、日志查询命令
- tail命令
- -n 是显示行号;相当于nl命令;例子如下:
- tail -100f test.log 实时监控100行日志
- tail -n 10 test.log 查询日志尾部最后10行的日志;
- tail -n +10 test.log 查询10行之后的所有日志;
- head命令
- 跟tail是相反的,tail是看后多少行日志;例子如下:
- head -n 10 test.log 查询日志文件中的头10行日志;
- head -n -10 test.log 查询日志文件除了最后10行的其他所有日志;
- cat命令
- tac是倒序查看,是cat单词反写;例子如下:
- cat -n test.log |grep “debug” 查询关键字的日志
- 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 来确定日志中是否有该 时间点
