3 基本的bash shell命令
3.5 文件和目录列表
3.5.1 基本列表功能
ls
-F
-R
*
?
[ ]
[! ]
--time={atime,mtime,ctime}
-d
-i
-l
3.6 处理文件
3.6.1 创建文件
touch
-a
3.6.2 复制文件
cp
-R -r
3.6.3 制表键自动补全
3.6.4 链接文件
ln
src dst
-s src dst
3.6.5 重命名文件
mv
src dst
src dst
3.6.6 删除文件
rm
-i
-f
-r
3.7 处理目录
3.7.1 创建目录
3.7.2 删除目录
rmdir
-i
-f
-r
3.8 查看文件内
3.8.1 查看文件类型
file
3.8.2 查看整个文件
cat
-n
-b
-T
more
less
3.8.3 查看部分文件
tail
-n -number
-f
head
-n -number
4 更多的bash shell命令
4.1 监测程序
4.1.1 探测进程
ps
1. Unix风格
ps -ef
UID:启动这些进程的用户。
PID:进程的进程ID。
PPID:父进程的进程号(如果该进程是由另一个进程启动的)。
C:进程生命周期中的CPU利用率。
STIME:进程启动时的系统时间。
TTY:进程启动时的终端设备。
TIME:运行进程需要的累计CPU时间。
CMD:启动的程序名称。
ps -l
F:内核分配给进程的系统标记。
S:进程的状态(O代表正在运行;S代表在休眠;R代表可运行,正等待运行;Z代表僵化,进程已结束但父进程已不存在;T代表停止)。
PRI:进程的优先级(越大的数字代表越低的优先级)。
NI:谦让度值用来参与决定优先级。
ADDR:进程的内存地址。
SZ:假如进程被换出,所需交换空间的大致大小。
WCHAN:进程休眠的内核函数的地址。
2. BSD风格
ps l
++
VSZ:进程在内存中的大小,以千字节(KB)为单位。
RSS:进程在未换出时占用的物理内存。
STAT:代表当前进程状态的双字符状态码。
STAT第一个字符和Unix风格的S列一致,
<:该进程运行在高优先级上。
N:该进程运行在低优先级上。
L:该进程有页面锁定在内存中。
s:该进程是控制进程。
l:该进程是多线程的。
+:该进程运行在前台。
3. GNU Linux风格
GNU长参数
--deselect 显示所有进程,命令行中列出的进程
--Group grplist 显示组ID在grplist列表中的进程
--User userlist 显示用户ID在userlist列表中的进程
--group grplist 显示有效组ID在grplist列表中的进程
--pid pidlist 显示PID在pidlist列表中的进程
--ppid pidlist 显示父PID在pidlist列表中的进程
--sid sidlist 显示会话ID在sidlist列表中的进程
--tty ttylist 显示终端设备号在ttylist列表中的进程
--user userlist 显示有效用户ID在userlist列表中的进程
--format format 仅显示由format指定的列
--context 显示额外的安全信息
--cols n 将屏幕宽度设置为n列
--columns n 将屏幕宽度设置为n列
--cumulative 包含已停止的子进程的信息
--forest 用层级结构显示出进程和父进程之间的关系
--headers 在每页输出中都显示列的头
--no-headers 不显示列的头
--lines n 将屏幕高度设为n行
--rows n 将屏幕高度设为n排
--sort order 指定将输出按哪列排序
--width n 将屏幕宽度设为n列
--help 显示帮助信息
--info 显示调试信息
--version 显示ps命令的版本号
4.1.2 实时监测进程
top
输出内容
1. 当前时间、系统的运行时间、登录的用户数,以及系统的1分钟、5分钟和15分钟的平均负载情况
2. top将进程叫作任务(task):有多少进程处在运行、休眠、停止或是僵化状态(僵化状态是指进程完成了,但父进程没有响应)
3. CPU概要信息
4. 5. 内存状态
6+. 进程的详细列表,与ps命令类似,但是状态有一些区别(D代表可中断的休眠状态,R代表在运行状态,S代表休眠状态,T代表跟踪状态或停止状态,Z代表僵化状态)
交互式命令
f 选择输出的排序字段
d 修改轮询间隔
4.1.3 结束进程
![Linux进程信号](https://img-blog.csdnimg.cn/b007340b94ff40d4b18e7e23d3350069.png)
kill
默认发送TERM信号,只能以PID作为参数,且必须是进程的属主或者登录为root用户
-s 信号值或信号名称
killall
只能以进程名作为参数,支持通配符