コンピューティングにおいて、隠しファイルまたは隠しディレクトリは、明示的に要求されない限りディレクトリの内容のレポートから除外されるファイルシステムオブジェクト(ファイルやディレクトリなど)です。ファイルを非表示にする利点は、通常、ユーザーにとって興味のないファイルが表示されないようにすることです。この機能はアクセスが制限されないため、セキュリティメカニズムではありません。ユーザーは、通常は非表示のファイルを表示するように要求できます。[ 1 ] [ 2 ]非表示は、ファイルシステムオブジェクトを表示するプログラムの機能であり、ファイルシステムまたはオペレーティングシステム全体の機能ではありません。
Unixベースのシェルコマンドは、オプションまたはが指定されていない限り、ドットで始まるファイル(一般にドット ファイルまたはドットファイルと呼ばれる)を非表示にします。[ 3 ]ワイルドカードマッチングを使用しても、式が で始まっていない限り、コマンドはドットファイルと一致しません。たとえば、は と一致しませんが、 は一致します。 ls-a-A.*f*.foo.f*
Rob Pikeによると、ドットファイルはUnix 2nd Editionの書き換え中に階層ファイルシステムが導入された際に意図せず生じたもので、ディレクトリ名としてディレクトリ自身を参照するだけでなく、ディレクトリ名としてその親ディレクトリを参照するようになりました。これら2つのエントリを出力から除外するために、プレフィックスが付くすべてのエントリが省略されました。つまり、ファイル名の先頭文字に を付けることで、任意のファイルまたはディレクトリを の出力から除外できるということです。 [ 4 ]...ls.ls.
一般的に、ユーザー固有のアプリケーション設定情報は、ドットファイルとしてユーザーのホームディレクトリに保存されます。注目すべきドットファイルには、、、などの起動シェルスクリプトや、コマンドやコマンドで使用される、などがあります。[ 5 ] bashからGNOMEなどのデスクトップ環境に至るまで、多くのアプリケーションがユーザー固有の設定をこのように保存していますが、XDGベースディレクトリ仕様では、このような設定ファイルを隠しファイルではなく(で始まらない)、隠しディレクトリに保存することを目指しています。[ 6 ].profile.login.cshrc.plan.projectfingername.$HOME/.config
Androidオペレーティングシステムは、空の.nomediaフォルダ内のコンテンツを除外するためのヒントとして、アプリにファイルを指定します。この規則により、写真や音楽ファイルが画像ギャラリーに表示されたり、MP3プレーヤーアプリで再生されたりすることを防ぎます。これは、ダウンロードしたボイスメールファイルがプレイリスト内の曲の合間に再生されるのを防ぐ場合や、他のフォルダ内の写真は自由に共有できるようにしながら、個人的な写真は非公開にする場合に便利です。
この規則はファイルやオペレーティングシステムによって強制されるものではありません。各アプリは規則に従う責任があります。

GNOMEデスクトップ環境(およびGLib [ 7 ]を使用するプログラム)では、。隠れたファイルを含むディレクトリから除外されます。ファイルマネージャでは、キーボードショートカットCtrl+Hはドットファイルと、。隠れた。
ドットファイルの動作に加えて、非表示属性を持つファイルは、 では除外されませんが、Finderでは除外されますls。
非表示属性は コマンドで設定または解除できますSetFile。例えば、 コマンドラインはSetFile -a V jimboファイルjimboを非表示にします。[ 8 ] Snow Leopard以降では、chflagsコマンドも使用できます。例えば、chflags hidden jimboは同等です。[ 9 ]
DOSとWindowsに由来する FAT 、 NTFS 、および ReFS ファイルシステムは、各項目に対して「隠し」と「システム」という2つのファイル属性を保持しています。これらの属性を持つ項目は非表示になります。
Windowsコマンドプロンプトでは、このdirコマンドは「隠し」属性または「システム」属性を持つ項目を除外します。/aコマンドラインスイッチを指定して実行すると、隠しファイルも含めすべての項目が表示されます。 と のバリエーションは/as、/ahそれぞれ「システム」属性と「隠し」属性を持つファイルを表示します。
MS-DOS および Windows のすべてのバージョンに含まれているコマンドattrib.exeライン ユーティリティを使用すると、属性を設定またはクリアできます。
ファイルエクスプローラーは、ツールバー(またはコントロールパネル)からアクセスできるユーザー設定に基づいて表示を制御します。デフォルトでは、ファイルエクスプローラーは「隠し」属性の項目を除外しますが、「隠しファイル、隠しフォルダー、または隠しドライブを表示する」が設定されている場合は表示できます。「システム」属性の項目は、「保護されたオペレーティングシステムファイルを表示しない(推奨)」という別の設定がオフになっている限り、非表示のままです。ファイルエクスプローラーは、非表示の項目のアイコンを半透明で表示します。
Windows Shellのハックでは、フォルダ名の末尾に定義済みのCLSIDを付加することで、フォルダの内容を非表示にすることができます。 [ 10 ]フォルダはファイルエクスプローラーでは表示されますが、その内容はWindowsの特殊フォルダの1つになります。[ 11 ]このハックはファイルエクスプローラーとWindows Shell APIに限定されています。Shell APIを使用しないアプリ(WindowsにバンドルされているコマンドプロンプトやPowerShellを含む)は、フォルダ、その名前、そしてその内容を見ることができます。
PowerShell は、Microsoft Windows の後継であるWindows コマンド プロンプトとして始まりましたが、現在ではクロスプラットフォームで無料のオープン ソースシェルになっています。
このGet-ChildItemコマンドレットは、デフォルトでは、パラメータで設定しない限り、非表示のアイテムを表示しません。-Forceパラメータを指定すると、コマンドレットは非表示のアイテムも含めすべてのアイテムを表示します。パラメータを指定すると-Hidden、コマンドレットは通常のアイテムを除き、非表示のアイテムのみを表示します。また、このコマンドレットには、-Attributes特定の属性によるきめ細かなフィルタリングを可能にするパラメータも用意されています。
およびコマンドレットを使用するGet-ItemPropertyと、各ファイルまたはディレクトリのプロパティ Set-ItemPropertyを照会したり変更したりできます。Attributes
.plan.project$HOME