Linux常用命令——权限,线程、系统健康度、磁盘情况

    科技2022-09-14  144

    因为疫情原因工作出现了调整,后续可能常接触这些命令了,发现网上内容很难找到有一个能介绍所有命令的文章,所以这里整理了一些内容。

    其他命令

    用户以及用户组管理

    压缩和解压、搜索、日期的操作

    文件以及目录的操作

    权限,线程、系统健康度、磁盘情况

    命令汇总

    作用命令示例改变权限chmod [{ugoa}{±=}{rwx}] 文件或目录chmod g+x,o+x csdn改变权限chmod [mode=421] [文件或目录]chmod -R 777 root/改变所有者chown [选项] [最终用户] [文件或目录]chown csdn csdn改变所属组chgrp [最终用户组] [文件或目录]chgrp csdn csdn查看当前系统进程状态ps auxgrep {服务名称}查看当前系统进程状态ps -efgrep {服务名称}终止进程kill [选项] 进程号kill -9 4879查看进程树pstree [选项]pstree -p查看系统健康状态top [选项]top -i -d 30显示网络统计信息netstat -anpnetstat -anp查看磁盘空间使用情况df 选项df -h查看分区fdisk -lfdisk -l

    文件权限类

    RBAC权限模型

    Linux的权限控制基于RBAC(Role based Authentication Control)模型

    内容作用资源权限控制系统要保护的对象,在linux中就是文件和目录权限对资源的操作,包括读和写角色对用户的分组。将同一类的用户划分到同一个用户组中,让他们具备相同的权限。用户登录系统时使用的账号

    文件属性

    文件属性介绍

    这是一段文件描述 -rw-r--r-- 1 root root 0 Aug 10 22:42 a.out

    从左到右介绍

    描述说明-rw-r–r--权限信息1连接终端root创建者root所属组0文件大小Aug 10 22:42最后修改时间a.out文件名

    权限介绍

    前10位为权限分别为

    权限位作用0文件类型1文件的所有者权限 读2文件的所有者权限 写3文件的所有者权限 执行4同组用户权限 读5同组用户权限 写6同组用户权限 执行7其他用户权限 读8其他用户权限 写9其他用户权限 执行

    chmod 改变权限

    语法

    修改权限有两种方式一种是根据字母授权,一种是根据对应的数字进行授权,就是我们长说的777授权

    字母授权对应

    角色对应字母所有者u所有组g其他人o所有人a

    基于字母权限的格式 chmod [{ugoa}{±=}{rwx}] 文件或目录

    数字授权对应

    行为对应数字读4写2执行1所有7(4+2+1)

    基于数字的格式权限 chmod [mode=421] [文件或目录]

    实际语句

    ## 修改csdn文件权限,所属组以及其他人添加执行权限 chmod g+x,o+x csdn ## 修改文件权限,给予所有者、所有者组、其他用户;读写执行权限 chmod 777 csdn ## 修改文件夹里所有文件的权限,给予所有者、所有者组、其他用户;读写执行权限 chmod -R 777 root/

    chown 改变所有者

    语法

    chown [选项] [最终用户] [文件或目录]

    选项中可以设置-R来决定是否进行递归操作

    实际语句

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# chown csdn csdn

    实际操作

    将csdn的文件所有者修改为csdn用户

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# ls -l total 8 -rwxrwxrwx 1 root root 27 Oct 3 14:13 csdn -rw-r--r-- 1 root root 165 Oct 3 13:55 csdn.tar [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# useradd csdn [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# chown csdn csdn [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# ls -l total 8 -rwxrwxrwx 1 csdn root 27 Oct 3 14:13 csdn -rw-r--r-- 1 root root 165 Oct 3 13:55 csdn.tar [root@iZbp1buyhgwtrw6hrp2ugjZ ~]#

    返回内容解释


    chgrp 改变所属组

    语法

    chgrp [最终用户组] [文件或目录]

    实际语句

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# chgrp csdn csdn

    实际操作

    将csdn的文件所有组修改为csdn用户

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# chgrp csdn csdn [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# ls -l total 8 -rwxrwxrwx 1 csdn csdn 27 Oct 3 14:13 csdn -rw-r--r-- 1 root root 165 Oct 3 13:55 csdn.tar [root@iZbp1buyhgwtrw6hrp2ugjZ ~]#

    进程线程类

    查看当前系统进程状态

    语法

    ps aux | grep {服务名称} ps -ef | grep {服务名称}

    实际语句

    ps aux | grep rabbit ps -ef | grep rabbit

    实际操作

    查看rabit运行线程

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# ps aux | grep rabbit rabbitmq 4879 0.0 0.0 35200 448 ? SN Aug02 0:39 /usr/lib64/erlang/erts-5.10.4/bin/epmd -daemon root 27363 0.0 0.0 112712 968 pts/0 S+ 14:56 0:00 grep --color=auto rabbit [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# ps -ef | grep rabbit rabbitmq 4879 1 0 Aug02 ? 00:00:39 /usr/lib64/erlang/erts-5.10.4/bin/epmd -daemon root 27365 27081 0 14:57 pts/0 00:00:00 grep --color=auto rabbit

    返回内容解释

    rabbitmq 4879 0.0 0.0 35200 448 ? SN Aug02 0:39 /usr/lib64/erlang/erts-5.10.4/bin/epmd -daemon

    aux命令的返回内容

    rabbitmq48790.00.035200448?SNAug020:39/usr/lib64/erlang/erts-5.10.4/bin/epmd-daemon线程所有者线程ID占用的CPU使用率占用的内存使用率占用的虚拟内存大小占用的内存大小使用终端线程状态线程开始时间线程执行时间产生此线程的命令

    -ef命令的返回内容

    rabbitmq 4879 1 0 Aug02 ? 00:00:39 /usr/lib64/erlang/erts-5.10.4/bin/epmd -daemon

    rabbitmq487910Aug02?00:00:39/usr/lib64/erlang/erts-5.10.4/bin/epmd用户UID线程ID父级线程IDCPU资源百分比气筒启动时间使用终端线程执行时间产生此线程的命令

    线程状态介绍

    状态说明D不可中断R运行S中断T停止Z僵死W无驻留页N低优先级进程L内存锁页

    终止进程

    语法

    kill [选项] 进程号

    实际语句

    kill 也是平时常用的语句

    kill -9 4879

    查看进程树

    语法

    pstree [选项]

    选项参数

    参数说明-p显示进程的PID-u显示进程的所属用户

    实际语句

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# pstree -p systemd(1)─┬─AliYunDun(16996)─┬─{AliYunDun}(16997) │ ├─{AliYunDun}(16998) │ ├─{AliYunDun}(17009) │ ├─{AliYunDun}(17010) │ ├─{AliYunDun}(17011) │ ├─{AliYunDun}(17012) │ ├─{AliYunDun}(17013)...... ├─AliYunDunUpdate(16975)─┬─{AliYunDunUpdate}(16976) │ ├─{AliYunDunUpdate}(16977) │ └─{AliYunDunUpdate}(16981) ......

    查看系统健康状态

    语法

    top [选项]

    可选参数

    选项功能-d {秒数}指定刷新秒数-i设置不显示闲置或者僵死的进程-p通过监控指定ID来监控某个ID的状态

    输入top后会进入系统线程的执行页面,在此页面中,执行下面操作可以设置排序或者退出监控。注意大小写,并且操作是实时的不需要使用回车确认。

    操作作用P以CPU使用率进行排序M以内存使用率进行排序N根据线程ID进行排序q退出监控

    实际语句

    top -i -d 30

    实际操作

    # 使用top查看系统健康度,屏蔽了僵死的线程,同时设置半分钟刷新 top -i -d 30 top - 15:30:16 up 64 days, 14 min, 1 user, load average: 0.00, 0.01, 0.05 Tasks: 83 total, 2 running, 81 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 3.2 sy, 0.0 ni, 96.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 8009024 total, 6012200 free, 329656 used, 1667168 buff/cache KiB Swap: 0 total, 0 free, 0 used. 7415512 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND

    返回内容解释

    第一行为任务

    top - 15:30:16 up 64 days, 14 min, 1 user, load average: 0.00, 0.01, 0.05

    15:30:16up 64 days, 14 min1 userload average: 0.00, 0.01, 0.05当前时间系统运行时间登录用户在之前1分钟,5分钟,15分钟的平均负载

    第二行为进程

    Tasks: 83 total, 2 running, 81 sleeping, 0 stopped, 0 zombie

    83 total2 running81 sleeping0 stopped0 zombie总进程数正在运行的进程数睡眠进程数停止进程数僵尸进程数

    第三行为CPU

    %Cpu(s): 0.0 us, 3.2 sy, 0.0 ni, 96.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st

    0.0 us3.2 sy0.0 ni96.8 id0.0 wa0.0 hi0.0 si0.0 st用户占用CPU百分比系统占用CPU百分比优先级调整的用户线程占用CPU百分比空闲CPU百分比等待输入/输出的进程占用CPU的百分比硬中断服务占用CPU百分比软中断服务占用CPU百分比虚拟CPU占实际CPU百分比

    第四行为物理内存

    KiB Mem : 8009024 total, 6012200 free, 329656 used, 1667168 buff/cache

    8009024 total6012200 free329656 used1667168 buff/cache总内存已用内存空闲内存缓冲的内存数

    第五航为交换分区

    KiB Swap: 0 total, 0 free, 0 used. 7415512 avail Mem

    0 total0 free0 used.7415512 avail Mem交换分区大小空闲交换分区已使用交换分区缓存的交换分区

    显示网络统计信息

    语法

    netstat -anp (功能描述:此命令用来显示整个系统目前的网络情况。例如目前的连接、数据包传递数据、或是路由表内容)

    可选参数

    选项作用-an按一定顺序排列输出-p显示哪个进程在调用

    实际语句

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# netstat -anp

    磁盘操作

    查看磁盘空间使用情况

    语法

    df 选项

    实际语句

    ## 以已读的方式显示磁盘使用情况 [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# df -h ## 显示磁盘使用情况 [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# df

    实际操作

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# df -h Filesystem Size Used Avail Use% Mounted on devtmpfs 3.9G 0 3.9G 0% /dev tmpfs 3.9G 0 3.9G 0% /dev/shm tmpfs 3.9G 512K 3.9G 1% /run tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup /dev/vda1 40G 27G 11G 72% / tmpfs 783M 0 783M 0% /run/user/0 [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# df Filesystem 1K-blocks Used Available Use% Mounted on devtmpfs 3994168 0 3994168 0% /dev tmpfs 4004512 0 4004512 0% /dev/shm tmpfs 4004512 512 4004000 1% /run tmpfs 4004512 0 4004512 0% /sys/fs/cgroup /dev/vda1 41147472 28141672 11102308 72% / tmpfs 800904 0 800904 0% /run/user/0 [root@iZbp1buyhgwtrw6hrp2ugjZ ~]#

    查看分区

    语法

    使用-l 显示所有硬盘的分区列表

    fdisk -l

    实际语句

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# fdisk -l

    实际操作

    [root@iZbp1buyhgwtrw6hrp2ugjZ ~]# fdisk -l Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000b1b45 Device Boot Start End Blocks Id System /dev/vda1 * 2048 83875364 41936658+ 83 Linux

    个人水平有限,上面的内容可能存在没有描述清楚或者错误的地方,假如开发同学发现了,请及时告知,我会第一时间修改相关内容。假如我的这篇内容对你有任何帮助的话,麻烦给我点一个赞。你的点赞就是我前进的动力。

    Processed: 0.013, SQL: 9