
知道為什麼會有不同的輸出。其中一些內容具有誤導性
-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
以及遇到的每個子目錄?
您得到了這些問題的答案。問題不同,答案也不同。