Tag: FreeBSD

Linux 複製檔案檔限及 Owner 到其他檔案

Linux 下的 chmod 指令可以修改檔案及目錄的權限, 而 chmod 指令則可以改變檔案的 Owner, 而它們其中一個功能是將一個檔案的權限及 Owner 複製到另一個檔案, 以下是具體做法。在 chmod 指令的 reference 參數, 便可以指令權限的來源檔案, 並將權限複製到另一個檔案內, 例如以下指令將檔案 old_file 的權限複製到 new_file: 要複製 Owner 跟 chmod 的做法差不多, 只要在 chown 指令使用 …

Shell Script 自動登入 FTP 上下傳檔案

在 Linux Server 上要用 ftp 傳送檔案,可以用 ftp 指令手動完成,但如果需要經常對特定檔案用 ftp 上傳及下傳,可以用 Shell Script 自動連接到 ftp 伺服器並傳送檔案。以下是用 Shell Script 登入 ftp 伺服器的例子:以上 Shell Script 會自動登入 ftp.yourftp.server,並會上傳 filename.txt 到 ftp 伺服器。上面的 Shell Script …

Linux 產生隨機密碼

在 Linux 下要產生隨機密碼字串,可以用以下指令:執行後便會輸出一組 16 個字元的隨機密碼。要自訂密碼的長度,只需修改上面 head -c 16, 將 16 改成想要的密碼長度,例如要產生 8 個位的密碼,便改成:

ShellCheck — Shell Script 語法檢查工具

如果在使用一些指令 (例如 rm) 不小心, ShellCheck 是一個 Shell Script 分析及除錯工具, 之後要花很多時間修復, 可以在嘗試執行 Shell Script 前先找出 Warning 及一些建議。以下會紀錄安裝及使用 ShellCheck 的步驟。安裝 ShellCheck安裝 ShellCheck 可以用 yum 或 apt-get 直接安裝:RHEL, CentOS, Fedora:先要啟用 EPEL Repo 才可以用 …

Apache 安裝 mod_cband 限制 Virtual Host 連結速度

當 Apache 其中一個 Virtual Host 佔用資源過多時,會拖慢整台伺服器所有網站的速度,這時可以安裝 mod_cband 模組,限制個別虛擬主機可以儲用的連線數量及速度,以下會示範在 CentOS 7 安裝 mod_cband 模組:要安裝 mod_cband,需要先安裝 httpd-devel: # yum install httpd-devel 然後可以下載 mod_cband 及編譯安裝: # cd /usr/local/src # wget https://github.com/maiha/mod_cband/archive/master.zip # unzip …

vim 把 Tab 轉換為 4 Space

以前習慣用 Tab 來做縮排,在用 Sublime Text 沒什麼關係,Tab 跟 4 個空格的長度一致,但近年經常用 vim 直接在 CLI 寫程式,當程式需要多層判斷式或迴圈時,很多時在終端機會看得很辛苦,因為在 vim 顯示 Tab 會比 4 個空格的距離還長。所以還是用 4 個空格取代 Tab 較方便,以下是在 vim 及 Sublime Text 按下 Tab 鍵時,自動用 …

Python 在 CLI 輸出顏色文字

在 CLI 下執行的小工具,將輸出結果以不同顏色呈現,對可讀性有很大幫助,在 Python 要控制輸出文字的顏色,做法與 html 相似,只是使用 ANSI escape codes 控制顏色輸出。顯示顏色文字的顏色編號及格式如下:以下是樣式、顏色及背景顏色的可供選項:文字樣式: 0 一般樣式 1 粗體 4 加底線 5 灰底 7 文字及背景顏色對調文字顏色: 30 黑色 31 紅色 32 綠色 33 黃色 34 …

netstat 指令 – 檢查網路狀況工具

netstat 指令可以用作檢視網路連線、網卡統計、路由設定及其他關於網路的資訊,對於進行網路上的除錯十分有用。除了 Linux 外,在其他主流作業系統也可以找到 netstat, 包括 Mac OSX, Solaris, BSD 及 Windows。netstat 使用例子:列出所有連接埠: $ netstat -a 列出所有 TCP 連接埠: $ netstat -at 列出所有 UDP 連接埠: $ netstat -au 列出所有連線的 IP: …

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.