Linux指令大全(3)
2024-07-26 00:30:09
供稿:網(wǎng)友
linux指令大全(3)
名稱:/etc/aliases
使用權(quán)限:系統(tǒng)管理者
使用方式: 請用 newaliases 更新資料庫
說明:
sendmail 會使用一個在 /etc/aliases 中的檔案做使用者名稱轉(zhuǎn)換的動作。當(dāng) sendmail 收到一個要送給 xxx 的信時(shí),它會依據(jù) aliases檔的內(nèi)容送給另一個使用者。這個功能可以創(chuàng)造一個只有在信件系統(tǒng)內(nèi)才有效的使用者。例如 mailing list 就會用到這個功能,在 mailinglist 中,我們可能會創(chuàng)造一個叫 redlinux@link.ece.uci.edu 的 mailinglist,但實(shí)際上并沒有一個叫 redlinux 的使用者。實(shí)際 aliases 檔的內(nèi)容是將送給這個使用者的信都收給 mailing list 處理程式負(fù)責(zé)分送的工作。
/etc/aliases 是一個文字模式的檔案,sendmail 需要一個二進(jìn)位格式的 /etc/aliases.db。newaliases 的功能傳是將 /etc/aliases 轉(zhuǎn)換成一個 sendmail 所能了解的資料庫。范例:
# newaliases
下面命令會做相同的事,
# sendmail -bi
相關(guān)命令:
mail, mailq, newaliases, sendmail
” mail [返回]
名稱:mail
使用權(quán)限:所有使用者
使用方式:mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] user1 [user 2 ...]
說明:
mail 不僅只是一個指令, mail 還是一個電子郵件程式,不過利用 mail 來讀信的人應(yīng)該很少吧!對于系統(tǒng)管理者來說 mail 就很有用,因?yàn)楣芾碚呖梢杂?mail 寫成 script ,定期寄一些備忘錄提醒系統(tǒng)的使用者。
參數(shù):
i 忽略 tty 的中斷訊號。 (interrupt)
I 強(qiáng)迫設(shè)成互動模式。 (Interactive)
v 列印出訊息,例如送信的地點(diǎn)、狀態(tài)等等。 (verbose)
n 不讀入 mail.rc 設(shè)定檔。
s 郵件標(biāo)題。
c cc 郵件地址。
b bcc 郵件地址。
范例:
將信件送給一個或以上的電子郵件地址,由于沒有加入其他的選項(xiàng),使用者必須輸入標(biāo)題與信件的內(nèi)容等。而 user2 沒有主機(jī)位置,就會送給郵件伺服器的 user2 使用者。
mail user1@email.address
mail user1@email.address user2
將 mail.txt 的內(nèi)容寄給 user2 同時(shí) cc 給 user1 。如果將這一行指令設(shè)成 cronjob 就可以定時(shí)將備忘錄寄給系統(tǒng)使用者。
mail -s 標(biāo)題 -c user1 user2 > exPR length "this is a test"
14
### 數(shù)字商數(shù)
shell>> expr 14 % 9
5
### 從位置處抓取字串
shell>> expr substr "this is a test" 3 5
is is
### 數(shù)字串 only the first character
shell>> expr index "testforthegame" e
2
### 字串真實(shí)重現(xiàn)
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.自己試驗(yàn)中...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 ### 去掉有關(guān) t.e.s.t
this
man
man
test
e
### 4.取代字串
shell>> tr -s "this" "TEST"
this
TEST
th
TE
指令:clear
用途:清除螢?zāi)挥谩?
使用方法:在 console 上輸入 clear。
名稱: reset, tset
使用方法: tset [-IQQrs] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]
使用說明:
reset 其實(shí)和 tset 是一同個命令,它的用途是設(shè)定終端機(jī)的狀態(tài)。一般而言,這個命令會自動的從環(huán)境變數(shù)、命令列或是其它的組態(tài)檔決定目前終端機(jī)的型態(tài)。如果指定型態(tài)是 ? 的話,這個程式會要求使用者輸入終端機(jī)的型別。
由于這個程式會將終端機(jī)設(shè)回原始的狀態(tài),除了在 login 時(shí)使用外,當(dāng)系統(tǒng)終端機(jī)因?yàn)槌淌讲徽?zhí)行而進(jìn)入一些奇怪的狀態(tài)時(shí),你也可以用它來重設(shè)終端機(jī)o 例如不小心把二進(jìn)位檔用 cat 指令進(jìn)到終端機(jī),常會有終端機(jī)不再回應(yīng)鍵盤輸入,或是回應(yīng)一些奇怪字元的問題。此時(shí)就可以用 reset 將終端機(jī)回復(fù)至原始狀態(tài)。選項(xiàng)說明:
-p
將終端機(jī)類別顯示在螢?zāi)簧希蛔鲈O(shè)定的動作。這個命令可以用來取得目前終端機(jī)的類別。
-e ch
將 erase 字元設(shè)成 ch
-i ch
將中斷字元設(shè)成 ch
-k ch
將刪除一行的字元設(shè)成 ch
-I
不要做設(shè)定的動作,如果沒有使用選項(xiàng) -Q 的話,erase、中斷及刪除字元的目前值依然會送到螢?zāi)簧稀?
-Q
不要顯示 erase、中斷及刪除字元的值到螢?zāi)簧稀?
-r
將終端機(jī)類別印在螢?zāi)簧稀?
-s
將設(shè)定 TERM 用的命令用字串的型式送到終端機(jī)中,通常在 .login 或 .profile 中用
范例:
讓使用者輸入一個終端機(jī)型別并將終端機(jī)設(shè)到該型別的預(yù)設(shè)狀態(tài)。
# reset ?
將 erase 字元設(shè)定 control-h
# reset -e ^B
將設(shè)定用的字串顯示在螢?zāi)簧?
# reset -s
Erase is control-B (^B).
Kill is control-U (^U).
Interrupt is control-C (^C).
TERM=xterm;
名稱:compress
使用權(quán)限:所有使用者
使用方式:compress [-dfvcV] [-b maxbits] [file ...]
說明:
compress 是一個相當(dāng)古老的 unix 檔案壓縮指令,壓縮后的檔案會加上一個 .Z 延伸檔名以區(qū)別未壓縮的檔案,壓縮后的檔案可以以 uncompress 解壓。若要將數(shù)個檔案壓成一個壓縮檔,必須先將檔案 tar 起來再壓縮。由于 gzip 可以產(chǎn)生更理想的壓縮比例,一般人多已改用 gzip 為檔案壓縮工具。
參數(shù):
c 輸出結(jié)果至標(biāo)準(zhǔn)輸出設(shè)備(一般指熒幕)
f 強(qiáng)迫寫入檔案,若目的檔已經(jīng)存在,則會被覆蓋 (force)
v 將程式執(zhí)行的訊息印在熒幕上 (verbose)
b 設(shè)定共同字串?dāng)?shù)的上限,以位元計(jì)算,可以設(shè)定的值為 9 至 16 bits 。由于值越大,能使用的共同字串就 越多,壓縮比例就越大,所以一般使用預(yù)設(shè)值 16 bits (bits)
d 將壓縮檔解壓縮
V 列出版本訊息
范例:
將 source.dat 壓縮成 source.dat.Z ,若 source.dat.Z 已經(jīng)存在,內(nèi)容則會被壓縮檔覆蓋。
compress -f source.dat
將 source.dat 壓縮成 source.dat.Z ,并列印出壓縮比例。
-v 與 -f 可以一起使用
compress -vf source.dat
將壓縮后的資料輸出后再導(dǎo)入 target.dat.Z 可以改變壓縮檔名。
compress -c source.dat > target.dat.Z
-b 的值越大,壓縮比例就越大,范圍是 9-16 ,預(yù)設(shè)值是 16 。
compress -b 12 source.dat
將 source.dat.Z 解壓成 source.dat ,若檔案已經(jīng)存在,使用者按 y 以確定覆蓋檔案,若使用 -df 程式則會自動覆蓋檔案。由于系統(tǒng)會自動加入 .Z 為延伸檔名,所以 source.dat 會自動當(dāng)作 source.dat.Z 處理。
compress -d source.dat
compress -d source.dat.Z
名稱: lpd
使用權(quán)限: 所有使用者
使用方式:lpd [-l] [#port]
lpd 是一個常駐的印表機(jī)管理程式,它會根據(jù) /etc/printcap 的內(nèi)容來管理本地或遠(yuǎn)端的印表機(jī)。/etc/printcap 中定義的每一個印表機(jī)必須在 /var/lpd 中有一個相對應(yīng)的目錄,目錄中以 cf 開頭的檔案表示一個等待送到適當(dāng)裝置的印表工作。這個檔案通常是由 lpr 所產(chǎn)生。
lpr 和 lpd 組成了一個可以離線工作的系統(tǒng),當(dāng)你使用 lpr 時(shí),印表機(jī)不需要能立即可用,甚至不用存在。lpd 會自動監(jiān)視印表機(jī)的狀況,當(dāng)印表機(jī)上線后,便立即將檔案送交處理。這個得所有的應(yīng)用程式不必等待印表機(jī)完成前一工作。
參數(shù):
-l: 將一些除錯訊息顯示在標(biāo)準(zhǔn)輸出上。
#port: 一般而言,lpd 會使用 getservbyname 取得適當(dāng)?shù)?TCP/IP port,你可以使用這個參數(shù)強(qiáng)迫 lpd 使用指定的 port。
范例:
這個程式通常是由 /etc/rc.d 中的程式在系統(tǒng)啟始階段執(zhí)行。
名稱 lpq
-- 顯示列表機(jī)貯列中未完成的工作 用法
lpq [l] [P] [user]
說明
lpq 會顯示由 lpd 所管理的列表機(jī)貯列中未完成的項(xiàng)目。
范例
范例 1. 顯示所有在 lp 列表機(jī)貯列中的工作
# lpq -PlpRank Owner Job Files Total Size1st root 238 (standard input) 1428646 bytes
相關(guān)函數(shù)
lpr,lpc,lpd
名稱: lpr
使用權(quán)限: 所有使用者
使用方式:lpr [ -P printer ]
將檔案或是由標(biāo)準(zhǔn)輸入送進(jìn)來的資料送到印表機(jī)貯列之中,印表機(jī)管理程式 lpd 會在稍后將這個檔案送給適當(dāng)?shù)某淌交蜓b置處理。lpr 可以用來將料資送給本地或是遠(yuǎn)端的主機(jī)來處理。
參數(shù):
-p Printer: 將資料送至指定的印表機(jī) Printer,預(yù)設(shè)值為 lp。
范例:
將 www.c 和 kkk.c 送到印表機(jī) lp。
lpr -Plp www.c kkk.c
名稱: lprm
-- 將一個工作由印表機(jī)貯列中移除 用法
/usr/bin/lprm [P] [file...]
說明
尚未完成的印表機(jī)工作會被放在印表機(jī)貯列之中,這個命令可用來將常未送到印表機(jī)的工作取消。由于每一個印表機(jī)都有一個獨(dú)立的貯列,你可以用 -P 這個命令設(shè)定想要作用的印列機(jī)。如果沒有設(shè)定的話,會使用系統(tǒng)預(yù)設(shè)的印表機(jī)。
這個命令會檢查使用者是否有足夠的權(quán)限刪除指定的檔案,一般而言,只有檔案的擁有者或是系統(tǒng)管理員才有這個權(quán)限。
范例
將印表機(jī) hpprinter 中的第 1123 號工作移除
lprm -phpprinter 1123
將第 1011 號工作由預(yù)設(shè)印表機(jī)中移除
lprm 1011
名稱: fdformat
使用權(quán)限: 所有使用者
使用方式:fdformat [-n] device
使用說明 :
對指定的軟碟機(jī)裝置進(jìn)行低階格式化。使用這個指令對軟碟格式化的時(shí)候,最好指定像是下面的裝置:
/dev/fd0d360 磁碟機(jī) A: ,磁片為 360KB 磁碟
/dev/fd0h1440 磁碟機(jī) A: ,磁片為 1.4MB 磁碟
/dev/fd1h1200 磁碟機(jī) B: ,磁片為 1.2MB 磁碟
如果使用像是 /dev/fd0 之類的裝置,如果里面的磁碟不是標(biāo)準(zhǔn)容量,格式化可能會失敗。在這種情況之下,使用者可以用 setfdprm 指令先行指定必要參數(shù)。
參數(shù):
-n 關(guān)閉確認(rèn)功能。這個選項(xiàng)會關(guān)閉格式化之后的確認(rèn)步驟。
范例:
fdformat -n /dev/fd0h1440
將磁碟機(jī) A 的磁片格式化成 1.4MB 的磁片。并且省略確認(rèn)的步驟。
名稱: mformat
使用權(quán)限: 所有使用者
使用方式:
mformat [-t cylinders] [-h heads] [-s sectors] [-l volume_label] [-F] [-I fsVer-sion] [-S sizecode] [-2 sectors_on_track_0] [-M software_sector_size] [-a] [-X] [-C] [-H hidden_sectors] [-r root_sectors] [-B boot_sector] [-0 rate_on_track_0] [-A rate_on_other_tracks] [-1] [-k] drive:
在已經(jīng)做過低階格式化的磁片上建立 DOS 檔案系統(tǒng)。如果在編譯 mtools 的時(shí)候把 USE_2M 的參數(shù)打開,部分與 2M 格式相關(guān)的參數(shù)就會發(fā)生作用。否則這些參數(shù)(像是 S,2,1,M)不會發(fā)生作用。
參數(shù):
-t 磁柱(synlider)數(shù)
-h 磁頭(head)數(shù)
-s 每一磁軌的磁區(qū)數(shù)
-l 標(biāo)簽
-F 將磁碟格式化為 FAT32 格式,不過這個參數(shù)還在實(shí)驗(yàn)中。
-I 設(shè)定 FAT32 中的版本號。這當(dāng)然也還在實(shí)驗(yàn)中。
-S 磁區(qū)大小代碼,計(jì)算方式為 sector = 2^(大小代碼+7)
-c 磁叢(cluster)的磁區(qū)數(shù)。如果所給定的數(shù)字會導(dǎo)致磁叢數(shù)超過 FAT 表的限制,mformat 會自動放大磁區(qū)數(shù)。
-s
-M 軟體磁區(qū)大小。這個數(shù)字就是系統(tǒng)回報(bào)的磁區(qū)大小。通常是和實(shí)際的大小相同。
-a 如果加上這個參數(shù),mformat 會產(chǎn)生一組 Atari 系統(tǒng)的序號給這塊軟碟。
-X 將軟碟格式化成 XDF 格式。使用前必須先用 xdfcopy 指令對軟碟作低階格式化的動作。
-C 產(chǎn)生一個可以安裝 MS-DOS 檔案系統(tǒng)的磁碟影像檔(disk image)。當(dāng)然對一個實(shí)體磁碟機(jī)下這個參數(shù)是沒有意義的。
-H 隱藏磁區(qū)的數(shù)目。這通常適用在格式化硬碟的分割區(qū)時(shí),因?yàn)橥ǔR粋€分割區(qū)的前面還有分割表。這個參數(shù)未經(jīng)測試,能不用就不用。
-n 磁碟序號
-r 根目錄的大小,單位是磁區(qū)數(shù)。這個參數(shù)只對 FAT12 和 FAT16 有效。
-B 使用所指定的檔案或是設(shè)備的開機(jī)磁區(qū)做為這片磁片或分割區(qū)的開機(jī)磁區(qū)。當(dāng)然當(dāng)中的硬體參數(shù)會隨之更動。
-k 盡量保持原有的開機(jī)磁區(qū)。
-0 第 0 軌的資料傳輸率
-A 第 0 軌以外的資料傳輸率
-2 使用 2m 格式
-1 不使用 2m 格式
范例:
mformat a:
這樣會用預(yù)設(shè)值把 a: (就是 /dev/fd0)里的磁碟片格式化。
名稱: mkdosfs
使用權(quán)限: 所有使用者
使用方式: mkdosfs [ -c | -l filename ]
[ -f number_of_FATs ]
[ -F FAT_size ]
[ -i volume_id ]
[ -m message_file ]
[ -n volume_name ]
[ -r root_dir_entry ]
[ -s sector_per_cluster ]
[ -v ]
device
[ block_count ]
說明: 建立 DOS 檔案系統(tǒng)。 device 指你想要建立 DOS 檔案系統(tǒng)的裝置代號。像是 /dev/hda1 等等。 block_count 則是你希望配置的區(qū)塊數(shù)。如果 block_count 沒有指定則系統(tǒng)會自動替你計(jì)算符合該裝置大小的區(qū)塊數(shù)。
參數(shù):
-c 建立檔案系統(tǒng)之前先檢查是否有壞軌。
-l 從得定的檔案中讀取壞軌記錄。
-f 指定檔案配置表(FAT , File Allocation Table)的數(shù)量。預(yù)設(shè)值為 2 。目前 Linux 的 FAT 檔案系統(tǒng)不支援超過 2 個 FAT 表。通常這個不需要改。
-F 指定 FAT 表的大小,通常是 12 或是 16 個位元組。12 位元組通常用于磁碟片,16 位元組用于一般硬碟的分割區(qū),也就是所謂的 FAT16 格式。這個值通常系統(tǒng)會自己選定適當(dāng)?shù)闹怠T诖诺嫌?FAT16 通常不會發(fā)生作用,反之在硬碟上用 FAT12 亦然。
-i 指定 Volume ID。一般是一個 4 個位元組的數(shù)字,像是 2e203a47 。如果不給系統(tǒng)會自己產(chǎn)生。
-m 當(dāng)使用者試圖用這片磁片或是分割區(qū)開機(jī),而上面沒有作業(yè)系統(tǒng)時(shí),系統(tǒng)會給使用者一段警告訊息。這個參數(shù)就是用來變更這個訊息的。你可以先用檔案編輯好,然后用這個參數(shù)指定,或是用
-m -
這樣系統(tǒng)會要求你直接輸入這段文字。要特別注意的是,檔案里的字串長度不要超過 418 個字,包括展開的跳欄符號(TAB)和換行符號(換行符號在 DOS 底下算兩個字元!)
-n 指定 Volume Name,就是磁碟標(biāo)簽。如同在 DOS 底下的 format 指令一樣,給不給都可以。沒有預(yù)設(shè)值。
-r 指定根目錄底下的最大檔案數(shù)。這里所謂的檔案數(shù)包括目錄。預(yù)設(shè)值是在軟碟上是 112 或是 224 ,在硬碟上是 512。沒事不要改這個數(shù)字。
-s 每一個磁叢(cluster)的磁區(qū)數(shù)。必須是 2 的次方數(shù)。不過除非你知道你在作什么,這個值不要亂給。
-v 提供額外的訊息
范例:
mkdosfs -n Tester /dev/fd0 將 A 槽里的磁碟片格式化為 DOS 格式,并將標(biāo)簽設(shè)為 Tester"