見出し画像

安全に rm コマンド

 ファイルを削除する linux の rm コマンドは、ボーっと使っているとチコちゃんに叱られますよ。不要になったプロジェクトフォルダ等は、危険な「-rf」オプションを付けて削除します。削除確認を数回に制限する「-I (大文字のアイ)」オプションがありますが、最初に一度だけ確認するようにしたアイデア?です。


前提環境

rm 8.32 (Windows 11, git bash 4.4.23)
rm 8.30 (AlmaLinux 8.9, bash 4.4.20)
rm 8.26 (Windows 10, git bash 4.4.19)
rm 8.22 (Centos 7.9, bash 4.2.46)

$ vi ~/.bashrc

 ホームディレクトリの「.bashrc」ファイルに下記を追記するだけです。

alias rm='myCheck && rm'

function myCheck(){
	read -n 1 -p "Are you sure/実行しますか?(y): " key
	if [[ "$key" =~ [yY] ]]; then
		echo "[doing/実行]"; return 0
	fi
	echo "[abort/中止]"; return 1
}

使い方

 これまでのように 例えばフォルダ「FlappyBird」を

$ rm -rf FlappyBird

でごっそり削除しようとすると、最初に一度だけ

Are you sure/実行しますか?(y): 

と尋ねられます。

解説

 「rm」のエイリアスからシェル関数「myCheck()」を呼び出し、確認プロンプトで「y」か「Y」キー入力された時だけ実行する仕掛けです。
 エイリアス名は del など好みの文字列にしてもよいですし、「myCheck()」は汎用的なので「rm」以外のコマンドにも使えますよ。

ここから先は

0字

¥ 100

この記事が気に入ったらサポートをしてみませんか?