Category: Linux

Ubuntu 18.04 關閉及開啟防火牆

Ubuntu 內建使用 UFW (Uncomplicated Firewall) 作為防火牆管理工具, 一般情況下都會開啟防火牆, 但有些特殊情況, 例如測試環境需要關閉防火牆作測試, 或者對網路設定進行除錯等。以下是在 Ubuntu 18.04 關閉防火牆的方法。首先檢查目前防火牆是否已經開啟, 執行以下指令: $ sudo ufw status防火牆預設是關閉, 會輸出:Status: inactive如果防火牆已經開啟了, 會輸出 active:Status: active 如果需要關閉防火牆, 執行以下指令: Disabling the Firewall $ sudo …

解決錯誤設定或刪除 /etc/fstab 不能開機

/etc/fstab 用作設定 Linux 開機時自動掛載的分割區, 如果 Linux 系統開機時不能載入 /etc/fstab 檔案, 便會開機失敗, 並會看到 emergency mode 的登入畫面.Welcome to emergency mode! After logging in, type “journalctl -xb” to view system logs, “systemctl reboot” to …

Linux 限制指令執行時間

timeout 指令可以在 Linux 下限制一個指令的執行時間, 當超出指定的時間後, 便自動終止執行.例如想限制一個指令的執行時間在 10 秒, 當超過 10 秒便自動將它 kill 掉: $ timeout 10 tail -f /var/log/httpd/access.logtimeout 的預設時間單位是秒, 上面的 10 沒有指定單位, 預設代表 10 秒, 以下時間單位的寫法:10s -> 10 秒 …

rename 指令 – 批次大量修改檔案名稱

在 Linux 要修改檔案名稱, 可以用 mv 指令, 但如果要重新命名的檔案很多, 用 mv 逐一修改會很痛苦, 也增加出錯的機會。而 rename 指令則可以批次大量修改檔案名稱。例如我想將所有 .jpeg 結尾的圖片, 改變副檔名成 .jpg, 可以用以下指令: $ rename ‘s/.jpeg/.jpg/’ *以上指令會將當前目錄下, 所有 .jpeg 結尾的檔案, 改名成 .jpg而 rename 也支援 regular …

Shell Script 檢查網路連線

Linux 下要檢查網路連線的工具有很多, 以下是用 Shell Script 檢查網路連線的方法。最簡單的方法是用 ping 指令, 嘗試 ping google.com, 這樣除了測試網路連線外, 也一同測試 DNS: 執行上面的 Shell Script 後, 當網路連線及 DNS 正常, 會輸出 “Network is up”; 不正常敗會輸出 “Network is down”.如果防火牆將 …

Shell Script 英文字母大小寫轉換

寫程式很多時要將英文字母大小寫轉換, 例如想將第一個字母轉成大寫; 將 hostname 轉換成全部大寫或小寫等。Shell Script 可以用 tr 指令完成。例如: 上面的 tr 會將 “sam tang” 轉換成 “SAM TANG”, 如果是將大寫轉換成小寫, 將 及 互換即可。而 tr 另一種寫法可以這樣寫: bash 提供了另一個方法, 使用 …

Shell Script 修改系統帳號密碼

在 Linux 要修改帳號密碼, 可以用 passwd 完成。passwd 需要從 stdin 輸入新密碼, 但很多情況需要用非互動的方式修改, 即一行指令修改密碼。例如用 Shell Script 建立新帳號後, 立即修改新用戶的密碼。以下會示範不用從 stdin 輸入新密碼的情況下, 用一行指令修改帳號密碼的方法。版本較新的 Linux 的 passwd 指令, 支援 –stdin 參數, 即不會要求輸入兩次新密碼作為確認, 這樣只要用 echo 指令將新密碼, 透過管線 …

Linux 自訂指令 Alias 別名

指令別名 (Alias) 在 Linux 上十分方便, 可以將經常使用又較長的指令自訂成別名, 或者將一些指令參數預先方入指令別名, 執行起來就會省時不少.例如輸入 ls 指令時, 如果經常也輸入 “ls -al” 的話, 可以用以下指令建立指令別名: 之後當輸入 “l” 後, 便會直接執行 “ls -al”.另一個常用的指令用 cd 切換到其他目錄, 例如建立以下別名, 便可以快速地切換到網頁目錄及儲存 logs 的目錄: 但用 …

Linux 建立 Virtual Hard Disk (VHD)

Virtual Hard Disk (VHD) 是通過軟件技術, 在硬碟建立映像檔虛擬硬碟。本文會介紹在 Linux 建立 VHD 的方法。在 Linux 建立 VHD, 最簡單的方法是用 dd 指令, 先執行以下指令建立 VHD: $ sudo dd if=/dev/zero of=/media/myvhd.img bs=1M count=1200以上指令會建立 /media/myvhd.img 映像檔, 限制讀寫速度 1M, 而 …