Linux工具|运维工具lsblk使用小妙招

在这里插入图片描述

📫 作者简介:「六月暴雪飞梨花」,专注于研究Java,就职于科技型公司后端工程师
🏆 近期荣誉:华为云云享专家、阿里云专家博主、腾讯云优秀创作者、ACDU成员
🔥 三连支持:欢迎 ❤️关注、👍点赞、👉收藏三连,支持一下博主~

1 背景

运维工程师(Operations)是负责维护并确保整个服务的高可用性,同时不断优化系统架构提升部署效率、优化资源利用率提高整体的ROI的专业人员。他们的基本职责是负责服务的稳定性,确保服务可以7*24H不间断地为用户提供服务。
作为一名运维工程师,操作系统知识 怎么可以落下,我们需要深入理解Linux系统,包括其文件系统、进程管理、用户和权限管理等。今天就先讲讲「设备和自动化」中的查看块设备和文件系统。说到了这里,大家可能又要跃跃欲试了,毕竟,这些基础的知识也是需要我们下笔如有神。从标题中,你已经猜测出来我此时说的这个小工具叫什么名字。
在这里插入图片描述

2 环境检查

首先需要了解下什么是块设备(block devices),块设备是指设备的文件。这些设备可以是HDD、SDD、RAM磁盘等。块设备文件可以在目录下找到 /dev。有了这个信息之后,在Linux服务器中,没有操作界面,我们是如何查看这些信息呢,lsblk就应运而生了。
lsblk指令主要用于展示块设备(block devices)的信息,包括磁盘、分区和挂载点等。
lsblk命令 用于列出所有可用块设备的信息,而且还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息。块设备有硬盘,闪存盘,cd-ROM等等。lsblk命令包含在util-linux-ng包中,现在该包改名为 util-linux。这个包带了几个其它工具,如dmesg。

无论做什么工作,我们需要先做的就是熟悉我们的环境。

首先,执行命令查看当前的操作系统。

[root@xxx ~]# uname -a
Linux xxx 3.10.0-957.el7.x86_64 #1 SMP Thu Nov 8 23:39:32 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux

其次,我们需要检查下我们的机器是否有这个命令。这个命令很有用,很多C语言编写的工具都可以使用这个工具查询。

root@xxx ~]# lsblk -V
lsblk,来自 util-linux 2.23.2

没有看错,当你执行完命令之后,你发现了什么?util-linux,所以这个是属于Linux的自带工具。

如果没有安装或者卸载也没有关系,要安装lsblk,请在此处下载util-linux包。Fedora用户可以通过命令sudo yum install util-linux-ng来安装该包。

3 帮助简介

在Linux环境中,有很多约定俗成的命令,可以帮助我们很快的投入到工作中,例如–help 。下面是我在我的机器上面执行了帮助命令,现在看着是不是一目了然?
在这里插入图片描述

[root@xxx ~]# lsblk --help

用法:
 lsblk [选项] [<设备> ...]

选项:
 -a, --all            打印所有设备
 -b, --bytes          以字节为单位而非易读的格式来打印 SIZE
 -d, --nodeps         不打印从属设备(slave)或占位设备(holder)
 -D, --discard        打印时丢弃能力
 -e, --exclude <列表> 根据主设备号排除设备(默认:内存盘)
 -I, --include <列表> 只显示有指定主设备号的设备
 -f, --fs             输出文件系统信息
 -h, --help           使用信息(此信息)
 -i, --ascii          只使用 ascii 字符
 -m, --perms          输出权限信息
 -l, --list           使用列表格式的输出
 -n, --noheadings     不打印标题
 -o, --output <列表>  输出列
 -p, --paths          打印完整设备路径
 -P, --pairs          使用 key=“value” 输出格式
 -r, --raw            使用原生输出格式
 -s, --inverse        反向依赖
 -t, --topology       输出拓扑信息
 -S, --scsi           输出有关 SCSI 设备的信息

 -h, --help     显示此帮助并退出
 -V, --version  输出版本信息并退出

可用列(用于 --output):
        NAME  设备名
       KNAME  internal kernel device name
     MAJ:MIN  主:次 设备号
      FSTYPE  文件系统类型
  MOUNTPOINT  where the device is mounted
       LABEL  filesystem LABEL
        UUID  filesystem UUID
   PARTLABEL  分区 LABEL
    PARTUUID  分区 UUID
          RA  read-ahead of the device
          RO  只读设备
          RM  removable device
       MODEL  device identifier
      SERIAL  disk serial number
        SIZE  size of the device
       STATE  设备的状态
       OWNER  user name
       GROUP  group name
        MODE  device node permissions
   ALIGNMENT  alignment offset
      MIN-IO  minimum I/O size
      OPT-IO  optimal I/O size
     PHY-SEC  物理扇区大小
     LOG-SEC  逻辑扇区大小
        ROTA  rotational device
       SCHED  I/O scheduler name
     RQ-SIZE  request queue size
        TYPE  device type
    DISC-ALN  discard alignment offset
   DISC-GRAN  discard granularity
    DISC-MAX  discard max bytes
   DISC-ZERO  忽略零数据
       WSAME  write same max bytes
         WWN  unique storage identifier
        RAND  adds randomness
      PKNAME  internal parent kernel device name
        HCTL  Host:Channel:Target:Lun for SCSI
        TRAN  device transport type
         REV  device revision
      VENDOR  device vendor

