非表示のすべてのファイルを表示しますが、一部を非表示にします


2

すべてのファイルを表示し、いくつかを非表示にしようとしています。私はコマンドについて知っています:

defaults write com.apple.Finder AppleShowAllFiles -bool YES

しかし、それは私が隠したファイルでさえも示していますchflags hidden。それらのファイルを非表示にします。名前を._ファイルに変更することは可能ですか、それとも安全ではありませんか?私はchflags nohidden一つ一つ手動でやりたくありません。そうする方法はありますか?


Mac OS X 10.9.5(マーベリックス)


どのファイル名に変更し.filenameますか?
nohillside

たとえば、アプリケーション、テキストファイル。可能であれば、フォルダも。たぶん「secret.txt」を「._secret.txt」に変更し、ターミナルから開いてください。showallfilesをYESに設定すると、.filenameファイルが表示されます。しかし._filenameではありません._を実行しても安全ですか?私もそれを再表示する必要があるかもしれません
-TheBro21

必要に応じて独自のファイルに名前を付けることができます(少なくとも、ほとんどの場合)。OSおよび/またはアプリケーションによって提供されるか、または必要なファイル名の変更は、しかし、物事が壊れます
nohillsideの

@patrixなので、ファイルの前に._を付けてファイルを隠すのは安全ではありませんか?もしそうであれば、AppleShowAllFilesからでもファイルを隠すために別の方法があります
TheBro21

何らかの方法でシステムまたはアプリケーションが提供するファイルの名前を変更することは安全ではありません(たとえば、Libraryフォルダの名前をに変更する場合._Library、2番目のアカウントを設定するか、再度ログインする場合はシングルユーザーモードを使用する方法を知ってください)。
nohillsideの

回答:


5

.filename目に見えないファイル名を表すために、UNIXで意図していました。GUIが存在する前でも、lsコマンドはデフォルトでは通常のユーザーのこれらのファイルをリストしませんでした。.独自のファイル名にプレフィックスを追加できない理由はありません。

一方、使用._filenameはOS Xに固有のようです。これらのファイル名の使用法の1つは、同じ名前から._プレフィックスを除いたファイルに関する追加情報を保存することです。OS Xには、dot_cleanこれらのタイプのファイルを削除またはマージするための特別なコマンドもあります。

私のオプションで._は、ファイル名にプレフィックスを意図的に使用するリスクはありません。現在、許容可能な結果が得られる可能性がありますが、OS Xの将来のバージョンでは、このような名前が異なる解釈をする可能性があります。

たとえば、というファイルを作成するとします._dave。後でOS Xは、というファイルを作成することになります._._daveか?

参考までに、Finderアプリケーションを使用して、ハイライトされたファイルに隠しファイルフラグを設定できるサービスを作成することができます。手順を以下に示します。

  1. Automatorアプリケーションを開きます。
  2. メニューバーから「ファイル」、「新規」の順に選択します。
  3. 「サービス」を選択し、「選択」をクリックします。
  4. アクション「AppleScriptを実行」をドラッグして、「ここにアクションまたはファイルをドラッグしてワークフローを構築します」と表示します。
  5. セット「サービスは、選択した受信textany application」サービスを選択受信する「files or foldersFinder」。
  6. コードを置き換える

    on run {input, parameters}
    
        (* Your script goes here *)
    
        return input
    end run
    

    on run {input, parameters}
        try
            repeat with currentfile in input
                try
                    do shell script "chflags hidden " & quoted form of POSIX path of currentfile
                end try
            end repeat
        end try
        return input
    end run
    
  7. 「隠しフラグを設定」としてサービスを保存します。
  8. Automatorウィンドウをすべて閉じて、Automatorアプリケーションを終了します。

サービスは~/Library/Services名前の下のフォルダに保存されているはずSet Hidden Flag.workflowです。そうでない場合は、そこに移動します。

Finderアプリケーションを使用して1つまたは複数のファイルを強調表示すると、右クリックして[非表示フラグの設定]を選択して、Finderアプリケーションから非表示にできます。

「非表示フラグのリセット」という名前のシミュレートサービスは、次の2つの例外を除き、同じ手順を使用して作成できます。ステップ6で、変更

do shell script "chflags hidden " & quoted form of POSIX path of current file

do shell script "chflags nohidden " & quoted form of POSIX path of current file

手順7で、「隠しファイルのリセット」として保存するように変更します。

もちろん、Finderアプリケーションが表示しない限り、隠しファイルを強調表示することはできません。これを行うには、[ファイルを開く]ダイアログで非表示のファイルとフォルダーを表示するためのホットキーに対する回答を参照してください


また、._ファイルを受けるマージされますにし、非HFSディスクからのzipツールや他のコピーを使用して
マーク・

ありがとう。解決策は、それらを隠すサービスを作成することです。またsudo ls、隠しファイルも表示しますか?
TheBro21

@Mark:実行された誰かdot_clean -nがフォルダをきれいにする努力だと思っていました。このコマンドは、一致するネイティブファイルがない場合、各ドットアンダーバーファイルを削除します。TheBro21のファイルはすべて失われます。
デビッドアンダーソン

はい、私はちょうど彼がファイルを失うことになる他の例を追加しました
マーク・

@ TheBro21解決策は、._ファイルを使用してデータを破損することではありません
マーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.