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 のミックスインの詳細な説明

推薦する

CSS でリスト スタイル属性を設定する方法 (この記事を読むだけ)

リストスタイルのプロパティHTMLには、順序なしリストと順序ありリストの2種類のリストがあります。仕...

幅と高さが可変の要素を中央に配置するための CSS ソリューション

1. 水平中央公開コード: html: <div class="parent&quo...

Docker+jenkins+python3環境を使用して非常に詳細なチュートリアルを構築する

序文:自動化を記述した後、毎日サーバー上で実行する必要があります。このような問題に遭遇しました。Je...

JavaScript デザインパターンの学習 アダプタパターン

目次概要コードの実装要約する概要アダプタ パターンは、デザイン パターンの動作パターンのパターンです...

MySQL 8.0.20 Window10無料インストール版設定とNavicat管理チュートリアルグラフィック詳細説明

1. MySQL 8.0.20をダウンロードして解凍するダウンロードリンク: https://dev...

Linux でスワップ領域を確認する 5 つのコマンドの概要

序文Linux では、スワップ パーティションとスワップ ファイルの 2 種類のスワップ領域を作成で...

Linux で MySQL データベースのスケジュールされたバックアップを実装する簡単な方法

詳細な手順は次のとおりです。 1. ディスク容量を確認します。 [root@localhost バッ...

シームレスなトークンリフレッシュを実現する方法

目次1. 需要方法1方法2方法3 2. 実装3. 問題解決質問1: トークンの複数回の更新を防ぐ方法...

Vue Element フロントエンドアプリケーション開発 テーブルリスト表示

1. リストクエリインターフェースの効果コード処理ロジックを紹介する前に、まずは感覚的に理解し、レン...

Alibaba Cloud Server で MySQL デュアルマシン ホットスタンバイを手動で実装する 2 つの方法

1. コンセプト1. ホットバックアップとバックアップの違いホット バックアップは高可用性 (HA)...

MySQL データベース設計 3 つのパラダイム例分析

3つのパラダイム1NF: フィールドは分離不可能です。 2NF: 主キーがあり、非主キー フィールド...

MySQLのイベントスケジューラEVENTを理解する

MySQL のイベント スケジューラ EVENT は、Unix crontab や Windows ...

クエリでのMySQLのユニークキーの使用と関連する問題

1. テーブルステートメントを作成します。 テーブル「従業員」を作成します( `emp_no` in...

MySQL 5.6.22 のインストールと設定方法のグラフィックチュートリアル

このチュートリアルでは、MySQL5.6.22のインストールと設定方法の具体的なコードを参考までに共...

Linux で文字化けしたファイルや特殊文字のファイルを削除する方法

エンコーディングの理由により、Linux サーバーに中国語のファイルやディレクトリをアップロードまた...