当我执行'ps aux'时,很多行都比我的终端宽度长,而不是换行到下一行。起初我以为这是我的stty设置,但是我注意到像netstat这样的其他命令会在我的终端中换行。我宁愿不被迫使用更少或其他一些寻呼机。
有人知道线条没有包裹的原因吗?以及如何解决?
答案 0 :(得分:10)
还有另一个简单的解决方案:
echo "$(ps aux)"
paranthesis将在子shell中执行命令,我猜这个命令没有 width 规范,因此不会删除行,至少在我试过的每个shell上都是这样。
使用引号打印使print命令保持Newlines: http://manpages.ubuntu.com/manpages/trusty/en/man1/bash.1.html#contenttoc11
答案 1 :(得分:3)
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
...
然后用更长的行
$ 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
...
答案 2 :(得分:2)
来自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.
我倾向于UN * X变体ps -ef
并添加,作为助记符,自动换行来制作:
~ $ ps -efww
但
~ $ ps auxww
是等价的。