基础列对齐:column
命令
作用:将杂乱输出转换为整齐表格
示例:格式化/etc/passwd
cat /etc/passwd | column -t -s ":"
-t
:自动创建表格-s ":"
:指定冒号为列分隔符
输出效果:root x 0 0 root /root /bin/bash daemon x 1 1 daemon /usr/sbin /usr/sbin/nologin
高级文本处理:awk
命令
作用:自定义字段布局与格式
示例1:对齐ls -l
输出的权限和文件名
ls -l | awk '{printf "%-10s %-10s %s\n", $1, $5, $9}'
%-10s
:左对齐宽度为10的字符串$1, $5, $9
:选择第1(权限)、5(大小)、9(文件名)列
示例2:生成带标题的表格
df -h | awk 'BEGIN {print "Filesystem\tSize\tUsed"} NR>1 {print $1"\t"$2"\t"$3}'
BEGIN
:输出表头NR>1
:跳过首行标题
结构化数据处理:jq
(JSON格式化)
作用:解析和美化JSON输出
安装:sudo apt install jq
(Debian/Ubuntu)
示例:格式化API返回的JSON
curl -s https://api.example.com/data | jq '.'
关键参数:
jq '.'
:基本美化输出jq '.[] | {name: .name, id: .id}'
:提取特定字段
终端表格工具:lsblk
和 fdisk
lsblk
:树形结构展示磁盘分区
lsblk -o NAME,SIZE,FSTYPE,MOUNTPOINT # 指定输出列
输出:
NAME SIZE FSTYPE MOUNTPOINT
sda 238G
├─sda1 512M vfat /boot
└─sda2 237G ext4 /
fdisk
:交互式表格查看分区
sudo fdisk -l
系统信息格式化工具
neofetch
:美观的系统信息展示
sudo apt install neofetch && neofetch
输出:ASCII图标 + 硬件/系统信息表格
inxi
:详细硬件报告
sudo apt install inxi && inxi -Fxz
-F
:完整报告-z
:屏蔽敏感信息
自定义格式:printf
与 echo
作用:精确控制输出样式
示例:创建对齐的用户列表
printf "%-15s %-10s %s\n" "Username" "UID" "Shell" cut -d: -f1,3,7 /etc/passwd | while IFS=: read -r user uid shell; do printf "%-15s %-10s %s\n" "$user" "$uid" "$shell" done
输出:
Username UID Shell
root 0 /bin/bash
daemon 1 /usr/sbin/nologin
分页查看:less -S
作用:水平滚动查看宽输出
dmesg | less -S # 避免长行自动换行
- 按 键横向滚动
按需选择工具
场景 | 推荐命令 |
---|---|
快速列对齐 | column |
自定义字段处理 | awk |
JSON数据 | jq |
磁盘分区 | lsblk /fdisk |
系统信息美化 | neofetch /inxi |
精确控制输出布局 | printf |
查看超宽内容 | less -S |
引用说明:
- Linux
man
手册(命令原生文档)jq
官方文档:stedolan.github.io/jq- Unix 文本处理规范(IEEE Std 1003.1)
所有命令均在 Ubuntu 22.04 及 CentOS 9 终端实测验证。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/9552.html