bash shell基础命令(二)

文章目录

  • 1.监测程序
    • 1.1 ps命令
    • 1.2 top命令
    • 1.3 kill命令
  • 2.检测磁盘空间
    • 2.1 mount命令
    • 2.2 umount命令
    • 2.3 df命令
    • 2.4 du命令
  • 3.处理数据文件
    • 3.1 sort命令
    • 3.2 grep命令
    • 3.3 gzip命令
    • 3.4 tar命令

1.监测程序

1.1 ps命令

ps命令可以用来检测系统进程。

$ psPID TTY          TIME CMD314 pts/0    00:00:00 bash407 pts/0    00:00:00 ps

默认的ps命令只显示运行在当前终端中属于当前用户的进程。如上当前在运行的进程有bash和ps。

  • PID:进程ID
  • TTY:运行终端
  • TIME:占用CPU时间
  • CMD:进程名

ps命令支持3种命令行选项:

  • Unix风格选项,选项前加单连接字符-
  • BSD风格选项,选项前不加连接字符
  • GNU长选项,选项前加双连接字符–

其中Unix风格较为常用,它源自贝尔实验室AT&T Unix系统的ps命令

Unix风格的ps常用命令选项
选项描述
-A显示所有进程
-N显示与指定参数不符的所有进程
-a显示除控制进程和无终端进程外的所有进程
-d显示除控制进程外的所有进程
-e显示所有进程
-C cmdlist显示包含在cmdlist列表中的进程
-G grplist显示组ID在grplist列表中的进程
-U userlist显示属主的用户ID在userlist列表中的进程
-g grplist显示会话或组ID在grplist列表中的进程
-p pidlist显示PID在pidlist列表中的进程
-s sesslist显示会话ID在sesslist列表中的进程
-t ttylist显示终端ID在ttylist列表中的进程
-u userlist显示有效用户ID在userlist列表中的进程
-F显示更多的额外输出
-O format显示默认的输出列以及format列表指定的特定列
-M显示进程的安全信息
-c显示进程的额外的调度器信息
-f显示完整格式的输出
-j显示作业信息
-l显示长列表
-o format仅显示由format指定的列
-y不显示进程标志
-Z显示安全上下文信息
-H以层级格式显示进程
-n namelist定义要在WCHAN输出列中显示的值
-w采用宽输出格式,不限宽度显示
-L显示进程中的线程
-V显示ps命令的版本号
$ ps -efl		#以完整格式显示所有进程信息
F S UID          PID    PPID  C PRI  NI ADDR SZ WCHAN  STIME TTY          TIME CMD
4 S root           1       0  0  80   0 - 42546 -      21:32 ?        00:00:00 /sbin/init
5 S root           2       1  0  80   0 -   614 -      21:32 ?        00:00:00 /init
0 S root           5       2  0  80   0 -   621 -      21:33 ?        00:00:00 plan9 --control-socket 6 --log-level 4 --
4 S root          97       1  0  79  -1 -  8939 -      21:33 ?        00:00:00 /lib/systemd/systemd-journald
4 S root         127       1  0  80   0 -  5579 -      21:33 ?        00:00:00 /lib/systemd/systemd-udevd
4 S systemd+     148       1  0  80   0 -  4771 -      21:33 ?        00:00:00 /lib/systemd/systemd-networkd
5 S root
...

其中各列的含义如下:

  • F:内核分配给进程的系统标志
  • S:进程状态
    • O:正在运行
    • S:休眠
    • R:可运行
    • Z:僵化,已终止单未找到父进程
    • T:停止
  • UID:启动该进程的用户
  • PID:进程ID
  • PPID:父进程PID
  • C:进程生命周期中的CPU利用率
  • PRI:进程优先级,数字越大,优先级越低
  • NI:谦让度(Nice),用于决定优先级
  • ADDR:进程的内存地址
  • SZ:进程被换出时所需要交换空间的大致大小
  • WCHAN:进程休眠的内核函数地址
  • STIME:进程启动时的系统时间
  • TTY:启动进程的终端设备
  • TIME:运行进程的累计CPU时间
  • CMD:进程名称

1.2 top命令

注意ps命令只能显示某时刻的进程状态信息,无法显示实时的进程状态信息。
使用top命令可以查看系统中进程的实时状态信息。

