質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

Q&A

解決済

2回答

410閲覧

findコマンドで特定のディレクトリの全てのディレクトリを表示する方法

DEVELOPER-SYU

総合スコア15

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

0グッド

0クリップ

投稿2018/02/07 19:16

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

find $HOME -type d

[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 [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

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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

表示されない理由としては、必要ないからです(あっては邪魔)。
findは、表示も出来ますが、通常はその出力を使って何かを行うために使われます(-execオプションとか、標準出力をパイプで繋ぐとか)。

別のディレクトリだと思っていたのですが。。

...の意味はご存じでしょうか?
/foo/bar/bazというディレクトリがあったとして、/foo/bar/baz/.は、/for/bar/bazの別名で、/foo/bar/baz/..は、/foo/barの別名です。

別名が出力されると、それに対して処理を行うと処理がダブるので、困った事になる可能性が高いです。

シンボリックリンクも別名ですが、デフォルトではシンボリックリンクを辿らない事になっています。

もし何らかの理由で表示が欲しいなら、自分で追加すればいいでしょう。

Bash

1find -type d -exec echo -e '{}\n{}/.\n{}/..' \;

投稿2018/02/08 01:19

編集2018/02/08 01:20
otn

総合スコア84489

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

.(カレントディレクトリ)と..(親ディレクトリ)は表示されませんが、.で始まる隠しディレクトリは表示されます。
ディレクトリを再帰的に表示する場合、.や..を表示すると同じディレクトリを何度も表示する事になるため、このような仕様になっているのだと思います。

投稿2018/02/07 19:43

編集2018/02/07 19:50
hichon

総合スコア5737

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

DEVELOPER-SYU

2018/02/07 20:27

ご返答ありがとうございます。下記の結果の中で隠しディレクトリ(./や../)はカレントディレクトリと親ディレクトリを表示しているということでしょうか?別のディレクトリだと思っていたのですが。。 [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
a_saitoh

2018/02/09 04:44

lsの-iオプションでinode番号を確認すれば、どれとどれが同じか確認できますよ。こんな感じ。 -bash-4.1$ pwd /home/saitoh -bash-4.1$ ls -id . ../saitoh .. /home 1443324 . 1441793 .. 1443324 ../saitoh 1441793 /home
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問