timmy / 清理未使用的 SSH 暫存檔案
0 喜欢
0 派生
1 文件
最后活跃于 10 months ago
這個 Bash 腳本用於 清理 /tmp 目錄中無效的 SSH 相關暫存檔案。它會搜尋所有以 ssh- 開頭的檔案或目錄,使用 lsof 檢查是否有行程正在使用它們,若未被使用則刪除,以確保 /tmp 目錄保持乾淨。這適用於 系統維護、提升伺服器安全性,防止長時間未使用的 SSH 暫存文件佔用空間。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 定義要檢查的目錄 |
| 4 | TMP_DIR="/tmp" |
| 5 | |
| 6 | # 查找所有以 ssh- 開頭的文件或目錄 |
| 7 | for file in "$TMP_DIR"/ssh-*; do |
| 8 | # 如果沒有匹配的文件,跳過 |
| 9 | if [ ! -e "$file" ]; then |
| 10 | continue |
timmy / Bash 陣列遍歷與輸出
0 喜欢
0 派生
1 文件
最后活跃于 10 months ago
這個 Bash 腳本建立了一個數字陣列 arr,並透過 for 迴圈遍歷陣列中的每個元素,使用 printf 將其逐行輸出。這適用於 處理資料集合、批次操作或腳本自動化,可用於 列印資料、執行批次指令或進一步處理陣列元素。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 建立一個陣列 |
| 4 | arr=(1 2 3 4 5) |
| 5 | |
| 6 | # 迴圈遍歷陣列的每一個元素 |
| 7 | for i in "${arr[@]}"; do |
| 8 | # 處理每一個元素 |
| 9 | # echo $i |
| 10 | printf "%s\n" "$i" |
timmy / 建立並配置新使用者帳戶(含 sudo 權限)
0 喜欢
0 派生
1 文件
最后活跃于 10 months ago
這個 Bash 腳本用於根據輸入的使用者名稱,建立一個新的使用者帳號,並提示輸入密碼後設定該密碼,然後將該使用者加入 sudo 群組,同時更新 sudoers 檔案以允許該使用者無密碼執行 sudo 指令,方便日後進行系統管理。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # Check if a username was provided as an argument |
| 4 | if [ $# -ne 1 ]; then |
| 5 | echo "Error: Please provide a username as an argument." |
| 6 | exit 1 |
| 7 | fi |
| 8 | |
| 9 | # Get the username from the argument |
| 10 | username="$1" |
timmy / IP 位址查詢與解析
0 喜欢
0 派生
1 文件
最后活跃于 10 months ago
這個 Bash 腳本用於 查詢目前裝置的公網 IP 及其地理資訊。它會先檢查系統是否安裝了 curl 和 jq(jq 用於解析 JSON),然後使用 curl 向 ip-api.com 發送請求,獲取目前裝置的 IP 位址、國家、城市、ISP、時區等資訊,並透過 jq 以可讀格式輸出。這適用於 網路診斷、IP 追蹤、地理位置查詢或伺服器網路狀態檢測。
| 1 | #!/bin/bash |
| 2 | |
| 3 | SHELL=/bin/sh |
| 4 | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin |
| 5 | TZ="Asia/Taipei" |
| 6 | export PATH |
| 7 | export LANG=en_US.UTF-8 |
| 8 | export LANGUAGE=en_US:en |
| 9 | |
| 10 | # Check if curl is installed |
timmy / 自動安裝與設定 Docker 和 Docker Compose
1 喜欢
0 派生
1 文件
最后活跃于 10 months ago
此腳本自動更新系統、安裝必要套件,下載並安裝 Docker 和 Docker Compose,適用於快速部署容器環境,提高開發與運維效率。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 更新系統軟體庫 |
| 4 | echo "更新系統軟體庫..." |
| 5 | sudo apt-get update -y |
| 6 | |
| 7 | # 安裝必要套件 |
| 8 | echo "安裝必要套件:apt-transport-https、ca-certificates 和 curl..." |
| 9 | DEBIAN_FRONTEND=noninteractive apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null |
timmy / 設定與啟用 en_US.UTF-8 語言環境
1 喜欢
0 派生
1 文件
最后活跃于 10 months ago
此腳本啟用 en_US.UTF-8 語言環境,更新 locale.gen,並將環境變數寫入 .bashrc 以確保設定持久化,適用於國際化與多語系支援。
| 1 | #!/bin/bash |
| 2 | |
| 3 | # 啟用 en_US.UTF-8 語言環境 |
| 4 | echo "啟用 en_US.UTF-8 語言環境..." |
| 5 | sudo sed -i '/^# en_US.UTF-8 UTF-8/s/^# //' /etc/locale.gen |
| 6 | sudo locale-gen |
| 7 | |
| 8 | # 設定語言環境變數 |
| 9 | echo "設定語言環境變數..." |
| 10 | export LANG=en_US.UTF-8 |
timmy / 使用 funcy 裝飾器檢查作業系統類型
0 喜欢
0 派生
1 文件
最后活跃于 10 months ago
這段 Python 程式碼利用 funcy 模組的裝飾器來 檢查目前作業系統,從而限制某些函式僅在特定平台上執行。具體來說,need_mac、need_linux、need_windows 與 need_unix 分別用來檢查是否在 macOS、Linux、Windows 或 Unix(macOS 或 Linux)系統上執行;函式 foo() 被 @need_unix 裝飾,僅允許在 Unix 系統上執行,而函式 bar() 則僅允許在 Windows 系統上執行。主程式透過 try-except 捕捉例外,若目前作業系統不符合要求,則輸出相應錯誤訊息。這樣的設計有助於確保平台專屬功能在正確的環境中執行,避免跨平台錯誤。
| 1 | import platform |
| 2 | from funcy import decorator |
| 3 | |
| 4 | @decorator |
| 5 | def need_mac(call): |
| 6 | """檢查系統是否為 macOS,若不是則拋出異常。""" |
| 7 | if platform.system() != "Darwin": |
| 8 | raise Exception("This functionality is only supported in macOS") |
| 9 | return call() |
上一页
下一页