linux查看进程命令,高频linux命令指南

 2023-09-23 阅读 85 评论 0

摘要:高频命令 文件管理 ls 显示指定工作目录下的内容及属性信息 语法格式: ls [选项] [文件] 常用参数: 参数说明-a显示所有文件及目录 (包括以“.”开头的隐藏文件)-l使用长格式列出文件及目录信息-r将文件以相反次序显示(默认依英文字母次序)-t根据最后的修改时间排序-A同

高频命令

文件管理

ls 显示指定工作目录下的内容及属性信息

语法格式: ls [选项] [文件]

常用参数:

参数说明
-a显示所有文件及目录 (包括以“.”开头的隐藏文件)
-l使用长格式列出文件及目录信息
-r将文件以相反次序显示(默认依英文字母次序)
-t根据最后的修改时间排序
-A同 -a ,但不列出 “.” (当前目录) 及 “…” (父目录)
-S根据文件大小排序
-R递归列出所有子目录
$ ls -a # 列出所有文件(包括隐藏文件)
$ ls -l	# 列出文件的详细信息
$ ls /	# 列出根目录(/)下的所有目录
$ ls -ltr s*	# 列出当前工作目录下所有名称是 “s” 开头的文件 
$ ls -lR /bin # 列出 /bin 目录下的所有目录及文件的详细信息
$ ls -AS # 列出当前工作目录下所有文件及目录并以文件的大小进行排序 

cd 切换目录

语法格式:cd [参数] [目录名]

$ cd .. 			# 进入上级目录
$ cd ~ 				# 进入当前用户主目录
$ cd ../..		# 进入上两级目录
$ cd .				# 进入当前目录
$ cd /etc/docker	# 进入/etc/docker目录,进入指定目录(此处为绝对路径)
$ cd docker		# 进入当前目录下的docker目录

mv 移动或改名文件

linux查看进程命令,语法格式:mv [参数]

常用参数:

