工具指令
系統工具、壓縮解壓與輔助指令
壓縮解壓
tar
文件打包
# 解壓
tar -xf [.tar] -C [location]
# 打包
tar -cvf archive.tar files/
# 打包並壓縮 (gzip)
tar -czvf archive.tar.gz files/
# 解壓 gzip
tar -xzvf archive.tar.gz系統工具
alias
為長命令創建別名
# 創建別名
alias foobar='ls -la'
# 永久保存別名
# 編輯 ~/.bashrc
# 移除別名
unalias foobarbase64
Base64 編碼/解碼
# 生成隨機字符文件 (1GB 可讀文件)
base64 /dev/urandom | head -c 1G > 1gb_file.txtbc
Linux 標準計算工具
# 進制轉換
Hex=FF
echo "obase=10; ibase=16; $Hex" | bc
# 使用數學庫
a=$1
b=$2
c=$3
sum=$(( a + b + c))
average=$(echo "$sum / 3" | bc -l)
echo $averagechmod
變更文件權限
# 使用數字方式
chmod 755 test.txt
# 使用符號方式
chmod u=rwx,g=rx,o=x test.txt
chmod a+rx my-script.sh
# 常用選項
# -c : 顯示變更的部分
# -f : 不顯示錯誤信息
# -v : 顯示詳細信息
# -R : 遞歸處理目錄chown
變更文件擁有者
# 基本用法
chown [Options] NewOwner File
chown [Options] Group File
# 遞歸變更
chown -R [帳號名稱/檔案/目錄]
chown -R [帳號名稱:群組名稱/檔案/目錄]
# 實例
chown bin initial-setup-ks.cfg
chown root:root initial-setup-ks.cfgclear
清除螢幕
clear -xcommand
檢查命令是否存在
command -v htopdeclare
變量聲明和管理
# 列出所有變量
declare -p
# 創建變量
declare myvariable=1111
# 設置唯讀變量
declare -r pwdfile=/etc/passwdecho
輸出文本
# 基本輸出
echo Hello World > peanuts.txt
# 顯示變量
echo $HISTFILESIZE
echo $SHELL
# 自定義輸出
echo -e "\aHello World" # 聲音
echo -e "This is a Linux\n server." # 換行
echo -e "This is a \t Linux server." # Tab
# 時間戳記錄
echo "Logfile started: $(date +'%D + %T')" > log.txtenv
環境變量管理
# 顯示所有環境變量
env
# 設置環境變量
export JAVA_HOME=/usr/bin/java
# 持久化環境變量
vi ~/.bashrc
source .bashrc
# 創建全局變量
export GLOBAL_VARIABLE="This is a global variable"help
顯示內建命令的幫助信息
help cd
cd --helphistory
命令歷史記錄管理
# 顯示歷史記錄
history
# 刪除特定行
history -d 100
# 清除全部歷史
history -c
# 清除歷史文件
history -wjournalctl
系統日誌查看器
journalctl --since "2023-12-26 00:00:00" --until "2024-01-01 23:59:59"ldconfig
更新共享庫緩存
ldconfig -pldd
顯示程序依賴的共享庫
ldd ./apiman
系統手冊
# 查看特定命令的手冊
man whoami
# 搜尋命令
man -k uname
man -k "copy files"md5sum
快速哈希比較
md5sum file1.txt file2.txtod
讀取字節並以特定格式打印
# 讀取 4 個字節並以無符號整數格式打印
od -An -N4 -tu4 /dev/urandompasswd
密碼管理
# 修改 root 密碼
sudo passwd root
# 修改用戶密碼
passwd usernameprintenv
顯示環境變量
printenv | lessread
讀取輸入
read -p "Enter variable name:" [variable]sha256sum
為大文件生成更安全的哈希值進行比較
sha256sum file1.txt file2.txtsu
切換用戶
su - [user_name]tee
讀取標準輸入並寫入文件
echo "hello" | tee output.txttime
執行時間統計
time commandtype
查看命令類型
type echo
type mvusermod
修改用戶賬戶
usermod -s [shell] [user_name]whatis
顯示命令簡短描述
whatis catwhich
定位命令位置
which [file_name]xxd
查看或建立十六進制數據
# 基本用法 - 十六進制顯示
xxd file.txt
# 只顯示指定字節數
xxd -l 32 file.txt
# 以純十六進制格式顯示(無 ASCII 部分)
xxd -p file.txt
# 反向轉換(十六進制轉二進制)
xxd -r input.hex output.bin
# 按特定列寬顯示
xxd -c 16 file.txt
# 顯示偏移量(以特定數字開始)
xxd -s 0x1000 file.txt
# 生成 C 語言數組格式
xxd -i file.txt