更多信息请参阅 lsblk(8)

4 实践先行

[root@xxx ~]# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0   200G  0 disk 
├─sda1   8:1    0   300M  0 part /boot
├─sda2   8:2    0   7.9G  0 part [SWAP]
└─sda3   8:3    0 191.9G  0 part /
sr0     11:0    1  1024M  0 rom  
[root@xxx ~]# 

对照着上面的说明文档,是不是一目了然?下面我就以ubuntu来做一个简单的讲解。

01.列出所有块设备

【命令】lsblk -a
【说明】使用选项-a显示所有设备,包括空设备,执行命令

02.要更改树状格式的默认lsblk输出

【命令】lsblk -l
【说明】更改树状格式的默认lsblk输出,l其实是List的形式,使用列表格式的输出

03.显示特定设备

【命令】lsblk 目录设备
【说明】在设备名称后面使用lsblk来显示有关特定设备的信息。

04.按需选择

【命令】lsblk -o 选项
【说明】可以使用-o选项显示特定列的输出,下面来展示下名称和大小

05.显示权限

【命令】lsblk -m
【说明】可以使用-o选项显示特定列的输出,下面来展示下名称和大小

06.输出有关 SCSI 设备的信息

【命令】lsblk -S
【说明】可以使用-S选项输出有关 SCSI 设备的信息

07.显示每个设备的区域模型

【命令】lsblk -z
【说明】可以使用-z选项显示每个设备的区域模型,根据系统来,有些系统没有这个参数

5 写在最后

作为一名运维工程师需要了解掌握很多技能,比如说操作系统、开源组件、监控相关、编程知识、网络知识、数据库知识、自动化技能和日志分析能力。当然也不能缺少一些软技能,例如沟通、抗压等,要和同事、领导以及客户保持良好的沟通,理解需求,提供有效的解决方案,需要应对高强度的工作压力,保持冷静,快速解决问题。


欢迎关注博主 「六月暴雪飞梨花」 或加入【六月暴雪飞梨花社区】一起学习和分享Linux、C、C++、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和技术。

  • 10
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是一些常见的Linux系统运维基础命令: 1. 查询日志文件大于100M的文件并按照大小排序: 使用命令`find /path/to/logs -size +100M -exec ls -lh {} \; | sort -k5 -h` 2. 查询当前端口进程是否运行: 使用命令`netstat -tuln | grep <port>` 3. 查看盘符信息: 使用命令`df -h` 4. 查看实例上的数据盘信息: 使用命令`lsblk` 5. 用于报告Linux中进程间通信设施的状态,显示的信息包括消息列表、共享内存和信号量的信息: 使用命令`ipcs` 6. 查询进程号: - 显示各个进程内存使用情况并按照rss排序: 使用命令`ps aux --sort -rss` - 显示所有的进程,并显示运行进程的命令: 使用命令`ps aux` - 列出CPU使用最高的5个进程: 使用命令`top -b -n 1 | head -n 12` - 列出内存使用最高的5个进程: 使用命令`top -b -n 1 | head -n 12` 7. 通过进程ID查询执行文件所在位置: 使用命令`readlink /proc/<pid>/exe` 8. 查看文件内存: 使用命令`pmap <pid>` 9. 查看内存使用量: 使用命令`free -m` 10. 查看内存映射文件: 使用命令`cat /proc/<pid>/maps` 11. Linux查看CPU物理核心数命令: - 使用命令`lscpu | grep "Core(s) per socket"` - 使用命令`cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l` 12. Linux查看CPU逻辑核心数命令: 使用命令`lscpu | grep "CPU(s):" | awk '{print $2}'` 13. Linux查看CPU主频命令: 使用命令`lscpu | grep "MHz"` 14. Linux查看CPU型号命令: 使用命令`cat /proc/cpuinfo | grep "model name" | uniq` 15. Linux检查CPU是否支持64位运算命令(返回值大于0表示支持): 使用命令`grep -c " lm " /proc/cpuinfo` 16. 一个报告虚拟内存统计信息的小工具: 使用命令`vmstat` 17. 查询所有进程占用情况: - 使用命令`top` - 使用命令`htop` 18. 查询系统IO实时使用情况: 使用命令`iostat` 19. DMI表解码器,可以用来描述系统的构成(以及系统的演变): 使用命令`dmidecode` 20. 查看Linux系统中的CPU更为详细的信息: 使用命令`lscpu` 21. 显示每个CPU处理器的统计: 使用命令`mpstat -P ALL` 22. 可连续对系统性能进行采样分析: 使用命令`perf` 23. 查看系统内核: 使用命令`uname -a` 24. 查看CPU负载: 使用命令`uptime` 25. 跟踪进程的系统调用或信号产生的情况: 使用命令`strace <command>` 26. 跟踪进程调用库函数的情况: 使用命令`ltrace <command>` 这些命令可以帮助你了解和监控Linux系统的运行状态,进行故障排查和性能调优。请根据实际需求选择适合的命令使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

六月暴雪飞梨花

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值