Shell7-进程ps、pgrep、进程信号、系统信息、cron、用户管理
进程
-
-e
(every),ps -e
,
或者-ax
(all),ps -ax
2. -o
,可选,ps -eo comm,pcpu
,
3. --sort
,排序降序 ps -eo comm,pcpu --sort -pcpu | head
pgrep
- 命令的进程ID,
ps -C uwsgi -o pid=
,使用pgrep可以模糊匹配命令pgrep uws
,-d
指定定界符。 -
-u
指定进程的用户列表,pgrep -u root bash
-
-c
(count)匹配进程数量,pgrep -c uwsgi
-
-u
有效用户列表,-U
真实用户列表,ps -u root -U root -o pid,user,pcpu
-
-L
线程信息,ps -eLf --sort -nlwp | head
,NLWP进程的线程数量,NLP是ps输出中每个条目的线程ID
进程信号
- killall杀死一组命令,
killal -9 process_name
-
-u
通过名称,killall -u caisi gedit
some
- which查找命令的位置,
which ls
- whereis查找命令的位置和源码路径,
whereis ls
- file不仅可以查看文件的类型,还打印该文件类型的细节信息。
file /bin/ls
- whatis输出命令参数的简短描述信息。
whatis find
系统信息
-
hostname
当前系统名称,huouname -n
-
uname -a
Linux内核版本、硬件结果等详细信息。 -
uname -r
内核发行版本 -
uname -m
主机类型。 -
cat /proc/cpuinfo
CPU的相关信息,获取处理器名称cat /proc/cpuinfo | head -n 5 | tail -1
。 -
cat /proc/meminfo
内存详细信息,系统内存总量cat /proc/meminfo | head -1
. -
cat /proc/partitions
系统分区信息,或fdisk -l
。 -
lshw
系统详细信息。
/proc信息
/proc包含了每个进程id所对应的文件夹,如bash进程pgrep bash; proc/101043
-
/proc/101043/environ
进程相关的环境变量 -
/proc/101043/cwd
符合链接 -
/proc/101043/fd
文件描述符
cron
-
crontab -l
查看cron表,指定用户名crontabl -l -u username
. -
crontab -r
移除当前用户的cron表,移除用户的crontab -u username -r
. - 指定环境变量
crontab<<EOF
http_proxy=http://192.168.03.3:8009
00 * * * * /home/caisi/scrip.sh
注:指定完整路径
# 每个小时的第2分钟执行
02 * * * * /home/caisi/test.sh
# 每天的5,6,7小时执行
00 5,6,7 * * * /home/caisi/test.sh
# 周日的每个小时执行
00 */12 * * 0 /home/script.sh
# 每天凌晨2点关机
00 02 * * * /sbin/shutdown -h
用户管理
-
useradd username -p password -m
,-m
创建home目录. -
deluser username --remove-all-files
删除用户,--remove-all-files
删除与用户相关的所有文件。 -
chsh username -s /bin/bash
修改用户默认shell -
usermod -L username
锁定用户账户,usermod -U username
解锁用户账户。 -
passwd username
修改用户账户的密码 -
addgroup user groupname
将用户添加到组 -
delgroup groupname
删除用户组 -
chage -l
显示用户的过期信息 -
chage -m/最小天 -M/最大天 -W/前几天提醒更爱密码 7
处理用户账户的过期信息。
Linux Shell Scripting Cookbook