用 防止誤操作

2022-03-04 02:34:56 字數 695 閱讀 6901

shell 的萬用字元匹配非常強大,不過也非常危險,不少同學都碰到這樣的問題,比如 rm a*,結果乙個手抖,a 和星號之間多了個空格,結果目錄下的檔案都灰飛煙滅了……

bash 支援乙個特殊的變數 !$,永遠儲存著前一條命令的最後乙個引數,例如:

$ echo hello world

hello world

$ echo !$

world

那麼,這和防止誤操作有什麼關係呢?

比如你要刪除以 a 打頭的檔案,可以先通過 ls 確定一下:

$ ls a*

a1.txt  a2.txt  a3.txt  a4.txt

如果確認無誤,之後只要:

rm  !$

!$ 自動替換為上個命令的 a*,就可以把這些檔案乾掉了~  不會再出現手抖打錯的情況了,如果萬用字元確實出了問題,第一步 ls 就可以發現

。還可以通過快捷鍵 esc +  .  快速輸入上個命令的最後乙個引數,免去了輸入 !$ 的麻煩 ~ ( 多謝 druggo 補充 :)

如果你想一次刪除多個專案,還可以使用 !* ( 多謝 qt 補充 : )。

$ ls a* b*

a1.txt  a2.txt  b1.txt  b2.txt

確認無誤後,通過 !* 來刪除:

rm  !*

限制就是前面的 ls 命令,不能帶有引數,否則引數也會傳給 rm。

Linux shell命令 用 防止誤操作

shell 的萬用字元匹配非常強大,不過也非常危險,不少同學都碰到這樣的問題,比如 rm a 結果乙個手抖,a 和星號之間多了個空格,結果目錄下的檔案都灰飛煙滅了 bash 支援乙個特殊的變數 永遠儲存著前一條命令的最後乙個引數,例如 echo hello world hello world ech...

MySQL如何最大程度防止人為誤操作

root xingzhiyu mysql help grep dummy u,i am a dummy synonym for option safe updates,u.i am a dummy false在mysql命令加上選項 u後,當發出沒有where或limit關鍵字的update或del...

git 失誤操作

在將功能做好之後,沒有進行git add,而誤操作了git stash,進而將所修改的檔案全部回到上個版本,而git stash 是將做好的東西都儲存起來 也就是說 儲藏 可以獲取你工作目錄的中間狀態 也就是你修改過的被追蹤的檔案和暫存的變更 並將它儲存到乙個未完結變更的堆疊中,隨時可以重新應用。要...