デスクトップにファイルを置きっぱなしにしないために。


環境

  • zsh

モチベーション

他人のデスクトップを見たときにファイルが多数あって、混沌としているのが気になりました。使わなくなったファイルを置きっぱなしにしていることが原因ではないかと思い、一定期間使用しないファイルをゴミ箱に入れてしまうような仕組みを作れば、半強制的に整理がされるのではないかと考えました。

CleanDesk

$HOME/Desktopにある一定期間使っていないファイルを$HOME/.Trashに移動してくれるシェルスクリプトです。未使用期間はデフォルトだと1週間に設定しました。
未使用期間は-pオプションで変更できます。数量 + 単位 ([1-9]+[0-9]*[dm])を引数とし、dが日、mが月を表します。例えば、

% ./CleanDesk.sh -p 1m

のようにすると、一ヶ月になります。

また、例外的に置いておきたいファイルがあることを考慮して、Except.txtに記述されているファイル名は例外とする設定にしました。Except.txtのフォーマットは一行に一ファイル名となっており、CleanDesk.shと同じディレクトリに置く必要があります。

定期的に実行するために

CleanDeskを思い出すたびに実行しているのではあまり効果がないと思います。定期的に実行するには、cronを用いるのが良いと思います。

cronは定期的にジョブを実行するようスケジュールしてくれます。詳細はcrontabコマンドについてまとめました 【Linuxコマンド集】でも参照すると良いと思います。

ちなみに私は

0 12 * * * $(pwd)/CleanDesk.sh

とし、毎日正午に実行しています。

感想

若輩者ですが、やっぱりデスクトップは綺麗な方がいいと思います。