当前位置导航:炫浪网>>网络学院>>操作系统>>Linux教程

Linux系统下mail命令使用

    【数据资料来自,个人收集总结】

    我经常用root帐号登录RHEL5,在终端经常出现:
    You have new mail in /var/spool/mail/root
    这肯定是系统给root超级管理员发的一些通知邮件,我常用mail命令来查看。

    【注意】下面mail命令的help帮助是我个人随便翻译的,准确的请看英文说明
    [root@pps mail]# mail
    Mail version 8.1 6/6/93.  Type ? for help.
    "/var/spool/mail/root": 24 messages 24 unread
    >U  1   Mon Feb 16 17:27 117/3862  "Logwatch for rhel5-pp"
     U  2   Mon Feb 16 17:27 107/3658  "Logwatch for rhel5-pp"
     ...
     U 20   Wed Mar 11 10:10 139/4567  "Logwatch for pps.hoho"
     U 21      Wed Mar 11 13:15  20/664   "Re: Warning: could no"
     U 22   Wed Mar 11 13:15  71/2294  "Returned mail: see tr"
    & help //如果不会使用或者忘记了什么命令,就输入 help 或者 ? 来获取帮助
        Mail   Commands
    t <message list>                打印出信息 【注意】多个信息用空格分开,如 t 1 7
    n                                    打印出下一条信息
    e <message list>                编辑信息
    f <message list>                输出信息的头行
    d <message list>                删除信息
    s <message list> file           追加信息到文件file
    u <message list>                不删除某信息
    R <message list>                回复发件人
    r <message list>                回复发件人和本信息所有的收件人
    pre <message list>              保留信息在 /usr/spool/mail  1*
    m <user list>                   发邮件,多个收件人用空格分开【需要sendmail支持】
    q                               quit, saving unresolved messages in mbox 2*
    x                               quit, do not remove system mailbox
    h                               print out active message headers
    !                               让shell执行某命令,如 !ls 输出ls命令结果
    cd [directory]                  改变目录,这里不用 !cd,但打印当前目录需要 !pwd
    A <message list> consists of integers, ranges of same, or user names separated
    by spaces.  If omitted, Mail uses the last message typed.
    A <user list> consists of user names or aliases separated by spaces.
    Aliases are defined in .mailrc in your home directory.

    1* 如果阅读过某信息,执行q退出时候,mail会把阅读过的信息“取回”放在 ~/mbox,执行pre后就不取回。如果退出时执行x命令则不会取回信息。
    2* 这三句不难理解,但不好翻译(本人水平问题),也就保留原文了

    所支持的全部命令列表:
    & l
    Commands are:
    next, alias, print, type, Type, Print, visual, top, touch, preserve,
    delete, dp, dt, undelete, unset, mail, mbox, more, page, More, Page,
    unread, U, !, copy, chdir, cd, save, source, set, shell, version,
    group, write, from, file, folder, folders, ?, z, headers, help, =,
    Reply, Respond, reply, respond, edit, echo, quit, list, xit, exit,
    size, hold, if, else, endif, alternates, ignore, discard, retain,
    saveignore, savediscard, saveretain, core, #, clobber

    & t 7        //阅读第7封信息,阅读时,按空格键就是翻页,按回车键就是下移一行
    & d 10     //删除第10封信息
    & d 10-100 //删除第10-100封信息
    & top      //显示当前指针所在的邮件的邮件头
    & file       //显示系统邮件所在的文件,以及邮件总数等信息
    & x          //退出mail命令平台,并不保存之前的操作,比如删除邮件
    & q         //退出mail命令平台,保存之前的操作,比如删除已用d删除的邮件,
                   //已阅读邮件会转存到当前用户家目录下的mbox文件中
                   //如果在mbox中删除文件才会彻底删除。

    如果邮件被收取放到 ~/mbox 可以这样查看它们:
    # mail -f ~/mbox
    进入 mail 程序后的操作都很简单,但是可以不进入 mail 的 & 操作提示符界面,下面举几个实用例子:
    1、给 发信
    [root@pps ~]# mail
    Subject: Hi, a mail to snailwarrior!
    This is hoho_zhao in BeiJing.
    .
    Cc: <Enter> //直接输入回车就不抄送给谁了
    【注意】使用.或者Ctrl+D来结束内容输入
    【注意】默认情况下连按两次Ctrl+C键中断工作
    2、如果 snail 是本系统用户,这样给他发信
    [root@pps ~]# mail -s "hi, snail, i'm root" snail
    plz reply me, snail.
    .
    Cc:
    或者
    [root@pps ~]# mail -s "hi, snail, i'm root" snail < 邮件内容
    -s   主题
    -c   抄送
    -b   暗送
    mail的使用:
    Usage: mail [-iInv] [-s subject] [-c cc-addr] [-b bcc-addr] to-addr ...
                [-- sendmail-options ...]
           mail [-iInNv] -f [name]
           mail [-iInNv] [-u user]
    详细的mail使用说明可以 # man mail

    【小贴士】来自mail的man手册里的内容
    文件                 用途
    /var/spool/mail/*    邮局(Post office)
    ~/mbox               用户老邮件
    ~/.mailrc            mail的初始化命令。只有在mail使用者是这个文件的所有者时
                              候才执行此文件里的mail初始化命令
    /tmp/R*              临时文件
    /usr/lib/mail.*help  帮助文件
    /etc/mail.rc         mail系统初始化文件

    因为mail的还得靠sendmail来投递邮件,根据网上资料可以这样查看sendmail是否有邮件待发,如果没有,说明邮件全都发送出去了。(当然你的sendmail服务要开着)
    [root@pps ~]# sendmail -bp
    /var/spool/mqueue is empty
                    Total requests: 0
炫浪学院 Linux教程

相关内容
赞助商链接