Category: Linux

uniq 指令 – 去除重複資料

uniq 指令可以作用去除重複資料,對象可以是檔案或者 pipe 管線輸入。uniq 去除重複資料時,只會對連續重複的行進行過濾處理,所以很多時 uniq 會配合 sort 指令一同使用,或者用 “sort -u” 實現。uniq 使用例子:例如有一個檔案,裡面的內容如下:This is a testing. This is a testing. This is a testing. This is also a testing. This …

Shell Script 分割字串並儲存到 Array

寫程式經常需要做字串處理,其中一項常做的是字串分割。在 PHP 有一個很好用的函式是 explode(), 可以根據指定的分割字符,將字串分割,並把每一組分割後的字串放到 array 內.在 Shell Script 要這樣分割字串,可以用 $IFS 變數實現,以下是 Shell Script 的寫法:上面會將字串 “This is a testing.” 以空格分割,並會將分割後的字串放到 new_string 陣列,最後印出該陣列第一個元值,即 “This”.如果想將分割後的字串逐一印出,可以改成這樣:上面程式的執行結果是:This is a testing.

解決 semanage command not found

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 內可以使用各種工具完作, 以下是 Shell Script 做字串搜尋取代的方法。搜尋取代變數的字串:上面的程式, 第 3 行定義變數 str 的值是 abc, 而第 5 行則設定將變數 str 內的 abc 替換成 xyz.如果不是替換變數的字串, 是要替換檔案的字串, 可以用 sed 完成, 例如:以上 Shell Script …

解決 CentOS 7: fuser command not found

fuser 指令可以查看檔案, 目錄或 socket 是經由那一個 process 開啟,如果 RHEL 7 / CentOS 7 用最少化安裝,當執行 fuser 指令時,會遇到 command not found:fuser: command not found要用 yum 安裝 fuser 指令,不可以直接用 fuser 來安裝,因為 fuser 指令包括在 psmisc …

CentOS 安裝 CSF 防火牆

Config Server Fireall (CSF) 是 Linux 下基於 iptables 開發的防火牆套裝工具, 除了基本的防火牆外, 也可以做到類似 Fail2Ban 的偵測暴力攻擊的功能。以下是在 RHEL 及 CentOS 7 安裝 CSF 的方法。CSF 沒有包括在預設的 Repo 內, 需要下載手動安裝, 由於 CSF 是基於 Perl 開發, 而在安裝前需要先安裝 …

Linux 安裝 7zip

7zip 是開源的壓縮工具,可以壓縮及解壓自家的 7z 壓縮檔,以及其他常見的壓縮檔,例如 XZ, GZIP, TAR, ZIP, BZIP2, RAR, DEB, RAR 及 ISO,除了解壓縮及壓縮檔案後,也支援 AES-256 加密壓縮,使用上十分方便好用。以下文章會示範在 Linux 下安裝 7zip。安裝 7zip:在 RHEL 及 CentOS 安裝 7zip 需要啟用 EPEL Repo: $ sudo …