Liunx 操作系统笔记4

发布于:2025-07-03 ⋅ 阅读:(27) ⋅ 点赞:(0)

进程管理命令
ps命令:功能是显示当前系统的进程状态
使用ps命令可以查看到进程的所有信息,例如进程的号码,发起者,系统资源使用占比,运行状态等,ps命令可帮助我们及时发现哪些进程出现“僵死”或“不可中断”等异常情况。
ps命令经常会与kill命令搭配使用,以中断和删除不必要的服务进程,避免服务器的资源浪费

语法格式:ps  参数

常用参数:
-a  显示所有进程信息      -t 显示属于指定终端主机的程序状态
-c  不显示程序路径   -T  显示当前终端主机下的所有程序.
-d  不显示阶段作业程序   -u    使用用户为主的格式来显示程序状态
-e 显示环境变量信息    -U  显示属于指定用户的程序状态
-v  使用虚拟内存的格式显示程序状态     -f  用ASCII字符显示树状结构
-g  显示所有程序及其所属组的程序     -w   使用宽阔的格式显示程序状态

参考示例:
ps  aux    #显示系统中全部的进程信息,含详细信息
ps -ef l grep ssh   #结合管道操作符,将当前系统运行状态中指定的进程信息过滤出来
ps  -u   root         #将当前系统运行状态中指定用户的进程信息过滤出来
ps  aux  |  sort  -rnk 3        #结合管道操作符与sort命令,依据处理器使用量(第三列)情况降序排序ps -aux   --sort  -pcpu |  less  #通过cpu和内存使用来查看占用资源的进程
ps  -aux  --sort   -pcpu,+pmem  l   head -n 10
#根据CPU使用来升序、内存使用 来升序 排序 并通过管道显示前10个结果

pstree 命令:
功能是用于树状图形式显示进程信息,帮助管理员更好地了解进程间的关系。Linux系统中常用ps命令查看进程状态信息,但是却无法了解进程之间的依赖关系,哪个是父进程,哪个是子进程?这些信息则可通过pstree命令进行查看

语法格式: pstree [参数]

常用参数:
-a 显示完整信息   -A  使用ASCII字符绘制树
-c 不使用精简标示法   -g 显示进程组ID
-G 使用VT100终端机的列绘图字符        -h  特别标明现在执行的程序
-I   使用长格式显示树状图        -n  依据PID排序上下级进程

参数示例:
pstree   #以树状图的形式显示当前系统中全部进程(默认)
pstree -p    #以树状图的形式显示当前系统中全部进程(带有进程号)
pstree -a  #以更完整、更丰富的信息样式显示每个进程

top命令:
top是一个在Linux和其他类Unix系统上常用的实时系统监控工具
它提供了一个动态的,交互的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息

语法格式:
top [-] [d delay] [q]

参数说明:
-d<秒数>:指定 top 命令的刷新时间间隔,单位为秒。
-n<次数>:指定 top 命令运行的次数后自动退出。
-p<进程ID>:仅显示指定进程ID的信息。
-u<用户名>:仅显示指定用户名的进程信息。
-H:在进程信息中显示线程详细信息。
-i:不显示闲置(idle)或无用的进程。
-b:以批处理(batch)模式运行,直接将结果输出到文件,
-c:显示完整的命令行而不截断。
-S:累计显示进程的:CPU.使用时间
参考示例:
top        #显示进程信息
top -c  #显示完整命令
top -d  3  #设置信息更新时间为3秒
top   -p   139  #显示进程号为139的进程信息,CPU、内存占用率等

补充:
在top命令下按以下大写字母,分别按不同的维度进行排序
M 根据内存使用情况排序
P 根据CPU使用情况排序
N 根据进程ID排序
T 根据进程使用CPU的时间排序
当然你也可以在命令启动时,直接对top加参数。比如以cpu使用情况排序
top -o %CPU

kill命令:
功能是杀死(结束)进程,在Linux系统中如需结束某个进程,既可以使用如service或systemctl这样的管理命令来结束服务,也可以使用kill命令直接结束进程信息。
如使用kill命令后进程并没有结束,则可以使用信号9进行强制杀死动作。

语法格式:kill 参数 进程号

常用参数:
-a 不限制命令名与进程号的对应关系   -p  不发送任何信号
-s   设置向进程发送的信号   -l 显示系统支持的信号列表

