如何激活ls命令的分页?
用于激活分页的ls
命令的等效选项是什么,如DOS中的dir /p
那样?
在ls
本身没有简单的等价物,但实用性less
,它会将任何命令的输出格式化为单独的页面,可以按行或页面滚动:
ls -C | 减
其中-C
触发列显示。 使用lah
作为参数( ls -lah
)来逐行显示ll文件显示(包括隐藏的文件),以及可读的文件大小。
-
要使颜色正确显示 ,您需要将
--color=always
参数添加到ls
,并将-R
参数添加到less *:ls -C --color = always | 少-R
这显示’ls -ah –color = always | 少-R’
与之相反, less
会让您滚动输出。 对于非常大的列表,它也快一点。
管道的工作方式如下:
每个程序都有输入和输出,管道将一个程序(ls)的输出重定向到另一个程序(less)的输入。 而不是简单地期望它然后格式化的输入。
-
一个更老派的dos等价物将是
pg
:ls | pg
你也可以
- 使用
ls | head
ls | head
或ls | tail
ls | tail
只显示输出的第一个或最后一个部分 - 使用
watch "ls"
保持显示屏打开,每隔几秒更新一次以观察更改 - 如果你坐在离屏幕很远的地方,请使用
banner $(ls)
。 (;
-
如果您发现所有这些都太长而无法记住,您可以为它设置一个别名 :
使用文本编辑器打开
~/.bash_aliases
其添加以下内容:alias lsp="ls -ah --color=always | less -R"
(这是每次启动新虚拟终端时运行的脚本,您应该在那里设置所有永久别名)
现在您只需输入
lsp
或您选择的任何名称即可。如果您希望能够将更多参数传递给别名,我们需要定义一个函数:
lsp(){ ls -ah --color=always "$@" | less -R; }
一个函数,主要看起来像这样:
name(){ commands; };
name(){ commands; };
可以接受参数,$1
$2
$3
等等。$@
表示“每个参数,如果有的话” 。您现在可以运行类似
lsp *.py
,lsp -C
等的内容。 我们将参数插入到传递给ls的位置。 如果它是重要命令,我们也可以插入$ * for less。 你可以在man ls
看到所有ls的参数(值得一读)。
*:原因是,无论何时管道,它都会检测到一个终端(实际上是另一个程序)无法显示颜色。 “–color = always”强迫ls忽略这一点。 -R开关可以减少重新绘制屏幕,正确地转换颜色 。
我不确定是否有一些ls命令用于分页。 但是,您可以使用less
的管道,如下所示:
ls | less
并使用q退出。
试试ls | less
ls | less
或ls | more
ls | more
。 第二个接近DOS版本。