Tag: FreeBSD

Shell Script 取得 Script 所在目錄位置

當寫 Shell Script 時, 很多時需要取得 Shell Script 本身的目錄位置, 以下教學是在 Shell Script 取得目錄位置的寫法。在 Shell Script 的 $0 變數代表指令的第一個參數, 即 Shell Script 本身, 例如 Shell Script 是 “/root/test.sh”: #!/usr/bin/sh echo $0 執行時會返回: …

sort 指令 – 將欄位資料排序

sort 指令是在 Linux 下的排序指令, 可以將資料以不同欄位以數值及字母排序。sort 預設會用以下條件排序:— 數字會排在字母前面; — 小寫字母會排在大寫字母前面;以一個簡單的例子說明使用方法, 例如用 “ls -l” 列出檔案清單, ls 預設是用檔案名稱排序, 想要用檔案大小排序, 可以這樣: $ ls -l | sort -n -k 5 上面的 “5” 代表是第 5 個欄位的意思, …

cut 指令: 擷取檔案每行指定範圍資料

cut 指令可以將檔案內每行資料, 選擇性地擷取指定的部份, 對於 Log 分析或過濾資料十分好用, 當然除了支援擷取檔案資料外, 也可以用管線 (pipe) 匯入資料, 以下教會是關於 cut 指令的用法。cut 指令的語法:cut … …cut 指令主要有以下參數可以:-b: 輸出指定的範圍, 以 bytes 作為單位. -c: 輸出指定的範圍, 以字元數量作為單位. -d: 指定分隔字元, 預設是用 tab 作為分隔. -f: …

sed 搜尋並刪除整行資料

在 Linux 下如果需要將檔案內指定某一行資料刪除,可以用 sed 指令達成,以下教學會介紹在 Linux 下用 sed 指令,刪除檔案內指定的整行資料。刪除指定行數當知道要刪除的資料在檔案那一行,或者在某一個行數範圍時,可以直接指定刪除的行數,例如:刪除檔案 filename.txt 的第 10 行: 刪除檔案 filename.txt 的第 10 至 15 行: 將包含有 “delete_str” 字串的一整行資料刪除: 將包含有 “delete_str” 字串的一整行資料刪除: 從第 10 行開始,後面的資料全部刪除: 從包含字串 …

Apache log 的 internal dummy connection

當開啟 Apache 的 access_log 查看裡面的內容,查詢記錄內簡中會看到一堆 “internal dummy connection” 的記錄: ::1 – – “OPTIONS * HTTP/1.0” 200 – “-” “Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16 (internal dummy connection)” 根據 Apache 官方的說明, 這是 …

把 crontab 執行指令輸出寫入記錄檔

一般上在 crontab 自動執行的指令, 會將所有指令標準輸出及錯誤放到 /dev/null, 這便會略過所有指令的輸出, 例如用 crontab 執行 /root/my-script.sh, 一般上語法是這樣寫: * * * * * /root/my-script.sh > /dev/null 但有時需要將執行指令的輸出儲存下來, 只要將 /dev/null 換成記錄檔的位置即可, 例如想把指令的輸出放到 /var/log/mycrontab.log, 可以這樣寫: * * * * …

查詢已安裝的 MySQL / MariaDB 版本

由於各個 MySQL 的版本都略有不同,而且又有 MaridDB 或 Percona 等分支版本, 很多時系統管理員都需要查詢系統內的 MySQL 版本,要查詢系統內的 MySQL 版本,以下列出幾種查詢 MySQL 版本的方法。CLI在 CLI 查詢 MySQL 版本十分簡單,用 mysql 指令便可以, 而且不用登入 MySQL: $ mysql -V 執行後會輸出 MySQL 的版本, 以下是在 CentOS …

防止 SSH 連線逾時斷線

如果發現 SSH 閒置幾分鐘後, 因為基於安全理由, SSH 會自動斷線。但如果在測試或者正在安裝的新伺服器, 這樣也會很麻煩, 這個問題可以透過修改 SSH 客戶端或者 SSH 伺服器的設定解決。SSH 客戶端在 Linux 下的 SSH 客戶端, 開啟家目錄的 SSH 設定檔: $ vi ~/.ssh/config 加入以下兩行:要留意第二行開始的位置, 必須像上面一樣加上空格, 然後執行以下指令載入設定: $ sudo source ~/.ssh/config …

查詢已安裝的 PHP 版本

由於 PHP 各版本的寫法都略有不同,很多時都需要查詢系統內的 PHP 版本,或者系統管理員也有時會需要檢查 PHP 版本,要查詢系統內的 PHP,分別可以用 PHP 程式或者 CLI 指令模式完成,以下分別看一看幾種不同方法。CLI在 CLI 查詢 PHP 版本十分簡單,用 php 指令便可以: $ php –version 或 $ php-cgi –version 執行後會有類似的輸出: PHP 5.4.16 (cli) (built: …

diff 及 patch 指令 – 產生, 寫入 Patch 檔

Linux 的 diff 指令是用作逐行比較兩個檔案, 然後列出兩個檔案不同的地方, 以下文章會示範用 diff 產生程式的 Patch, 及用 patch 指令匯入 Patch。diff 指令的語法:diff file1 file2要比較兩個檔案, 最簡單的做法是直接將兩個要比較的檔案, 放在 diff 指令後面, 以下是比較 file1 及 file2: $ diff file1 file2 如果兩個檔案的內容相同, …