Category: Linux
以前習慣用 Tab 來做縮排,在用 Sublime Text 沒什麼關係,Tab 跟 4 個空格的長度一致,但近年經常用 vim 直接在 CLI 寫程式,當程式需要多層判斷式或迴圈時,很多時在終端機會看得很辛苦,因為在 vim 顯示 Tab 會比 4 個空格的距離還長。 所以還是用 4 個空格取代 Tab 較方便,以下是在 vim 及 Sublime Text 按下 …
以下是在 CentOS 7 安裝 微軟 PowerShell 的步驟: 1. 安裝 wget 首先安裝 wget 用作下載 PowerShell, 如果有安裝 curl, 用 curl 代替也可以: # yum install wget 1. 安裝 PowerShell 現在可以下載 PowerShell 的 …
netstat 指令可以用作檢視網路連線、網卡統計、路由設定及其他關於網路的資訊,對於進行網路上的除錯十分有用。除了 Linux 外,在其他主流作業系統也可以找到 netstat, 包括 Mac OSX, Solaris, BSD 及 Windows。 netstat 使用例子: 列出所有連接埠: $ netstat -a 列出所有 TCP 連接埠: $ netstat -at 列出所有 UDP 連接埠: $ netstat …
netstat 指令是網路檢測工具,對於網路除錯十分有用。但在 RHEL 7 及 CentOS 7 minimal 內沒有包括 netstat, 需要安裝相關套件才可以使用。 netstat 包括在 net-tools 套件用,只要用 yum 安裝好便可以: # yum install net-tools 安裝好 net-tools 套件後,便可以正常使用 netstat 指令了。
uniq 指令可以作用去除重複資料,對象可以是檔案或者 pipe 管線輸入。 uniq 去除重複資料時,只會對連續重複的行進行過濾處理,所以很多時 uniq 會配合 sort 指令一同使用,或者用 “sort -u” 實現。 uniq 使用例子: 例如有一個檔案,裡面的內容如下: This is a testing. This is a testing. This is a testing. This …
寫程式經常需要做字串處理,其中一項常做的是字串分割。在 PHP 有一個很好用的函式是 explode(), 可以根據指定的分割字符,將字串分割,並把每一組分割後的字串放到 array 內. 在 Shell Script 要這樣分割字串,可以用 $IFS 變數實現,以下是 Shell Script 的寫法: 上面會將字串 “This is a testing.” 以空格分割,並會將分割後的字串放到 new_string 陣列,最後印出該陣列第一個元值,即 “This”. 如果想將分割後的字串逐一印出,可以改成這樣: 上面程式的執行結果是: This is …
寫程式很多時需要將陣列的內容印出或逐一處理,在 Shell Script 可以用 for loop 簡單地實現,以下是具體寫法: 以上 Shell Script 會將陣列 arr 的 key 及 value 逐一印出。
semanage 是可以設定 SELinux 的工具,在 RHEL / CentOS minimal 安裝後,並沒有安裝 semanage,執行會出現 command noy found: semanage command not found 要解決只要安裝 policycoreutils-python 套件即可: # yum install policycoreutils-python 安裝好 policycoreutils-python 便可以正常執行 semanage.
寫程式很多時都需要做字串搜尋並取代, 在 Shell Script 內可以使用各種工具完作, 以下是 Shell Script 做字串搜尋取代的方法。 搜尋取代變數的字串: 上面的程式, 第 3 行定義變數 str 的值是 abc, 而第 5 行則設定將變數 str 內的 abc 替換成 xyz. 如果不是替換變數的字串, 是要替換檔案的字串, 可以用 sed …
在 Putty 使用的 Private key 不能在其他 SSH Client 軟體使用,如果要在其他 SSH Client 使用,需要將 Putty 的 Private Key 轉換成 Openssh 格式的 Private Key, 以下是在 Mac OSX 的轉換方法。 因為需要用 putty 內建的 puttygen …