编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

Linux系统常用命令总结笔记5---系统管理类

wxchong 2024-08-13 12:30:52 开源技术 22 ℃ 0 评论

---top: 实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具.

参数:

-b:以批处理模式操作,

-c:显示完整的命令;

-d:屏幕刷新间隔时间;

-I:忽略失效过程;

-s:保密模式;

-S:累积模式;

-i:使top不显示任何闲置或者僵死进程。

-u<用户名>:指定用户名;

-p<进程号>:指定进程;

-n<次数>:循环显示的次数,完成后将会退出 top

交互命令:

1)基础操作

1:显示CPU详细信息,每核显示一行

d / s :修改刷新频率,单位为秒

h:可显示帮助界面

n:指定进程列表显示行数,默认为满屏行数

q:退出top

2)面板隐藏显示

l:隐藏/显示第1行负载信息;

t:隐藏/显示第2~3行CPU信息;

m:隐藏/显示第4~5行内存信息;

3)进程列表排序

M:根据驻留内存大小进行排序;

P:根据CPU使用百分比大小进行排序;

T:根据时间/累计时间进行排序

w:将当前设置写入~/.toprc文件中

说明:

--前5行系统的资源使用状况

第1行:top - 14:26:46 up 16 days, 23:56, 2 users, load average: 0.51, 0.58, 0.32

==>任务信息队列

1)top:系统当前时间

2)up:系统运行时间

3)users:当前登录用户数

4)load average:系统平均负载,包含三个值,

分别表示1分钟、5分钟、15分钟内正在等待CPU处理的进程队列情况。

第2行Tasks: 138 total, 1 running, 137 sleeping, 0 stopped, 0 zombie

==>进程信息

1) Tasks:系统中的进程总数

2) running:正在运行的进程总数

3) sleeping:正在休眠的进程数

4) stopped:停止的进程数

5) zombie:僵尸进程数,如果不是0,则需要检查僵尸进程

第3行 %Cpu(s): 0.0 us, 0.8 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

==>CPU 信息

1) us:用户空间的占用率

2) sy:内核空间的占用率

3) ni:改变过优先级的用户进程占用率

4) id:空闲 CPU 的占用率

5) wa: 等待输入/输出进程的占用率

6) hi: 硬中断的占用率(硬中断是硬盘、网卡等硬件设备发送给CPU的中断消息)

7) si:软中断的占用率(软中断是由程序发出的中断)

8) st:有虚拟机时,虚拟 CPU 等待实际 CPU 的时间百分比

第4行 MiB Mem : 15996.5 total, 642.6 free, 8673.8 used, 6680.2 buff/cache

==>物理内存信息

1) total:物理内存总量

2) free:空闲内存量

3) used:使用的内存量

4) buffer/cache:用作内核缓冲/缓存的内存量

第5行 MiB Swap: 4096.0 total, 4042.7 free, 53.2 used. 7023.0 avail Mem

==>交换分区信息

1) total:交换区内存总量

2) free:空闲交换区总量

3) used:使用的交换区总量

4) buffer/cache:缓冲/缓存的交换区总量

--第6行开始,显示系统中进程的信息,显示如下内容(共12列):

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

1) PID: 进程id

2) USER:该进程所属的用户

3) PR: 优先级,数值越小优先级越高

4) NI: 优先级,负值表示高优先级,正值表示低优先级

5) VIRT: 使用虚拟内存的大小,单位为 KB,VIRT=SWAP+RES

6) RES: 使用物理内存的大小,单位KB,RES=CODE+DATA

7) SHR: 共享内存大小,单位KB

8) S: 进程状态(D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)

9) %CPU: 占用 CPU 的百分比

10) %MEM: 占用内存百分比

11) TIME+: 使用CPU的时间

12) COMMAND: 进程的命令名

例子:

top -c ##显示整个命令行而不只是显示命令名

top -n 1 -d 3 ##显示的刷新速率为1S一次,显示3次后退出

top -i ##不显示任何闲置或者僵死进程;

top -u user ##显示user用户下的所有进程;

top -p 23456 ##显示进程号为23456的进程信息;

