第一次在終端機看到紅字的人,反應幾乎都一樣:以為自己弄壞了什麼。
先講一件事:工程師每天看幾十個錯誤訊息。那不是異常狀態,是工作的一部分。
而且錯誤訊息是這個介面對你最誠實的時候。它會告訴你哪裡不對,只是講話方式很冷。
今天拆三則最常見的。
command not found$ lls
zsh: command not found: lls
翻譯:我不認識這個字。
兩個可能。一是打錯了(這個例子是 ls 多打一個 l)。二是那個東西你還沒安裝。
怎麼分辨?如果是你剛學到的指令,通常是打錯字。如果是從網路教學抄來的工具名稱,通常是沒裝——那是 Day 17 的主題。
重點是:它什麼都沒做。 這是 Day 7 清單裡最無害的那一類。
no such file or directory$ cat repot.csv
cat: repot.csv: No such file or directory
翻譯:你說的那個東西不在這裡。
注意最後那三個字,「在這裡」。這則訊息有兩種可能,而新手常常只想到第一種:
第二種是 Day 6 那件事的回馬槍。檔案存在,只是不在你現在站的資料夾裡。
所以看到這則訊息,先 ls 看看這裡有什麼,再 pwd 確認自己在哪。兩個指令,通常就破案了。
permission denied翻譯:你沒有權限做這件事。
這則明天一整天處理,因為它背後的觀念比另外兩則深。
有時候它會噴十幾行。有一個原則:從最後一行往上讀。
前面那些通常是「怎麼走到這一步」的過程,最後一行才是真正壞掉的地方。很多人被前面十行嚇到就關掉視窗,而答案就在最下面。
貼整段,不要只貼你以為重要的那一句。
我看過很多人只貼一句 permission denied 然後問怎麼辦——這句話少了上下文,誰都答不出來。把你打的指令和它回的全部一起貼,答案的品質差很多。
明天講權限。那則訊息不是在拒絕你,是在確認你是誰。