参数说明
-i若存在同名文件,则向用户询问是否覆盖
-f覆盖已有文件时,不进行任何提示
-b当文件存在时,覆盖前为其创建一个备份
-u当源文件比目标文件新,或者目标文件不存在时,才执行移动此操作
$ mv ~/docker/ /root/file		# 移动一个文件夹(docker文件夹,移动到/root/file目录)(前提是/root/file已存在,若不存在则改名)
$ mv docker.txt /root/file	#	移动一个文件(docker.txt,移动到/root/file目录)
$ mv docker.txt /root/file/newDocker.txt	# 移动一个文件并重命名(docker.txt移动到/root/file目录,并重命名为newDocker.txt)
$ mv docker.txt ../	# 移动文件到上一级目录
$ mv docker.txt jenkins.txt -t /root/file	# 移动两个文件(docker.txt和jenkins.txt移动到/root/file目录)
$ mv /dir1/* . # 将dir1目录下的所有文件移动到当前目录下

mkdir 创建目录

语法格式 : mkdir [参数] [目录]

常用参数:

参数说明
-p递归创建多级目录
-m建立目录的同时设置目录的权限
-z设置安全上下文
-v显示目录的创建过程
$ mkdir dir	# 在当前目录下创建dir目录
$ mkdir -m 700 /usr/linuxcool/dir	# 在目录/usr/linuxcool下建立子目录dir,并且设置文件属主有读、写和执行权限,其他人无权访问
$ mkdir dir1 dir2 dir3	# 在当前目录创建子目录dir1,dir2,dir3
mkdir -p linuxcool/dir	# 递归创建目录(创建多层级目录)

cp 复制文件或目录

linux重命名文件命令?语法格式:cp [参数] [文件]

常用参数:

参数说明
-f若目标文件已存在,则会直接覆盖原文件
-i若目标文件已存在,则会询问是否覆盖
-p保留源文件或目录的所有属性
-r递归复制文件和目录
-d当复制符号连接时,把目标文件或目录也建立为符号连接,并指向与源文件或目录连接的原始文件或目录
-l对源文件建立硬连接,而非复制文件
-s对源文件建立符号连接,而非复制文件
-b覆盖已存在的文件目标前将目标文件备份
-v详细显示cp命令执行的操作过程
$ cp docker.tar.gz /root/bak # 复制当前目录包docker.tar.gz到备份目录/root/bak
$ cp -r docker/ /root/file	# 复制文件夹docker到目录/root/file
$ cp -r file1 file2 file3 dir	# 复制多个文件到当前工作目录下的dir目录
$ cp -r /usr/linuxcool/*.c dir	# 交互式地将目录 /usr/linuxcool 中的所有.c文件复制到目录dir中

pwd 显示当前目录

$ pwd 
/user/file/docker

find 查找文件

find如不加任何参数,表示查找当前路径下的所有文件和目录,如果服务器负载比较高尽量不要在高峰期使用find命令,find命令模糊搜索还是比较消耗系统资源的。

语法格式find [参数] [路径] [查找和搜索范围]

LINUX教程。常用参数

参数说明
-name按名称查找
-size按大小查找
-user按属性查找
-type按类型查找
-iname忽略大小写
$ find /root/file/ -name docker.txt	# 在/root/file目录及其子目录下面查找名字为docker.txt的文件
$ find . -name "*.ini"	# 在当前目录及其子目录中查找任何扩展名为"ini"的文件
$ find /etc -size +1M # 查看/etc目录下面大于1M的文件
$ find .	# 列出当前目录及子目录下所有文件和文件夹
$ find . -type d	# 在/root/file目录下查找所有的目录
$ find /home ! -name "*.txt"	# 找出/home下不是以.txt结尾的文件
$ find ./ -size 0 | xargs rm -rf # 删除文件大小为0的文件

chmod 修改文件或目录权限

chmod命令的英文原意是“change the permissions mode of a file”,我们简称为“change mode”,意为用来改变文件或目录权限的命令,但是只有文件的属主和超级用户root才能执行这个命令。有两种模式,一种是采用权限字母和操作符表达式;另一种是采用数字。

语法格式: chmod [对谁操作] [操作符] [赋予的权限] 文件名

常用参数:

操作对象说明
u用户user,表现文件或目录的所有者
g用户组group,表现文件或目录所属的用户组
o其他用户other
a所有用户all
操作符说明
+添加权限
-减少权限
=直接给定权限
权限二进制代表八进制代表说明
r1004读取
w0102
x0011可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行
$ chmod +r docker.md	# 将文件docker.md设为所有人可读
$ chmod u+x docker.md	# 将docker.md设为只有该文件的拥有者才可以执行
$ chmod 777 docker.md(或者chmod a=rwx docker.md)# 给文件docker.md设置所有权限

sz 从Linux上下载文件到本地

linux退出命令?语法格式:sz [参数]

常用参数:

参数说明
-a以文本方式传输(ascii)
-b以二进制方式传输(binary)
-e对控制字符转义(escape),这可以保证文件传输正确
-i后接命令,在接收端执行命令
$ sz backup_file.py	# 下载普通文件
$ sz -be source.zip	# 下载二进制文件

rz 上传文件

语法格式:rz [参数]

常用参数:

参数说明
-B使用rz上传时,文件是先写入缓冲区,然后再写入硬盘的。-B后面跟着的数字就是修改这个缓冲区大小的,
单位是Bytes。如:rz -B 10
-D把所上传的数据导向/dev/null,这是用于测试的
-e转化所有的控制字符
-E上传之前重命名已经存在的文件,防止覆盖
$ rz -+	# 上传普通文件,如已存在则追加
$ rz -y # 实现覆盖上传
$ rz -p # 保护模式,不覆盖同名文件

文档编辑

cat 显示文件内容

linux打开文件命令。语法格式:cat [参数] [文件]

常用参数:

参数说明
-n显示行数(空行也编号)
-s显示行数(多个空行算一个编号)
-b显示行数(空行不编号)
-E每行结束处显示$符号
$ cat filename.txt	# 查看filename.txt的文件内容
$ cat -n filename.txt # 查看filename.txt内容,并显示行数编号
$ cat /dev/null > /root/filename.txt	# 清空文件的内容,echo ''>/root/filename.tx也可

touch 创建文件

touch命令有两个功能:一是创建新的空文件,二是改变已有文件的时间戳属性。

touch命令会根据当前的系统时间更新指定文件的访问时间和修改时间。如果文件不存在,将会创建新的空文件,除非指定了”-c”或”-h”选项。

()命令、语法格式:touch [参数] [文件]

常用参数:

参数说明
-a改变档案的读取时间记录
-m改变档案的修改时间记录
-c不创建新文件
–no-create不创建新文件
$ touch file.txt	# 创建file.txt文件
$ touch file{1..5}.txt 	# 批量创建文件
$ ls
file1.txt file2.txt file3.txt file4.txt file5.txt

vim/vi 文本编辑

$ vim jenkins.txt	# 编辑指定文件
$ vim -R jenkins.txt # 以只读模式打开指定文件
$ vim +6 jenkins.txt	# 从第6行开始编辑指定文件

* sed 处理编辑文本文件

Linux sed 命令是利用脚本来处理文本文件。sed 可依照脚本的指令来处理、编辑文本文件。sed 主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等

语法格式:sed [参数]

linux基本命令的使用,常用参数:

参数说明
-e或–expression=
$ sed -e 4a\newline file 	# 在file文件的第四行后添加一行,并将结果输出到标准输出
HELLO LINUX!   
Linux is a free unix-type opterating system.  
This is a linux testfile!  
Linux test  
newline

echo 输出字符串或变量提取后的值

$ echo $PATH	# 输出变量提取后的值
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
$ echo "It is a test" > linuxcool # 结合输出重定向符,将字符串信息导入文件中

rm 删除文件或目录

语法格式:rm [参数] [文件]

常用参数:

参数说明
-f忽略不存在的文件,不会出现警告信息
-i删除前会询问用户是否操作
-r/R递归删除
-v显示指令的详细执行过程
$ rm -i test.txt.bz2 	# 删除前逐一询问确认
rm: remove regular file `test.txt.bz2'?
$ rm -f test.txt.bz2	# 直接删除,不提示
$ rm -rf /data/log # 递归删除目录及目录下所有文件
$ rm -rf /data/log/*.log	# 删除/data/log/目录下的所有.log文件
$ rm -rf * 	# 删除该目录下所有文件,且不提示

rmdir 删除空目录

rmdir命令只能删除空目录。当要删除非空目录时,就要使用带有“-R”选项的rm命令。

$ rmdir dir	# 删除dir的空目录
$ rmdir -p dir/dir_1/dir_2	# 用递归的方式删除指定的目录路径中的所有父级目录,非空则报错,每一级都必须为空目录
$ rmdir -p -v dir/dir_1/dir_2	# 显示指令详细执行过程
rmdir: 正在删除目录 'dir/dir_1/dir_2
rmdir: 正在删除目录 'dir/dir_1'
rmdir: 正在删除目录 'dir_2'

grep 文本搜索工具

linux有什么用?语法格式: grep [参数]

常用参数:

参数说明
-i搜索时,忽略大小写
-c只输出匹配行的数量
-l只列出符合匹配的文件名,不列出具体的匹配行
-n列出所有的匹配行,显示行号
-h查询多文件时不显示文件名
-s不显示不存在、没有匹配文本的错误信息
-v显示不包含匹配文本的所有行
-w匹配整词
-x匹配整行
-r递归搜索
-q禁止输出任何结果,已退出状态表示搜索是否成功
-b打印匹配行距文件头部的偏移量,以字节为单位
-o与-b结合使用,打印匹配的词据文件头部的偏移量,以字节为单位
$ grep zwx file_* /etc/hosts	# 支持多文件查询并支持使用通配符
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
file_2:zwx
file_4:dkfjlzwxejfkje
file_4:zwx djfkdjf
file_4:zwxedkfgj
$ grep -c zwx file_*	# 输出匹配字符串行的数量
file_1:2
file_2:1
file_3:0
$ grep -n zwx file_*	# 列出所有的匹配行,并显示行号
file_1:1:zwx
file_1:4:zwx
file_1:10:zwxddkjflkdjfdlkfjlsdkj
file_2:2:zwx
file_4:3:dkfjlzwxejfkje
file_4:4:zwx djfkdjf
file_4:5:zwxedkfgj
$ grep -r zwx file_2 *	# 递归搜索,不仅搜索当前目录,还搜索子目录
file_2:zwx
anaconda-ks.cfg:user --name=zwx --gecos="zwx"
file_1:zwx
file_1:zwx
file_1:zwxddkjflkdjfdlkfjlsdkj
file_2:zwx
file_4:dkfjlzwxejfkje
file_4:zwx djfkdjf
file_4:zwxedkfgj
initial-setup-ks.cfg:user --name=zwx --gecos="zwx"
$ grep -vc zwx file_*	# 显示不包含模式的所有行
file_1:7                                
file_2:4
file_3:5
file_4:2
$ grep -l zwx file_*	# 只列出符合匹配的文件名,不列出具体匹配的行
file_1
file_2
file_4
$ grep -w zw* file_1	# 匹配整词,以字面意思去解释他,相当于精确匹配
zw
$ grep -c ^$ file_1 # 查找指定文件的空行数量
4
$ grep -c ^[^$] file_1	# 查找指定文件的非空行数量
15

head 显示文件开头内容

语法格式:head [参数] [文件],不接参数默认前10行

常用参数:

参数说明
-n后面接数字,代表显示几行的意思
-c指定显示头部内容的字符数
-v总是显示文件名的头信息
-q不显示文件名的头信息
$ head -n 15 install.log	# 显示install.log的前15行内容
$ head -v -n 2 test.txt		# 显示文件名信息,并显示文件前两行
==> test.txt <==
hello world
hello linuxcool
$ head -c 5 test.txt # 显示test.txt的前5个字符
hello

tail 显示文件末尾内容

语法格式tail [参数] [文件],不接参数默认最后10行

常用参数:

参数说明
-n后面接数字,代表显示几行的意思
-c指定显示头部内容的字符数
-f显示文件最新追加的内容
$ tail +20 file					# 显示文件file的内容,从第20行至文件末尾
$ tail -n 10 test.txt		# 显示文件最后10行内容
$ tail -f 20	file 			# 一直变化的文件总是显示后10行
$ tail -c 10 file 			# 显示test.txt的最后10个字符

系统管理

du 查看磁盘占用空间

du命令的英文全称是“Disk Usage”,即用于查看磁盘占用空间的意思。但是与df命令不同的是du命令是对文件和目录磁盘使用的空间的查看,而不是某个分区。

语法格式: du [参数] [文件]

常用参数:

参数说明
-a显示目录中所有文件大小
-k以KB为单位显示文件大小
-m以MB为单位显示文件大小
-g以GB为单位显示文件大小
-h以易读方式显示文件大小
-s仅显示总计
$ du -h /root/docker	# 以易读方式显示文件夹内及子文件夹大小
$ du -s /root/docker	# 以易读方式显示文件夹内及子文件夹大小
$ du -ah /root/docker # 以易读方式显示文件夹内所有文件大小
$ du jenkins.txt	# 显示指定文件所占空间

df 显示磁盘空间使用情况

df命令的英文全称即“Disk Free”,顾名思义功能是用于显示系统上可使用的磁盘空间。默认显示单位为KB,建议使用“df -h”的参数组合,根据磁盘容量自动变换合适的单位,更利于阅读。

日常普遍用该命令可以查看磁盘被占用了多少空间、还剩多少空间等信息。

语法格式: df [参数] [指定文件]

常用参数:

参数说明
-a显示所有系统文件
-B <块大小>指定显示时的块大小
-h以容易阅读的方式显示
-H以1000字节为换算单位来显示
-i显示索引字节信息
-k指定块大小为1KB
-l只显示本地文件系统
-t <文件系统类型>只显示指定类型的文件系统
-T输出时显示文件系统类型
$ df -h # 以容易阅读的方式显示磁盘分区使用情况
文件系统                           容量   已用   可用  已用% 挂载点devtmpfs                           1.9G     0  1.9G    0% /devtmpfs                              2.0G     0  2.0G    0% /dev/shmtmpfs                              2.0G  1.1M  2.0G    1% /runtmpfs                              2.0G     0  2.0G    0% /sys/fs/cgroup/dev/mapper/fedora_linuxhell-root   15G  2.0G   14G   13% /tmpfs                              2.0G  4.0K  2.0G    1% /tmp/dev/sda1                          976M  126M  784M   14% /boottmpfs                              390M     0  390M    0% /run/user/0
$ df /etc/dhcp	# 显示指定文件所在分区的磁盘使用情况
文件系统                             1K-块    已用     可用   已用% 挂载点
/dev/mapper/fedora_linuxcool-root 15718400 2040836 13677564   13% /
$ df -t ext4 # 显示文件类型为ext4的磁盘使用情况
文件系统        1K-块   已用   可用    已用% 挂载点
/dev/sda1      999320 128264 802244   14% /boot

* lsof 查看文件进程信息

语法格式:lsof [参数] [文件]

常用参数:

参数说明
-a列出打开文件存在的进程
-c <进程名>列出指定进程所打开的文件
-g列出GID号进程详情
-i <条件>列出符合条件的进程
-p <进程号>列出指定进程号所打开的文件

ps 显示进程状态

ps命令是“process status”的缩写,ps命令用于显示当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。

ps命令是最基本同时也是非常强大的进程查看命令,使用该命令可以确定有哪些进程正在运行和运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等,总之大部分信息都是可以通过执行该命令得到的。

$ ps -aux	# 把所有进程显示出来
$ ps -A		# 把所有进程显示出来
$ ps -ef	# 显示所有进程信息,包括命令行
$ ps -aux > ps.txt	# 把所有进程显示出来,并输出到ps.txt文件
$ ps -ef | grep ssh	# 查找指定进程ssh信息
$ ps -u root #显示指定用户信息
$ ps aux | sort -nk 3	# 按 CPU 资源的使用量对进程进行排序
$ ps aux | sort -rnk 4 # 按内存资源的使用量对进程进行排序

kill 杀死进程

kill命令可将指定的信号发送给相应的进程或工作。 kill命令默认使用信号为15,用于结束进程或工作。如果进程或工作忽略此信号,则可以使用信号9,强制杀死进程或作业。

语法格式:kill [参数] [进程号]

常用参数:

参数说明
-l列出系统支持的信号
-s指定向进程发送的信号
-a处理当前进程时不限制命令名和进程号的对应关系
-p指定kill命令只打印相关进程的进程号,而不发送任何信号
$ ps		# 查找进程
PID TTY          TIME CMD
1951 pts/0    00:00:00 bash
2446 pts/0    00:00:00 ps
$ kill -9 1951 # 强制杀死bash进程

top 实时显示进程动态

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,常用于服务端性能分析。

在top命令中按f按可以查看显示的列信息,按对应字母来开启/关闭列,大写字母表示开启,小写字母表示关闭。带*号的是默认列。

语法格式:top [参数]

常用参数:

参数说明
-d改变显示的更新速度,或是在交谈式指令列( interactive command)按 s
-q没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行
-c切换显示模式
-s安全模式,将交谈式指令取消, 避免潜在的危机
-i不显示任何闲置 (idle) 或无用 (zombie) 的行程
-n更新的次数,完成后将会退出 top
-b批次档模式,搭配 “n” 参数一起使用,可以用来将 top 的结果输出到档案内
$ top	# 显示进程信息
$ top -c # 显示完整的进程信息
$ top -n 2	# 设置信息更新次数
$ top -s # 以累积模式显示程序信息
# 退出top程序 按q

iostat 监视系统输入输出设备和CPU

监视系统输入输出设备和CPU的使用情况。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。

语法格式: iostat [参数] [设备]

常用参数:

参数说明
-c仅显示CPU使用情况
-d仅显示设备利用率
-k显示状态以千字节每秒为单位,而不使用块每秒
-m显示状态以兆字节每秒为单位
-p仅显示块设备和所有被使用的其他分区的状态
-t显示每个报告产生时的时间
$ iostat -d 2	# 每隔两秒报告一次
$ iostat -d 2 6 # 每2秒报告一次,持续6次
$ iostat -x sda sdc 2 6	# 显示sda与sdc的统计数据,每2秒报告一次,持续6次

iotop 监视磁盘I/O

iotop命令是一个用来监视磁盘I/O使用状况的top类工具。iotop具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。

Linux下的IO统计工具如iostat,nmon等大多数是只能统计到per设备的读写情况,如果你想知道每个进程是如何使用IO的就比较麻烦,使用iotop命令可以很方便的查看

语法格式:iotop [参数]

常用参数:

参数说明
-o只显示有io操作的进程
-b批量显示,无交互,主要用作记录到文件
-n NUM显示NUM次,主要用于非交互式模式
-d SEC间隔SEC秒显示一次
-p PID监控的进程pid
-u USER监控的进程用户
$ iotop -o	# 使用-o参数只显示IO操作进程
$ iotop -b	# 使用-b参数批量显示,无交互
$ iotop -u root	# 使用-u参数显示root用户的IO进程

vmstat 显示虚拟内存情况

vmstat命令的含义为显示虚拟内存状态(“Virtual Memory Statistics”),但是它可以报告关于进程、内存、I/O等系统整体运行状态。

语法格式:vmstat [参数]

常用参数:

参数说明
-a显示活动内页
-f显示启动后创建的进程总数
-m显示slab信息
-n头信息仅显示一次
-s以表格方式显示事件计数器和内存状态
-d报告磁盘状态
-p显示指定的硬盘分区状态
-S输出信息的单位
$	vmstat -f	# 显示启动后创建的进程总数
$ vmstat -s # 以表格方式显示事件计数器和内存状态
$ vmstat 1	# 指定状态信息刷新的时间间隔为1秒

free 显示系统内存情况

free 命令能够显示系统中物理上的空闲和已用内存,还有交换内存,同时,也能显示被内核使用的缓冲和缓存。这些信息是通过解析文件 /proc/meminfo 而收集到的。

不带任何选项运行 free 命令会显示系统内存,包括空闲、已用、交换、缓冲、缓存和交换的内存总数。

常用参数:

参数说明
-b以Byte显示内存使用情况
-k以kb为单位显示内存使用情况
-m以mb为单位显示内存使用情况
-g以gb为单位显示内存使用情况
-s持续显示内存
-t显示内存使用总合
$ free	# 显示内存使用情况
$ free -m # 以MB为单位显示内存使用情况
$ free -t # 以总和的形式显示内存的使用信息
$ free -s 10 # 周期性查询内存使用情况,每隔10s查询一次

文件传输

curl 文件传输工具

curl命令是一个利用URL规则在shell终端命令行下工作的文件传输工具;它支持文件的上传和下载,所以是综合传输工具,但按传统,习惯称curl为下载工具。

作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;做网页处理流程和数据检索自动化。

语法格式:curl [参数] [网址]

常用参数:

参数说明
-O把输出写到该文件中,保留远程文件的文件名
-d/–dataHTTP POST方式传送数据
-H/–header自定义头信息传递给服务器
-X/–request指定什么命令
-b/–cookies设置cookies
-A/–user-agent设置用户代理发送给服务器
-I/–head只打印出HTTP头部信息
$ curl http://baidu.com	# 经常用于测试一台服务器是否可以到达一个网站
<html>
<meta http-equiv="refresh" content="0;url=http://www.baidu.com/">
</html>
$ curl -H "Content-Type:application/json" -X POST -d '{"post_data":"i_love_mimvp.com"}' 'https://proxy.mimvp.com/ip.php'	# 模拟发送一个post请求,带header

wget 文件下载

$ wget http://www.Linuxcool.com/testfile.zip	# 下载文件
$ wget file.zip http://www.Linuxcool.com/testfile.zip	# 下载该文件,并命名为file.zip
$ wget -b http://www.linuxcool.com/test.zip	# 后台下载文件
Continuing in background, pid 1840.
Output will be written to `wget-log'.

yum 基于rpm额软件包管理器

yum命令是在Fedora和RedHat以及SUSE中基于rpm的软件包管理器,它可以使系统管理人员交互和自动化地更新与管理RPM软件包,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

语法格式:yum [参数]

常用参数:

参数说明
install安装rpm软件包
update更新rpm软件包
check-update检查是否有可用的更新rpm软件包
remove删除指定的rpm软件包
clean清理yum过期的缓存
info显示指定的rpm软件包的描述信息和概要信息
$ yum install python	# 自动搜索最快镜像插件
$ yum clean packages	# 清除缓存目录下的软件包
$ yum remove vim-common.x86_64 # 卸载/删除vim-common

网络传输

ssh 安全连接客户端

ssh命令是openssh套件中的客户端连接工具,可以给予ssh加密协议实现安全的远程登录服务器,实现对服务器的远程管理。

$ ssh 202.102.240.88		# 登录远程服务器
$ ssh -l test 202.102.220.88	# 用test用户连接远程服务器

ifstat 统计网络信息

语法格式:ifstat [参数]

常用参数:

参数说明
-p优化打印
-a忽略历史记录
-e显示错误信息
-r重置历史记录
$ ifstat -p	# 使用-p参数打印网络接口流量信息
$ ifstat -a # 使用-a参数忽略历史记录
$ ifstat -e # 使用-e参数显示网络接口错误信息

netstat 显示网络状态

语法格式:netstat [参数]

常用参数:

参数说明
-a显示所有连线中的Socket
-p显示正在使用Socket的程序识别码和程序名称
-u显示UDP传输协议的连线状况
-i显示网络界面信息表单
-n直接使用IP地址,不通过域名服务器
$ netstat -a	# 显示详细的网络状况
$ netstat -i 	# 显示网卡列表
Kernel Interface table 
Iface MTU Met  RX-OK  RX-ERR  RX-DRP RX-OVR  TX-OK TX-ERR TX-DRP TX-OVR Flg 
eth0 1500   0  181864   0      0       0     141278   0     0     0    BMRU 
lo   16436  0   3362    0      0       0     3362     0     0     0    LRU

ping 测试主机间网络联通性

Linux系统下的ping命令与Windows系统下的ping命令稍有不同。Windows下运行ping命令一般会发出4个请求就结束运行该命令;而Linux下不会自动终止,此时需要我们按CTR+C终止或者使用-c参数为ping命令指定发送的请求数目。

语法格式:ping [参数] [目标主机]

常用参数:

参数说明
-c指定发送报文的次数
-i指定收发信息的间隔时间
$ ping www.baidu.com
$ ping -c 4 www.baidu.com
$ ping -c 4 -i 3 www.linuxcool.com	# 设置次数为4,时间间隔为3秒

ifconfig 显示或设置网络

ifconfig命令的英文全称是“network interfaces configuring”,即用于配置和显示Linux内核中网络接口的网络参数。

$ ifconfig # 显示网络设备信息 
eth0   Link encap:Ethernet HWaddr 00:50:56:0A:0B:0C  # eth0 表示第一块网卡,其中HWaddr表示网卡的物理地址,可以看到目前这个网卡的物理地址(MAC地址)是00:50:56:0A:0B:0Cinet addr:192.168.0.3 Bcast:192.168.0.255 Mask:255.255.255.0		# net addr 用来表示网卡的IP地址,此网卡的IP地址是192.168.0.3,广播地址Bcast:192.168.0.255,掩码地址Mask:255.255.255.0inet6 addr: fe80::250:56ff:fe0a:b0c/64 Scope:Link     UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1      RX packets:172220 errors:0 dropped:0 overruns:0 frame:0      TX packets:132379 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000       RX bytes:87101880 (83.0 MiB) TX bytes:41576123 (39.6 MiB) Interrupt:185 Base address:0x2024  
lo    Link encap:Local Loopback       inet addr:127.0.0.1 Mask:255.0.0.0      inet6 addr: ::1/128 Scope:Host      UP LOOPBACK RUNNING MTU:16436 Metric:1      RX packets:2022 errors:0 dropped:0 overruns:0 frame:0      TX packets:2022 errors:0 dropped:0 overruns:0 carrier:0   collisions:0 txqueuelen:0       RX bytes:2459063 (2.3 MiB) TX bytes:2459063 (2.3 MiB)$ ifconfig eth0  # 显示eth0的网卡信息

备份与压缩

gzip 压缩文件

gzip命令的英文是“GNUzip”,是常用来压缩文件的工具,gzip是个使用广泛的压缩程序,文件经它压缩过后,其名称后面会多处“.gz”扩展名。

$ gzip ab.gz 

gunzip 解压文件

gunzip命令用于解压文件,它是个使用广泛的解压缩程序,它用于解开被gzip压缩过的文件,这些压缩文件预设最后的扩展名为”.gz”。事实上gunzip就是gzip的硬连接,因此不论是压缩或解压缩,都可通过gzip命令单独完成。

$ gunzip ab.gz 

zip 压缩文件

语法格式:zip [参数] [文件]

常用参数:

参数说明
-q不显示指令执行过程
-r递归处理,将指定目录下的所有文件和子目录一并处理
$ zip -q -r html.zip /home/html # 将 /home/html/这个目录下所有文件和文件夹打包为当前目录下的html.zip

unzip 解压文件

unzip命令是用于.zip格式文件的解压缩工具。

$ unzip mydata.zip -d mydatabak # 把当前目录下面的mydata.zip解压到mydatabak目录里面
$ unzip wwwroot.zip # 解压当前目录下wwwroot.zip 

*.tar.gz的解压缩

语法格式:tar [参数] [文件或目录]

常用参数:

参数说明
-c建立新的备份文件
-x从归档文件中提取文件
-z通过gzip指令压缩/解压缩文件,文件名最好为*.tar.gz
-f<备份文件>指定备份文件
-v显示指令执行过程

压缩

$ tar -zcvf 压缩文件名 .tar.gz 被压缩文件名

解压

$ tar -zxvf 压缩文件名.tar.gz

性能测试常用命令

监控指令

监控磁盘IO指令

衡量标准:磁盘IO预警值一般为70%。

iostat

iostat -xz 1类似vmstat,第一次输出的是从系统开机到统计这段时间的采样数据

  • r/sw/srkB/swkB/s:表示每秒向I/O设备发出的reads、writes、read Kbytes、write Kbytes的数量
  • await:表示应用程序排队等待和被服务的平均I/O时间,该值若大于预期的时间,这表示I/O设备处于饱和状态或者异常
  • vgqu-sz:表示请求被发送给I/O设备的平均时间,若该值大于1,则表示I/O设备可能已经饱和
  • %util:每秒设备的利用率;若该利用率超过60%,则表示设备出现性能异常
$ iostat -xz 1
Linux 3.13.0-49-generic (titanclusters-xxxxx)  07/14/2015  _x86_64_ (32 CPU)avg-cpu:  %user   %nice %system %iowait  %steal   %idle73.96    0.00    3.73    0.03    0.06   22.21Device:   rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
xvda        0.00     0.23    0.21    0.18     4.52     2.08    34.37     0.00    9.98   13.80    5.42   2.44   0.09
xvdb        0.01     0.00    1.02    8.94   127.97   598.53   145.79     0.00    0.43    1.78    0.28   0.25   0.25
xvdc        0.01     0.00    1.02    8.86   127.79   595.94   146.50     0.00    0.45    1.82    0.30   0.27   0.26
dm-0        0.00     0.00    0.69    2.32    10.47    31.69    28.01     0.01    3.23    0.71    3.98   0.13   0.04
dm-1        0.00     0.00    0.00    0.94     0.01     3.78     8.00     0.33  345.84    0.04  346.81   0.01   0.00
dm-2        0.00     0.00    0.09    0.07     1.35     0.36    22.50     0.00    2.55    0.23    5.62   1.78   0.03
[...]
^C

iotop

  • iotop:检查磁盘IO变化
  • iotop -o/iotop --only:只显示有io操作的进程
  • iotop -bo -p 8323:只显示进程id为8323的进程IO

监控内存指令

衡量标准:cpu使用率长时间情况下,一般可接受上限不超过85%。

free

free -m查看服务器内存大小

  • 需检查列:buffers、cached
  • 若buffers和cached接近0,说明I/O的使用率过高,系统存在性能问题。
    Linux中会用free内存作为cache,若应用程序需要分配内存,系统能够快速的将cache占用的内存回收,因此free的内存包含cache占用的部分
$ free -mtotal       used       free     shared    buffers     cached
Mem:        245998      24545     221453         83         59        541
-/+ buffers/cache:      23944     222053
Swap:            0          0          0

监控网络指令

ifstat

ifstat -P:-P 选项会在iftop 的输出结果中开启端口显示

  • 界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。中间的<= =>这两个左右箭头,表示的是流量的方向。
  • TX:发送流量
  • RX:接收流量
  • TOTAL:总流量
  • Cumm:运行iftop到目前时间的总流量
  • peak:流量峰值
  • rates:分别表示过去 2s 10s 40s 的平均流量
找到运行在该端口的进程:
  1. lsof -i:10909:先找到运行在10909这个端口的pid
  2. ps-ef|grep <pid>:再使用找到的pid找到对应的进程

整体查看

vmstat 查看系统的整体性能

vmstat [options] [delay [count]]打印进程、内存、交换分区、IO和CPU等的统计信息

  • r:表示正在运行或者等待CPU调度的进程数。因为该列数据不包含I/O的统计信息,因此可以用来检测CPU是否饱和。若r列中的数字大于CPU的核数,表示CPU已经处于饱和状态
  • free:当前剩余的内存
  • siso:交换分区换入和换出的个数,若换入换出个数大于0,表示内存不足
  • ussyidwa:CPU的统计信息,分别表示user time、system time(kernel)、idle、wait I/O。I/O处理所用的时间包含在system time中,因此若system time超过20%,则I/O可能存在瓶颈或异常
$ vmstat 1  //delay的值设置为1,除第一次以外,剩余的都是1秒统计一次,count未设置,将会一直循环打印
procs ---------memory---------- ---swap-- -----io---- -system-- ------cpu-----r  b swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
34  0    0 200889792  73708 591828    0    0     0     5    6   10 96  1  3  0  0
32  0    0 200889920  73708 591860    0    0     0   592 13284 4282 98  1  1  0  0
32  0    0 200890112  73708 591860    0    0     0     0 9501 2154 99  1  0  0  0
32  0    0 200889568  73712 591856    0    0     0    48 11900 2459 99  0  0  0  0
32  0    0 200890208  73712 591860    0    0     0     0 15898 4840 98  1  1  0  0
^C

top 综合指令

top:实时监控进程信息
在这里插入图片描述

  • 输出的第一行显示系统的概括:当前时间,系统时间,登陆用户数,系统平均负载

  • 第二,三行显示进程和CUP的概要信息

    列名说明
    Tasks: 89 total进程总数
    1 running正在运行的进程数
    88 sleeping睡眠的进程数
    0 stopped停止的进程数
    0 zombie僵尸进程数
    Cpu(s): 0.2us用户空间占用CPU百分比
    0.2sy内核空间占用CPU百分比
    0.0 ni用户进程空间内改变过优先级的进程占用CPU百分比
    99.7 id空闲CPU百分比
    0.0 wa等待输入输出的CPU时间百分比
    0.0 hi硬中断(Hardware IRQ)占用CPU的百分比
    0.0 si软中断(Software Interrupts)占用CPU的百分比
    0.0 st虚拟机占用百分比
  • 第四、五行显示系统的物理内存和系统交换空间:总共有多少内存,当前用了多少,还有多少空间

    列名含义
    Mem: 3881920total物理内存总量
    2989412 used使用的物理内存总量
    234728 free空闲内存总量
    657780 buff/cache用作内核缓存的内存量
    Swap: 0 total交换区总量
    0 used使用的交换区总量
    0 free空闲交换区总量
    636336 avail Mem缓冲的交换区总量。 内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 该数值即为这些内容已存在于内存中的交换区的大小。 相应的内存再次被换出时可不必再对交换区写入。
  • 最后一行进程信息区:统计信息区域的下方显示了各个进程的详细信息

    列名含义
    PID进程id
    PPID父进程id
    PR优先级
    NInice值。负值表示高优先级,正值表示低优先级
    %CPU上次更新到现在的CPU时间占用百分比
    TIME+进程使用的CPU时间总计,单位1/100秒
    %MEM进程使用的物理内存百分比
    VIRT进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    RES进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    SHR共享内存大小,单位kb
    S进程状态。 D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    COMMAND命令名/命令行

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/96237.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息