https://www.jianshu.com/p/8aa737891050
一、 通用命令
1.1 系统常用命令
- ps
-a,查看所有
-u,以用户(user)的格式显示
-x, 显示后台进程运行参数
-ef,以全格式显示进程所有信息,包括:创建人、进程PID、创建时间、进程名称等等。
- 一般项目中,我们首先要查询一个进程,并对其进行删除会用以下命令
ps -aux | grep helloworld
或
ps -ef | grep helloworld
#查询到helloworld相关的进程,我们通过kill命令来操作该进程号删除该进程
kill -9 [PID]
- 查看cpu资源占用过高的进程
top #找到对应的进程号[PID]
ps -ef | grep [PID] #查看进程的信息
ll /proc/[PID]/cwd #查看执行文件的位置
或
cd /proc/[PID] #全部进程文件在这里
sudo ls -l #可看到执行文件的目录cwd -> /var/lib/redis和exe -> /usr/bin/redis-server
- kill
kill [参数] [进程号]
发送指定的信号到相应进程,不指定信号将发送SIGTERM(15)终止指定进程。
root用户将影响用户的进程,非root用户只能影响自己的进程。
- 列出所有信号名称
kill -l
#以下仅列举常用信号
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止(正常停止一个进程)
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
- 得到指定信号的数值
kill -l KILL
9
- 强制杀死进程
可用“-KILL” 参数,对应信号为SIGKILL(9) 。
#强制杀死进程PID为12345的进程
kill -9 12345
或
kill -KILL 12345
#强制杀死所有和java相关的所有进程
kill -9 $(ps -ef | grep java)
#强制杀死deploy用户相关的进程
kill -u deploy
- 强行终止进程常带来副作用,如:数据丢失或者终端无法恢复到正常状态
使用 kill 0 来终止所有由当前shell启动的进程,是个有效的方法
- dos2unix [filename]
批量将dos文件转为unix格式
find . -name 'xxx_env' | xargs dos2unix
4.列出所有硬盘,新挂载硬盘时常用
如何新增磁盘挂载:https://www.liuzhanwu.cn/9056.html
fdisk -l
df -TH #查看的是已挂载的硬盘分区情况
- 查看磁盘空间大小:df (disk filesystem)
# 人性化显示磁盘空间大小使用情况
df -hl # local参数表示只显示本地磁盘分区
df -TH # 显示全部磁盘分区,包括共享磁盘等,同df -ah
- 查看文件和目录大小:du (disk use)
选项:
-s summarize仅显示总计,只列出最后加总的值
-h human以人性化以K,M,G为单位,提高信息的可读性
-a all不仅仅统计目录也统计文件, 如果不要这个参数, 则仅仅统计目录, 忽略文件
# 进入data目录
# 查看data目录的总大小(看自己)
du -sh # 不进入data目录则需要du -sh /data
# 查看data目录及全部子目录和文件的大小(看全部)
du -ah
# 查看data目录及全部子目录的大小,仅目录不包括文件(看目录)
du -h
# 查看data目录只展开1级目录
du -h --max-depth=1
# 列出当前目录下所有文件/文件夹的大小,按照大小倒序, 取前10个结果
du -sh *|sort -rh|head -10
- 常常同sort排序命令一起使用
sort
选项:
-r:以相反的顺序来排序
-n:依照数值的大小排序
-b:忽略每行前面开始出的空格字符
-c:检查文件是否已经按照顺序排序
-d:排序时,处理英文字母、数字及空格字符外,忽略其他的字符
-f:排序时,将小写字母视为大写字母
-i:排序时,除了040至176之间的ASCII字符外,忽略其他的字符
# 将按照data目录及全部子目录和文件按照文件数字大小降序排列
du -a | sort -rn
# 只看排序后的最大前5条
du -a | sort -rn | head -5
# 同ll命令区别,ll只能展示当前目录,du可以展示全部子目录
ll -ah | sort -rn | head -5
二、 其他命令
1.2 Linux帮助命令
1. 帮助命令 man (manual)
语法:
man [命令] # 获取指定命令的帮助
如:
man ls # ls命令的帮助
man man # man命令的帮助
(1). man的级别
1:
2:
3:
4:
5:
6:
7:
8:
9:
(2). man -f [命令]
(3). man -k [命令]
2. 其他帮助命令
A. [命令] --help
B. help [shell内部命令]
C. info [命令]
总结帮助: