Linux 第一個要學會的東西
話說在前面,這篇不是教學文,只是我覺得一定要讓每個踏入 Linux 世界的初學者一定要會的東西:「script」。
我來到 Linux 的世界也快要兩年了,時間真的過的很快,高中畢業那年,我決定把我的電腦換成 Linux 當主要作業系統。當然,有時我也是會到 Windows 打個遊戲,因為支援性還是有差。在 Linux 這條路上,我覺得有樣東西我一定要推薦給每個剛入坑的人,不管是學校上課要用還是你要個人使用,麻煩請先學會寫 script。
不能再逃了
我先說我自己是非常不喜歡為了一件小事就特別寫一個程式,除非是真的沒有辦法,像是之前我的 Google 相簿匯出檔整理真的太多,我才會特別寫 Python 的腳本來用。不喜歡的原因有點兩點:第一點是很怕寫錯把資料用壞,第二是因為我覺得寫程式的時間,都夠我手動用完全部了。一直到我學會了 script 之後,我才發現並非如此。
要我說說學會之前跟之後的差別,大概就像是從從腳踏車換到摩托車一樣,就是差那麼多。但為什麼我要突然開始學怎麼寫腳本呢?有趣的是,的是因為生成式 AI 常常會給我一些建議。因為像是重複的複製檔案這種煩人但是又不難的事情,我問生成式 AI 就會直接推薦我寫一個 script,看久了我就覺得不如來學一下好了。
學會就遇到雜事一堆
就在我還在學會怎麼寫的時候,我就遇到了一堆事要處理。我們教授給了一堆題目要我出,出題是件非常麻煩的事,因為每題都要準備很多的東西。我之前有過了一套可以跑 generator 跟 solution 來生測資的軟體,但是要複製東複製西的,非常的麻煩,而且萬年的爛 ZeroJudge 對於檔案的命名又有很特別的規定,所以我就自己寫了一個 script 來處理重新命名測資跟複製程式碼,那種點一下就好的感覺是真的很爽,後來我才發現到原來寫這個這麼的簡單,是之前我的心魔一直覺得很可怕,但其實不然。
我相信很多人遇到我上面要處理的東西,應該就是手動處理吧!但接下來的東西可就麻煩多了,因為我自架了一套伺服器,功能真的滿多的,而伺服器其中一個很重要的部分就是備份。之前處理備份,我都是寫一份檔案來檢查哪些檔案備份了?幾號備份?等等的資訊,後來我就直接寫個 script,現在我只要插上硬碟,輸入 bash backup.sh <路徑> 之後去看部影片,就處理完了全部都自動化,超級開心。
接下來我處理的是讓我 script 的語法大幅進步的腳本,因為我要使用 gpg 來加密大量的檔案,如果我一個一個輸入大概會輸入到死,所以我就研究怎麼樣傳參數等等。寫完之後加解密一樣只要一行,全部幫我處理到好。
投資
我發現到這就像是個投資一樣,前面學的時候真的要花一點時間,一直瘋狂的除錯。但只要你學會之後,什麼事都很輕鬆,就像不會有人不學怎麼騎摩托車一樣,因為學會可是終身受用阿!一起來加入 script 的行列吧。