一、top >> 动态监控
(通过top去监视进程,看进程的实时情况)
top
-d >> 设置更新的时间间隔。
-n >> 显示更新次数,然后退出。
-u >> 只显示指定用户进程信息。
-s >> 安全模式运行,禁用一些交互命令。
第1行分别是:系统时间、系统启动了4分钟、登录的用户有2个、 “load average” 代表:最近1分钟,5分钟,15分钟的系统负载值,如超过CPU个数的2倍说明高负载,需处理。
第2行Tasks表示:有114个进程在内存中,1个正在运行,113个睡眠,0个停止,0个处于僵尸状态
第3行Cpu(s)表示:user上花费的时间,sys上花费的时间,nice优先级调整上花费的时间,idle:CPU空闲时间,iowait等待系统io时间,hi硬件中断时间,si软中断时间,steal被虚拟机偷掉的时间
第4行Mem表示:总内存、空闲的内存、已经使用的内存、用于缓存文件系统的内存、交换内存的总容量,这内存还可以用free命令来查看
第5行Swap表示:交换空间总大小、空闲的交换空间、使用的交换内存空间、用于缓存文件内容的交换空间
二、暂停和启用进程
Ctrl + z 让正在前台执行的进程暂停
jobs 获取当前的后台作业号
fg 将进程从后台调到前台执行
bg 将进程放到后台执行
三、kill杀死进程
HUP 1 终端断线
INT 2 中断(同 Ctrl + C)
QUIT 3 退出(同 Ctrl + \)
TERM 15 终止
KILL 9 强制终止
CONT 18 继续(与STOP相反, fg/bg命令)
STOP 19 暂停(同 Ctrl + Z)
四、ps >> 一次性进程监视
ps -aux >> 查看进程
u 按用户和启动时间的顺序来显示进程
a 显示所有用户的所有进程
x 显示无终端控制的进程
f 列出进程全部相关信息,通常和其他选项联用
e 所有进程
l 采用详细的格式来显示程序状况
USER: 启动进程的用户
PID: 进程的ID号
%CPU: 进程占用的CPU百分比
%MEM: 进程占用的物理内存百分比
VSN: 进程使用的虚拟内存总量,单位KB
RSS: 该进程占用实际物理内存的大小,单位KB
TTY: 该进程在哪个终端中运行
STAT: 进程状态
START: 启动进程的时间
TIME: 进程消耗CPU的时间
COMMAND: 产生此进程的命令名
STAT常见状态:
R 运行, S 睡眠,T 停止,s 包含子进程,+ 位于后台 Z僵尸进程 <优先级比较高的进程。
通过python执行一个死循环代码
ps -aux | grep python >> 可以看到我们这个循环进程
kill -9 1881 >> 终止杀死进程,运行完后就会发现循环也结束了
五、软硬链接
这个软硬链接就是将两个文件关联起来,一个修改了另一个就会修改。
ln >> 硬链接
ln -s # 创建一个软链接
ln a.txt p.hard # 创建一个硬链接
echo wenjian >> a.txt # 这里会发现p.hard里面也是写入了
rm a.txt # 这里删除的话,不会删除链接文件
ln -s a.txt p.soft # 创建一个软链接
echo wenjian >> a.txt # 这里会发现p.soft里面也是写入了
rm a.txt # 这里软链接的文件就用不了了
输入重定向
输入重定向就是改变一个命令的输入源,正常情况下,都是自己输入,如果用输入重定向的话,就可以直接去指定为一个文件输入。
命令 < 文件
具体操作:
wc -l b.txt # 查看文件的行数
# 会看到行数,还有我们查看的文件
wc -l < b.txt
# 会发现只有一个行数,没有文件
输出重定向
echo python > a.txt
这里只有一个>是覆盖;两个>>是追加,不会影响里面原有的数据。
输出到终端
# tty >> 查看终端的路径
# who am i >>返回终端的详细信息
# w >>返回所有终端的信息
echo moji >> /dev/pts/1
# 在/dev/pts/0终端执行命令,重定向到/dev/pts/1,在/dev/pts/0终端写的数据就会出现在/dev/pts/1终端上。
文件别名
别名,其实就是为了方便命令的输入。
# 查看别名的实际命令
alias ll # ll='ls -alF'
type ll
# 设置别名 alias 新命令="原命令"
alias ch="cd /home"
# 取消别名 unalias 别名
unalias ch
这里要注意一下,这个别名这样写了后,只是当前生效的,重新链接后,就用不了了。想要可以一直使用的话,就要在.bashrc配置文件里面增加这个alias命令。
vim .bashrc
set nu
在第91行后增加
六、文件打包压缩解压
# 语法:tar 参数 包名 文件 文件
-c ->> 创建新压缩包
-x ->> 解压压缩包
-v ->> 处理过程中输出相关信息
-f ->> 使用压缩包的名字
-z ->> 处理gzip的压缩包,解压压缩
-j ->> 处理bzip2的压缩包,解压压缩
# 打包
tar -cvf python.tar demo1.py demo.py
# 解包
tar -xvf python.tar
# gzip压缩包
tar -czvf test.tar.gz test # 压缩gzip压缩包
tar -xzvf test.tar.gz # 解压缩gzip压缩包
# bzip2压缩包
tar -cjvf test.tar.bz2 test # 压缩bzip2压缩包
tar -xjvf test.tar.bz2 # 解压缩bzip2压缩包
-T后面跟文件集合
find ./ -name "*.py" >> a.list #找到所有的.py文件追加到a.list文件中。
tar -T a.list -czvf a.tar.gz #将a.list文件集合打包成a.tar.gz压缩包。
七、软硬链接
这个软硬链接就是将两个文件关联起来,一个修改了另一个就会修改。
ln 硬链接
ln -s # 创建一个软链接
ln a.txt p.hard # 创建一个硬链接
echo wenjian >> a.txt # 这里会发现p.hard里面也是写入了
rm a.txt # 这里删除的话,不会删除链接文件
ln -s a.txt p.soft # 创建一个软链接
echo wenjian >> a.txt # 这里会发现p.soft里面也是写入了
rm a.txt # 这里软链接的文件就用不了了