博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

xwqlinux

  xwqlinux.cublog.cn

关于作者
	
|| << >> ||
我的分类


工作日志
 
mail 这个指令真的不是很常用到.对于不常用的指令,怎么才能熟悉呢?郁闷!~`
使用者郵件信箱: mail
使用 wall, write 畢竟要等到使用者在線上才能夠進行,有沒有其他方式來聯絡啊? 不是說每個 Linux 主機上面的使用者都具有一個 mailbox 嗎? 我們可否寄信給使用者啊!呵呵!當然可以啊!我們可以寄、收 mailbox 內的信件呢! 一般來說, mailbox 都會放置在 /var/spool/mail 裡面,一個帳號一個 mailbox (檔案)。 舉例來說,我的 dmtsai 就具有 /var/spool/mail/dmtsai 這個 mailbox 喔!

那麼我該如何寄出信件呢?嗯!就直接使用 mail 這個指令即可! 這個指令的用法很簡單的,直接這樣下達:『 mail username@localhost -s "郵件標題" 』即可! 一般來說,如果是寄給本機上的使用者,基本上,連『 @localhost 』都不用寫啦! 舉例來說,我以 vbird 寄信給 dmtsai ,信件標題是『 nice to meet you 』,則:
[vbird@linux ~]$ mail dmtsai -s "nice to meet you"
Hello, D.M. Tsai
Nice to meet you in the network.
You are so nice.  byebye!
.   <==這裡很重要喔,結束時,最後一行輸入小數點 . 即可!
Cc:  <==這裡是所謂的『副本』,不需要寄給其他人,所以直接 [Enter]
[vbird@linux ~]$  <==出現提示字元,表示輸入完畢了!
呼呼!如此一來,你就已經寄出一封信給 dmtsai 這位使用者囉,而且,該信件標題為: nice to meet you,信件內容就如同上面提到的。不過,你或許會覺得 mail 這個程式不好用~ 因為在信件編寫的過程中,如果寫錯字而按下 Enter 進入次行,前一行的資料很難刪除ㄟ! 那怎麼辦?沒關係啦!我們使用資料流重導向啊!呵呵!利用那個小於的符號 ( < ) 就可以達到取代鍵盤輸入的要求了。也就是說,你可以先用 vi 將信件內容編好, 然後再以 mail dmtsai -s "nice to meet you" < filename 來將檔案內容傳輸即可。

例題:請將你的家目錄下的環境變數檔 (~/.bashrc) 寄給自己!
答:
    mail -s "bashrc file content" vbird < ~/.bashrc

剛剛上面提到的是關於『寄信』的問題,那麼如果是要收信呢?呵呵!同樣的使用 mail 啊! 假設我以 dmtsai 的身份登入主機,然後輸入 mail 後,會得到什麼?
[dmtsai@linux ~]$ mail
Mail version 8.1 6/6/93.  Type ? for help.
"/var/spool/mail/dmtsai": 1 message 1 new
>N  1 vbird@linux.site  Fri Sep  2 23:53  16/552   "nice to meet you"
&  <==這裡可以輸入很多的指令,如果要查閱,輸入 ? 即可!
在 mail 當中的提示字元是 & 符號喔,別搞錯了~輸入 mail 之後,我可以看到我有一封信件, 這封信件的前面那個 > 代表目前處理的信件,而在大於符號的左邊那個 N 代表該封信件尚未讀過, 如果我想要知道這個 mail 內部的指令有哪些,可以在 & 之後輸入『 ? 』,就可以看到如下的畫面:
& ?
    Mail   Commands
t <message list>                type messages
n                               goto and type next message
e <message list>                edit messages
f <message list>                give head lines of messages
d <message list>                delete messages
s <message list> file           append messages to file
u <message list>                undelete messages
R <message list>                reply to message senders
r <message list>                reply to message senders and all recipients
pre <message list>              make messages go back to /usr/spool/mail
m <user list>                   mail to specific users
q                               quit, saving unresolved messages in mbox
x                               quit, do not remove system mailbox
h                               print out active message headers
!                               shell escape
cd [directory]                  chdir to directory or home if none given
<message list> 指的是每封郵件的左邊那個數字啦!而幾個比較常見的指令是:

指令 意義
h 將信件的標題列出來。如果想要查閱 40 封信件左右處的所有信件標頭,可以輸入『 h 40 』
d 刪除啦~假設我要刪除第10封信,可以『 d10 』,假如我想要刪除 20-40 封信,可以『 d20-40 』,不過,這個動作要生效的話,必須要配合 q 這個指令才行(參考底下說明)!
s 將信件儲存成為檔案。舉例來說,我要將第 5 封信件的內容存成 ~/mail.file 的話,可以:『 s 5 ~/mail.file 』喔!
x 或者輸入 exit 都可以。這個是『不作任何動作離開 mail 程式』的意思。不論你剛剛刪除了什麼信件,或者讀過什麼,使用 exit 都會直接離開 mail,所以剛剛進行的刪除與閱讀工作都會無效。如果您只是查閱一下郵件而已的話,一般來說,建議使用這個離開啦!除非你真的要刪除某些信件。
q 相對於 exit 是不動作離開, q 則會進行兩項動作: 1. 將剛剛刪除的信件移出 mailbox 之外; 2. 將剛剛有閱讀過的信件存入 ~/mbox ,且移出 mailbox 之外。鳥哥通常不很喜歡使用 q 離開,因為,很容易忘記讀過什麼咚咚~導致信件給他移出 mailbox 說~

mail 這個指令內容還有很多可以玩的,不過,我們這裡僅是介紹給您如何讓一般身份使用者來使用 mail 而已,所以就介紹到此囉~ ^_^

发表于: 2006-01-31,修改于: 2006-01-31 08:54,已浏览163次,有评论0条 推荐 投诉


网友评论
 发表评论