常用Linux命令

常用Linux命令

一.目录操作

1.1 基本命令

1
2
3
4
5
6
pwd 	# 查看当前⼯作⽬录
clear # 清除屏幕
cd ~ # 当前⽤户⽬录
cd / # 根⽬录
cd - # 上⼀次访问的⽬录
cd .. # 上⼀级⽬录

1.2 查看目录内信息

1
ll 		# 查看当前⽬录下内容(LL的⼩写)

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 创建文件

1
touch 文件名

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)

举例:

  1. 使⽤split命令将上⾯创建的date.file⽂件分割成⼤⼩为10KB的⼩⽂件
1
split -b 10k date.file
  1. ⽂件被分割成多个带有字⺟的后缀⽂件,如果想⽤数字后缀可使⽤-d参数,同时可以使⽤-a length来指定后缀的⻓度
1
split -b 10k date.file -d -a 3
  1. 为分割后的⽂件指定⽂件名的前缀
1
split -b 10k date.file -d -a 3 split_file
  1. 使⽤-l选项根据⽂件的⾏数来分割⽂件,例如把⽂件分割成每个包含10⾏的⼩⽂件:
1
plit -l 10 date.file	

三.⽂件内容操作(查看⽇志,更改配置⽂件)

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的区别:

  1. less可以按键盘上下⽅向键显示上下内容,more不能通过上下⽅向键控制显示
  2. less不必读整个⽂件,加载速度会⽐more更快
  3. less退出后shell不会留下刚显示的内容,⽽more退出后会在shell上留下刚显示的内容
  4. 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 都是中断命令,但是作⽤却不⼀样

  1. Ctrl+C扮演类似的⻆⾊,强制中断程序的执⾏

  2. 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 # 守护进程启动和停⽌相关的⽇志消息

查看某⽂件下的⽤户操作⽇志,到达操作的⽬录下,执⾏下⾯的程序:

1
cat .bash_history

五.创建与删除软连接

5.1 建立软连接

1
ln -s /usr/local/app /data

注意:创建软连接时,data⽬录后不加 / (加上后是查找其下⼀级⽬录);

5.2 删除软连接

1
rm -rf /data

六.压缩与解压缩

6.1 tar命令

tar命令
  1. 压缩(-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 ./*
  1. 解压缩(-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
  1. 解压缩(tar.xz文件)
1
tar -xf node-v12.18.1-linux-x64.tar.xz

6.2 zip/unzip命令

  1. 压缩(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
  1. 解压缩(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执⾏

解释:

  1. 前三位代表当前⽤户对⽂件权限:可以读/可以写/不能执⾏

  2. 中间三位代表当前组的其他⽤户对当前⽂件的操作权限:可以读/不能写/不能执⾏

  3. 后三位其他⽤户对当前⽂件权限:可以读/不能写/不能执⾏

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 常用命令

  1. 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'
  1. 查看处于各种连接状态数量(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]}'
  1. ping 命令

www.dustwind.club 发送ping 包, 检查与其是否联通

1
ping -c 4 dustwind.club
  1. netstat命令

netstat 命令⽤于显示各种⽹络相关信息,如⽹络连接, 路由表, 接⼝状态等等

1
2
3
4
# 列出所有处于监听状态的tcp端⼝
netstat -lt
# 查看所有的端⼝信息, 包括 PID 和进程名称
netstat -tulpn
  1. 查看当前端⼝号占⽤情况
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值)
  1. ps命令
1
2
# 过滤得到当前系统中的 ssh 进程信息
ps aux | grep 'ssh'
  1. 管道命令

简单来说, 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 &
  1. 添加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. 查看历史使用命令:
1
2
# 查看历史使用命令history
history | grep es # 过滤与 es 相关的命令
  1. 查看占用资源:
1
2
ps -au 		# 占⽤的资源是从进程启动开始,计算的平均占⽤资源,⽐如cpu等
top # 实时占⽤的资源
  1. 查看当前目录所占存储:
1
2
3
4
du -lh 						# 查看当前⽂件下各⽂件夹占⽤存储空间
du -sh # 查看当前⽂件夹所占存储空间
du --max-depth=<⽬录层数> # 超过指定层数的⽬录后,予以忽略。
du --max-depth=1 # 只查看当前⽬录下⽂件占⽤的存储空间
  1. 管道命令:

    根据项⽬查看进程,更加PID查看项⽬,以及项⽬路径

1
2
ps -ef 查看所有的进程
ps -ef | grep mysql 查看mysql相关的进程
  1. 通过进程PID查看所占的端口号:
1
netstat -nap |grep 进程ID(PID)
  1. 查看Linux下的系统存储使用率:
1
df -h 		# 查看系统硬盘使⽤情况	
  1. 杀死进程(根据PID):
1
kill -9 2630 		# 杀死进程pid为2630的进程
  1. 关闭防火墙:
1
2
3
service iptables stop 		# 临时关闭防⽕墙
chkconfig iptables off # 防⽕墙开启不启动
service iptables status # 查看防⽕墙状态
  1. 开机启动选项:
1
2
msconfig 		# 查看开机启动选项
chkconfig # 查看开机启动服务列表
  1. 查看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 用户策略

  1. 添加用户sum:

useradd –d /usr/sum -m sum

参数注释:

-u:指定 UID,这个 UID 必须是⼤于等于500,并没有其他⽤户占⽤的 UID

-g:指定默认组,可以是 GID 或者 GROUPNAME,同样也必须真实存在

-G:指定额外组

-c:指定⽤户的注释信息

-d: 指定⽤户的家⽬录

  1. 已创建用户sum设置密码:

passwd sum

  1. 为用户添加root权限(visudo命令)

visudo

步骤:

  1. 在sudoers 文件中找到root用户权限位置
  2. 添加与root用户相同的权限(复制root行,修改root为需修改权限的用户名)
  1. 显示新建用户的信息

cat /etc/passwd

  1. 删除sum用户

userdel sum

  1. 删除用户文件夹

rm -rf /usr/sum

  1. 切换到添加的用户sum

su sum

  1. 回到root用户

exit

13.2 组策略

  1. 添加用户组

groupadd groupname

  1. 删除用户组

groupdel groupname

  1. 显示分组信息

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

前五行是当前系统情况整体的统计信息区,具体内容构成如下:

  1. 第一行:任务队列信息,同 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的时候就表明系统在超负荷运转了。

  2. 第二行:任务总述。

    具体参数说明:

    Tasks — 任务(进程)

    系统现在共有206个进程,其中处于运行中的有1个,205个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

  3. 第三行: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系统用户空间和内核空间的相关知识!

  1. 第四行:内存状态。

    具体参数说明:

    32949016k total — 物理内存总量(32GB)

    14411180k used — 使用中的内存总量(14GB)

    18537836k free — 空闲内存总量(18GB)

    169884k buffers — 缓存的内存量 (169M)

  2. 第五行,swap交换分区信息。

    具体参数说明:

    32764556k total — 交换区总量(32GB)

    0k used — 使用的交换区总量(0K)

    32764556k free — 空闲交换区总量(32GB)

    3612636k cached — 缓冲的交换区总量(3.6GB)

  3. 第六行:空行。

  4. 第七行:各进程(任务)的状态监控。

    具体参数说明: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

常用Linux命令
http://example.com/2022/07/29/常用Linux命令/
作者
DustWind
发布于
2022年7月29日
许可协议