Linux のごみ箱メカニズムの実装プロセスと使用方法の詳細な説明

Linux のごみ箱メカニズムの実装プロセスと使用方法の詳細な説明

序文:

Linux システムでの rm は元に戻せません。コマンドの設計自体に問題はありません。問題は、通常、実行時に rm -rf を使用することが多いことです。これは非常に危険です。コマンドが誤って実行されたり、ディレクトリが誤って実行されたりすると、多くの問題が発生します。少なくとも、残業や人的資源と物的資源の浪費につながります。最悪の場合、会社の業務に影響を及ぼし、解雇のリスクにつながることもあります。Windows のごみ箱メカニズムは非常に優れた戦略ですが、Linux にはそれがありません。手動でごみ箱を作成し、直接実行することができます。

mkdir -p ~/.ゴミ箱
猫 >>~/.bashrc<<EOF
#caimengzhi による $(date +%F) の Linux ゴミ箱開始時の追加
エイリアス rm=ゴミ箱
エイリアス rl='ls ~/.Trash' 
エイリアス ur=undelfile
ファイル削除() 
{ 
 mv -i ~/.ゴミ箱/\$@ ./ 
} 
ごみ() 
{ 
 mv \$@ ~/.ゴミ箱/ 
}
ゴミ箱をクリアする() 
{ 
  read -p "ゴミを消去しますか?[n]" 確認 
[ \$confirm == 'y' ] || [ \$confirm == 'Y' ] && /usr/bin/rm -rf ~/.Trash/* 
}
#caimengzhi による $(date +%F) の Linux ゴミ箱終了時の追加
終了
ソース ~/.bashrc

例:

1. ~/.Trashは削除されたファイルやフォルダが移動される場所、つまりごみ箱です。

2. \$confirm は検証を実装することを意味します。つまり、ファイル内の最後の項目は $confirm になります。その中で、\$@は同じです

3. 上記の機能は、簡単に言えば、コマンド rm の名前を変更することです。

使用する構文:

rm (削除)、ur (元に戻す)、rl (ごみ箱の一覧表示)、cleartrash (ごみ箱を空にする) コマンド。

#フォルダを削除すると、ファイルはごみ箱に移動されます。

$rm ディレクトリ

#ファイルを削除する

$rm ファイル.txt

#file.txt の削除を元に戻す

$ur ファイル.txt

#filedirctoryフォルダを削除します

$ur ファイルディレクトリ

# ごみ箱を一覧表示する

$rl

#ごみ箱を空にする

クリアトラッシュ

OK、これが基本的な内容です。本質的には、ルート ユーザーの rm コマンドを mv コマンドに置き換えるだけです。システムに他のユーザーが設定されている場合、そのユーザーを使用して上記のコマンドを再実行する必要があります。状況によって異なります。ルート権限を失った場合、rm -rf の威力は恐れる必要はありません。もちろん、通常の rm コマンドも実行する必要があります。どうすればいいでしょうか? これは問題ありません。

/usr/bin/rm -rf

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • Trash-Cli: Linux のコマンドラインごみ箱ツール
  • Linux のごみ箱スクリプトを作成するための 101 個のスクリプト
  • Linux は suid vim.basic ファイルを使用して権限昇格を実現します。
  • Linux での中国語入力方法の問題を素早く解決する
  • MySQL を使用してポート 3306 を開いたり変更したり、Ubuntu/Linux 環境でアクセス許可を開く
  • Linux システムで Vim を使用してリモート ファイルを読み書きするコマンドの詳細な説明
  • Linux サーバーのグラフィック カードのクラッシュの解決策

<<:  mysqlタイムスタンプの使用

>>:  Vue.js のミックスインの詳細な説明

推薦する

CSS3 グラデーション背景の互換性の問題

グラデーションの背景色を作成するときは、 linear-gradient() 関数を使用して線形グラ...

MySQL トリガーの定義と使用方法の簡単な例

この記事では、MySQL トリガーの定義と使用方法について説明します。ご参考までに、詳細は以下の通り...

JSオブジェクトの走査順序の詳細な説明

JavaScript ではオブジェクトを走査する順序は固定されていないと聞いたことがある人もいるかも...

Linux に MySql 5.7.21 をインストールするための詳細な手順

序文Linux で最も広く使用されているデータベースは MySQL です。この記事では、Linux ...

Reactはダブルスライダークロススライドを実装します

この記事では、Reactでダブルスライダークロススライドを実装するための具体的なコードを参考までに共...

テーブルを使用してフォームコントロールの形式を調整し、見栄えを良くします。

自分でウェブページを書きたいので、HTML 言語についても少し勉強しています。これは、大学時代にウェ...

MySQLユーザーと権限管理の詳細な説明

この記事では、例を使用して MySQL ユーザーと権限の管理について説明します。ご参考までに、詳細は...

MySQL 面接でよく聞かれる質問への回答

序文:さまざまな技術職の面接では、MySQL 関連の質問がよくされるようです。開発職の面接でも運用職...

Nginx ストリーム構成プロキシ (Nginx TCP/UDP ロード バランシング)

序章nginx が優れたリバース プロキシ サービスであることは誰もが知っています。nginx を使...

CSS の高度な使い方(実戦で活用)

1. ul タグには、Mozilla ではデフォルトでパディング値がありますが、IE ではマージン値...

Windows 7 での MySQL 8.0.18 の導入とインストールのチュートリアル

1. 事前準備 (windows7+mysql-8.0.18-winx64) 1. ダウンロードアド...

GNU Parallelの具体的な使用法

それは何ですか? GNU Parallel は、1 台以上のコンピュータでコンピューティング タスク...

MySQL でのトランザクションの使用方法

基礎トランザクションは、SQL ステートメントのグループに対するアトミック操作です。つまり、グループ...

画像にマウスを置いたときにズームイン/ズームアウトするには JS を使用します

マウスが画像上にあるときにズームインおよびズームアウトするには、JS を使用します。具体的なコードは...

MySQL の自動増分 ID に関するいくつかの小さな問題の要約

以下の質問はすべて InnoDB ストレージ エンジンに基づいています。 1. 最も大きな ID を...