WindowsやMacOSデスクトップでいう「ゴミ箱」をLinuxのコマンドライン上で作りたい場合、「rm」コマンドをエイリアスで置き換えるよう設定すれば、手軽に実現ができる。
次のようなスクリプトを用意し、.bashrcにエイリアスを定義しておこう。
$ vi ~/bin/rm.sh #!/bin/sh trash=$HOME/trash if [ ! -d $trash ] then mkdir -p $trash fi for i do mv $i $trash done |
次に、ゴミ箱ディレクトリの作成、そしてスクリプトファイル(rm.sh)に実行権限を設定する。設定後にファイルを削除した場合には、「ls -l ~/trash」などと指定してゴミ箱内を参照すればよい。
$ mkdir trash $ chmod +x rm.sh |
最後に、Red Hat Linuxのbashシェルであることを前提とし、次のように「rm」コマンドを「~/bin/rm.sh」に関連づける。
$ vi ~/.bashrc alias rm="~/bin/rm.sh" |
なお、本当にファイルを削除したい場合には「/bin/rm」と明示的に指定すればよい。
$ /bin/rm file |
このままではゴミ箱ディレクトリ(~/trash/)容量が膨れあがってきてしまうため、メンテナンスフリーを実現したいのであれば、cronで1か月ごとに自動消去するなどの設定をしたい。
Copyright © ITmedia, Inc. All Rights Reserved.