常用Linux命令
一.目录操作
1.1 基本命令
1 2 3 4 5 6
| pwd # 查看当前⼯作⽬录 clear # 清除屏幕 cd ~ # 当前⽤户⽬录 cd / # 根⽬录 cd - # 上⼀次访问的⽬录 cd .. # 上⼀级⽬录
|
1.2 查看目录内信息
1.3 创建目录
1 2 3 4
| mkdir aaa # 在当前⽬录下创建aaa⽬录,相对路径; mkdir ./bbb # 在当前⽬录下创建bbb⽬录,相对路径; mkdir /ccc # 在根⽬录下创建ccc⽬录,绝对路径; mkdir -p temp/nginx # 递归创建目录(会创建⾥⾯没有的⽬录⽂件夹)
|
1.4 搜索命令
1 2
| find / -name 'b' # 查询根⽬录下(包括⼦⽬录),名以b的⽬录和⽂件; find / -name 'b*' # 查询根⽬录下(包括⼦⽬录),名以b开头的⽬录和⽂件;
|
1.5 重命名
1
| mv 原先⽬录 ⽂件的名称 # 举例:mv tomcat001 tomcat
|
1.6 剪切命令
有⽬录剪切到制定⽬录下,没有的话剪切为指定⽬录
1 2 3
| mv /aaa /bbb # 将根⽬录下的aaa⽬录,移动到bbb⽬录下,在bbb,麚也叫aaa⽬录; mv bbbb usr/bbb # 将当前⽬录下的bbbb⽬录,移动到usr⽬录下,并且修改名称为bbb; mv bbb usr/aaa # 将当前⽬录下的bbbb⽬录,移动到usr⽬录下,并且修改名称为aaa;
|
1.6 复制目录
1 2
| cp -r /aaa /bbb # 将/⽬录下的aaa⽬录复制到/bbb⽬录下,在/bbb⽬录下的名称为aaa cp -r /aaa /bbb/aaa # 将/⽬录下的aa⽬录复制到/bbb⽬录下,且修改名为aaa;
|
1.7 删除目录
1 2
| rm -r /bbb # 普通删除。会询问你是否删除每⼀个⽂件 rm -rf /bbb # 强制删除/⽬录下的bbb⽬录。如果bbb⽬录中的⼦⽬录均被强制删除,不会提示
|
二.文件操作
2.1 删除操作
1
| rm -r a.java # 删除当前⽬录下的a.java⽂件(每次回询问是否删除y:同意)
|
2.2 强制删除
1 2 3
| rm -rf a.java # 强制删除当前⽬录下的a.java⽂件 rm -rf ./a* # 强制删除当前⽬录下以a开头的所有⽂件; rm -rf ./* # 强制删除当前⽬录下所有⽂件(慎⽤);
|
2.3 创建文件
2.4 递归删除.pyc格式的文件
1
| find . -name '*.pyc' -exec rm -rf {} \;
|
2.5 打印当前文件夹下指定大小的文件
1
| find . -name "*" -size 145800c -print;
|
2.6 递归删除指定大小的⽂件(145800)
1
| find . -name "*" -size 145800c -exec rm -rf {} \;
|
2.7 递归删除指定大小的⽂件,并打印出来
1
| find . -name "*" -size 145800c -print -exec rm -rf {} \;
|
- “.” 表示从当前⽬录开始递归查找
- “ -name ‘*.exe’ “ 根据名称来查找,要查找所有以.exe结尾的⽂件夹或者⽂件
- “ -type f “ 查找的类型为⽂件
- “-print” 输出查找的⽂件⽬录名
- -size 145800c 指定⽂件的⼤⼩
- -exec rm -rf {} ; 递归删除(前⾯查询出来的结果)
split命令:
可以将一个大文件分割成若干个小文件,又是需要将文件分割成更小的片段,比如为提高可读性,生成日志等。
- -b:值为每⼀输出档案的⼤⼩,单位为 byte
- -C:每⼀输出档中,单⾏的最⼤ byte 数
- -d:使⽤数字作为后缀
- -l:值为每⼀输出档的⾏数⼤⼩
- -a:指定后缀⻓度(默认为2)
举例:
- 使⽤split命令将上⾯创建的date.file⽂件分割成⼤⼩为10KB的⼩⽂件
- ⽂件被分割成多个带有字⺟的后缀⽂件,如果想⽤数字后缀可使⽤-d参数,同时可以使⽤-a length来指定后缀的⻓度
1
| split -b 10k date.file -d -a 3
|
- 为分割后的⽂件指定⽂件名的前缀
1
| split -b 10k date.file -d -a 3 split_file
|
- 使⽤-l选项根据⽂件的⾏数来分割⽂件,例如把⽂件分割成每个包含10⾏的⼩⽂件:
三.⽂件内容操作(查看⽇志,更改配置⽂件)
3.1 修改文件内容
1 2 3 4 5 6
| vim a.java # 进⼊⼀般模式 i(按键) # 进⼊插⼊模式(编辑模式) ESC(按键) # 退出 :wq # 保存退出(shift+:调起输⼊框) :q! # 不保存退出(shift+:调起输⼊框)(内容更改) :q # 不保存退出(shift+:调起输⼊框)(没有内容更改)
|
3.2 查看文件内容
1 2 3 4 5
| cat a.java # 查看a.java⽂件的最后⼀⻚内容; more a.java # 从第⼀⻚开始查看a.java⽂件内容,按回⻋键⼀⾏⼀⾏进⾏查看, # 空格键⼀⻚⼀⻚进⾏查看,q退出; less a.java # 从第⼀⻚开始查看a.java⽂件内容,按回⻋键⼀⾏⼀⾏的看, # 按空格键⼀⻚⼀⻚的看,⽀持使⽤PageDown和PageUp翻⻚,q退出;
|
总结下more和less的区别:
- less可以按键盘上下⽅向键显示上下内容,more不能通过上下⽅向键控制显示
- less不必读整个⽂件,加载速度会⽐more更快
- less退出后shell不会留下刚显示的内容,⽽more退出后会在shell上留下刚显示的内容
- more不能后退.
3.3 查看前后行内容
实时查看文件的后几行(查询日志文件更方便)
1
| tail -f a.java # 查看a.java⽂件的后10⾏内容;
|
前后几行查看:
1 2 3 4
| head a.java # 查看a.java⽂件的前10⾏内容(默认是显示十行) tail -f a.java # 查看a.java⽂件的后10⾏内容(默认是显示十行) head -n 7 a.java # 查看a.java⽂件的前7⾏内容 tail -n 7 a.java # 查看a.java⽂件的后7⾏内容
|
3.4 文件内部搜索指定内容
1 2 3 4 5
| grep under 123.txt # 在123.txt⽂件中搜索under字符串,⼤⼩写敏感,显示⾏; grep -n under 123.txt # 在123.txt⽂件中搜索under字符串,⼤⼩写敏感,显示⾏及⾏号 grep -v under 123.txt # 在123.txt⽂件中搜索under字符串,⼤⼩写敏感,显示没搜索到的⾏ grep -i under 123.txt # 在123.txt⽂件中搜索under字符串,⼤⼩写敏感,显示⾏ grep -ni under 123.txt # 在123.txt⽂件中搜索under字符串,⼤⼩写敏感,显示⾏及⾏号
|
3.5 终止操作指令
Ctrl+c 和 Ctrl+z 都是中断命令,但是作⽤却不⼀样
Ctrl+C扮演类似的⻆⾊,强制中断程序的执⾏
Ctrl+Z就扮演了类似的⻆⾊,将任务中断,但是任务并没有结束,在进程中只是维持挂起的状态,⽤户可以使⽤ fg/bg操作前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执⾏
3.6 重定向功能
可以使⽤ > 或 < 将命令的输出的命令重定向到test.txt⽂件中(没有则创建⼀个)。
1
| echo 'Hello World' > /root/test.txt
|
四.系统⽇志位置
汇总日志信息:
1 2 3 4 5 6 7 8
| cat /etc/redhat-release # 查看操作系统版本 /var/log/message # 系统启动后的信息和错误⽇志,是Red Hat Linux中最常⽤的⽇志之⼀ /var/log/message # 系统启动后的信息和错误⽇志,是Red Hat Linux中最常⽤的⽇志之⼀ /var/log/secure # 与安全相关的⽇志信息 /var/log/maillog # 与邮件相关的⽇志信息 /var/log/cron # 与定时任务相关的⽇志信息 /var/log/spooler # 与UUCP和news设备相关的⽇志信息 /var/log/boot.log # 守护进程启动和停⽌相关的⽇志消息
|
查看某⽂件下的⽤户操作⽇志,到达操作的⽬录下,执⾏下⾯的程序:
五.创建与删除软连接
5.1 建立软连接
1
| ln -s /usr/local/app /data
|
注意:创建软连接时,data⽬录后不加 / (加上后是查找其下⼀级⽬录);
5.2 删除软连接
六.压缩与解压缩
6.1 tar命令
- 压缩(-c)
1 2 3 4 5 6 7 8 9
| # 将当前⽬录下a.java、b.java打包 tar -cvf start.tar a.java b.java # 将当前⽬录下的所欲⽂件打包压缩成haha.tar⽂件 tar -cvf start.tar ./*
# 将当前⽬录下a.java、b.java打包 tar -zcvf start.tar.gz a.java b.java # 将当前⽬录下的所欲⽂件打包压缩成start.tar.gz⽂件 tar -zcvf start.tar.gz ./*
|
- 解压缩(-x)
1 2 3 4 5 6 7 8 9
| # 解压start.tar压缩包,到当前⽂件夹下 tar -xvf start.tar # 解压start.tar压缩包,到/usr/local⽬录下(C为⼤写,中间⽆空格) tar -xvf start.tar -C usr/local
# 解压start.tar.gz压缩包,到当前⽂件夹下 tar -zxvf start.tar.gz # 解压start.tar.gz压缩包,到/usr/local⽬录下(C为⼤写,中间⽆空格) tar -zxvf start.tar.gz -C usr/local
|
- 解压缩(tar.xz文件)
1
| tar -xf node-v12.18.1-linux-x64.tar.xz
|
6.2 zip/unzip命令
- 压缩(zip)
1 2 3 4 5 6
| # 将单个⽂件压缩(lib.zip) zip lib.zip tomcat.jar # 将lib⽬录进⾏压缩(lib.zip) zip -r lib.zip lib/ # 将多个⽂件压缩为zip⽂件(lib.zip) zip -r lib.zip tomcat-embed.jar xml-aps.jar
|
- 解压缩(unzip)
1 2 3 4
| # 解压⼀个zip格式压缩包 unzip file1.zip # 将`english.zip`包,解压到指定目录`/usr/app/`下 unzip -d /usr/app/com.lydms.english.zip
|
七.Linux下文件的详细信息
r:read w:write x: execute执⾏
解释:
前三位代表当前⽤户对⽂件权限:可以读/可以写/不能执⾏
中间三位代表当前组的其他⽤户对当前⽂件的操作权限:可以读/不能写/不能执⾏
后三位其他⽤户对当前⽂件权限:可以读/不能写/不能执⾏
d-rw-r–r– 1 root root 34942 Jan 19 2018 bootstrap.jar
备注各个部分分别为:文件类型,文件权限,链接数,所属用户,所属组,文件大小,最后修改日期,文件名
7.1 更改文件权限
1 2 3 4 5
| chmod u+x web.xml (---x------) # 为⽂件拥有者(user)添加执⾏权限; chmod g+x web.xml (------x---) # 为⽂件拥有者所在组(group)添加执⾏权限; chmod 111 web.xml (---x--x--x) # 为所有⽤户分类,添加可执⾏权限; chmod 222 web.xml (--w--w--w-) # 为所有⽤户分类,添加可写⼊权限; chmod 444 web.xml (-r--r--r--) # 为所有⽤户分类,添加可读取权限;
|
八.常用的Docker容器命令
8.1 下载镜像
1 2
| # 格式为:wget+镜像源 wget https://mirrors.huaweicloud.com/elasticsearch/7.8.0/elasticsearch-7.8.0-windows-x86_64.zip
|
华为开源镜像源:https://mirrors.huaweicloud.com/
8.2 常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| # 1.查看docker中下载好的镜像 docker images # 2.查询需要的容器名称 docker search mysql # 3.将需要的docker容器下载运⾏到本地(名称、端⼝号、msyql密码、ID): docker run -di --name=first -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root 26d26dsfsd31a # 4.查看运⾏的docker容器 docker ps # 5.查看所有的docker容器(包括未运⾏的) docker ps -a # 6.停⽌当前运⾏的docker容器 docker stop first # 7.启动docker容器 docker start first # 8.重启docker容器 docker restart first # 9.删除docker容器: docker rm first
|
九.运维常用命令
9.1 查询服务器状态
查看服务器是否可用:
1 2
| # ping + IP地址 ping 49.32.56.164
|
查看服务器指定端口是否可用
1 2
| # telnet + IP地址 telnet 49.32.56.164
|
Telnet安装:https://blog.csdn.net/lydms/article/details/113698856
9.2 常用命令
- shutdown命令
关闭计算机。shutdown是最常⽤也是最安全的关机和重启命令,它会在关机之前调⽤fsck检查磁盘,其中-h和-r是最常⽤的参数
-h:停⽌系统服务并关机
-r:停⽌系统服务后重启
举例:
1 2 3 4 5 6 7 8 9 10
| # 立即关机 shutdown -h now # 到10:53关机,如果该时间⼩于当前时间,则到隔天 shutdown -h 10:53 # 10分钟后⾃动关机 shutdown -h +10 # 立即重启 shutdown -r now # 30分钟后重启并并发送通知给其它在线⽤户 shutdown -r +30 'The System Will Reboot in 30 Mins'
|
- 查看处于各种连接状态数量(ESTABLISHED、CLOSE_WAIT、TIME_WAIT)
1 2 3 4 5 6
| # 查看处于 ESTABLISHED 状态连接 netstat -nt | awk '{if($NF=="ESTABLISHED"){wait[$5]++}}END{for(i in wait) print i,wait[i]}' # 查看处于 CLOSE_WAIT 状态连接 netstat -nt | awk '{if($NF=="CLOSE_WAIT"){wait[$5]++}}END{for(i in wait) print i,wait[i]}' # 查看处于 TIME_WAIT 状态连接 netstat -nt | awk '{if($NF=="TIME_WAIT"){wait[$5]++}}END{for(i in wait) print i,wait[i]}'
|
- ping 命令
对www.dustwind.club 发送ping 包, 检查与其是否联通
- netstat命令
netstat 命令⽤于显示各种⽹络相关信息,如⽹络连接, 路由表, 接⼝状态等等
1 2 3 4
| # 列出所有处于监听状态的tcp端⼝ netstat -lt # 查看所有的端⼝信息, 包括 PID 和进程名称 netstat -tulpn
|
- 查看当前端⼝号占⽤情况
1 2 3 4 5 6 7 8 9
| # 1.查看某⼀端⼝的占⽤情况 lsof -i:8080 # 2.显示tcp,udp的端⼝和进程等相关情况 netstat -tunlp # 3.指定端口的进程情况 netstat -tunlp|grep 8080 # 4.查看PID进程情况 ps -aux |grep 28990 jstack 2246|grep '0x9eb' -A 50 # 根据PID,查看JVM中各线程信息('0x9eb'为nid值)
|
- ps命令
1 2
| # 过滤得到当前系统中的 ssh 进程信息 ps aux | grep 'ssh'
|
- 管道命令
简单来说, Linux 中管道的作⽤是将上⼀个命令的输出作为下⼀个命令的输⼊, 像 pipe ⼀样将各个命令串联起来执行, 管道的操作符是 |
1 2 3 4 5 6 7 8 9 10 11 12
| # 管道命令查看当前运⾏的程序中,名称为java的程序 ps -ef|grep java # 查看/etc/passwd⽂件中的root内容 cat /etc/passwd | grep 'root' # 查看当前系统的ip连接(Windows和Linux通⽤) netstat -an # 将sh test.sh任务放到后台,并将打印的⽇志输出到 nohup.out ⽂件中,终端不再能够接收任何输⼊(标准输⼊) nohup sh test.sh & # 将sh test.sh任务放到后台,并将打印的⽇志输出到 test.out ⽂件中,终端不再能够接收任何输⼊(标准输⼊) nohup sh test.sh >> test.out & # 将sh test.sh任务放到后台,并将打印的⽇志输出到nohup.out⽂件中,终端能够接收任何输⼊ nohup sh test.sh &
|
- 添加Host地址
1 2 3 4 5 6
| # 打开配置文件 vim /etc/hosts # 在打开文件中添加内容 49.32.56.164 dustwind.club # 保存文件,重启网络 /etc/init.d/network restart
|
十.yum常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # 1.下载并安装iptables yum install iptables-services # 2.列出当前系统中安装的所有包 yum list # 3.在rpm仓库中搜寻软件包 yum search package_name # 4.更新当前系统中所有安装的rpm包 yum update package_name.rpm # 5.更新⼀个rpm包 yum update package_name # 6.删除⼀个rpm包 yum remove package_name # 7.删除所有缓存的包和头⽂件 yum clean all
|
十一.其他命令
- 查看历史使用命令:
1 2
| # 查看历史使用命令history history | grep es # 过滤与 es 相关的命令
|
- 查看占用资源:
1 2
| ps -au # 占⽤的资源是从进程启动开始,计算的平均占⽤资源,⽐如cpu等 top # 实时占⽤的资源
|
- 查看当前目录所占存储:
1 2 3 4
| du -lh # 查看当前⽂件下各⽂件夹占⽤存储空间 du -sh # 查看当前⽂件夹所占存储空间 du --max-depth=<⽬录层数> # 超过指定层数的⽬录后,予以忽略。 du --max-depth=1 # 只查看当前⽬录下⽂件占⽤的存储空间
|
管道命令:
根据项⽬查看进程,更加PID查看项⽬,以及项⽬路径
1 2
| ps -ef 查看所有的进程 ps -ef | grep mysql 查看mysql相关的进程
|
- 通过进程PID查看所占的端口号:
1
| netstat -nap |grep 进程ID(PID)
|
- 查看Linux下的系统存储使用率:
- 杀死进程(根据PID):
1
| kill -9 2630 # 杀死进程pid为2630的进程
|
- 关闭防火墙:
1 2 3
| service iptables stop # 临时关闭防⽕墙 chkconfig iptables off # 防⽕墙开启不启动 service iptables status # 查看防⽕墙状态
|
- 开机启动选项:
1 2
| msconfig # 查看开机启动选项 chkconfig # 查看开机启动服务列表
|
- 查看MySQL服务的程序状态:
1 2 3
| service mysql start # 开启MySQL service mysql status # 查看MySQL的状态 service mysql stop # 关闭MySQL
|
十二.Linux内核优化
1 2 3 4
| # 打开配置文件 vim /etc/sysctl.conf # 加载新的配置(需开启防⽕墙iptables,否则会报错) sysctl -p
|
详细查阅地址:https://www.cnblogs.com/lldsn/p/10489593.html
十三.用户权限操作
13.1 用户策略
- 添加用户sum:
useradd –d /usr/sum -m sum
参数注释:
-u:指定 UID,这个 UID 必须是⼤于等于500,并没有其他⽤户占⽤的 UID
-g:指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在
-G:指定额外组
-c:指定⽤户的注释信息
-d: 指定⽤户的家⽬录
- 已创建用户sum设置密码:
passwd sum
- 为用户添加root权限(visudo命令)
visudo
步骤:
- 在sudoers 文件中找到root用户权限位置
- 添加与root用户相同的权限(复制root行,修改root为需修改权限的用户名)
- 显示新建用户的信息
cat /etc/passwd
- 删除sum用户
userdel sum
- 删除用户文件夹
rm -rf /usr/sum
- 切换到添加的用户sum
su sum
- 回到root用户
exit
13.2 组策略
- 添加用户组
groupadd groupname
- 删除用户组
groupdel groupname
- 显示分组信息
cat /etc/group
十四.TOP命令
14.1 top命令用于查看实时占用的资源
top [参数]
详细参数:
-b 批处理
-c 显示完整的治命令
-I 忽略失效过程
-s 保密模式
-S 累积模式
-i<时间> 设置间隔时间
-u<用户名> 指定用户名
-p<进程号> 指定进程
-n<次数> 循环显示的次数
14.2 举例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| top - 14:06:23 up 70 days, 16:44, 2 users, load average: 1.25, 1.32, 1.35 Tasks: 206 total, 1 running, 205 sleeping, 0 stopped, 0 zombie Cpu(s): 5.9%us, 3.4%sy, 0.0%ni, 90.4%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 32949016k total, 14411180k used, 18537836k free, 169884k buffers Swap: 32764556k total, 0k used, 32764556k free, 3612636k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 28894 root 22 0 1501m 405m 10m S 52.2 1.3 2534:16 java 18249 root 18 0 3201m 1.9g 11m S 35.9 6.0 569:39.41 java 2808 root 25 0 3333m 1.0g 11m S 24.3 3.1 526:51.85 java 25668 root 23 0 3180m 704m 11m S 14.0 2.2 360:44.53 java 574 root 25 0 3168m 611m 10m S 12.6 1.9 556:59.63 java 1599 root 20 0 3237m 1.9g 11m S 12.3 6.2 262:01.14 java 1008 root 21 0 3147m 842m 10m S 0.3 2.6 4:31.08 java 13823 root 23 0 3031m 2.1g 10m S 0.3 6.8 176:57.34 java 28218 root 15 0 12760 1168 808 R 0.3 0.0 0:01.43 top 29062 root 20 0 1241m 227m 10m S 0.3 0.7 2:07.32 java 1 root 15 0 10368 684 572 S 0.0 0.0 1:30.85 init 2 root RT -5 0 0 0 S 0.0 0.0 0:01.01 migration/0 3 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/0 4 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/0 5 root RT -5 0 0 0 S 0.0 0.0 0:00.80 migration/1 6 root 34 19 0 0 0 S 0.0 0.0 0:00.00 ksoftirqd/1 7 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/1 8 root RT -5 0 0 0 S 0.0 0.0 0:20.59 migration/2 9 root 34 19 0 0 0 S 0.0 0.0 0:00.09 ksoftirqd/2 10 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/2 11 root RT -5 0 0 0 S 0.0 0.0 0:23.66 migration/3 12 root 34 19 0 0 0 S 0.0 0.0 0:00.03 ksoftirqd/3 13 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/3 14 root RT -5 0 0 0 S 0.0 0.0 0:20.29 migration/4 15 root 34 19 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/4 16 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/4 17 root RT -5 0 0 0 S 0.0 0.0 0:23.07 migration/5 18 root 34 19 0 0 0 S 0.0 0.0 0:00.07 ksoftirqd/5 19 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/5 20 root RT -5 0 0 0 S 0.0 0.0 0:17.16 migration/6 21 root 34 19 0 0 0 S 0.0 0.0 0:00.05 ksoftirqd/6 22 root RT -5 0 0 0 S 0.0 0.0 0:00.00 watchdog/6 23 root RT -5 0 0 0 S 0.0 0.0 0:58.28 migration/7
|
前五行是当前系统情况整体的统计信息区,具体内容构成如下:
第一行:任务队列信息,同 uptime 命令的执行结果。
具体参数说明:
14:06:23 — 当前系统时间
up 70 days, 16:44 — 系统已经运行了70天16小时44分钟(在这期间系统没有重启过的吆!)
2 users — 当前有2个用户登录系统
load average: 1.15, 1.42, 1.44 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。
load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。
第二行:任务总述。
具体参数说明:
Tasks — 任务(进程)
系统现在共有206个进程,其中处于运行中的有1个,205个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。
第三行:cpu状态信息。
具体参数说明:
5.9%us — 用户空间占用CPU的百分比。
3.4% sy — 内核空间占用CPU的百分比。
0.0% ni — 改变过优先级的进程占用CPU的百分比
90.4% id — 空闲CPU百分比
0.0% wa — IO等待占用CPU的百分比
0.0% hi — 硬中断(Hardware IRQ)占用CPU的百分比
0.2% si — 软中断(Software Interrupts)占用CPU的百分比
备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!
第四行:内存状态。
具体参数说明:
32949016k total — 物理内存总量(32GB)
14411180k used — 使用中的内存总量(14GB)
18537836k free — 空闲内存总量(18GB)
169884k buffers — 缓存的内存量 (169M)
第五行,swap交换分区信息。
具体参数说明:
32764556k total — 交换区总量(32GB)
0k used — 使用的交换区总量(0K)
32764556k free — 空闲交换区总量(32GB)
3612636k cached — 缓冲的交换区总量(3.6GB)
第六行:空行。
第七行:各进程(任务)的状态监控。
具体参数说明:PID — 进程id
USER — 进程所有者
PR — 进程优先级
NI — nice值。负值表示高优先级,正值表示低优先级
VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
SHR — 共享内存大小,单位kb
S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
%CPU — 上次更新到现在的CPU时间占用百分比
%MEM — 进程使用的物理内存百分比
TIME+ — 进程使用的CPU时间总计,单位1/100秒
COMMAND — 进程名称(命令名/命令行)
十五.文件安装
1 2 3 4 5 6
| # 下载文件(file.name): yum install -y file.name # 上传文件: rz # 保存文件: sz
|