特殊文字は円記号\を使用して区別できます。しかし、私は隠されたフォルダを操作するために全期間を通常の文字として扱いたい。たとえば:ピリオド '。'で始まるファイルへのアクセス方法シェル内で
ls -lh .
それは、現在のディレクトリの一覧が表示されます。ただし、すべての隠しフォルダを一覧表示したいと思います。私はそれがdu -h
で使用できるようにしたいので、私は隠されたフォルダが消費したディスクスペースを知っています。
特殊文字は円記号\を使用して区別できます。しかし、私は隠されたフォルダを操作するために全期間を通常の文字として扱いたい。たとえば:ピリオド '。'で始まるファイルへのアクセス方法シェル内で
ls -lh .
それは、現在のディレクトリの一覧が表示されます。ただし、すべての隠しフォルダを一覧表示したいと思います。私はそれがdu -h
で使用できるようにしたいので、私は隠されたフォルダが消費したディスクスペースを知っています。
名前が.
で始まるファイルとディレクトリは、(a)ls
がデフォルトでそれらを無視し、(b)ワイルドカード拡張で除外されるという意味で「非表示」です。どちらの場合も、ドットファイルを明示的に参照すると、ドットファイルを見ることができます。 *
は、ドット以外のすべてのファイルに展開されます。 .*
はすべてのドットファイルに展開されます。
ls -a
オーバーライド;
(例えば、ノーチラスのようなGUIのファイルマネージャは、通常、デフォルトでは、ドットファイルは表示されませんが、それらを表示するためのオプションがしばしばあります他のツールやコマンドも隠されたとして扱うことがあります。)名前が.
で始まるファイルの特別扱い。 ls -A
は「隠し」ファイルとフォルダをリストしますが、.
(このディレクトリ)と..
(親ディレクトリ)は除きます。 ls
の一部のバージョンでは、-A
がサポートされない場合があります。
私が知る限り、du
コマンドはドットファイルを隠しファイルとして扱いません。 du -h
は、現在のディレクトリからディレクトリツリー全体を表示する必要があります。 (あなたはこのように動作を確認するために、小さなディレクトリツリーでそれを試してみてください。)
EDIT:
私はdu
の少なくともGNUのcoreutilsのバージョンは、そのファイルやディレクトリを処理しないことが確認できました名前は.
で始まります。何も隠されていません。例えば
、このスクリプト:
#!/bin/sh
mkdir -p .dot/.dot .dot/nodot nodot/.dot nodot/nodot
du -h
は(特定の番号は、ファイルシステムの性質に依存し、現在の議論には無関係である)私のシステムでこの出力を生成します。
4.0K ./.dot/.dot
4.0K ./.dot/nodot
12K ./.dot
4.0K ./nodot/.dot
4.0K ./nodot/nodot
12K ./nodot
32K .
あなたの要件を満たしていますか?そうでない場合は、あなたが探しているものをより明確に説明できますか?あなたの名前が.
で始まるかどうかにかかわらず、すべてディレクトリをリストしますか?あなたは "隠された"ディレクトリだけをリストしたいですか?上記のスクリプトで作成されたディレクトリ構造に対して、どのような出力が必要ですか?
隠しディレクトリのサイズだけを数えたいと思う。私は 'du -h | grep。* 'と呼ばれ、隠れファイル以外のファイルやディレクトリを除外しているようです。しかし、出力にはファイル内容も含まれていました。 – Amumu
'grep。*'は何もしません(0個以上の文字を含むすべての行と一致します)。デュの行動については、後で今日見てみよう。 –
"隠しディレクトリのサイズのみを数えたい"隠されていないディレクトリ( 'foo/.bar')の下に隠れたディレクトリはどうでしょうか?隠しディレクトリ下の非表示ファイルと非表示ファイルについてはどうでしょうか?いずれにせよ、私はあなたがしようとしていることをするための直接的な方法がないことを知っています。 'du'は単に非表示のディレクトリと非表示のディレクトリの区別を無視します。たとえば、名前が 'X'で始まるディレクトリだけを数えるのと同じ問題です。カスタマイズされたツールが最適なソリューションかもしれません。 'du'のGNU Coreutils版を修正することができます。 *なぜあなたがこれをやりたいのか分かっているのも助けになるかもしれません。 –
この質問に対して間違った場所、それは十分に簡単です:
ls -lhd .*
シェルスクリプトの一部を考慮することができますので、無効にはなりません。とにかく、アスタリスク '*'を置くのではなく、他の方法がありますか?'du -h'でも使えるようにしたい – Amumu
何ls -lh .*
については?
du -hは、隠しファイルの使用状況を報告します。名前が '。'で始まるファイルduに隠されていない。 –