增加 ps -o 列宽

cat*_*ory 7 ps text-formatting

当我运行命令时

ps -e -o cmd,stime,etime=
Run Code Online (Sandbox Code Playgroud)

cmdcomlumn被截断,使cmd路径trunctated。如何格式化列宽以显示所有文本?

zua*_*azo 9

在 GNU/Linux 中,您可以按如下方式设置列宽:

ps -e -o cmd:50,stime,etime=
Run Code Online (Sandbox Code Playgroud)

ps(1)手册页:

-o 格式

用户定义的格式。format 是一个以空格分隔或逗号分隔的列表形式的单个参数,它提供了一种指定各个输出列的方法。识别的关键字在下面的标准格式说明部分中进行了描述。标题可以根据需要重命名 (ps -o pid,ruser=RealUser -o comm=Command)。如果所有列标题都为空 (ps -o pid= -o comm=),则不会输出标题行。对于宽标题,列宽将根据需要增加;这可用于加宽列,例如 WCHAN (ps -o pid,wchan=WIDE-WCHAN-COLUMN -o comm)。还提供显式宽度控制 (ps opid,wchan:42,cmd)。ps -o pid=X,comm=Y 的行为因人而异;输出可能是名为“X,comm=Y”的一列或名为“X”和“Y”的两列。如有疑问,请使用多个 -o 选项。使用 PS_FORMAT 环境变量根据需要指定默认值;DefSysV 和 DefBSD 是可用于选择默认 UNIX 或 BSD 列的宏。

  • 如果您可以交换列,您可以将命令放在最后。使用 `ps -e -o stime,etime=,cmd` 会打印完整的命令行。 (3认同)