Tag: Debian & Ubuntu

sed 刪除包含 keywords 的整行資料

sed 除了可以對檔案內的 keyword 做 search & replace 外, 也可以將包含有 keyword 的整行刪除, 語法是: 以上指令會對 filename 逐行搜索, 並將有 “keyword” 的整行刪除。 另一個情況是想將兩個 keywords 中間的整行資料刪除, 語法可以改成這樣: 以上指令會在 filename 內, 將有 “keyword-1” 及 …

Apache 動態管理 VirtualHost

VirtualHost 可以讓多個網站在一台主機上運行, 一般上每個 VirtualHost 都需要加入一段 “ “, 然後設定 ServerName, ServerAlias 及 DocumentRoot, 例如有兩個網址, 分別是 www.mydomain.com 及 blog.mydomain.com, 在 httpd.conf 部份要加入類似這樣的設定: 另一種方法是動態設定 VirtualHost, 以上面的例子, 可以用一段 設定。 首先開啟 httpd.conf: # vi …

同時安裝 MySQL 及 MariaDB

MariaDB 是 MySQL 的替代產品, 也是 RHEL 7 及 CentOS 7 的預設資料庫系統。有時需要在 MariaDB 及 MySQL 之間做測試, 或者在不同版本 MySQL 之間做測試, 同時安裝及運行 MariaDB 及 MySQL 會很方便, 以下紀錄一下在主機內同時安裝 MariaDB 及 MySQL 運行, 當然如果有需要, 也可以按此方法安裝 …

Linux 壓縮及解壓 .tgz 及 .tar.gz 檔

在開源的領域中, .tgz 或 .tar.gz 格式的壓縮檔很流行, 這是 .tar 壓縮檔使用 gzip 再次壓縮。 這個檔案格式其實就是把一般的 .tar 檔案使用 gzip 再壓縮 要解壓 .tgz 檔案, 跟解壓 .tar 類似, 只要加入 “z” 參數即可, 以下是解壓 .tgz 及 tar.gz 的指令: $ …

Ubuntu 設定 root 密碼

Ubuntu 預設的 root 沒有公開,一般上會假設要以 root 權限執行指令,便用 sudo 執行,但如果在家中的電腦,或者測試用的系統,為求方便要設定 root 密碼,在 CLI 也很容易做到。 先用一毎有執行 sudo 權限的帳號登入,開啟終端機,執行以下指令: $ sudo passwd root 然後要輸入登入帳號的密碼,之後便可以設定 root 密碼了。 設定好 root 密碼後,可以用 su 切換到 root 測試是否成功: $ …

crontab 每 30 秒自動執行

crontab 容許最少自動執行間隔為 1 分鐘, 即在 crontab 的格為是: 如果需要將自動執行時間設定為少於 1 分鐘, 或者以秒數為單位, 可以透過 crontab 配合 sleep 指令完成, 或者建立一個 shell script 再配合 sleep 實現。 以下會示範在 crontab 或 shell script, 設定每 30 …

手動設定網址與 IP 對應 — /etc/hosts

Unix Like 系統在向 DNS 查詢網址與 IP 對應前, 會先查詢檔案 /etc/hosts 的內容, 下文會介紹 Linux 的 /etc/hosts 檔案, 及手動設定網址與 IP 對應的方法。 方法同樣適用於 Mac OS X 及 Windows, 格式是一樣的, 只是檔案位置不同, 它們的位置在: Linux: /etc/hosts Mac …

防止 Shell Script 重複執行

Shell Script 對日常系統維護很實用,對於多用戶系統,Shell Script 經常面對一個問題是重複執行,即一個 Shell Script 正在執行時,避免另一個使用者執行。另一個情況是,當 Shell Script 變得複雜及龐大時,放到 crontab 定時執行時 (例如每分鐘執行一次),Shell Script 還未完成上次的執行,就重複自動執行一次。 要防止 Shell Script 重複執行,一般上會用 lock file 及 PID 的方法,不論是 lock file 還是 PID,除了用 Bash …

解決 bash: scp: command not found lost connection

scp 可以在透過 SSH 加密下, 在本機或兩台主機間複製檔案, 今天執行 scp 時出現以下錯誤: 主機原來已經有安裝 scp, 為何會出現 “command not found” 呢? 而且如果沒有安裝 scp, 應該不會出現要我輸入遠端主機密碼的提示, 再細心想一想, 原來只是自己太大意。scp 在兩台主機間複製檔案時, 需要在兩邊都有安裝好 scp, 而遠端主機是新安裝的, 沒有安裝 scp. 用 SSH 登入遠端主機, …