---df: 检查文件系统的磁盘空间占用情况

参数:

-a: 显示所有文件系统的磁盘使用情况,包括 /proc文件系统。

-h:方便阅读方式显示,自动以k, m和g字节为单位显示;

-k: 以k字节为单位显示。

-m: 以M字节为单位显示;

-i: 显示i节点信息,而不是磁盘块。

-l: 只显示本地文件系统

-t: 显示各指定类型的文件系统的磁盘空间使用情况。

-x: 列出不是某一指定类型文件系统的磁盘空间使用情况(与t选项相反)。

-T: 显示文件系统类型。

例子:

df -ah ##显示全部系统磁盘使用情况,单位自动适应;

df -l ##显示本地的磁盘情况;

df -k ##以单位为k字节进行显示;

df -i ##以inode模式来显示磁盘使用情况

df -T ##显示文件系统类型;

---du: 用于查看文件或目录的磁盘使用情况,帮助管理存储空间

参数:

-h: 以人性化的格式显示文件大小 (例如 1K, 234M)

-s:显示总计磁盘使用量

-c:显示总计磁盘使用量,但包括每个文件的大小

-d:--max-depth=N 限制显示的目录深度为N层

–exclude=PATTERN 排除与PATTERN匹配的文件或目录

-B, --block-size=SIZE: 指定块大小 (默认为1K)

-a: 显示所有文件和目录的磁盘空间使用情况

例子:

