Answers:
ls
本身没有直接的等效项,但是有less
实用程序,它将把任何命令的输出格式化为单独的页面,可以按行或页面滚动:
ls -C | less
当-C
触发器栏显示。使用lah
作为参数(ls -lah
)来得到一个升一行显示INE有一个显示LL文件(包括隐藏的人),以及^ h乌曼可读的filesizes。
为了使颜色正确显示,您需要在中添加--color=always
参数ls
,并-R
在less *上添加参数:
ls -C --color=always | less -R
这显示'ls -ah --color = always | 少-R'
与相比more
,less
您可以在输出中滚动。对于大型列表,它也要快一些。
管道的工作方式如下:
每个程序都有输入和输出,管道将一个程序(ls)的输出重定向到另一个程序(less)的输入。而不是简单地期望输入然后将其格式化。
一个比较老派的dos将是pg
:
ls | pg
你也可以
ls | head
或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; };
可以接受的论点,$1
,$2
,$3
等等。$@
表示“每个参数,如果有的话”。
现在lsp *.py
,您可以运行lsp -C
,等等。我们将参数插入传递给ls的位置。如果这是重要的命令,我们也可以少插入$ *。您可以在man ls
(值得一读)查看ls的所有参数。
*:这样做的原因是,每当您通过管道传输内容时,它都会检测到一个无法显示颜色的终端(实际上是另一个程序)。“ --color = always”强制ls忽略它。-R开关使重新绘制屏幕的次数减少,可以正确地转义颜色。
$*
并$@
做完全相同的事情。他们扩展到$1 $2 $3 ...
。但是,带引号的"$@"
扩展为"$1" "$2" "$3" ...
while "$*"
扩展为"$1 $2 $3 ..."
(即,所有参数都放入一个字符串中,使用第一个字符IFS
作为分隔符)。mywiki.wooledge.org/BashGuide/Parameters
尝试ls | less
或ls | more
。第二个接近DOS版本。
ls --color=always -C | less -R