$ top
###第一部分显示系统概况
#第一行显示当前时间,系统运行时长、登录的用户数和系统的平均负载
top - 22:11:24 up 38 min,  0 users,  load average: 0.00, 0.00, 0.00
#第二行显示进程概况:运行、休眠、停止和僵化的进程个数
Tasks:  34 total,   1 running,  33 sleeping,   0 stopped,   0 zombie
#第三行显示CPU概况
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
#最后两行显示系统内存状态:物理内存总大小、空闲大小、使用大小和交换空间状态
MiB Mem :  11890.0 total,  10917.5 free,    491.0 used,    481.5 buff/cache
MiB Swap:   3072.0 total,   3072.0 free,      0.0 used.  11147.9 avail MemPID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND1 root      20   0  170184  13188   8412 S   0.0   0.1   0:00.60 systemd2 root      20   0    2456   1332   1220 S   0.0   0.0   0:00.02 init-systemd(Ub5 root      20   0    2484   1140   1092 S   0.0   0.0   0:00.00 init97 root      19  -1   35756  13084  12088 S   0.0   0.1   0:00.15 systemd-journal127 root      20   0   22316   8596   3904 S   0.0   0.1   0:00.22 systemd-udevd148 systemd+  20   0   19084   7784   6896 S   0.0   0.1   0:00.06 systemd-network312 root      20   0    2460    112      0 S   0.0   0.0   0:00.00 SessionLeader313 root      20   0    2476    116      0 S   0.0   0.0   0:00.01 Relay(314)314 huzhou    20   0   10040   5068   3348 S   0.0   0.0   0:00.05 bash315 root      20   0    5700   4020   3252 S   0.0   0.0   0:00.01 login338 huzhou    20   0   10024   4824   3276 S   0.0   0.0   0:00.03 bash

1.3 kill命令

使用kill命令可通过PID向进程发送信号,需注意,必须使用属主或root用户才能发送进程信号
Linux进程信号

信号名称描述
1HUP挂起
2INT中断
3QUIT结束运行
9KILL无条件终止
11SEGV段错误
15TERM尽可能终止
17STOP无条件停止运行,但不终止
18TSTP停止或暂停,但继续在后台运行
19CONT在STOP或TSTP之后回复执行
$ kill 647
-bash: kill: (647) - Operation not permitted$ kill -s 647		#强制终止PID为647的进程

pkill命令可使用程序名代替PID,也允许使用通配符

$ pkill http*		#终止所有名称以http起头的进程

注意以root身份运行pkill时要格外小心,命令中的通配符很容易将系统的重要进程终止,可能导致系统损坏。

2.检测磁盘空间

2.1 mount命令

当系统接入新的存储设备时,需使用mount命令将其放入虚拟目录中,及挂载。

$ mount -t ext4		#过滤已挂载的ext4文件系统分区
/dev/sdc on / type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered)
/dev/sdc on /mnt/wslg/distro type ext4 (ro,relatime,discard,errors=remount-ro,data=ordered)
/dev/sdc on /snap type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered)

mount命令默认输出当前系统已挂载的设备列表,mount命令提供了4部分信息

  • 设备文件名
  • 设备在虚拟目录中的挂载点
  • 文件系统类型
  • 已挂载设备的访问状态

手动挂载设备的基本命令格式为:
mount -t type device directory
例如将U盘/dev/sdb1挂载到/media/disk:

$ mount -t vfat /dev/sdb1 /media/disk

mount 命令选项

选项描述
-a挂载/etc/fstab文件中指定的所有文件系统
-f模拟挂载设备,但并不真正的挂载
-F和-a选项一起使用时,同时挂载所有文件系统
-v详细模式,显示挂载设备的每一步操作
-i不适应/sbin/mount.filesystem下的任何文件系统协助文件
-l自动给ext2、ext3、ext4或XFS文件系统添加文件系统标签
-n挂载设备,但不在/etc/mtab已挂载设备文件中注册
-p num进行加密挂载时,从文件描述符num中获得口令
-s忽略该文件系统不支持的挂载选项
-r将设备挂载为只读
-w将设备挂载为可读写(默认选项)
-L label将设备按指定label挂载
-U uuid将设备按指定的uuid挂载
-O和-a选项一起使用,限制其所作用的文件系统
-o给文件系统添加特定选项

