2013-11-25

Ubuntu 用指令加一行到檔案結束 (檔尾)

在檔案的尾巴 ( 最後面) 加入一行是在 Ubuntu / Linux 上用指令操作時檔案,經常會用到的需求哩 ! 像是需要在 php.ini 加入一項設定值或是要在 sources.list 加入一個新的儲存庫來源,都是會需要在 php.ini 或 sources.list 檔案的最後面來加一行或二行字串的哩 ! 以前,阿舍都覺得,幹嘛還要記指令,開個 vi 來貼一下,不就很 OK 了嗎 ? 不過,指令用久後,阿舍就發現,直接用指令操作還是有差的哩 ! ... 呵呵 !

用 echo 指令加字串到檔尾
關於 "為什麼阿舍會喜歡上用指令 ? " 及 "用指令操作真的會比較好嗎 ? " 的這二件事,改天阿舍有靈感的時候,再來寫一篇說明好了,今天還是先來說明一下可以幫你節省操作時間的加字串的方法哩 !

要把字串加到檔案的尾端或最後一行的做法分成二種情況,一種是沒有權限考量的情形,另一種,則是有權限控管,需要搭配 sudo 來變更檔案的情況哩 ! 首先,先來講沒有權限問題的作法,這個,就比較簡單和單純,只要用 echo 送出要加入的字串,再透過 >> 符號來把輸出導到要增加字串的檔案,那麼,就可以把字串加到檔案的底部了哩 !

echo "www.arthurtoday.com" >> ayu.txt

以上面這一行的例子來說,阿舍是加了一行 "www.arthurtoday.com" 的字串到 ayu.txt 這個檔案的尾巴,如果打開 ayu.txt 這個檔案來看的話,就可以看到檔案底多出了  "www.arthurtoday.com"  這一行哩 ! ( 操作過程請參考上面那一張圖 ),要注意的是,要用「>>」 符號來指向檔案,而不是用「>」符號,否則,就不是新增一行,而是覆蓋掉原有的檔案,使用前,請多加小心哩 !

另一情況是需要修改有權限控管的檔案,也就是要調整各種設定檔的時候,這個情況因為要透過 sudo 指令來處理,所以,就不能用上面提到方法囉 !  ( 雖然,也是可以用 su 指令切換成 root 之後,再用上面說的方式來處理,不過,阿舍這裡是講在沒有 root 密碼的情況下的做法囉 ! )

這種情形下,就要借用 tee 這個指令和它的「a」選項來幫忙了哩 ! tee 指令的功能是從標準輸入讀取資料,然後,把它寫到標準輸出或檔案裡,然後,「a」選項是告訴 tee 指令用新增的方式來加到檔案,所以,透過 tee 指令加上 sudo 指令的支援,就可以用下面這一行的方式來加字串到檔案底部囉 ! ( 搞不懂什麼是「標準輸入」和「標準輸出」沒關係,只要記得可以把字串送給 tee 來存到檔案就好了,不用想太多哩 ! 呵 ! ^^=

echo 'deb http://www.fbreader.org/desktop/debian stable main' | sudo tee -a /etc/apt/sources.list

另外,如果看不懂「|」這個叫做「管線」的符號的用途的話,也不太擔心,它大概就是把左邊指令的執行結果送給右邊當資料來源做處理的這個意思哩 ! ...

( 阿舍介紹的 Ubuntu 指令,只要是標籤 ( Tag ) 有標上 Linux 或 Android 的話,就表示阿舍介紹的指令可用在大部份的 Linux 發行版本及 Android 手機上 (需安裝終端機 APP ),只是,阿舍都只有在 Ubuntu 上測試過而已哩 !  .... ^^= ) 

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