可能在某处得到了回答,但很难构建搜索词组。
我正在运行一个 bash 终端窗口,有些命令太大而无法显示在页面上(例如ps -A)
我依稀记得一个命令行参数/方法,它逐页显示命令输出,所以我可以滚动输出,但我不记得它是什么......有什么指针吗?
lor*_*nix 12
对于我经常使用的命令,我通常function在我的.bashrc 中设置 a以使它们比屏幕长时分页。
就像你的例子:(ps -A)
function ps { command ps "$@" |& less -F; }
Run Code Online (Sandbox Code Playgroud)
这将替换ps为一个名为 的函数,该函数使用命令行上给出的任何参数ps调用原始ps命令,然后将输出(stdout和stderr,使用|&管道)less -F传送到 中,如果超过一个屏幕,则暂停,但退出如果它小于全屏,则立即。
非常方便,不会干扰我迄今为止使用过的任何东西,而且很酷!
您甚至可以将常用选项添加到命令/函数中:
function nm { command nm --demangle "$@" |& less -F; }
Run Code Online (Sandbox Code Playgroud)
这使得nm总是 demangle C++ 符号。 AND对输出进行分页。好极了!
我正在运行Debian,所以我apt-cache经常使用该命令,主要是搜索和显示。这个函数使那些特定的选项分页,搜索输出被排序,所有的东西都分页:
function apt-cache { case "$1" in "search") command apt-cache "$@" | sort | less -F;; *) command apt-cache "$@" | less -F;; esac; }
Run Code Online (Sandbox Code Playgroud)
如果命令是“搜索”,则对输出进行排序,然后使用 进行分页less -F,但如果命令是其他任何内容,则只需进行分页,而不进行排序。
有时我会忘记我有这些功能,我会做一些类似的事情:
apt-cache search gcc | less
Run Code Online (Sandbox Code Playgroud)
该功能不会干扰,一切都按预期工作,无论哪种方式都没有伤害。
另一个小调整,我.bashrc在所有系统上都使用相同的方法,因此有时可能未安装实用程序,因此不需要该功能。我让它们像这样有条件:
which apt-cache &>/dev/null && function apt-cache { case "$1" in "search") command apt-cache "$@" |& sort | less -F;; *) command apt-cache "$@" |& less -F;; esac; }
Run Code Online (Sandbox Code Playgroud)
这只是使用which命令来确定程序是否可用,如果不可用,它会悄悄地失败并跳过安装该功能。哒哒!
通常的方法是将输出通过管道传输到“less”。
ls -R / | less
Run Code Online (Sandbox Code Playgroud)
q 是退出的关键,就像手册页一样。
如果该命令可能会产生错误或其他输出到 stderr,您可能还希望将其定向到管道。
ls -R 2>&1 | less
Run Code Online (Sandbox Code Playgroud)
任何有 bash 的机器也应该少一些。在旧的 Linux 机器上,程序更多,但一次只做一页,更少让您可以随意滚动。
| 归档时间: |
|
| 查看次数: |
20944 次 |
| 最近记录: |