避免rm 的巨大傷害

2021-08-08 08:34:54 字數 1235 閱讀 5249

今天測試時不小心把家目錄裡的好多東西刪掉了,辛虧有備份,寫好的好多指令碼才沒有丟

本來定義的有別名

-t :調換 源 和 目的 的引數位置

可是在指令碼裡執行的rm 不支援別名,就刪錯了

1. 寫乙個指令碼,名字是 rm ,把路徑放在path的最前面

2. 刪除 alias rm=「rm -i」

#!/bin/bash

# ------------------------------------------

# filename: rm

# date: 2017-09-15

# revision:

# author: 木子甘

# stdentid:16

# description: 避免rm的巨大傷害,使刪除的東西在**站

# ------------------------------------------

#檢查有沒有引數

f_args

() || return0 }

#檢查檔案是否存在

f_arg

()}#mvf_rm

()#主程式

f_args $@

[ $? -ne

0 ] &&exit

1while [ $#

-ne0 ] ; do

f_arg $1

[ $? -ne

0 ] &&

f_rm $1

[ $? -ne

0 ] &&

shift

done

在/etc/profile.d/newvar.sh 裡面寫上

path=$home/bin:$path

[root@localhost ~/bin]# vim test.sh

#!/bin/bash

which rm

結果是:

[root@localhost ~/bin]# which rm

/root/bin/rm

巨大的棋盤

小a站在乙個巨大的棋盤上。這個棋盤可以看成是乙個網格圖。這個網格圖的大小為n m。左上角座標為 1,1 右下角座標為 n,m 這個棋盤很特別,他每行每列都是乙個環。具體來說,當小a站在第一行,他往上走的時候,他會走到第n行,站在第n行往下走會走到第一行。對於第一列和第m列類似。小a在棋盤上可以上下左...

git rm 和 rm 的區別

用 git rm 來刪除檔案,同時還會將這個刪除操作記錄下來 用 rm 來刪除檔案,僅僅是刪除了物理檔案,沒有將其從 git 的記錄中剔除。直觀的來講,git rm 刪除過的檔案,執行 git commit m abc 提交時,會自動將刪除該檔案的操作提交上去。而對於用 rm 命令直接刪除的檔案,執...

docker run的 rm選項詳解

在docker容器退出時,預設容器內部的檔案系統仍然被保留,以方便除錯並保留使用者資料。但是,對於foreground容器,由於其只是在開發除錯過程中短期執行,其使用者資料並無保留的必要,因而可以在容器啟動時設定 rm選項,這樣在容器退出時就能夠自動清理容器內部的檔案系統。示例如下 docker r...