1、top 命令
实时显示系统中各个进程的资源占用状况
2、mv 命令
mv 命令既可以重命名,又可以移动文件或文件夹
mv abc 1234
3、scp 远程复制
从本地复制到远程服务器
复制文件
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
或者
scp local_file remote_ip:remote_folder
或者
scp local_file remote_ip:remote_file
复制文件夹
scp -r local_folder remote_username@remote_ip:remote_folder
或者
scp -r local_folder remote_ip:remote_folder
从远程复制到本地
从远程复制到本地,只要将从本地复制到远程的命令的后2个参数调换顺序即可
scp local_file root@10.168.2.16:/usr/local/jar/sjzl/jar/mdm
4、df 命令
- #查看磁盘命令有:
- #查看当前磁盘总量、剩余、已用
- df -h
-
- # 查看当前文件大小
- du -sh
-
- # 查看当前文件及所有子文件或子文件夹大小
- du -h 或者 du -m
-
- #查找大文件命令如下:
- # 查询大文件目录
- du -h --max-depth=找文件的层级数 指定查找文件路径
-
- 目录下面有哪些大文件夹,那么可以将参数max-depth=2 ,如果你想对搜索出来的结果进行排序,那么可以借助于sort命令
- du -h --max-depth=2 | sort -n
- du -hm --max-depth=2 | sort -n
-
- 只想查出最大的12个文件夹
- du -hm --max-depth=2 | sort -nr | head -12
-
-
- 当报错信息:java.io.IOException: No space left on device
- df -h查看 磁盘空间,使用磁盘空间未满
-
- 通过 df -i 分析,根目录 / 下inode空间已满了
-
- inode在linux中,每个文件,不管大小是多少都会对应一个inode,inode就是一个专门用来保存文件属性,权限和指针。在linux中,有两个概念,就是block和inode,block:用于存放实际数据inode:存放文件属性,只要这两个其中一个占满空间了,都会导致提示报错"No space left on device"磁盘空间不足。
-
- 通过根目录进行排查
- find 查找
- find / -type d -size +10M |xargs ls -lhd
- 查询到文件目录后,统计目录下文件
-
- 对该目录文件数量统计
- ls /目录/ |wc -l
-
- 定位好目录后删除小文件
- rm -rf /test/*
- #直接 rm -rf * 的话是删除不了大量的小文件
- -bash: /usr/bin/rm: Argument list too long
-
- 进入目录,删除大量的小文件,使用该命令删除
- ls |xargs rm -f
-
- 统计目录下文件数
- ls /目录/ |wc -l
- 小文件已经删除
5、find 查找
- # 按文件名查询
- # 在root目录下查询文件名为info.log
- find /root -name info.log
-
- # 在root目录下查询以.log为后缀的文件
- find /root -name '*.log'
-
- # 搜索当前目录下,超过800M大小的文件
- find . -type f -size +800M
-
- # 搜索当前目录下,超过800M大小的文件详细信息
- find . -type f -size +800M -print0 | xargs -0 ls -l
-
- # 只需要查找超过800M大小文件,并显示查找出来文件的具体大小
- find . -type f -size +800M -print0 | xargs -0 du -hm | sort -n
-
- # 需要对查找结果按照文件大小做一个排序
- find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
-
- #有时候排列的顺序并不完全是按大小一致,这个是因为du命令的参数h所致,你可以统一使用使用MB来显示,这样就能解决这个问题
- find . -type f -size +800M -print0 | xargs -0 du -h | sort -nr
6、ps 查看服务进程
-e:等价于 ‘-A’ ,表示列出全部的进程
-f:显示全部的列(显示全字段)
- # 查询所有java进程
- ps -ef | grep java
-
- # 查询指定jar的进程
- ps -ef | grep xxx.jar
-
- ps -aux | grep xxx.jar
7、netstat 查看端口
netstat -alnp | grep 端口
8、查询僵尸进程
- # 查询僵尸进程
- lsof /目录 | grep 'deleted'
-
- #查询并删除僵尸进程
- lsof /目录 | grep 'deleted' lsof /目录 | grep 'deleted' | grep -v grep | awk '{print $2}' | sort|xargs kill -9
9、查看服务器并发连接状态数量
- netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'
-
-
- # 查看正在建立的连接
- netstat -nat|grep ESTABLISHED|wc -l
-
-
- # 查看某个端口号的并发连接数
- netstat -antp | grep 8080 | grep ESTABLISHED -c
解释:
状态:描述
CLOSED:无连接是活动的或正在进行
LISTEN:服务器在等待进入呼叫
SYN_RECV:一个连接请求已经到达,等待确认
SYN_SENT:应用已经开始,打开一个连接
ESTABLISHED:正常数据传输状态
FIN_WAIT1:应用说它已经完成
FIN_WAIT2:另一边已同意释放
ITMED_WAIT:等待所有分组死掉
CLOSING:两边同时尝试关闭
TIME_WAIT:另一边已初始化一个释放
LAST_ACK:等待所有分组死掉
10、查看正在建立的连接
netstat -nat|grep ESTABLISHED|wc -l