萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 系統管理指令精選(三):郵務、列印與文字處理

/etc/aliases —— 郵件別名轉向

權限:系統管理員
用法:修改後需執行 newaliases 更新資料庫

Sendmail 依據 /etc/aliases 進行使用者名稱轉換。例如建立郵件清單 redlinux@link.ece.uci.edu,實際無此用戶,aliases 將信件轉交處理程式分發。檔案為文字格式,Sendmail 需二進位 /etc/aliases.db,newaliases 負責轉換(等同 sendmail -bi)。

# newaliases

相關指令:mail、mailq、newaliases、sendmail

mail —— 郵件收發與腳本應用

權限:所有使用者
語法:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user2 ...]

mail 既是指令也是郵件程式。管理員常用於腳本定期寄送備忘錄。參數說明:

  • -i:忽略中斷訊號
  • -I:強制互動模式
  • -v:顯示遞送過程細節
  • -n:不讀取 mail.rc
  • -s:指定主旨
  • -c、-b:副本/密件副本地址

範例:

mail user1@email.ess user2          # 寄給多位收件者
mail -s "標題" -c user1 user2 < mail.txt  # 寄送檔案內容並副本

expr 與 tr 文字處理範例

expr 字串運算

expr length "this is a test"        # 14
expr 14 % 9                         # 5
expr substr "this is a test" 3 5    # "is is"
expr index "testforthegame" e       # 2
expr quote thisisatestformela       # thisisatestformela

tr 字元轉換與刪除

範例 1:批次將檔名大寫轉小寫

#!/bin/sh
dir="/tmp/testdir"
files=`find $dir -type f`
for i in $files; do
  dir_name=`dirname $i`
  ori_filename=`basename $i`
  new_filename=`echo $ori_filename | tr [:upper:] [:lower:]`
  mv "$dir_name/$ori_filename" "$dir_name/$new_filename"
done

範例 2:小寫轉大寫 tr a-z A-Z 或 tr [:lower:] [:upper:]

範例 3:刪除特定字元 tr -d "test" < /dev/null(刪除 t、e、s、t)

範例 4:字串取代 tr -s "this" "TEST"(this→TEST,th→TE)

clear、reset/tset —— 終端機控制

clear 清除螢幕。reset(即 tset)重設終端機狀態,常用於登入時或執行 cat 二進位檔導致終端機亂碼時恢復。常用選項:

  • -e ch:設定 erase 字元
  • -k ch:設定 kill 字元
  • -s:輸出設定 TERM 的字串(用於 .profile)
  • -r:顯示終端機類型
reset ?              # 讓使用者輸入終端機類型
reset -e ^B          # 設定 erase 為 Ctrl-B
reset -s             # 顯示設定字串

compress —— 經典壓縮工具

權限:所有使用者
語法:compress [-dfvcV] [-b maxbits] [file ...]

壓縮後附加 .Z 副檔名,解壓用 uncompress 或 compress -d。多檔案需先 tar 再壓縮。現多改用 gzip 獲更佳壓縮比。參數:

  • -c:輸出至標準輸出
  • -f:強制覆蓋
  • -v:顯示壓縮比
  • -b:設定位元上限 9-16(預設 16,越大壓縮比越高)
  • -d:解壓縮
compress -f source.dat           # 壓縮並覆蓋
compress -vf source.dat          # 顯示壓縮比
compress -c source.dat > target.dat.Z  # 自訂輸出檔名
compress -b 12 source.dat        # 設定 12 bits
compress -d source.dat.Z         # 解壓

列印系統:lpd、lpq、lpr

lpd:常駐列印管理守護程式,依 /etc/printcap 管理本地/遠端印表機。各印表機在 /var/lpd 有對應目錄,cf 開頭檔案為待列印工作(由 lpr 產生)。lpr/lpd 實現離線列印:應用程式無需等待印表機即可完成提交。啟動參數 -l(除錯訊息)、#port(指定 TCP port)。通常由 /etc/rc.d 啟動腳本啟動。

lpq:顯示列印隊列未完成工作。範例:lpq -Plp 顯示 lp 印表機隊列。

lpr:將檔案或標準輸入送入列印隊列,lpd 稍後處理。支援本地與遠端印表機。語法:lpr [-P printer]。

copyright © 萬盛學電腦網 all rights reserved