
Ubuntu日本語フォーラム

ログインしていません。
初心者です。
何卒よろしくお願いいたします。
rmコマンドを使用して削除しました。
削除したファイル・ディレクトリをゴミ箱を探してみたのですが、
ゴミ箱にはありません。
削除してしまったファイル・ディレクトリを復元したい場合はどうすればいいでしょうか?
また、rmコマンドを使用してもゴミ箱に残るように設定する方法はありますか?
ご存知の方がいらっしゃいましたら、よろしくおねがいします。
オフライン
hoge さん
rm による削除は、Windows でいうところの完全に削除するに該当するため、
通常の方法では復旧できません。
Windows と同様に、ファイル復元ソフトなら復元できるかもしれません。
Ubuntu で利用できるファイル復元ソフトとしては、photorec があります。
パッケージ名は testdisk で、使い方は以下のサイトを参考にしてください。
http://saivainrx.blog62.fc2.com/blog-entry-154.html
また、Windows のファイル復元ソフトと同じく、別のファイルの読み書きが
あれば、復元したいファイルが上書きされることもありますので、
LiveCD 上で、testdisk をインストールしてファイルを復元されることをオススメします。
ディスクの残り容量がたくさんあるのであれば、そう神経質にならなくても、
そのまま testdisk をインストールしても問題ないかもしれませんが…。
さて、ファイル削除の際にゴミ箱に移動する方法ですが、
trash-cli パッケージをインストールして、 rm の代わりに trash コマンドを使います。
インストール方法や復元方法、一覧表示などは以下のサイトに書かれてあります。
http://ubuntuapps.info/blog-entry-415.html
それでも rm は頻繁に使うコマンドなので、ホームディレクトリの
.bashrc に
alias rm="rm -i"
を登録しておくと良いかもしれません。
削除の度に削除するか確認されます。
確実に削除したい場合は -f オプションを後につければ、
何の確認もなしに削除されます。
オフライン
> また、rmコマンドを使用してもゴミ箱に残るように設定する方法はありますか?
alias rm=trash
オフライン
皆様はじめまして。
とても実用的な話題で参考にさせていただきました。
ありがとうございます。
hellfireさん による投稿:
コード:
alias rm="rm -i"
を参考にさせていただきまして、
rm -c
と入力した場合
ゴミ箱の中身が空にしようと思い、
alias "rm -c"="trash-empty"
と登録してみました。
すると、端末起動した際、毎回
bash: alias: `rm -c': 無効なエイリアス名です
と表示されるようになりました。
rm -c
と入力した場合、
Usage: trash [OPTION]... FILE...
trash: error: no such option: -c
と表示されます。
rm -c
と入力した場合、ゴミ箱の中身を空にするにはどうすればいいでしょうか。
何卒よろしくお願いします。
オフライン
ID さん
Linux ではスペースを区切り文字として判断しています。
よって、rm -c の -c はオプションとして認識されるため、
無効なエイリアスとなります。
私であれば、rm -c と打つよりも、rmc というエイリアスで登録してしまいますが…。
どうしてもというのであれば、
alias "rm\ -c"="trash-empty"
として、スペースをエスケープするという方法があります。
ただし、呼び出すときもエスケープする必要があって
スマートではありません。
あるいは、以下のスクリプトを書いて実行権限を付与。
そして、このスクリプトの入っているディレクトリを
パスの先頭に持ってこれば、可能であります。
#!/bin/bash
if [ "$1" = "-c" ]; then
trash-empty
else
/bin/rm $*
fiただし、セキュリティー上問題がありますし、
本来の rm の挙動 (引数の問題や rm を利用しているプログラム内での挙動) が
変わる可能性があります。
また、IFS で区切り文字を変更するという手もありますが、
これはスペースで引数の区切りが使えなくなるため、
かなりトリッキーな独自仕様になってしまいます。
ご参考までに。
オフライン
hellfire様
返信遅くなってしまいまして大変申し訳ありません。
hellfire様 による投稿:
ただし、セキュリティー上問題がありますし、
本来の rm の挙動 (引数の問題や rm を利用しているプログラム内での挙動) が
変わる可能性があります。。
やはり、スクリプトを自作するなどイレギュラーでトリッキーな仕様になるのですね。
とても勉強になりました。
とても頼れるになる先輩たちが丁寧に教えて下さるため
大変心強いです。
今後も何卒よろしくお願いいたします。
オフライン