该命令的默认行为ls
是忽略以点开头的文件,但如果您使用长列表格式,-l
它们将会出现。这对我来说很不方便且违反直觉,我希望在长列表格式中忽略它们,除非提供-a
或。-A
无论如何。我浏览了man
页面,但到目前为止我发现的唯一解决方案是使用相当难打字ls -l --ignore='.*'
。有简写吗?
如果不,你认为为什么不?
顺便提一句。请不要推荐别名、bash 函数等,我说的是 sshing 到远程主机,我不能/不想重新配置。
更新:我有一个拼写错误,我的意思是“点”,但最初输入“逗号”,因为我累了。
答案1
- 您是否检查过没有为 ls 命令定义别名,alias ls='ls -a --color=auto'
如果有,您可以定义一个别名来显示长列表而不显示隐藏的列表。
alias ls='ls -l --color=auto'
因此它将显示长列表,而无需定义显示,即隐藏文件的列表。
答案2
ls
不忽略以逗号开头的文件,
它做忽略以点开头的文件.
下面的例子。就捷径而言,您可以使用ls -lI,*
或ls -l [^,]*
[steve@centos7 kak]$ find
.
./,foo
./foo
./.foo
[steve@centos7 kak]$ ls
foo ,foo
[steve@centos7 kak]$ ls -l
total 0
-rw-rw-r--. 1 steve steve 0 Jul 9 21:02 foo
-rw-rw-r--. 1 steve steve 0 Jul 9 20:58 ,foo
[steve@centos7 kak]$ ls -lI,*
total 0
-rw-rw-r--. 1 steve steve 0 Jul 9 21:02 foo
[steve@centos7 kak]$ ls -l [^,]*
-rw-rw-r--. 1 steve steve 0 Jul 9 21:02 foo
[steve@centos7 kak]$
答案3
ls -l
通常不会列出以点开头的文件。确保它ls
没有别名为“ls -a”,或者-A
如果您不想看到以点开头ls -l
或正常的文件ls
,那么应该修复它。