其中-o选项允许挂载文件系统时添加一系列以,分割的额外选项,常用选项如下:

  • ro:以只读形式挂载
  • rw:以读写形式挂载
  • user:允许普通用户挂载文件系统
  • check=none:挂载文件系统时不执行完整性校验
  • loop:挂载文件

2.2 umount命令

与mount挂载相对的,使用umount命令卸载设备(再将设备拔下)。
umount directory | device

2.3 df命令

使用df命令可以很方便的查看所有已挂载磁盘的使用情况:

$ df -t ext4 -t vfat			#查看ext4 和vfat文件系统使用情况
Filesystem      1K-blocks      Used Available Use% Mounted on
/dev/sdc       1055762868 102000296 900059100  11% /
  • 设备文件位置
  • 包含多少个以1024字节为单位的块
  • 使用了多少以1024字节为单位的块
  • 还有多少以1024字节为单位的块可用
  • 已用空间所占的百分比
  • 设备挂载点
$ df -h		#以(human-readable)人类可读的方式显示所有文件系统使用情况
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdc       1007G   98G  859G  11% /
rootfs          5.9G  2.1M  5.9G   1% /init
none            5.9G     0  5.9G   0% /dev
none            5.9G     0  5.9G   0% /dev/shm
tmpfs           5.9G     0  5.9G   0% /sys/fs/cgroup
none            5.9G  940K  5.9G   1% /run
none            5.9G     0  5.9G   0% /run/lock
none            5.9G   80K  5.9G   1% /run/user
none            119G   74G   45G  63% /usr/lib/wsl/drivers
none            5.9G     0  5.9G   0% /usr/lib/wsl/lib
none            5.9G  4.0K  5.9G   1% /mnt/wsl
none            5.9G   76K  5.9G   1% /mnt/wslg/versions.txt
none            5.9G   76K  5.9G   1% /mnt/wslg/doc
snapfuse         64M   64M     0 100% /snap/core20/2105
snapfuse         92M   92M     0 100% /snap/lxd/24061
snapfuse         64M   64M     0 100% /snap/core20/2015
snapfuse         41M   41M     0 100% /snap/snapd/20290
snapfuse         41M   41M     0 100% /snap/snapd/20671
drvfsa          119G   74G   45G  63% /mnt/c
drvfsa          300G   98G  203G  33% /mnt/d
drvfsa          450G  169G  282G  38% /mnt/e
drvfsa          182G  156G   26G  86% /mnt/g

2.4 du命令

使用du命令可以显示某个特定目录的大小,以磁盘块为单位

$ du -h bin/		#以人类可读方式显示bin文件夹的大小
4.0K    bin/

du常用的选项包括:

  • -c:显示所有已列出文件的总大小
  • -h:以人类可读格式输出大小,K表示千字节,M表示兆字节,G表示吉字节
  • -s:输出每个参数的汇总信息。

3.处理数据文件

3.1 sort命令

使用sort命令进行数据排序

$ cat test.txt			#查看test.txt文件内容
one
two
three
four
five
1
2
100
45
3$ sort test.txt			#对test.txt文本内容进行排序显示
1
100
2
3
45
five
four
one
three
two

sort命令按字符首字母的先手顺序排序。

$ sort -n test.txt		#test.txt中数字按大小排序
five
four
one
three
two
1
2
3
45
100

sort常用选项

选项描述
-b排序时忽略起始空白字符
-f字符小写转成大写
-g按一般数值大小排序
-M按月份排序
-h按人类可读大小排序,如2K 1G
-n根据字符串数值大小排序
-R随机排序
-r降序排序
-V按文本中的版本号自然排序

3.2 grep命令

使用grep命令逐行查找文件中的数据

$ grep t test.txt		#查找test.txt中t字符相关内容
two
three

grep常用参数

  • -v:反向搜索
$ grep -v t test.txt
one
four
five
1
2
100
45
3
  • -n:显示搜索结果所在行号
$ grep -n t test.txt
2:two
3:three
  • -c:显示匹配内容的行数
$ grep -c t test.txt
2
  • -e:逐个指定多个匹配模式
$ grep -e t -e o test.txt
one
two
three
four

Linux包含多种文件压缩工具

工具文件扩展名描述
bzip2.bz2采用Burrows-Wheeler块排序文本压缩算法和霍夫曼编码
compress.Z最初的Unix文本压缩工具,已经快无人使用
gzip.gzGNU压缩工具,采用Lempel-Zivwelch编码
xz.xz日渐流行的通用压缩工具
zip.zipWindows中PKZIP工具的Unix实现

