1、查看证在执行的进程
ps命令:提供一份当前进程的快照,top命令:自动刷新当前进程
ps aux | less 显示所有运行中的进程
-A:显示所有进程
-a:显示终端包括其它用户的所有进程
-x:显示无控制终端的进程
pstree 以树状显示正在运行的进程,树的根节点为pid或init ;
进程树将以用户所拥有的进程作为根节点。
2、计算文件的行数、字数或字符数
wc filename 显示文件内容信息,依次(行数,字数,字节数,文件名称)
-l 显示文件行数
-c 显示文件的字节数
-m 显示文件的字符数
-L 显示文件的最长行的长度
3、比较两个文件不同
diff [参数] filename1 filename2 比较两个文本文件,将不同的行列出来
md5sum filename1 filename2 比较两个文件的md5
4、lsof
输出的各项信息
lsof输出各列信息的意义如下:
command:进程的名称
pid:进程标识符
user:进程所有者
fd:文件描述符,应用程序通过文件描述符识别该文件。每个进程都有自己的文件描述符表,fd可能重名
type:文件类型
node:索引节点(文件在磁盘上的标识)
name:打开文件的确切名称
以下我认为可能用的比较多的,具体看参考文档
-p 列出pid所打开的文件
lsof -p 1234 展示进程号1234所打开的文件,多个用逗号隔开
-u 列出某个用户打开的文件
lsof -u root
-i lsof [-i][46] [protocol] [@hostname|hostaddr] [:service|port]
46:IPv4 or IPv6
protocol:TCP or UDP
hostname:Internet host name
hostaddr:IPv4地址
service:/etc/service中的service name(可多个)
port:端口号(可多个)
例:
lsof -i 4 IPv4网络文件打开情况
lsof -i @192.168.20.31:30085 展示tcp中ip连接情况
lsof -i :1883 查看1883端口
lsof -i tcp:80 查看tcp中80端口
-c 列出某个程序所打开的文件信息
lsof -c mysql 查看mysql程序打开的文件
5、显示进程信息,并实时更新
strace 用于查看某个进程的系统调用以及所接收到的信号
输出结果,如下, =左边是系统调用,右边是系统调用结果
$ strace ls -l 能看到 ls -l 命令的整个系统调用情况
-o 保存输出到文件
-p 追踪某个进程,需要带上-f来追踪所有子进程
$ strace -f -p
-c 输出统计结果
-T 输出系统调用花费时间
-t 打印系统调用的发生时间
-e expr 可以指定某个系统调用
trace=网络追踪网络调用情况
trace=file 记录文件操作
trace=process 把关于进程的系统调用记录下来
trace=network 把关于进程系统调用记录下来
trace=ipc 把进程间通讯记录下来
例:
strace -e trace=write -s 200 -f -p 1648 查看进程pid为1648的printf输出
6、以树状图显示进程间的关系
pstree 以树形图显示进程间的关系
pstree 以树形图显示进程,只显示进程名且相同进程合并显示
pstree -p 以树状图显示进程,还显示进程pid
ps <pid>
or
ps -p <pid> 以树状图显示进程,其中带 -p参数并在进程及其子孙进程显示pid
7、定时任务
参考文档
crontab 用于设置周期性被执行的指令
1、查看是否安装crontabs
rpm -qa | grep -i crontabs
2、 安装and启动 查看参考文档
3、命令格式
* * * * * command
分 时 日 月 星期 命令(命令或执行文件) 大小范围为各个单位的范围
4、编辑定时任务
crontab -e 编辑定时任务
5、相关参数
crontab -l 查看定时任务
crontab -r 删除用户的定时任务器设置(删除所有)
crontab -u<用户名> 指定要设置定时器的用户名称
例:
3,15 8-11 */2 * * command 每隔两天的上午8点到11点的第3和第15分钟执行命令