
出力結果が異なるのはなぜかご存知ですか。いくつかは誤解を招くものです。
-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
あなたの例では、 は起動される前にシェルによって展開されました。*
は、名前が で始まらない現在の作業ディレクトリ内のすべてのエントリに展開されます.
。どうやらあなたの場合、現在のディレクトリに一致するエントリが 1 つだけありました:new_dir
。
これらはあなたが入力したコマンドです。読みやすくするために集めました:
ls -rlt
ls -rlt *
ls -rltd
ls -rltd *
ls -rltR
ls -rltR *
これらは、シェルによって展開された後に実際に実行されるものです。それぞれ次のとおりです。
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
と各サブディレクトリには何が含まれていますか?
これらのクエリに対する回答が得られました。クエリが異なれば、回答も異なります。