3.3 gzip命令

gzip软件包是GNU项目的产物,这个软件包包括

  • gzip:压缩文件
  • gzcat:查看压缩过的文本文件内容
  • gunzip:解压文件
$ gzip file1
$ ls -l file*
-rw-r--r-- 1 huzhou huzhou  0 Jan 14 01:34 file.text
-rw-r--r-- 1 huzhou huzhou 26 Jan 17 23:42 file1.gz

3.4 tar命令

Linux使用tar命令进行归档
tar命令操作选项

操作长选项描述
-A–concatenate将一个tar归档文件追加到另一个tar归档文件末尾
-c–create创建新的tar归档文件
-ddiff检查归档文件和文件系统的差异
–delete从tar归档文件中删除文件
-r–append将文件追加到tar归档文件末尾
-t–list列出tar归档文件的内容
-u–update将tar归档文件中已有的同名文件更新的文件追加到该归档文件
-x–extract从tar归档文件中提取文件

tar命令选项

选项描述
-C dir切换到指定目录
-f file将结果输出到文件或设备
-j将输出传给bzip2命令进行压缩
-J将输出传给xz命令进行压缩
-p保留文件的所有权限
-v在处理文本时显示文件名
-z将输出传给gzip命令进行压缩
-Z将输出传给compress命令进行压缩

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/630954.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

突破通胀风险,聚焦现货黄金投资机遇

随着全球经济不断发展和金融市场的波动,通胀风险成为各界关注的焦点。在面对通胀带来的财务压力和资产贬值的威胁时,投资者都在寻找稳定且可靠的避险资产。而现货黄金作为一种值得瞩目的投资工具,正吸引着越来越多投资者的目光。 黄金作为一种…

大数据 - Kafka系列《一》- Kafka基本概念

目录 🐶1.1 什么是kafka 🐶1.2 Kafka可以用来做什么 🐶1.3 kafka的特点 🥙1. 高吞吐量、低延迟 🥙2. 可扩展性 🥙3. 持久性、可靠性 🥙4. 容错性 🥙5. 高并发 &#x1f436…

LINUX基础培训十之服务管理

前言、本章学习目标 了解LINUX中的服务种类了解LINUX中常见服务的端口熟悉服务的日常管理掌握添加自定义服务 一、Linux系统服务含义及其分类 系统服务是在后台运行的应用程序,并且可以提供一些本地系统或网络的功能。我们把这些应用程序称作服务,也…

【Docker】网络模式详解及容器间网络通信

目录 一、概述 二、默认网络 三、网络模式及应用 1. Bridge模式 2. Host模式 3. none网络模式 四、自定义网络应用 1. 网络相连 2. 自定义通讯 3. 自定义IP 每篇一获 一、概述 在 Docker 中,网络设置包括 IP 地址、子网掩码、网关、DNS 和端口号等关键组…

Redis面试大全

1、什么是Redis? Redis是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 Redis与其他key-value缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次…

Unity中图片合成图集Editor工具

一般图片合成图集用的是Unity自带的SpriteAtlas类添加一个Sprite集合,而所有图片保存在Sprite集合中,然后把Sprite通过Add方法添加到SpriteAtlas类,通过AssetDatabase.CreateAsset()方法来创建图集。

C语言通过MSXML6.0读写XML文件(同时支持char[]和wchar_t[]字符数组)

开发环境&#xff1a;Visual Studio 2010 运行环境&#xff1a;Windows XP SP3 第一节 读取XML文件&#xff08;使用wchar_t[]字符数组&#xff09; /* 这个程序只能在C编译器下编译成功, 请确保源文件的扩展名为c */ #define COBJMACROS #include <stdio.h> #include …

MYSQL自连接、子查询

自连接&#xff1a; # board表 mysql> select * from board; --------------------------------- | id | name | intro | parent_id | --------------------------------- | 1 | 后端 | NULL | NULL | | 2 | 前端 | NULL | NULL | | 3 | 移…

AM5-DB低压备自投装置在河北冠益荣信科技公司洞庭变电站工程中的应用

