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

推薦する

Linux の sudo 脆弱性により不正な特権アクセスが発生する可能性がある

Linux で新たに発見された sudo の脆弱性を悪用すると、特定のユーザーが root としてコ...

MySQL 8.0.15 圧縮版インストール グラフィック チュートリアル

この記事では、参考までにMySQL 8.0.15圧縮版のインストール方法を紹介します。具体的な内容は...

Ubuntuでネットワークルーティングテーブルを表示する方法

Linux におけるルーティングとルーティング テーブルとは何ですか?ルーティングのプロセスとは、ネ...

Linux インストール Redis 実装プロセスとエラー解決

今日、redis をインストールしたところ、今までになかったいくつかのエラーが発生しました。ここで記...

Vite2.x に基づく Vue 3.x プロジェクトの実装

Vue 3.x プロジェクトの作成 npm init @vitejs/app my-vue-app ...

ポップアップウィンドウの上下中央左右と透明な背景のロックウィンドウ効果を実現する CSS

クリック後にポップアップボックスを実現し、上下左右に中央揃えし、灰色の透明マスクを追加してウィンドウ...

純粋な CSS を使用してユーザーが Web ページのコンテンツをコピーするのを防ぐ方法

序文私自身の個人ブログを入力しているときに、ブログの詳細ページでさまざまなコンテンツをコピーするさま...

子要素の margin-top によって親要素が移動する問題の解決方法

問題の説明今日、ページ スタイルを変更していたときに、子要素にmargin-top設定したのに、子要...

MySQL マルチテーブルクエリの具体例

1. SELECT句を使用して複数のテーブルをクエリするSELECT フィールド名 FROM tab...

Ubuntuにmysql5.7.10を手動でインストールする

このチュートリアルでは、UbuntuにMySQL 5.7.10を手動でインストールする手順を参考まで...

W3C チュートリアル (8): W3C XML スキーマのアクティビティ

XML スキーマは、DTD に代わる XML ベースのものです。 XML スキーマは、DTD に代わ...

Vue でよく使われる高階関数と包括的な例

1. 配列のよく使われる高階関数配列があり、その配列に対して次の操作を実行したいとします。 100 ...

RHEL7.5 mysql 8.0.11 インストールチュートリアル

この記事はRHEL7.5でのMySQL 8.0.11のインストールチュートリアルを記録しています。具...

HTML テーブル マークアップ チュートリアル (41): テーブル ヘッダーの幅と高さの属性 WIDTH、HEIGHT

デフォルトでは、ヘッダーの幅と高さはコンテンツに応じて自動的に調整されます。ヘッダーの幅と高さを手動...

MySQLがOracleのnvlと同様の機能を持つことができるかどうかについての簡単な議論

isnullの代わりにifnullを使用するisnull は、null かどうかを判断するために使用...