参考示例
kill -l  #列出系统支持的全部信号列表
kill 518 #结束某个指定的进程(数字为对应的PID值)
kill  -9 518  #强制结束某个指定的进程(数字为对应的PID值)
扩展:  killall 命令
该命令非常强大,它通过支持进程名而不是PID来结束进程。Killall命令也支持通配符。
使用时候要小心,有可能结束的重要的系统进程,也可以批量结束进程。

磁盘管理命令:
lsblk命令:
lsblk命令来自英文词组list block devices的缩写,其功能是查看系统的磁盘使用情况。

语法格式:lsblk 参数
常用参数:
 -a  显示所有设备信息   -m 显示权限信息
 -b  显示以字节为单位的设备大小  -n 不显示标题
 -e  排除指定设备  -o 输出列信息

参考示例:
 lsblk #查看磁盘信息
 #添加一个 20G 的 Sata 类型的磁盘一个 30G 的 NVME 类型的磁盘。
 #注意:要添加磁盘,我们先关闭虚拟机。添加好上面的两个磁盘后,然后再查看磁盘信息:
 # sda:表示第一块 Sata 硬盘,如果是第二块则名称为 sdb,第三块为sdc,依次类推
sr0:表示第一块光盘,如果是 sr1 则表示第二块光盘
nvme0n1:表示第一块 nvme 类型的硬盘,nvme0n2 表示第二块 nvme类型的硬盘
 lsblk -m #显示系统中磁盘设备的归属及权限信息:
lsblk -nl #以列表格式显示磁盘设备信息,并且不显示标题

df命令:
df命令参数功能:检查文件系统的磁盘空间占用情况。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

语法:df   [-ahikHTm]    [目录或文件名]
选项与参数:
-a :列出所有的文件系统,包括系统特有的 /proc 等文件系统;
-k :以 KBytes 的容量显示各文件系统;
-m :以 MBytes 的容量显示各文件系统;
-h :以人们较易阅读的 GBytes, MBytes, KBytes 等格式自行显示;
-H :以 M=1000K 取代 M=1024K 的进位方式;
-T :显示文件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3)也列出;
-i :不用硬盘容量,而以 inode 的数量来显示

参考示例:
df  #将系统内所有的文件系统列出来!
df -h  #将容量结果以易读的容量格式显示出来
df -aT  #将系统内的所有特殊文件格式及名称都列出来
df -h /etc  #将 /etc 底下的可用的磁盘容量以易读的容量格式显示
df -T  #查看文件系统类型
扩展:
xfs是一个全64-bit的文件系统,可以支持上百万T字节的存储空间。对于特大文件及小尺寸文件的支持都表现很出众,支持特大数量的目录。最大可支持的文件大小为263=9x1018=9exabytes,最大文件系统尺寸为18exabytes。
xfs支持大文件和大分区。读写文件速度快。其中的ext4和xfs文件系统的区别:xfs的使用比ext4好。

硬盘文件系统:
        xfs(主流)
        ext4---centos6
        ext3---centos5
网络文件系统:
        nfs:network file system
        tfs:taobao file system;淘宝内部使用的专门用来存放淘宝的图片和文件的文件系统,分布式的
        gfs:google存放搜索数据存放的文件系统。分布式
        hdfs:Hadoop file system
Linux中分区的查看:
        scsi接口盘一般是以sd开头的。
        ide接口的盘:hd开头。
        虚拟云磁盘:vd开头。

du命令:
Linux du 命令也是查看使用空间的,但是与 df 命令不同的是 Linux du 命令是对文件和目录磁盘
使用的空间的查看,还是和df命令有一些区别的,这里介绍 Linux du 命令。

