LoginSignup
15
5

More than 1 year has passed since last update.

Macでrmtrashの代替とLinuxでのrmの置き換え

Last updated at Posted at 2020-12-13

rmtrashがHomebrewでインストールできなくなった

ライセンスが不透明で作者のレスポンスがないのでHomebrewから最近外されたらしい.
https://github.com/Homebrew/homebrew-core/pull/65438

別のrmtrashの登録が検討されているらしいが,今(2020年12月14日)は使えないので代替を考える.

代替候補

Macではコマンドラインからシステムのゴミ箱に捨てられるものが欲しい.

  1. Homebrewにあるtrash
  2. [macOS] コマンドラインからゴミ箱へ削除するスクリプトを書きました
  3. Go 言語で rm 用ごみ箱ツール gomi を作った

1のtrashはrmtrashとほぼ一緒.Homebrewでインストールできるのは楽.でもFinderで開いたゴミ箱から削除したファイルを戻すことはできなかった.(rmtrashがゴミ箱から戻すことができたかどうかは忘れた.)


---------- 2021年10月29日 コメントを参考に追記
trash -F
を使えばゴミ箱から戻すこともできる。
Homebrewでインストールできるのでこれが一番楽。
下の方に設定も追記した。
---------- 追記終了

2はスクリプトをダウンロードする必要があるが,Finderで開いたゴミ箱から削除したファイルを戻すことができる.

3は高機能だが,最近のバージョンではシステムのゴミ箱に捨てる機能がなくなったらしい.

とりあえず2のtrashというスクリプトが良さそうなのでしばらく使ってみる.

Homebrewのtrash (2021/10/29 追記)

インストール

$ brew install trash

設定

rmにaliasしておく。trash -Fで削除後、ゴミ箱から戻せる。ファイルもディレクトリも削除可能。
.zshrc等に下記のように書いておく

if type trash > /dev/null 2>&1; then
    alias rm='trash -F'
fi

上記2のtrashの設定


---------- 2021年10月29日
これはもう使ってない。Homebrewのtrashを使用している
---------- 追記終了

https://github.com/h-matsuo/macOS-trash
ここからスクリプトをダウンロードかコピペして,パスが通ったところに実行権限をつけて置いておけばいい.

rmにエイリアスしておいた.ディレクトリも削除できるように-rオプションもつけた.

if type trash > /dev/null 2>&1; then
    alias rm='trash -r'
fi

Linuxでrmを置き換え

スパコンなど,サーバー上のLinuxでは自分でゴミ箱となるディレクトリ(~/.Trash)を作って,rmを使わずに,そこにファイルをmvで一旦移動させるようにしている.

ディレクトリは自分で好きなところに作れるので,/work をよく使うサーバーでは /work 以下に作るようにしている.

エイリアスの設定.

if [ -d ${HOME}/.Trash ]
then
    alias rm='mv --backup=numbered --target-directory=${HOME}/.Trash'
fi

--backup=numberedオプションを指定すると、移動先に同じファイル名があった場合に上書きではなく,ファイル名に番号をつけて移動してくれる.

--target-directoryオプションであらかじめ指定したディレクトリにファイルを移動できる.

自分で作ったゴミ箱ディレクトリの中身を空にするスクリプトも作っておいて,pathが通った場所に実行権限をつけておいておく.

#!/bin/sh

rm -rf ~/.Trash/*

exit
15
5
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
5