

表題の件、findコマンドを使用して特定のディレクトリの全てのディレクトリを表示する方法を  
調べています。  
今回はホームディレクトリ以下の全てのディレクトリを表示させたいと思っています。  
下記のコマンドを使用して試してみましたが隠しディレクトリ（./や../）が表示されていないように思いますう。

[code]

    find $HOME -type d
    
[/code]

[code]

    [syuta@voyager ~]$ find $HOME -type d
    /home/student/syuta
    /home/student/syuta/cis18a
    /home/student/syuta/cis18a/jan17
    /home/student/syuta/cis18a/feb17
    /home/student/syuta/cis18a/my
    /home/student/syuta/cis18a/example
    /home/student/syuta/cis18a/project
    /home/student/syuta/.mozilla
    /home/student/syuta/.mozilla/plugins
    /home/student/syuta/.mozilla/extensions
    /home/student/syuta/public_html
    /home/student/syuta/.kde
    /home/student/syuta/.kde/Autostart
    
[/code]

[code]

    [syuta@voyager ~]$ ls -aF
    ./   .aaa.swp        .bash_logout   .bashrc  .kde/     .mozilla/  1  3     cc      harry  jan30     project       ron
    ../  .bash_history  .bash_profile  .emacs   .lesshst  .viminfo     2  aaa  cis18a/  jan29  lesson  public_html/  snape
    
[/code]

隠しディレクトリまで含めて表示するオプションやアクションをご存知の方がいらっしゃいましたら  
お伺いできますと幸いです。


CC BY-SA 3.0
2018-02-07T19:19:04.393
41551
2018-02-08T02:22:37.487
2018-02-08T02:03:59.000
2808
25686
question
linux unix
findコマンドで特定のディレクトリの全てのディレクトリを表示する方法


`.`や`..`はそれぞれ相対パスで「カレントディレクトリ」と「一つ上のディレクトリ」を表すための特殊な名前です。

実行された例だと`.kde`や`.mozilla`などの隠しディレクトリが表示されているので、これが正しい動作のように思います。


CC BY-SA 3.0
2018-02-07T20:22:15.130
41552
2018-02-07T20:22:15.130
3060
41551
answer


`.` や `..` というディレクトリが実在するわけではない（いろいろファイル操作する上であると便利な便宜上の存在にすぎない）のです。

`/home/mike/test` 上では `.` は `/home/mike/test` であり `..` は `/home/mike`  
`/home/mike` 上では `.` は `/home/mike` であり `..` は `/home`

実際使うとわかりますが `find` の動作としては `.` や `..` を含めないほうが便利です。

オイラなら `ls -a` がわざわざ `.` や `..` を表示するのはなぜ？という質問を投げちゃいます。ていうか投げちゃいましょう。


CC BY-SA 3.0
2018-02-08T02:22:37.487
41557
2018-02-08T02:22:37.487
8589
41551
answer