语法:du    [-ahskm]   文件或目录名称
选项与参数:
-a :列出所有的文件与目录容量,因为默认仅统计目录底下的文件量而已。
-h :以人们较易读的容量格式 (G/M) 显示;
-s :仅显示指定目录或文件的总大小,而不显示其子目录的大小。
-S :包括子目录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显示;
-m :以 MBytes 列出容量显示;
参考示例
du   #只列出当前目录下的所有文件夹容量(包括隐藏文件夹)
du -a   #将文件的容量也列出来
du -sm /*   #检查根目录底下每个目录所占用的容量
du log2012.log    #显示指定文件所占空间
du -h test    #方便阅读的格式显示test目录所占空间情况

fdisk命令:
fdisk 是 Linux 的磁盘分区表操作工具。

语法: fdisk [-l] 装置名称

选项与参数:
-l :输出后面接的装置所有的分区内容。若仅有 fdisk -l 时,则系统将会把整个系统内能够搜寻到的装置的分区均列出来。
参考示例:
fdisk -l   #列出所有分区信息
df /
fdisk /dev/hdc #找出你系统中的根目录所在磁盘,并查阅该硬盘内的相关信息

mkfs命令
mkfs 磁盘格式化
磁盘分割完毕后自然就是要进行文件系统的格式化,格式化的命令非常的简单,使用 mkfs(make filesystem) 命令。

语法:mkfs  [-t 文件系统格式]   装置文件名
选项与参数:
-t :可以接文件系统格式,例如 ext3, ext2, vfat 等(系统有支持才会生效)
参考示例:
mkfs -t ext3 /dev/hdc6    #将分区 /dev/hdc6(可指定你自己的分区) 格式化为 ext3 文件系统:
扩展:
mkfs.ext4 -c /dev/sdb #检查指定的磁盘设备并进行ext4格式化操作
mkfs.ext4 -m 5 /dev/sdb #对指定的磁盘设备进行格式化操作,保留5%容量给管理员:
mkfs.ext4 -L 'Linuxflag' -b 2048 /dev/sdb #对磁盘设备进行格式化操作,添加卷标识,并修改块大小

mount 命令:
Linux 的磁盘挂载使用 mount 命令,卸载使用 umount 命令。
磁盘挂载语法: mount [-t 文件系统] [-L Label名] [-o 额外选项] [-n] 装置文件名 挂载点
磁盘卸载命令 umount 语法:umount [-fn] 装置文件名或挂载点
-f :强制卸除!可用在类似网络文件系统 (NFS) 无法读取到的情况下;
-n :不升级 /etc/mtab 情况下卸除。

操作示例:
mount /dev/hdc6 /mnt/hdc6 #用默认的方式,将 /dev/hdc6挂载到 /mnt/hdc6 上面
umount /dev/hdc6     #卸载/dev/hdc6
mount    #查看当前系统中已有的文件系统信息
mount -a    #挂载/etc/fstab文件中所有已定义的设备文件
mount -t xfs /dev/sdb /Dir     #强制以XFS文件系统挂载硬盘设备到指定目录

系统管理命令:
find命令:
find命令的功能是根据给定的路径和条件查找相关文件或目录,其参数灵活方便,且支持正则表达式,结合管道符后能够实现更加复杂的功能,是Linux系统运维人员必须掌握的命令之一,find命令通常进行的是从根目录(/)开始的全盘搜索,有别于whereis、which、locate等有条件或部分文件的搜索。对于服务器负载较高的情况,建议不要在高峰时期使用find命令的模糊搜索,这会相对消耗较多的系统资源。

语法格式:find  路径 条件文件名

常用参数:
-name 匹配文件名    -nouser 匹配无所属主的文件
- perm 匹配文件权限   -nogroup 匹配无所属组的文件
-user 匹配文件所属主      -newer 匹配比指定文件更新的文件
-group 匹配文件所属组   -type 匹配文件类型
-mtime 匹配最后修改文件内容时间     -size 匹配文件大小

操作示例:
find / -name  *.conf        #全盘搜索系统中所有以 .conf结尾的文件
find / -name  *.conf | grep ssh   #全盘搜索并从结果中展示有关ssh相关的内容
find / etc -size +1M   #在/etc目录中搜索所有大于1MB的文件
find  /home  -user  linuxprobe   #在/home目录中搜索所有属于指定用户的文件
find .   #列出当前工作目录中的所有文件、目录以及子文件信息
find /var/log -name "*.log"   #在/var/log目录下搜索所有指定后缀的文件
find    .  -mtime  +7     #搜索当前工作目录中所有近7天被修改过的文件
find   /   -type  d   -perm 1777       #全盘搜索系统中所有类型为目录,且权限为1777的目录文件
find  /   -type  f   -perm   /a=x     #全盘搜索系统中所有类型为普通文件,且可以执行的文件信息
find   /   -name "*.mp4"   -exec rm -rf  {}  \;
#全盘搜索系统中所有后缀为.mp4的文件,并删除所有查找到的文件

whereis命令:
whereis命令其功能是用于显示命令及相关文件的路径位置信息,能够找到命令(二进制程序)、命令源代码、man帮助手册等相关的文件路径位置信息,帮助我们更好地管理这些文件。
有别于find命令进行的全盘搜索,whereis命令查找速度非常快,因为它不是在磁盘中乱找,而是在指定数据库中查询,该数据库是Linux系统自动创建的,包含有本地所有文件的信息,每天自动更新一次。但正因为这样,whereis命令的搜索结果会不及时,比如刚添加的文件可能搜不到,原因就是该数据库文件没有被更新,管理人员则手动执行updatedb命令进行更新即可。

语法格式:whereis  [参数]   命令名

常用参数:
-b  查找二进制程序或命令文件     -m 查找man帮助手册文件
-s    仅查找源代码文件            -u    查找可执行文件、源代码及帮助文档
参考示例:
whereis    poweroff  #查找指定命令程序及相关文件所在位置
whereis  -b poweroff     #仅查找指定命令程序文件所在位置
whereis   -m   poweroff         #仅查找指定命令的帮助文件所在位置

which命令:
which命令的功能是用于查找命令文件,能够快速搜索二进制程序所对应的位置。如果我们既不关心同名文件(find与locate),也不关心命令所对应的源代码和帮助文件(whereis)仅仅是想找到命令本身所在的路径,那么这个which命令就太合适了。

语法格式:which   [参数]   文件名

常用参数:
-a  显示PATH变量中所有匹配的可执行文件        -n 设置文件名长度(不含路径)
-p  设置文件名长度(含路径)        -V  显示版本信息
-w    设置输出时栏位的宽度
参考示例:
which reboot   #查找某个指定命令文件所在位置
which shutdown poweroff   #查找多个指定命令文件所在位置

uname命令:
Linux uname(英文全拼: unix  name)命令用于显示操作系统信息,例如内核版本、主机名、处理器类型等。
uname 可显示电脑以及操作系统的相关信息

语法:  uname [-amnrsv]  [--help]  [--version]

参数说明:
-a  或--all 显示全部的信息,包括内核名称、主机名、操作系统版本、处理器类型和硬件架构等。
-m 或 --machine 显示处理器类型。
-n 或 --nodename  显示主机名。
-r 或 --release  显示内核版本号。
-s 或 --sysname 显示操作系统名称。
-v 显示操作系统的版本
--help  显示帮助

操作示例:
uname -a  #显示系统信息
uname -m #显示计算机类型
uname -n   #显示计算机名
uname  -r   #显示操作系统发行编号
uname  -s   #显示操作系统名称
注意区别:发行版版本号
cat  /etc/redhat-release  或者  cat /etc/issue

history命令:
history命令的功能是显示与管理历史命令记录。Linux系统默认会记录用户执行过的有命令,可以使用history命令查阅它们,也可以对其记录进行修改和删除操作。

语法格式:  history 参数

常用参数:
-r 读取命令记录到缓冲区    -a  保存命令记录
-c  清空命令记录      -s  添加命令记录到缓冲区       
-d  删除指定序号的命令记录      -w 将缓冲区信息写入历史文件     
-n 读取命令记录
操作示例:
history        #显示执行过的全部命令记录
history  5      #显示最近执行过的5条命令
history -w        #将本次缓存区信息写入历史文件(~/.bash_history)
history -r        #将历史文件中的信息读入当前缓冲区
history -c         #清空本次缓冲区及历史文件中的信息

关机重启命令
重启命令:
1、reboot
2、shutdown  -r  now  立刻重启(root用户使用)
3、shutdown  -r   10   过10分钟自动重启(root用户使用)
4、shutdown -r   20:35    在时间为20:35时候重启(root用户使用)
如果是通过shutdown命令设置重启的话,可以用  shutdown-c  命令取消重启
关机命令:
1、halt   立刻关机
2、poweroff   立刻关机
3、shutdown -h now 立刻关机(root用户使用)
4、shutdown   -h   10    10分钟后自动关机
如果是通过shutdown命令设置关机的话,可以用shutdown  -c  命令取消重启


网站公告

今日签到

点亮在社区的每一天
去签到