1. 输出显示为表格形式
有些命令的输出太拥挤对用户不太友好,比如mount
,可以用命令mount | column -t
以表格形式输出(默认输出列是以空格分隔):
-
mount输出表格形式
如果命令的输出结果都是其他非空格分隔的比如冒号,则可以使用命令cmd | column -t -s :
来输出表格。
2. 输出占用CPU和内存最高的进程
# 查看占用CPU最高的10个进程的两种方法
ps aux | sort -nk 3 -r | head -n 10
ps aux --sort=-pcpu | head -n 10
# 查看占用内存最高的10个进程的两种方法
ps aux | sort -nk 4 -r | head -n 10
ps aux --sort=-pmem | head -n 10
3. screen
一般地打开一个shell终端起一个后台进程,如果shell终端关掉该进程会立即被kill掉,此时可以使用screen
命令使进程运行于后台,同时不会因为关闭shell会话致应用程序停止。
比如打开k8s dashboard服务进程:
screen kubectl proxy
,该命令会进入到一个新的shell会话,通过快捷键CTRL+a+d
回到初始会话界面,且即使关掉该shell会话,k8s dashboard服务进程依然会保持后台运行。
-
把k8s dashboard服务进程放在后台执行
4. xargs
xargs
命令非常大的一个功能就是可以将管道前边的输出结果作为管道后的命令的参数来进一步处理,比如当前目录下查询所有的.yaml
文件然后将其打包:
find ./ -name '*.yaml' -type f -print | xargs tar -zcvf yaml.tar.gz
如果是作为管道后命令的中间参数则可以使用如下样式,比如将当前目录下所有的deb文件拷贝到其他目录:
ls *.deb | xargs -i cp {} test_xargs/
5. fuck
thefuck
是一个很好玩的工具,每次你敲错命令之后,输入fuck
可以自动更正命令,举个简单例子:
-
敲错python,fuck之后立即自动更正
6. at
该命令常用于一次性
的执行某个定时任务,比如10分钟后执行一个脚本任务,我们可以操作如下:
- 一个简单任务的操作举例
上图中任务脚本输入完之后,ctrl+d
即可结束输入。
另外,在执行at
命令之前建议先用service atd status
查看其daemon进程服务状态,而关于at
命令更详细的用法则可通过man
或help
信息查看,如果有执行周期性任务的需求则用crontab
啦。
7. htop
比top
更好用对用户更友好的查看系统进程情况的工具,在shell终端命令行直接输入htop
即可,下面是输出效果图:
-
htop输出结果图
类似windows下面的任务管理器,并且可以很直观和方便的实现对进程的过滤(F4)、排序占用CPU/Memory的进程(F6)和kill掉某个进程(F9)。