摘 要&#xff1a;随着电力需求的不断增加&#xff0c;电力系统供电可靠性要求越来越高&#xff0c;许多供电系统已具备两回或多回供电线路。备用电源自动投入装置可以有效提高供电的可靠性&#xff0c;该类装置能够在工作电源因故障断开后&#xff0c;自动且迅速地将备用电源投…

ElasticSearch高阶使用

目录 一、match_all 二、 text和keyword的区别 三、match、term的区别 四、exists query 五、 ids query 六、range query范围查询 七、prefix query前缀查询 八、 wildcard query通配符查询 九、 fuzzy query模糊查询 十、match query匹配查询 十一、multi_match q…

C++设计模式(李建忠)笔记3

C设计模式&#xff08;李建忠&#xff09; 本文是学习笔记&#xff0c;如有侵权&#xff0c;请联系删除。 参考链接 Youtube: C设计模式 Gtihub源码与PPT&#xff1a;https://github.com/ZachL1/Bilibili-plus 豆瓣: 设计模式–可复用面向对象软件的基础 文章目录 C设计模…

【低危】OpenSSL 拒绝服务漏洞

漏洞描述 OpenSSL 是广泛使用的开源加密库。 在 OpenSSL 3.0.0 到 3.0.12, 3.1.0 到 3.1.4 和 3.2.0 中 &#xff0c;使用函数 EVP_PKEY_public_check() 来检查 RSA 公钥的应用程序可能会遇到长时间延迟。如果检查的密钥是从不可信任的来源获取的&#xff0c;这可能会导致拒绝…

Nodejs 第三十二章(数据库)

MySQL是一种开源的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它是最受欢迎的数据库系统之一。MySQL广泛用于Web应用程序和其他需要可靠数据存储的应用程序中。 以下是MySQL数据库的一些重要特点和概念&#xff1a; 数据库&#xff1a;MySQL是一个数据库…

龙腾荆楚 | 软件供应链安全检测中心落地襄阳

1月16日&#xff0c;襄阳市东津新区“园区提质、企业满园”行动暨2024年东津云谷首月重大项目集中签约活动圆满完成&#xff0c;开源网安城市级项目再下一城&#xff0c;分别与襄阳市政府、高校、国投签订战略合作协议&#xff0c;推动荆楚地区数字政府、数字经济、数字社会、数…

【MATLAB源码-第115期】基于matlab的QSM正交空间调制系统仿真,输出误码率曲线。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 正交空间调制&#xff08;QSM&#xff09;是一种先进的无线通信技术&#xff0c;它通过利用发射端的多天线阵列来传输信息&#xff0c;从而提高了数据传输的效率和速率。这种技术的关键在于它使用天线阵列的空间特性来编码额…

情人节专属--html5 canvas制作情人节告白爱心动画特效

💖效果展示 💖html展示 <!doctype html> <html> <head> <meta charset=

maven 配置http私服Since Maven 3.8.1 http repositories are blocked. 报错处理

刷maven报错 com.saas:pdf:pom:0.0.1 failed to transfer from http://0.0.0.0/ during a previous attempt. This failure was cached in the local repository and resolution is not reattempted until the update interval of maven-default-http-blocker has elapsed or …

七陌API对接实战:外呼接口及通话记录推送

通过白码低代码开发平台对接七陌外呼接口&#xff0c;实现选择客户进行外呼&#xff0c;并保存通话记录的功能。 外呼接口实现&#xff1a; 官方接口文档&#xff1a;http://developer.7moor.com/v2docs/dialout/ 1、对接数据查询 向七陌商务索取到七陌用户中心账号密码&a…

7.5 MySQL对数据的增改删操作(❤❤❤)

7.5 MySQL对数据的基本操作 1. 提要2. 数据添加2.1 insert语法2.2 insert 子查询2.3 ignore关键字 3. 数据修改3.1 update语句3.2 update表连接 4. 数据删除4.1 delete语句4.2 delete表连接4.3 快速删除数据表全部数据 1. 提要 2. 数据添加 2.1 insert语法 2.2 insert 子查询 …

Python 一行命令部署http、ftp服务

Python 一行命令部署http服务 文章目录 Python 一行命令部署http服务具体操作命令如下浏览器返回下载Python 一行命令部署FTP服务 具体操作命令如下 这个比nginx相对来说更加简单&#xff0c;可以用于部署特殊场景时如银行等部署时&#xff0c;各种权限控制&#xff0c;内网之间…