3

私の運用サーバーでは、誰かが実行されrm -rf、重要なファイルが完全に削除されました。そこで、ごみ箱を用意することを考えました。ユーザーがそうrmすると、ファイルはサーバーから削除されるのではなく、RecycleBin に移動します。そして、私はそれのために以下のスクリプトを作成しました。しかし、実行中にエラーが発生します。

alias rm='/root/remove.sh'

#rm test_filermコマンド を入力すると、以下のスクリプトがトリガーされます

#!/bin/bash
dir=$(pwd)
mv $dir/$1 /root/Recyclebin

上記のスクリプトがトリガーされると、次のエラーが発生します。

mv:cannot move '/root/test_file' to '/root/Recyclebin': Not a directory

ここで、これ以外にごみ箱の概念を作成する方法があるかどうかを提案するか、エラーの解決を手伝ってください。前もって感謝します。

CentOS 5.6 を使用しています

4

1 に答える 1

5

試してみてください 最初に、/root の下に MyTrash という名前のフォルダーを作成します。つまり、/root/MyTrash です。

次に、.bashrc ファイルを開き、ファイルの下部に次の行を書き込みます。

alias rm='mv -t /root/MyTrash/'

ここで-t意味するのは

-t, --target-directory=DIRECTORY
       すべての SOURCE 引数を DIRECTORY に移動します

.bashrcこのコマンドを実行してファイルを更新しますsource .bashrc

rmコマンドを使用してファイルを削除すると、そのファイルは/root/MyTrashディレクトリに移動されます

于 2013-06-04T08:38:11.013 に答える