萬盛學電腦網

 萬盛學電腦網 >> Linux教程 >> Linux指令大全(3)

Linux指令大全(3)

class="22864"> Linux指令大全(3)

名稱:/etc/aliases
使用權限:系統管理者
使用方式: 請用 newaliases 更新資料庫
說明:
sendmail 會使用一個在 /etc/aliases 中的檔案做使用者名稱轉換的動作。當 sendmail 收到一個要送給 xxx 的信時,它會依據 aliases檔的內容送給另一個使用者。這個功能可以創造一個只有在信件系統內才有效的使用者。例如 mailing list 就會用到這個功能,在 mailinglist 中,我們可能會創造一個叫 [email protected] 的 mailinglist,但實際上並沒有一個叫 redlinux 的使用者。實際 aliases 檔的內容是將送給這個使用者的信都收給 mailing list 處理程式負責分送的工作。

/etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉換成一個 sendmail 所能了解的資料庫。范例:
# newaliases

下面命令會做相同的事,
# sendmail -bi

相關命令:
mail, mailq, newaliases, sendmail

” mail [返回]
名稱:mail

使用權限:所有使用者


使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]


說明:
mail 不僅只是一個指令, mail 還是一個電子郵件程式,不過利用 mail 來讀信的人應該很少吧!對於系統管理者來說 mail 就很有用,因為管理者可以用 mail 寫成 script ,定期寄一些備忘錄提醒系統的使用者。


參數:
i 忽略 tty 的中斷訊號。 (interrupt)
I 強迫設成互動模式。 (Interactive)
v 列印出訊息,例如送信的地點、狀態等等。 (verbose)
n 不讀入 mail.rc 設定檔。
s 郵件標題。
c cc 郵件地址。
b bcc 郵件地址。


范例:


將信件送給一個或以上的電子郵件地址,由於沒有加入其他的選項,使用者必須輸入標題與信件的內容等。而 user2 沒有主機位置,就會送給郵件伺服器的 user2 使用者。



mail [email protected]ess
mail [email protected]ess user2



將 mail.txt 的內容寄給 user2 同時 cc 給 user1 。如果將這一行指令設成 cronjob 就可以定時將備忘錄寄給系統使用者。

mail -s 標題 -c user1 user2 > expr length "this is a test"
14

### 數字商數

shell>> expr 14 % 9
5

### 從位置處抓取字串

shell>> expr substr "this is a test" 3 5
is is

### 數字串 only the first character

shell>> expr index "testforthegame" e
2

### 字串真實重現

shell>> expr quote thisisatestformela
thisisatestformela




名稱: tr

### 1.比方說要把目錄下所有的大寫檔名換為小寫檔名?

似乎有很多方式,"tr"是其中一種:

#!/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:]` > /dev/null;
#echo $new_filename;
mv $dir_name/$ori_filename $dir_name/$new_filename
done


### 2.自己試驗中...lowercase to uppercase

tr abcdef...[del] ABCDE...[del]
tr a-z A-Z
tr [:lower:] [:upper:]

shell>> echo "this is a test" | tr a-z A-Z > www
shell>> cat www
THIS IS A TEST

### 3.去掉不想要的字串

shell>> tr -d this ### 去掉有關 t.e.s.t
this

man
man
test
e

### 4.取代字串

shell>> tr -s "this" "TEST"
this
TEST
th
TE




指令:clear
用途:清除螢幕用。

使用方法:在 console 上輸入 clear。


名稱: reset, tset
使用方法: tset [-IQqrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]

使用說明:

reset 其實和 tset 是一同個命令,它的用途是設定終端機的狀態。一般而言,這個命令會自動的從環境變數、命令列或是其它的組態檔決定目前終端機的型態。如果指定型態是 ? 的話,這個程式會要求使用者輸入終端機的型別。

由於這個程式會將終端機設回原始的狀態,除了在 login 時使用外,當系統終端機因為程式不正常執行而進入一些奇怪的狀態時,你也可以用它來重設終端機o 例如不小心把二進位檔用 cat 指令進到終端機,常會有終端機不再回應鍵盤輸入,或是回應一些奇怪字元的問題。此時就可以用 reset 將終端機回復至原始狀態。選項說明:


