0. 写在前面的话

这里并不是为了要成为一本大而全的笔记本。只是简略提一下常用的命令有什么作用。详细的命令都可以通过-h和百度搜索查看。

1. 常用命令

  1. free -h:查看服务器下内存
  2. df -lh:查看磁盘空间
  3. du -sh *:查看文件夹下文件占用多少空间
    1. du -h filename:查看文件占用多少空间
    2. ls -lh filename:查看文件详细的一些信息
    3. ll -h filename:和上条命令一样,ls -l的简写就是ll。
  4. uname -a:查看系统版本
  5. which java:查看Java安装在哪儿
  6. find -name ‘.jar‘:查找jar包在哪儿
  7. nohup java -jar abc.jar &:后台启动程序
  8. jobs:查看有没有任务在跑
  9. ps -ef:查看当前正在运行的进程
  10. ps -ef | grep ‘java’:筛选出Java进程
  11. netstat -ntlp:查看进程占用的端口
  12. curl localhost:8082/dog:curl命令模拟http请求访问网络
  13. cat error.log:用cat命令查看日志
  14. tail -n 10 error.log:用tail命令查看最新的10行代码
  15. sz error.log:将日志下载到本地
  16. kill -9 %1:杀死1号进程
  17. top:查看进程状态
  18. rm -rf /*:删库跑路,删除根目录下所有的文件。超级危险,按下回车等坐牢!
  19. scp -r /home/abc.txt root@www.def.com:/opt:本地文件复制到远程
  20. scp -r root@www.abc.com:/home/def.txt /opt/ghi:远程文件复制到本地
  21. watch -n 10 -d ‘pstree | grep http’:每隔10秒查看http连接数的变化情况
    1. watch命令监测命令的运行结果
    2. -n 指定时间间隔
    3. -d 高亮显示变化的区域
    4. ctrl + x:切换终端
    5. ctrl + g:退出终端
  22. tcpdump:抓取网络中的报文
    1. -i:指定网络截面送出数据包 tcpdump -i eth0 port 22
    2. -x:按照十六进制显示数据包内容
    3. -t:不打印时间戳
    4. -r:从文件读取数据包
    5. -c:抓取指定数量的数据包 tcpdump -c 10 -i eth0
    6. -w:将捕获的包保存到文件 tcpdump -w a.pcap -i eth0
  23. lsof:列出系统中打开的文件
    1. -i:列出符合条件的进程。(4、6、协议、:端口、@ip)
      1. 列出所有网络连接 lsof -i
      2. 列出某个端口:lsof -i:3306
    2. -c:列出指定进程所打开的文件名
    3. -t:列出打开了指定文件描述符的进程pid
    4. -p:列出指定进程号所打开的文件
  24. nc:简单、可靠的网络工具,用来快速构建网络连接
  25. netstat:网络信息统计
    1. -n:使用ip地址表示主机
    2. -a:显示所有连接中的socket
    3. -t:仅显示tcp连接
    4. -c:每隔1s输出一次
    5. -o:显示socket计时器的信息
    6. -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的进程 ```

  1. vmstat:输出系统的进程信息、内存使用、cpu等资源使用情况
  2. split -5 a.txt:将a.txt文件每5行分割为一个文件
  3. wc -c a.txt:统计文件a.txt中单词的个数
  4. more/less a.txt:一页一页查看文件内容
  5. head/tail -n a.txt:查看文件前几条/后几条数据
  6. diff -c a.txt b.txt:查看几个文件内容的差异
  7. su -root:系统之间用户的切换
  8. 2 >& 1:将标准错误重定向到标准输出
  9. &:脚本在后台运行时使用它
  10. &&:当前一个脚本成功执行完才执行后面的命令
  11. awk:处理文本文件的命令
  12. cron表达式格式:seconde minute hour day month week year
    1. *:代表所有可能的值
    2. ,:代表可以选取的值 3,4
    3. -:代表两个值之间的范围:2-4
    4. /:表示间隔频率:0-23/2:每两个小时执行一次
    5. Linux系统中好像只有:【分 时 日 月 周】选项
  13. systemctl:系统服务管理工具命令。centos7之后加入
  14. netstat -tunl:查看端口连接状态

2. 参考文章

  1. 博主的文章有一些小瑕疵,但是也还算是很不错的了

https://mp.weixin.qq.com/s/8FSSkA5J8bq8alPvqq2iCg

3. 遇见问题

3.1 vim冲突

https://www.cnblogs.com/is-Tina/p/7755928.html