ls 仅在主目录上递归,除了颜色之外没有指定任何标志

ls 仅在主目录上递归,除了颜色之外没有指定任何标志

就像主题所说,每当我在我的主目录中并运行 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

相关内容