-p
將終端機類別顯示在螢幕上,但不做設定的動作。這個命令可以用來取得目前終端機的類別。
-e ch
將 erase 字元設成 ch
-i ch
將中斷字元設成 ch
-k ch
將刪除一行的字元設成 ch
-I
不要做設定的動作,如果沒有使用選項 -Q 的話,erase、中斷及刪除字元的目前值依然會送到螢幕上。
-Q
不要顯示 erase、中斷及刪除字元的值到螢幕上。
-r
將終端機類別印在螢幕上。
-s
將設定 TERM 用的命令用字串的型式送到終端機中,通常在 .login 或 .profile 中用
范例:
讓使用者輸入一個終端機型別並將終端機設到該型別的預設狀態。
# reset ?



將 erase 字元設定 control-h
# reset -e ^B



將設定用的字串顯示在螢幕上
# reset -s
Erase is control-B (^B).
Kill is control-U (^U).
Interrupt is control-C (^C).
TERM=xterm;

名稱:compress

使用權限:所有使用者


使用方式:compress [-dfvcV] [-b maxbits] [file ...]


說明:
compress 是一個相當古老的 unix 檔案壓縮指令,壓縮後的檔案會加上一個 .Z 延伸檔名以區別未壓縮的檔案,壓縮後的檔案可以以 uncompress 解壓。若要將數個檔案壓成一個壓縮檔,必須先將檔案 tar 起來再壓縮。由於 gzip 可以產生更理想的壓縮比例,一般人多已改用 gzip 為檔案壓縮工具。


參數:
c 輸出結果至標准輸出設備(一般指熒幕)
f 強迫寫入檔案,若目的檔已經存在,則會被覆蓋 (force)
v 將程式執行的訊息印在熒幕上 (verbose)
b 設定共同字串數的上限,以位元計算,可以設定的值為 9 至 16 bits 。由於值越大,能使用的共同字串就 越多,壓縮比例就越大,所以一般使用預設值 16 bits (bits)
d 將壓縮檔解壓縮
V 列出版本訊息


范例:


將 source.dat 壓縮成 source.dat.Z ,若 source.dat.Z 已經存在,內容則會被壓縮檔覆蓋。



compress -f source.dat



將 source.dat 壓縮成 source.dat.Z ,並列印出壓縮比例。
-v 與 -f 可以一起使用



compress -vf source.dat



將壓縮後的資料輸出後再導入 target.dat.Z 可以改變壓縮檔名。



compress -c source.dat > target.dat.Z



-b 的值越大,壓縮比例就越大,范圍是 9-16 ,預設值是 16 。



compress -b 12 source.dat



將 source.dat.Z 解壓成 source.dat ,若檔案已經存在,使用者按 y 以確定覆蓋檔案,若使用 -df 程式則會自動覆蓋檔案。由於系統會自動加入 .Z 為延伸檔名,所以 source.dat 會自動當作 source.dat.Z 處理。



compress -d source.dat
compress -d source.dat.Z




名稱: lpd

使用權限: 所有使用者

使用方式:lpd [-l] [#port]
lpd 是一個常駐的印表機管理程式,它會根據 /etc/printcap 的內容來管理本地或遠端的印表機。/etc/printcap 中定義的每一個印表機必須在 /var/lpd 中有一個相對應的目錄,目錄中以 cf 開頭的檔案表示一個等待送到適當裝置的印表工作。這個檔案通常是由 lpr 所產生。

lpr 和 lpd 組成了一個可以離線工作的系統,當你使用 lpr 時,印表機不需要能立即可用,甚至不用存在。lpd 會自動監視印表機的狀況,當印表機上線後,便立即將檔案送交處理。這個得所有的應用程式不必等待印表機完成前一工作。

參數:


-l: 將一些除錯訊息顯示在標准輸出上。
#port: 一般而言,lpd 會使用 getservbyname 取得適當的 TCP/IP port,你可以使用這個參數強迫 lpd 使用指定的 port。

范例:
這個程式通常是由 /etc/rc.d 中的程式在系統啟始階段執行。



名稱 lpq
-- 顯示列表機貯列中未完成的工作 用法

lpq [l] [P] [user]

說明
lpq 會顯示由 lpd 所管理的列表機貯列中未完成的項目。

范例
范例 1. 顯示所有在 lp 列表機貯列中的工作


# lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes




相關函數
lpr,lpc,lpd



名稱: lpr

使用權限: 所有使用者

使用方式:lpr [ -P printer ]
將檔案或是由標准輸入送進來的資料送到印表機貯列之中,印表機管理程式 lpd 會在稍後將這個檔案送給適當的程式或裝置處理。lpr 可以用來將料資送給本地或是遠端的主機來處理。
copyright © 萬盛學電腦網 all rights reserved