OSX: ブラックホールディレクトリなどの/dev/nullを指すシンボリックリンクを作成することは可能ですか?

OSX: ブラックホールディレクトリなどの/dev/nullを指すシンボリックリンクを作成することは可能ですか?

OSX: ブラックホールディレクトリなどの /dev/null を指すシンボリックリンクを作成することは可能ですか。

私はヘルプデスクで働いていますが、データがいつ入り込むかに備えてディレクトリをサニタイズする必要があります。このディレクトリにデータが入り込む可能性を軽減するためにいくつかの保護策を講じていますが、ワークフローや制御できない事柄により、データがこのディレクトリに入ってしまうことがあります。

このディレクトリをブラックホールにするのが最適だと思います。たとえば、/dev/nullを指すシンボリックリンクなどです。

これが可能かどうかはわかりません。

前もって感謝します。

答え1

これはそのままではサポートされていません。ファイルを /dev/null にリンクすることは可能ですが、ディレクトリはリンクできません。

例えば:

ln -s /dev/null ~/.bash_history

調べてみるといいかもしれないヒューズこれを行うには、スクリプトを作成するだけでうまくいく可能性があります。

答え2

フォルダーアクションの代わりとしては、たとえば次のような plist を保存する方法があります~/Library/LaunchAgents/test.plist

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC -//Apple Computer//DTD PLIST 1.0//EN http://www.apple.com/DTDs/PropertyList-1.0.dtd>
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>test</string>
    <key>ProgramArguments</key>
    <array>
        <string>bash</string>
        <string>-c</string>
        <string>rm -rf ~/Documents/Black\ Hole/*</string>
    </array>
    <key>WatchPaths</key>
    <array>
        <string>~/Documents/Black Hole/</string>
    </array>
</dict>
</plist>

launchctl load ~/Library/LaunchAgents/test.plistまたは、ログアウトして再度ログインすることで読み込むことができます。

答え3

読み取り専用の RAM ディスクを作成できます。

mydev=$(hdid -nomount ram://1024)
newfs_hfs "$mydev"
mkdir /path/to/readonlydir
mount -t hfs -r "$mydev" /path/to/readonlydir

これはあなたが求めているものとは少し異なることに注意してください。読み取り専用ディスクのマウント ディレクトリに書き込むと、ファイルが黙って消えるだけでなく、エラーが発生します。

関連情報