
Linux のコマンドls
とコマンドの違いを教えていただけますか?ls -p
答え1
この-p
オプションは/
ディレクトリの末尾に を追加し、出力のどれがディレクトリでどれがファイルであるかを簡単に検出するのに役立ちます。
と同様のオプションは-p
、-F
次の文字を使用して以下を示します。
/
--> ディレクトリ@
--> シンボリックリンク|
--> fifo ファイル (名前付きパイプ)。
一方、ls
これらのいずれも行いません。
これらのオプションは、 のようなオプションを使用しない場合--color
や、端末が出力の色付けをサポートしていない場合に役立ちます。
$ ls
block dm-1 hwrng
どれがディレクトリでどれがファイルなのかを見分けるのは難しいですよね? つまり:
$ ls -p
block/ dm-1 hwrng
block
これでディレクトリであることがわかりました。
答え2
ls -p
/
フォルダ名の後にを追加しますls
。追加しません。
答え3
(man ls
Linuxコマンドのドキュメントが全て載っています)
ls
ls - list directory contents
ls -p
-p, --indicator-style=slash
append / indicator to directories
答え4
の効果に気付かない場合は-p
、何ls
にエイリアスされているかを確認する必要があります。
他の人が言っているように、ls -p
はディレクトリ名に末尾の を付けて表示します/
。ただし、 や などのフラグは-p
効果-F
がないように見えるため、どのような機能を果たすのかを尋ねる人もいます。
通常、効果は明らかに現れます。
ek@Io:~/tmp$ ls
directory regular-file
ek@Io:~/tmp$ ls -p
directory/ regular-file
ls
ただし、オプションを追加するシェル エイリアスをユーザーが持つことは一般的です。これらのオプションの1つが、-p
またはディレクトリ名の末尾にスラッシュを追加する別のオプションである場合、-p
自分自身を追加しても何も変わりません。
Ubuntu では、type ls
通常は が表示されますls is aliased to `ls --color=auto'
。(このエイリアスは、ユーザー アカウントの作成時に からコピーされるalias ls='ls --color=auto'
ユーザーのファイルでによって提供されます。) ユーザーが対話型シェル プロンプトで実行すると、 に置き換えられます。.bashrc
/etc/skel
ls
ls --color=auto
-p
を に渡しても効果がないと思われる場合はls
、 または を実行してみてくださいtype ls
。alias ls
( のシェル関数が存在する可能性はまれですが、あるためls
、ここで何が起こっているのかを把握するよりtype
も、 の方が信頼性があります。) 、、、またはを含むエイリアスがあることがわかる場合があります。alias
ls
-p
--indicator-style=slash
-F
--classify
エイリアスの拡張を回避する方法はいくつかあります。
command ls
\ls
/bin/ls
ls
3 番目のコマンドは、実行ファイルが の場合にのみ同等です。ほとんどの場合、これは当てはまります。2 番目の実行ファイルが別の場所に追加された/bin/ls
場合にのみ異なります。実行して確認してください。ls
type -a ls