隠しファイルと隠しディレクトリ

コンピューティングにおいて、隠しファイルまたは隠しディレクトリは、明示的に要求されない限りディレクトリの内容のレポートから除外されるファイルシステムオブジェクト(ファイルディレクトリなど)です。ファイルを非表示にする利点は、通常、ユーザーにとって興味のないファイルが表示されないようにすることです。この機能はアクセスが制限されないため、セキュリティメカニズムではありません。ユーザーは、通常は非表示のファイルを表示するように要求できます。[ 1 ] [ 2 ]非表示は、ファイルシステムオブジェクトを表示するプログラムの機能であり、ファイルシステムまたはオペレーティングシステム全体の機能ではありません。

UnixおよびUnixライクな環境

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

隠しディレクトリを備えたGNOMEファイル

GNOMEデスクトップ環境(およびGLib [ 7 ]を使用するプログラム)では、。隠れたファイルを含むディレクトリから除外されます。ファイルマネージャでは、キーボードショートカットCtrl+Hはドットファイルと、。隠れた

macOS

ドットファイルの動作に加えて、非表示属性を持つファイルは、 では除外されませんが、Finderでは除外されますls

非表示属性は コマンドで設定または解除できますSetFile。例えば、 コマンドラインはSetFile -a V jimboファイルjimboを非表示にします。[ 8 ] Snow Leopard以降では、chflagsコマンドも使用できます。例えば、chflags hidden jimboは同等です。[ 9 ]

WindowsとDOS

DOSWindowsに由来する 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 (クロスプラットフォーム)

PowerShell は、Microsoft Windows の後継であるWindows コマンド プロンプトとして始まりましたが、現在ではクロスプラットフォーム無料のオープン ソースシェルになっています。

このGet-ChildItemコマンドレットは、デフォルトでは、パラメータで設定しない限り、非表示のアイテムを表示しません。-Forceパラメータを指定すると、コマンドレットは非表示のアイテムも含めすべてのアイテムを表示します。パラメータを指定すると-Hidden、コマンドレットは通常のアイテムを除き、非表示のアイテムのみを表示します。また、このコマンドレットには、-Attributes特定の属性によるきめ細かなフィルタリングを可能にするパラメータも用意されています。

およびコマンドレットを使用するGet-ItemPropertyと、各ファイルまたはディレクトリのプロパティ Set-ItemPropertyを照会したり変更したりできます。Attributes

参考文献

  1. ^ 「隠しファイルとは何ですか?」 Microsoft.com 。 2015年4月3日時点のオリジナルよりアーカイブ。
  2. ^ls(1)  – バージョン 7 Unixプログラマーズマニュアル
  3. ^ "ls(1) - Linux manページ" . linux.die.net . 2020年8月23日閲覧
  4. ^ Rob Pike (2012年8月3日). 「ショートカットのレッスン」 . Google Plus. 2014年12月5日時点のオリジナルよりアーカイブ。
  5. ^あるユーザーは、ユーザー名(およびローカル ホスト上にない場合はホスト名)とともに コマンドを使用して他のユーザーを検索することができ、 fingerサービスは他のユーザーの現在のステータスと、そのユーザーのフォルダー内およびの内容で応答します。.plan.project$HOME
  6. ^ Bastian, Waldo; Lortie, Ryan; Poettering, Lennart (2010年11月24日). 「XDG ベースディレクトリ仕様」 . 2014年6月4日閲覧
  7. ^ 「GLibコミット: .hiddenファイルのサポート」 . 2012年11月28日. 2013年8月7日閲覧
  8. ^SetFile(1)  –  DarwinmacOSの一般コマンドマニュアル
  9. ^chflags(1)  –  DarwinmacOSの一般コマンドマニュアル
  10. ^ 「コントロールパネル項目の正規名 - Win32 アプリ」 Microsoft 2022年4月29日。
  11. ^ 「Windows 7 GodMode の秘密」 The Windows Club、2010年1月5日。