知道为什么会有不同的输出吗?其中一些具有误导性
-bash-4.2$ mkdir -p new_dir/sub_dir/under_dir
-bash-4.2$ touch new_dir/sub_dir/under_dir/file.txt
-bash-4.2$
-bash-4.2$ ls -rlt
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 new_dir
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rlt *
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 sub_dir
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rltd
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 .
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rltd *
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 new_dir
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rtlR
.:
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 new_dir
./new_dir:
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 sub_dir
./new_dir/sub_dir:
total 4
drwxrwxr-x 2 kony kony 4096 Oct 21 20:53 under_dir
./new_dir/sub_dir/under_dir:
total 0
-rw-rw-r-- 1 kony kony 0 Oct 21 20:53 file.txt
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$
-bash-4.2$ ls -rltR *
new_dir:
total 4
drwxrwxr-x 3 kony kony 4096 Oct 21 20:53 sub_dir
new_dir/sub_dir:
total 4
drwxrwxr-x 2 kony kony 4096 Oct 21 20:53 under_dir
new_dir/sub_dir/under_dir:
total 0
-rw-rw-r-- 1 kony kony 0 Oct 21 20:53 file.txt
-bash-4.2$
答案1
我不知道您期望的输出是什么,也不知道是什么误导了您。您每次都提供了不同的输入,因此得到了不同的输出。
相关事实:
ls
没有操作数时,就像唯一的操作数是 一样.
。注意-rltd
和 是选项,而不是操作数。- 通常,如果操作数是目录,
ls
则会打印目录中的条目。这是一种特殊处理,因为在大多数情况下(如果操作数是常规文件、特殊文件、fifo 等),ls
只会打印有关操作数的信息。 -d
禁用目录的这种特殊行为。-R
递归ls
列出遇到的子目录。*
ls
在您的示例中,在启动之前就被您的 shell 扩展了。*
扩展到当前工作目录中名称不以 开头的所有条目.
。显然,在您的情况下,当前目录中只有一个匹配的条目:new_dir
。
这些是您输入的命令,我将它们收集起来以便于阅读:
ls -rlt
ls -rlt *
ls -rltd
ls -rltd *
ls -rltR
ls -rltR *
这些是经过 shell 扩展后你真正运行的,分别是:
ls -rlt
ls -rlt new_dir
ls -rltd
ls -rltd new_dir
ls -rltR
ls -rltR new_dir
这些是具有明确操作数的等效命令;分别是:
ls -rlt .
ls -rlt new_dir
ls -rltd .
ls -rltd new_dir
ls -rltR .
ls -rltR new_dir
这些是描述性查询(-rlt
未解释常见选项,因为我知道它们不是问题):
ls -rlt .
– 里面有什么.
?ls -rlt new_dir
– 里面有什么new_dir
?ls -rltd .
- 什么是.
?ls -rltd new_dir
- 什么是new_dir
?ls -rltR .
.
– 里面有什么以及遇到的每个子目录是什么?ls -rltR new_dir
new_dir
– 里面有什么以及遇到的每个子目录是什么?
您已获得这些问题的答案。问题不同,答案也不同。