フォルダー内のすべてのファイルとファイル内のサブフォルダーのリストを取得します


28

すべてのサブフォルダー内のすべてのファイルを含むフォルダー内のすべてのファイルのリストを取得し、出力をファイルに入れるにはどうすればよいですか?

回答:


39

コマンドラインでこれを行うには、-Rスイッチ(再帰)を使用して、出力をファイルにパイプします。

ls -R > filename1

これにより、現在のディレクトリとその下のすべてのサブディレクトリの完全なディレクトリリストを含むfilename1というファイルが現在のディレクトリに作成されます。

フルパスを指定することで、現在のディレクトリ以外のディレクトリをリストできます。例:

ls -R /var > filename2

/ var内およびその下のすべてをリストし、結果をfilename2と呼ばれる現在のディレクトリ内のファイルに入れます。これは、ディレクトリの読み取りアクセス権がある限り、ルートを含む別のユーザーが所有するディレクトリで機能します。

sudoコマンドを使用して、/ rootなどのアクセス権のないディレクトリを一覧表示することもできます。例えば:

sudo ls -R /root > filename3

/ rootにすべてをリストし、結果を現在のディレクトリのfilename3というファイルに入れます。ほとんどのUbuntuシステムにはこのディレクトリに何もないため、filename3には何も含まれませんが、含まれていれば機能します。


最初にディレクトリにcdするように人に伝えることが答えに追加される可能性がありますまた、これはディレクトリを所有している場合はうまく機能しますが、rootが所有していると言うディレクトリでは試してみませんでした。また、許可を拒否しました。ルートとしてログインせずに回避策はありますか?
ダミアン

さて、「現在の」ディレクトリと言いました。CDを正しく使用すると、別の質問の対象になる場合があります。読み取りアクセス権がある限り、rootが所有するディレクトリを一覧表示できます。ユーザーが読み取りアクセス権持つルートが所有するディレクトリは、ls -Rでリストできます。読み取りアクセス権のないルートが所有するディレクトリを一覧表示する理由を想像するのは困難ですが、完全なパスを指定するとsudoは実際に機能します。これらの両方の例を追加していますが、CDの使用は除外しています。
製作者4

8

インストールツリー

再帰の代わりに、表示される出力の形式をカスタマイズするための非常に多くのオプションを備えlsたコマンドラインツールtreeがあります。すべてのオプションについては、ツリーマンページを参照してください。


7

findディレクトリ名を指定してコマンドを使用するだけです。たとえば、ホームディレクトリのフォルダー内のファイルとすべてのファイルを表示するには、次を使用します。

find ~

コマンドのマニュアルの検索マンページを確認してくださいfindマンページアイコン

またinfo find、ターミナルでコマンドを使用して、GNU情報の検索ページを確認します。


これが最も強力なアプローチです。find出力形式とファイル選択をカスタマイズする多くのパラメーターがあります。
pauljohn32

それが私の意見では最良のアプローチです。シンプルで実用的。$ find . > output多くのディレクトリがある場合にも行うことができます。
felippe

4

また:

gvfs-tree /path/to/folder/

行に他の文字を使用したツリーと同じようになります。

tree -a

隠しファイルも表示する

tree -i

行を表示しない


1
  1. コンテンツリストを取得するフォルダーに移動します。
  2. リストで必要なファイルを選択します(フォルダー全体が必要な場合はCtrl+ A)。
  3. Ctrl+でコンテンツをコピーしますC
  4. geditを開き、Ctrl+ を使用してコンテンツを貼り付けVます。リストとして貼り付けられ、ファイルを保存できます。

ただし、このメソッドにはサブフォルダーは含まれませんが、コンテンツは含まれます。


1

Takkatのtree提案であるBaobabに対応するGUIを使用することもできます。多くの場合、ディスクの使用状況を分析する目的で、フォルダーおよびサブフォルダーを表示するために使用されます。GNOMEデスクトップを使用している場合は、既にインストールされている場合があります(ディスク使用状況分析ツールと呼ばれることが多い)。

sudo apt-get install baobab

以下のスクリーンショットに示すように、フォルダーのサイズとその内容を取得しながら、フォルダーを選択し、そのすべてのサブフォルダーを表示することもできます。小さな下矢印をクリックするだけで、フォルダー内のサブフォルダーを表示できます。フォルダー内にあるものをすばやく把握し、表示可能なリストを作成するのに非常に役立ちますが、現時点ではそれらをファイルにエクスポートできません。ただし、Launchpadでは機能として要求されています。あなたも、あなたが使用している場合、ルートファイルシステムを表示するためにそれを使用することができますgksudo baobab

(また、使用してファイルのサイズとサイズのリストを取得し、ls -shR ~/myfolderそれをファイルにエクスポートすることもできます。)

ここに画像の説明を入力してください


OPは、おそらく別の何かをするために、結果をファイルに入れたいと考えました。Baobabは優れたツールですが、OPの元の質問の要件を満たしているとは思えません。
fabricator4

@ fabricator4また、baobabは現在リストを出力できないため、lsオプションも追加しました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.