ps aux不包裹线

msk*_*app 5 linux ps

当我做'ps aux'时,很多线都比我的终端宽度长,而不是换行到下一行.起初我以为这是我的stty设置,但是我注意到像netstat这样的其他命令会在我的终端中换行.我宁愿不被迫使用更少或一些其他寻呼机.

有人知道线条没有包裹的原因吗?以及如何解决?

cin*_*tic 11

还有另一个简单的解决方案:

echo "$(ps aux)"
Run Code Online (Sandbox Code Playgroud)

paranthesis将在子shell中执行命令,我猜这个命令没有宽度规范,因此不会切割线,至少在每个shell上我试过这种情况.

使用引号打印使打印命令保持Newlines:http: //manpages.ubuntu.com/manpages/trusty/en/man1/bash.1.html#contenttoc11

  • 这在 Alpine Linux 容器中有效。 (2认同)

Dmi*_*rov 8

ps是一个相当古老的命令。它读取终端的宽度并相应地设置格式。您可以使用--cols选项覆盖它。

 $ ps aux --cols 100
 ...
 user    29246  8.0 19.7 1748240 763200 ?      Sl   Dec05 364:04 /usr/lib/firefo
 x/firefox
 user    31490  0.0  1.0 235660 39256 ?        Sl   Dec05   0:06 /usr/bin/evince 
 /tmp/space_draft_wo
 ...
Run Code Online (Sandbox Code Playgroud)

然后用更长的线

 $ ps aux --cols 120
 ...
 user    29246  8.0 19.7 1748240 763200 ?      Sl   Dec05 364:04 /usr/lib/firefo
 x/firefox
 user    31490  0.0  1.0 235660 39256 ?        Sl   Dec05   0:06 /usr/bin/evince 
 /tmp/space_draft_work_programme.pdf
 ...
Run Code Online (Sandbox Code Playgroud)

  • 我必须使用“ps aux --cols 10000”。当我使用 100 时,当它达到我的终端宽度时,线条仍然被切断。由于某种原因,我不必在工作中指定它,也许它是在 /etc/init.d 或类似的东西中配置的。 (2认同)

小智 6

来自man(1) ps输出修改器

[UN*X]  -w   Wide output.  Use this option twice for unlimited width.
[BSD]   w    Wide output.  Use this option twice for unlimited width.
Run Code Online (Sandbox Code Playgroud)

我倾向于使用 UN*X 变体,ps -ef并添加作为助记符的自动换行来 make: ~ $ ps -efww~ $ ps auxww 等效。