du -h dir/* ##显示dir目录下的各个文件和目录占用的磁盘空间大小 ;

du -sh ##显示当前目录占磁盘的总空间大小

du -ch ##显示每个文件的大小,并在末尾显示总计磁盘使用量

du -h --max-depth=1 ##只想查看当前目录下一级子目录的磁盘使用情况

du -h --exclude=ignore ##统计排除名为"ignore"的目录

du -h -B 1MB ##以MB为单位显示文件大小

---free:用来显示Linux系统中空闲的、已用的物理内存及swap内存,及被内核使用的buffer。

free命令的实现原理是在查询 /proc/meminfo文件里的信息;

参数:

-b:以Byte为单位显示内存使用情况。

-k:以KB为单位显示内存使用情况。

-m:以MB为单位显示内存使用情况。

-g:以GB为单位显示内存使用情况。

-o:不显示缓冲区调节列。

-s<间隔秒数>: 每隔N秒打印一次内存信息,Ctrl+c中断循环显示。

-c N:重复打印内存信息N次

-t:显示内存总和列。

-h:人性化自动显示内存信息;

-l: 显示高低内存的利用率

-V:显示版本信息

例子:

free

free -m ##显示内存的信息,单位MB

free -g ##显示内存的信息,单位GB

free -ht ####显示内存的信息,单位自动调整,便于查看

free -l ##显示高低内存的利用率

free -s 1 -t ##每隔1秒打印一次全部内存信息,按ctrl+c退出;

free -c 3 ##连续打印三次内存信息;

结果输出说明:

total used free shared buff/cache available

Mem: 16380460 7956548 1624640 1328 6799272 8132380

Swap: 4194300 53760 4140540

1)total:物理内存的总大小

2)used:被使用的大小

3)free:可用的空闲内存大小

4)shared:被多个进程共享的内存

5)buffer/cached:磁盘缓存的大小

6)available:还可以被进程使用的物理内存大小

---ps: 用于查看当前系统中运行的进程信息

参数:

-A 显示所有进程(等价于-e)

-a 显示一个终端的所有进程

-e 显示所有进程,而不仅仅是当前用户的进程

-u 显示指定用户的进程的详细信息,如进程所有者、CPU 使用率、内存使用率等

-N 忽略选择

-d 显示所有进程,但省略所有的会话

-x 显示没有控制终端的进程,同时显示各个命令的具体路径。dx不可合用

-p pid 进程使用cpu的时间

-g gid or groupname 显示组的所有进程

-U username: 显示该用户下的所有进程,且显示各个命令的详细路径,

-f 全部列出,通常和其他选项联用

-l 长格式(有F,wchan,C 等字段)

-m 显示所有的线程

-H 显示进程的层次

例子:

ps -ef ##查看包有进程信息

ps -aux ##查看所有进程

ps -p PID ##查看指定PID的进程信息

ps -aux|grep dhcp ## 查看dhcp进程

ps -aux --sort=-pcpu|head -5 ##查看cpu占用率前5的进程

ps -fU root ##查看 用户为root的所有进程;

ps -Ha ##查看进程的层次结构

ps -r ##只查看正在进行的进程

STAT字段说明:

D:无法中断的休眠状态(通常 IO 的进程)

R:正在运行可中在队列中可过行的

S:处于休眠状态

T:停止或被追踪

W:进入内存交换

X: 死掉的进程

Z: 僵尸进程

<:优先级高的进程

N:优先级较低的进程

L:有些页被锁进内存

s: 进程的领导者(在它之下有子进程)

l: 多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads)

+: 位于后台的进程组

---nice:为正在运行的进程设置或显示优先级。它可以帮助控制进程在CPU中的执行优先级。

参数:

-n <val>:调整进程的优先级,是个相对值,数值范围是-20至19,默认值是10。

val值为负时,表示优先级调高 ;反之,则表示优先级高低;

-p:指定要调整优先级的进程ID。

例子:

nice -n 1 vim & ##将 vim 的优先级值增加1,相当于优先级降低;

nice -n -5 -p 1234 ##将 pid为1234的优先级提高,值减少5;

ps -l ##可用于查看进程的优先级

---mount: 用于将具有特定文件系统的设备连接到指定的挂载点,进而来访问设备上的内容;

用法: mount -t <文件系统类型> -o <常见选项> <设备名称> <指定要挂载点路径>

参数:

-l:以列表的形式显示当前已挂载的文件系统。

-t: <文件系统类型>:指定要挂载的文件系统的类型,例如ext4、ntfs等。

-o: <选项>:指定挂载选项,比如读写权限、访问控制等。

--常见选项:

loop:用来把一个文件当成硬盘分区挂接上系统

ro:采用只读方式挂接设备

rw:采用读写方式挂接设备

iocharset:指定访问文件系统所用字符集

remount:重新挂载一个已经挂载的文件系统,可以修改挂载选项。

user:允许普通用户挂载文件系统,而不仅仅是超级用户。

nouser:只允许超级用户挂载文件系统。

exec:允许在文件系统中执行可执行文件。

noexec:禁止在文件系统中执行可执行文件

例子:

mount ##查看当前系统中已经挂载的文件系统情况

mount -l ##显示当前已挂载的文件系统

mount -o ro /dev/sda1 /mnt ##以只读模式挂载文件系统

mount -o remount,rw /dev/sdc1 /mnt ##重新挂载已挂载的文件系统

##查看接入的硬盘设备信息,确定要挂载的设备节点名称;如:/dev/sda1

sudo fdisk -l

###使用mount命令将NTFS设备挂载到目标目录

sudo mount -t ntfs-3g /dev/sdb1 /mnt/ntfs_drive

#指定中文编码格式挂载u盘到/tmp/usb目录下

sudo mount -t vfat -o iocharset=cp936 /dev/sda1 /tmp/usb

##网络nfs的挂载方法

sudo mount -t nfs -o nolock 192.168.0.100:/home/nfs /tmp/nfs

##把/home/data目录制作成iso格式文件

mkisofs -r -J -V mydisk -o /tmp/mydisk.iso /home/data

##使用/mnt/vcdrom挂载点就可以访问光盘镜像文件mydisk.iso内容

mount -o loop -t iso9660 /tmp/mydisk.iso /mnt/vcdrom

说明各种文件类型:

--光盘或光盘镜像:iso9660

--DOS fat16文件系统:msdos

--Windows 9x fat32文件系统:vfat

--Windows NT ntfs文件系统:ntfs

--Mount Windows文件网络共享:smbfs

--UNIX(LINUX) 文件网络共享:nfs

---umount:卸载挂载的设备

参数:

-f: 强制卸载

-a:卸除/etc/mtab中记录的所有文件系统;

-l:延迟卸载;

-n:卸除时不要将信息存入/etc/mtab文件中;

-r:若无法成功卸除,则尝试以只读的方式重新挂入文件系统;

-t<文件系统类型>:仅卸除选项中所指定的文件系统

例子:

sudo umount /mnt/usb ##卸载U盘;

或sudo umount /dev/sda1

sudo umount -f /mnt/usb ##如果U盘设备正在使用中,可使用-f强制卸载

umount -vl /mnt/mymount/ ###执行延迟卸载

---tree: 用于以树状结构展示文件系统目录的层次结构。

参数:

-a: 显示所有文件和目录,包括隐藏的文件和目录

-L level: 限制显示的层级数。例如,使用 -L 2 将只显示目录的前两级

-d: 只显示目录,而不显示文件

-f: 在文件名前显示完整的路径

-i: 不显示树状图的线条

p pattern : 只显示符合模式匹配的文件和目录

例子:

tree -L 2 /home ##显示目录的深度

tree -d /home/user ##只显示目录;

tree -l /home/user ##显示文件和目录的详细信息

tree -a /home/user ##显示隐藏文件

---pstree: 命令以树状图的方式展现进程之间的派生关系,能够直观显示进程之间的关联

工具安装:sudo apt-get install psmisc

参数:

-a:显示每个程序的完整指令,包含路径、参数或是常驻服务的标识;

-c:不使用精简标识法;

-h:列出树状图时,特别标明正在执行的程序;

-H<程序识别码>:此参数的效果和指定-h参数类似,但特别标明指定的程序;

-l:采用长列格式显示树状图;

-n:用程序识别码排序,预设是以程序名称来排序;

-p:显示程序识别码;

-u:显示用户名称;

-U:使用UTF-8列绘图字符;

-V:显示版本信息。

例子:

pstree -p ##显示当前所有进程的进程号和父进程号

pstree -a ##显示所有进程的详细信息,遇到相同的进程名会进行压缩显示

pstree -u ##该命令将显示进程的所有者


---uname: 打印当前系统相关的信息,其包括内核版本号、硬件架构、主机名称和操作系统类型等等。

参数:

-a: 打印全部的信息。

-s: 打印内核名称。

-n: 打印在网络上的主机名称。

-r: 打印内核的发行编号。

-v: 打印内核的版本。

-m: 打印主机的硬件架构名称。

-p: 打印处理器类型或“unknown”。

-i: 打印硬件平台信息或“unknown”。

-o: 打印操作系统信息。

例子:

uname -a ##打印系统全部信息

uname -r ##打印内核版本

uname -v ##打印系统发行版本

或cat /etc/issue

uname -p ##打印处理器型号

uname -m ##打印硬件架构

---mkfs: 用于创建文件系统,格式化指定的磁盘分区,

例如创建Ext2、Ext3、Ext4、XFS等文件系统。

参数:

-t <目录> :指定文件系统类型

-m #--mke2fs-conf <文件>:指定mke2fs.conf文件

-b <块大小> :指定文件系统块大小

-c :创建文件系统时进行检测

-l <文件> :指定坏块文件

-j :用ext3日志文件系统类型格式化

-J :指定日志参数

-m <保留块百分比> :保留给用户的块分比

-L <卷标>:设置文件系统卷标

-O <功能选项> :启用或禁用某些文件系统功能

-q :不显示mke2fs进度信息

-T <文件类型> :指定文件系统类型 (默认为ext2)。

例子:

#格式化/dev/sda1分区为ext4文件系统。

mkfs -t ext4 /dev/sda1

#格式化/dev/sdb1分区为ntfs文件系统。

mkfs -t ntfs /dev/sdb1

#格式化/dev/sdc1分区为fat32文件系统。

mkfs -t fat32 /dev/sdc1

#格式化/dev/sdf1分区为ext2文件系统。

mkfs.ext2 /dev/sdf1

#格式化/dev/sdg1分区为ext3文件系统。

mkfs.ext3 /dev/sdg1

#格式化/dev/sdh1分区为vfat文件系统。

mkfs.vfat /dev/sdh1

#格式化/dev/sdi1分区为cramfs文件系统。

mkfs.cramfs -F /dev/sdi1

#格式化/dev/sdj1分区为reiserfs文件系统。

mkfs.reiserfs /dev/sdj1

#将/dev/sda1格式化为ext4文件系统,并保留5%的空间供系统管理员使用。

mkfs.ext4 -m 5 /dev/sda1

#将/dev/sde1格式化为fat文件系统,并不保留空间供系统管理员使用。

mkfs.fat -m 0 /dev/sde1

##格式化分区,并指定block的大小为2048 Bytes

mke2fs -t ext4 -b 2048 /dev/sdb1

##创建一个vfat的文件系统,同时检查是否有坏轨存在

mkfs -V -t vfat -c /dev/hda5

补充说明:

mkswap: 把一个分区格式化成为swap交换区;

mkswap /dev/sda6 ##创建此分区为交换分区;

swapon /dev/sda6 ##加载交换分区;

swapon -s ##查看交换分区;

---fdisk: 用来管理磁盘分区的工具

参数:

-b: <分区大小> 指定每个分区的大小。

-l: 列出素所有分区表

-u: 与”-l”搭配使用,显示分区数目

-s: <分区编号> 将指定的分区大小输出到标准输出上,单位为区块。

菜单操作说明:

m :显示菜单和帮助信息

a :活动分区标记/引导分区

d :删除分区

l :显示分区类型

n :新建分区

p :显示分区信息

q :退出不保存

t :设置分区号

v :进行分区检查

w :保存修改

x :扩展应用,高级功能

例子:

sudo fdisk -lu ##显示当前分区情况,可查看插入的u盘或磁盘设备名称

sudo fdisk /dev/sdb ##选择磁盘,进行分区操作;

具体操作可见菜单操作相关的命令说明。

---lsusb: 显示系统中以及连接到系统的USB总线信息的工具.

显示本机的usb设备列表,可以显示出usb的详细信息,包括设备的读取速度和描述符

安装命令: apt-get install usbutils

参数:

-v, --verbose:显示USB设备的详细信息

-vv:显示USB设备的完整信息

-s:仅显示指定的总线和(或)设备号的设备

-d:仅显示指定厂商和产品编号的设备

-D:设备路径。不扫描/proc/bus/usb,而以指定的设备路径取代

-t, --tree:以树状结构显示物理USB设备的层次

-V, --version:显示命令的版本信息

例子:

lsusb -v ##查看本系统usb所有设备的详细信息

lsusb -t ##以树状结构显示无理USB设备的层次

lsusb -v -d 0bda: ##查看指定厂商的设备信息;

lsusb -s

ls /dev/bus/usb/ ##查看本机有几条usb总线;

==》001 002

---lspci: 用于显示当前主机的所有PCI总线信息,以及所有已连接的PCI设备信息

安装命令:sudo apt-get install pciutils

参数:

-n: 以数字方式显示PCI厂商和设备代码

-t: 以树状结构显示PCI设备的层次关系

-b: 以总线为中心的视图

-s: 仅显示指定总线插槽的设备和功能块信息

-i: 指定PCI编号列表文件,不使用默认文件

-m: 以机器可读方式显示PCI设备信息

例子:

lspci ##显示当前主机的所有PCI总线信息

lspci -t ##以树状结构显示PCI设备的层次关系

lspci |grep VGA ##显示VGA pci总线信息

lspci -n ##以数字方式显示PCI厂商和设备代码

---bg / fg / jobs / ctrl+z: 可以用于调度正在运行的任务,并使程序在前台和后台之间切换

job参数:

-l:显示作业列表时包括进程号

-n:显示上次使用 jobs 命令后状态发生变化的作业

-p:仅显示作业对应的进程号

-r:仅显示运行中的作业

-s:仅显示已暂停的作业

例子:

jobs -l ##查看后台运行的进程 ;

fg ##将后台中的命令调至前台继续运行

bg ##将一个在后台暂停的命令,变成继续执行

ctrl+z ##将一个正在前台执行的命令放到后台,并且暂停

& ##把这个命令放到后台执行

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表