0. 写在前面的话
这里并不是为了要成为一本大而全的笔记本。只是简略提一下常用的命令有什么作用。详细的命令都可以通过-h和百度搜索查看。
1. 常用命令
free -h
:查看服务器下内存df -lh
:查看磁盘空间du -sh *
:查看文件夹下文件占用多少空间du -h filename
:查看文件占用多少空间ls -lh filename
:查看文件详细的一些信息ll -h filename
:和上条命令一样,ls -l的简写就是ll。
- uname -a:查看系统版本
- which java:查看Java安装在哪儿
- find -name ‘.jar‘:查找jar包在哪儿
- nohup java -jar abc.jar &:后台启动程序
- jobs:查看有没有任务在跑
- ps -ef:查看当前正在运行的进程
- ps -ef | grep ‘java’:筛选出Java进程
- netstat -ntlp:查看进程占用的端口
- curl localhost:8082/dog:curl命令模拟http请求访问网络
- cat error.log:用cat命令查看日志
- tail -n 10 error.log:用tail命令查看最新的10行代码
- sz error.log:将日志下载到本地
- kill -9 %1:杀死1号进程
- top:查看进程状态
- rm -rf /*:删库跑路,删除根目录下所有的文件。超级危险,按下回车等坐牢!
- scp -r /home/abc.txt root@www.def.com:/opt:本地文件复制到远程
- scp -r root@www.abc.com:/home/def.txt /opt/ghi:远程文件复制到本地
- watch -n 10 -d ‘pstree | grep http’:每隔10秒查看http连接数的变化情况
- watch命令监测命令的运行结果
- -n 指定时间间隔
- -d 高亮显示变化的区域
- ctrl + x:切换终端
- ctrl + g:退出终端
- tcpdump:抓取网络中的报文
- -i:指定网络截面送出数据包 tcpdump -i eth0 port 22
- -x:按照十六进制显示数据包内容
- -t:不打印时间戳
- -r:从文件读取数据包
- -c:抓取指定数量的数据包 tcpdump -c 10 -i eth0
- -w:将捕获的包保存到文件 tcpdump -w a.pcap -i eth0
- lsof:列出系统中打开的文件
- -i:列出符合条件的进程。(4、6、协议、:端口、@ip)
- 列出所有网络连接 lsof -i
- 列出某个端口:lsof -i:3306
- -c:列出指定进程所打开的文件名
- -t:列出打开了指定文件描述符的进程pid
- -p:列出指定进程号所打开的文件
- -i:列出符合条件的进程。(4、6、协议、:端口、@ip)
- nc:简单、可靠的网络工具,用来快速构建网络连接
- netstat:网络信息统计
- -n:使用ip地址表示主机
- -a:显示所有连接中的socket
- -t:仅显示tcp连接
- -c:每隔1s输出一次
- -o:显示socket计时器的信息
- -p:显示socket所属进程的pid和名字 ```shell g. 查询结束某个程序,比如有多个scrapyd 启动,找到正确需要停止的
ps -ef | grep scrapyd # 根据进程名查看进程信息
netstat -nap | grep 1095 # 根据进程id查看进程占用端口
netstat -tunlp | grep 8080 # 根据端口查看对应进程,查看占用8080端口的进程id
kill -9 1095 # 根据进程id杀死进程,杀死进程id为1095的进程 ```
- vmstat:输出系统的进程信息、内存使用、cpu等资源使用情况
- split -5 a.txt:将a.txt文件每5行分割为一个文件
- wc -c a.txt:统计文件a.txt中单词的个数
- more/less a.txt:一页一页查看文件内容
- head/tail -n a.txt:查看文件前几条/后几条数据
- diff -c a.txt b.txt:查看几个文件内容的差异
- su -root:系统之间用户的切换
- 2 >& 1:将标准错误重定向到标准输出
- &:脚本在后台运行时使用它
- &&:当前一个脚本成功执行完才执行后面的命令
- awk:处理文本文件的命令
- cron表达式格式:seconde minute hour day month week year
- *:代表所有可能的值
- ,:代表可以选取的值 3,4
- -:代表两个值之间的范围:2-4
- /:表示间隔频率:0-23/2:每两个小时执行一次
- Linux系统中好像只有:【分 时 日 月 周】选项
- systemctl:系统服务管理工具命令。centos7之后加入
- netstat -tunl:查看端口连接状态
2. 参考文章
- 博主的文章有一些小瑕疵,但是也还算是很不错的了