开发工程师必会的Linux命令

1.日志查询类

1.1 按关键字不分页查询

grep "applyId” app.log //applyId为要查询的关键字,app.log为日志名


1.2 按关键字从前往后分页查询

cat -n app.log | grep "applyId" | more

以上命令会分页输出,使用空格键翻页,使用回车键显示更多


1.3 按关键字只显示最后M行查询

tail -n M app.log | grep “applyId” //M为行数


1.4 按关键字动态显示最新M行查询

tail -f  app.log -n M | grep “applyId" //M为行数


1.5 日志太多,将相关日志输出到文件后查看

cat -n app.log | grep "applyId" >app-new.log  //app-new.log为文件名


1.6 按日期范围查询

sed -n '/2017-10-17 10:10:10/,/2017-10-17 10:15:00/p'  app.log

注意:

2017-10-17 10:10:10 和 2017-10-17 10:15:00必须是日志中真实打印输出过的


1.7 动态输出最新M行日志

tail -100f app.log


2.端口查询类

2.1 查看端口使用情况

netstat -tln


2.2 查看指定端口使用情况

netstat -ano | grep 2181 //查看2181端口使用情况


2.3 查看占用指定端口的进程

sudo lsof -i :2181 //查看2181端口被哪个进程占用


3.查看网络连接

3.1 列出所有打开的网络连接(tcp和udp)

lsof -i


3.2 列出所有打开的tcp网络连接

lsof -i tcp


3.3 列出所有打开的udp网络连接

lsof -i udp


3.4 列出指定的tcp端口情况

lsof -i tcp:80


3.5 列出指定的udp端口情况

lsof -i udp:55


4.查看资源使用情况

4.1 查看CPU使用率、内存、虚拟内存交换情况、IO读写情况

vmstat 5 //每5秒刷新一次


4.2 查看系统中各个进程的资源占用状况

top  //使用top命令后,按Shift+M, 显示结果将按照进程内存占用率排序


4.3 查看内存使用情况

free -m  //以MB为单位


4.4 查看磁盘空间使用情况

df -h


5.进程操作

5.1 根据名称查询进程

ps -ef | grep java  //使用标准格式显示

ps aux | grep java //使用BSD的格式显示


5.2 杀掉进程

kill -9 pid  //pid为相应的进程号


6.文件复制

scp是一种安全方式的文件复制,基于ssh。

6.1 复制本地文件到远程机器

复制本地文件app.config到远程192.168.10.190服务器/config/目录下

scp /config/app.config [email protected]:/config/  //root是用户名


6.2 复制远程文件到本地

scp [email protected]:/config/app.config /config/  //root是用户名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章