pwd
私のホームディレクトリです。ls */ -d
ディレクトリを表示します。
~$ ls */ -d
Blog/ Desktop/ Documents/ Downloads/ Music/ Pictures/ Public/ Templates/ Videos/
ls -a
隠しディレクトリとファイルの両方を表示します。隠しディレクトリ.cache
-.local
など
$ ls -a
. .cache .gnupg .xsession-errors.old
.. .config .gtkrc-2.0 Templates
.bash_history Desktop .gtkrc-xfce Pictures .themes
.bash_logout .linuxmint .pki Videos
.bashrc Documents .local .profile .viminfo
Blog Downloads .mozilla Public .Xauthority
Music .ssh .xsession-errors
ただし、実行するとls -ad */
非表示のディレクトリは表示されません。誰でも説明できますか?
$ ls -ad */
Blog/ Desktop/ Documents/ Downloads/ Music/ Pictures/ Public/ Templates/ Videos/
ベストアンサー1
を実行すると、ls -a
コマンドラインにファイル名がないためls
(図を参照ls
)、どのファイル名を一覧表示する必要があるかを独自に識別します。指定された後に「隠された」ファイル表示が含まれます-a
。
ls -d */
andを実行すると、ls -ad */
シェルが展開され、表示される*/
ファイル名のリストを提供しますls
。*
ファイル名パターンの開始が一致しません。.
そのため、隠しファイルは含まれません。と*/
組み合わせて使用すると、ここでは何の効果もありません。-d
-a
隠しディレクトリを表示するには、そのディレクトリを明示的に一覧表示できますls -d -- */ .*/
。一部のシェルでは、隠しファイルの一致を要求する場合があります*
。たとえば、Bash では次のように使用します (この場合は と がshopt -s dotglob
含まれていないため、 と同様に動作します )。.
..
ls -A
また、--
ファイル名がで始まる場合は、オプションと見なされないようにオプションの終わりを表示することを忘れていました-
。*/
目次も含まれています。とディレクトリシンボリックリンク。を使用すると、各ファイルに末尾を追加せずにディレクトリ(隠しディレクトリを含む)のみを一覧表示zsh
できます。または、ディレクトリへのシンボリックリンクが本当に必要な場合。ls -d -- *(D/)
D
/
*(D-/)