![ls 仅在主目录上递归,除了颜色之外没有指定任何标志](https://linux22.com/image/4638/ls%20%E4%BB%85%E5%9C%A8%E4%B8%BB%E7%9B%AE%E5%BD%95%E4%B8%8A%E9%80%92%E5%BD%92%EF%BC%8C%E9%99%A4%E4%BA%86%E9%A2%9C%E8%89%B2%E4%B9%8B%E5%A4%96%E6%B2%A1%E6%9C%89%E6%8C%87%E5%AE%9A%E4%BB%BB%E4%BD%95%E6%A0%87%E5%BF%97.png)
就像主题所说,每当我在我的主目录中并运行 ls 时,它都会递归地向我显示每个文件夹中的每个文件,我找不到任何说明为什么会发生这种情况的文档,我一直在谷歌上到处寻找但无济于事。我不确定它是什么时候开始这样做的,所以我不确定罪魁祸首是什么。
它也以 root 身份执行此操作,但除了主目录之外,它不在任何目录中执行此操作。
这让我相信它是目录或其中文件的设置。任何帮助,将不胜感激!
CentOS 6.4 64 位
dr-xr-xr-x 130 user user 55M Dec 20 22:05 user
$ uname -a
Linux 3.10.9-xxxx-grs-ipv6-64 #1 SMP Wed Aug 21 11:51:59 CEST 2013 x86_64 x86_64 x86_64 GNU/Linux
$ which ls
alias ls='ls --color=auto'
/bin/ls
更多信息:
$ type ls
ls is aliased to `ls --color=auto'
$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls
$ ls
file1
file2
folder1
folder1\file3
folder1\file4
folder2
folder2\file5
folder3
file6
依此类推,它列出了主目录中的每个文件,然后列出了每个文件夹中的每个文件
$ strace ls
write(1, "WWW_ERRORS\n", 11WWW_ERRORS
) = 11
write(1, "WWW_ERRORS\\404.html\n", 20WWW_ERRORS\404.html
) = 20
write(1, "WWW_ERRORS.rar\n", 15WWW_ERRORS.rar
) = 15
write(1, "xbmc\n", 5xbmc
) = 5
close(1) = 0
munmap(0x3627ad0b000, 4096) = 0
close(2) = 0
exit_group(0) = ?
答案1
为了确保您实际上运行的是内置函数ls
而不是某些别名或函数,请运行command ls
.您还可以通过运行来检查正在运行的选项type ls
,如@乔丹建议。要了解所有可能意味着的事情ls
,请运行type -a ls
。