整個系列只有一天在講「危險」。就是今天。
其他 29 天我都在說終端機比你想的安全。這一天我要把例外講到你記得住。
在檔案總管按刪除,東西進垃圾桶。你可以反悔、可以還原,垃圾桶還會替你留一段時間。
rm 沒有這個。
rm report.csv
按下 Enter,檔案消失。不是移動,不是隱藏,是消失。沒有垃圾桶、沒有 Ctrl+Z、沒有「你確定嗎」。
它甚至不會回你一句「已刪除」。成功的時候畫面什麼都不會出現——這個介面的慣例是「沒事就不吵你」,而在這個指令上,那個沉默特別可怕。
不是設計失誤。
命令列的設計前提是「你說什麼就是什麼」。它不猜、不確認、不幫你留後路,因為它假設下指令的人知道自己在幹什麼。這個前提讓它可以被自動化、被腳本呼叫、被交給機器執行——也讓它在人手上特別鋒利。
Day 4 說命令列的優點是可組合。今天講的是同一件事的代價。
我自己的三個習慣,都很便宜:
一、刪之前先 ls 一次。 看清楚那個名字真的存在、真的是你要刪的那個。
二、不確定自己在哪就先 pwd。 刪錯資料夾的案例幾乎都不是指令打錯,是站錯地方。Day 6 那個習慣在這裡發揮作用。
三、看到 rm -rf 一律停下來。 這個組合的意思是「不管裡面有什麼、不管會不會出錯,全部刪掉,不要問我」。它是網路上很多災難故事的主角。你這 30 天用不到它,看到別人叫你打,先問清楚再說。
沒有辦法。這是我沒辦法給你好消息的一天。
所以真正的答案不在刪除本身,在你有沒有備份。Day 25 會講一個非工程師也用得起的做法,讓你在 AI 動手改你的檔案之前先留一個檔點。
那才是解方。今天先把這件事本身記住。
明天回到安全的東西:不用打開 App 就能讀檔案。