OS X: ターミナルでアイテムを非表示にする

OS X: ターミナルでアイテムを非表示にする

2分で読めます
| macOS

何かを他人の目から隠したい場合、いくつかの方法があります。TMOのサンドロ・クッチア氏が最近書いた記事「ディスクユーティリティを使ってデータを保存するためのコンテナを作成する方法」では、優れた方法が紹介されていました。しかし、何かを一時的に隠したいだけの場合や、そもそも隠したことを誰にも知られたくない場合はどうすればよいでしょうか?その方法の一つは、ファイルまたはフォルダに隠しフラグを設定することです。

フラグとは、ファイルシステムにアイテムの操作方法を指示するメタデータです。例えば、何かを選択してCommand+Iを押し、「ロック」チェックボックスをオンにしてそのアイテムへの変更を無効にすると、実際には「ユーザー不変フラグ」と呼ばれるフラグが設定されます。

ターミナルでそのフォルダを調べると、次のことがわかります。

この「uchg」というテキストは、ユーザー不変フラグが設定されているため、フォルダーがロックされていることを通知します。 

分かりました、分かりました。「これで全部素晴らしいけど、ファイルの非表示とどう関係があるの?」と思われたかもしれませんね。ファイルやフォルダに隠しフラグを設定することはできますが、Finderからは設定できません。ターミナル(アプリケーション > ユーティリティにあります)を開く必要があります。ここで、ターミナルに入力する内容には注意するといういつもの注意事項について触れておきます。さあ、この続きを読んでみてください。

ターミナルを開いたら、何かを非表示にするコマンドの最初の部分、つまりchflags hiddenを入力します。2番目の単語の後にスペースを入れ、非表示にしたいファイルまたはフォルダをドラッグすると、ターミナルがそのパスを自動的に入力します。

その後、Returnキーを押すと、問題のファイルまたはフォルダは、まるで削除したかのようにFinderから消えてしまいます。Macに精通した人以外は、きっと騙されるでしょう!

ほら、フォルダには何もないように見えるけど、ちゃんと残ってるよ。いいね!

アイテムを非表示解除するには、ターミナルに戻ります。プログラムは最後に入力したコマンドを保存しているので、上矢印キーを押し続けてchflags の非表示コマンドが表示されたら、左矢印キーを使ってカーソルをコマンド内の適切な場所に移動し、chflags nohiddenに編集します。アイテムへのパスはそのままです。

もちろん、コマンド全体を入力することもできますが、パス名が複雑な場合は少し複雑になる可能性があります。隠しアイテムの名前にスペースや特殊文字が含まれている場合は、その部分を引用符で囲む必要があります。例:

chflags nohidden /Users/melissa/Downloads/"File.txtへのパス"

いずれにせよ、アイテムを非表示解除すると、何も起こらなかったかのように元の場所に戻ります。

このファイル隠し方法は、暗号化されたディスクイメージを作成するほどセキュリティ的に優れているわけではありませんが、この方法を使えば、Macを使っている人は最初からそこに何かがあったことに気づきません。さらに、暗号化されたディスクイメージ自体を隠すことさえ可能です。そうすれば、誰かがまず隠したものを見つけ、それからパスワードを推測しなければ侵入できなくなります。なんてずる賢い人なんでしょう。

Knowledge Network