如何激活ls命令的分页?

Modified on: Sat, 09 Jun 2018 21:27:53 +0800

ls命令用于激活分页的等效选项是什么,如在DOS中dir /p那样?

作者:NES

最佳答案

ls本身没有直接的等价物,但是less实用程序,它将任何命令的输出格式化为单独的页面,可以按行或页面滚动:
<pre>ls -C | less</pre> 强>

其中-C触发列显示。使用lah作为参数(ls -lah)来获取l ine的行显示a ll文件显示(包括隐藏的)和h uman可读文件大小。

  • 要让颜色正确显示,您需要将--color=always参数添加到ls,并且less *:

    上的-R参数

    <pre>ls -C --color=always | less -R</pre>


    这显示'ls -ah --color = always |少-R'

more相反, less可让您滚动输出。对于非常大的列表,它也快一点。

管道的工作原理如下:

每个程序都有输入和输出,管道将一个程序(ls)的输出重定向到另一个程序的输入(less)。而不是简单地期望它然后格式化的输入。

  • 更老式的dos等效版本将是pg

    ls -C | less

你也可以

  • 使用ls | headls | tail只显示输出的第一部分或最后一部分
  • 使用watch "ls"使显示屏保持打开状态,每隔几秒更新一次以观察更改
  • 如果您坐在离屏幕很远的地方,请使用banner $(ls)。 (;


  • 如果您发现所有这些都太长而无法记住,您可以设置别名

    使用文本编辑器打开~/.bash_aliases并添加如下内容:

    ls -C --color=always | less -R

    (这是每次启动新虚拟终端时运行的脚本,您应该在那里设置所有永久别名)

    现在您只需输入lsp或您选择的任何名称。

    如果您希望能够将更多参数传递给您的别名,我们需要定义一个函数

    ls | pg
    

    一个函数,主要看起来像这样:name(){ commands; };可以接受参数,$1$2$3等等。 $@表示“每个参数,如果有的话”

    您现在可以运行类似lsp *.pylsp -C等内容。我们将参数插入到传递给ls的位置。如果它是重要命令,我们也可以插入$ * for less。您可以在man ls (值得一读)。


*:原因是,无论何时管道,它都会检测到一个无法显示颜色的终端(实际上是另一个程序)。 “--color = always”强迫ls忽略这一点。 -R开关不会重新显示屏幕,正确地转换颜色


相关问答

添加新评论