必ずやっておく設定、rmコマンドを「ゴミ箱」機能に置き換える方法 | Macとかの雑記帳
Macとかの雑記帳

rm コマンドでゴミ箱に捨てるようにする方法

$ rmコマンドで削除したファイルやフォルダは、基本的に元に戻すことができません。ちょっとした誤操作が致命的なトラブルを巻き起こす可能性も。「rm」でゴミ箱に捨てるようにし、自爆によるトラブルを回避できるようにしてます。

$ rmtrashや、$ trash-cliといった「ファイルをゴミ箱に捨てるソフト」を Mac や Ubuntu にインストールして、「rm」コマンドとして機能させます。

1 Mac に rmtrash を入れて rm と置き換える

$ rmtrashは「ゴミ箱に捨てるだけ」のシンプルなソフトです。元の場所に戻したり、ゴミ箱を空にするといった機能はありません。

1-1 rmtrash をインストール

HomebrewMacPortsにパッケージがあるので、そこからインストールします。

Homebrewでインストールする場合は下を実行します。

$ brew install rmtrash

Macportsでインストールする場合は以下になります。

$ sudo port install rmtrash

1-2 alias を設定して rmtrash を rm として機能させる

rmtrashを入れたら、~/.bashrcに設定を追加します。

$ vi ~/.bashrc

開いたファイルに以下を追加します。

alias rm='rmtrash'

rmtrash bashrc

追加したらターミナルのタブを開き直して、設定を読み込ませます。

次回から$ rmを実行すると、ファイルをゴミ箱に捨ててくれます。

2 trash-cli を入れて rm と置き換える

$ trash-cliは、KDE や GNOME といった、freedesktop.org互換のゴミ箱を操作するソフトです。「ゴミ箱に捨てる」以外に、ファイルを元の場所に戻したり、ゴミ箱を空にしたり等、割と便利な機能が備わっています。

完全には対応してませんが、一応Macでも使えます。

2-1 trash-cli のインストール

$ trash-cliはPythonで書かれています。Ubuntuにインストールする場合は、あらかじめ$ python-setuptoolsを入れておく必要があります。

$ sudo aptitude install python-setuptools

 

$ easy_installで trash-cli をインストールします。Macに入れる場合も下を実行します。
$ sudo easy_install trash-cli

trash-cli

 

$ pip導入済みで、そっちで入れる場合は以下になります。

$ sudo pip install trash-cli

 

ちなみに、Ubuntuではapt-getやaptitudeでも$ trash-cliをインストールできます。しかし、バージョンが妙に古いのでオススメはしません。

2-2 alias を設定して trash-cli を rm として機能させる

インストールしたら~/.bashrcでaliasの設定をします。

$ vi ~/.bashrc

開いたファイルに下を追加します。

alias rm='trash-put'

trash-put

2-3 trash-cli の使い方

コマンド説明
$ trash-put ファイルやフォルダをゴミ箱に捨てます。
$ trash-empty ゴミ箱を空にします。
$ trash-empty 2と実行すると、2日以上経過したファイルのみ削除します。
$ trash-list ゴミ箱に捨てたファイルの一覧を表示します。
$ restore-trash ゴミ箱に捨てたファイルを元の場所に戻します。

empty や list、restoreは、GUI操作で捨てたファイルにも対応してくれます。

Macでtrash-cliを使う際の注意点

Macに入れたtrash-cliは、独自のゴミ箱フォルダ…というか、Ubuntu等で使われるものと同じような名称のフォルダを作成し、そこにファイルを移動します。

私の環境で試したところ、内蔵HDDには~/.local/share/Trash/を。外付けHDDには.Trash-501/を作成してました。

捨てる場所が違うので、GUI操作(Finder)で捨てたものは、Finderで。trash-cliで捨てたものは、trash-cliでしか操作できないと思ってください。

気をつけて欲しいこと

Mac、Ubuntu共に、今回の方法でゴミ箱に置き換えても$ sudo rmとsudoをつけてしまうと本来の「rm」が実行されます。削除したら元に戻せなくなるので注意してください。

スポンサード リンク