linux中邮件命令 Linux邮件

linux系统命令行接收邮件

系统收到的mail会保存在/var/spool/mail/用户名 这个文件夹中。

创新互联专注于企业营销型网站、网站重做改版、北湖网站定制设计、自适应品牌网站建设、H5开发商城系统网站开发、集团公司官网建设、外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为北湖等各大城市提供网站开发制作服务。

收mail,键入mail就会显示当前用户的前20封mail。可对邮件进行查看删除等操作。

$mail

在linux文本命令平台输入 mail -f mbox,就可以看到当前目录下的mbox中的邮件了。

cd 改变当前所在文件夹的位置,读信时,按一次Ctrl+C,退出阅读状态。

Linux设置邮件提醒

《Linux设置定时任务》 一文中,我们学习了使用crontab设置定时任务的方法,并用它来获取ganglia的运行状态。这样还不够,我们想要在ganglia的运行状态出现问题时通知我们,这样,我们就不用每天自己查看日志了。

本文主要参考 Ubuntu mail命令发送邮件 和 如何通过Shell脚本实现发送邮件通知功能? 。

1、安装mailutils

sudo apt-get install mailutils

2、General type of mail configuration选择Internet Site。

3、System mail name输入mail.voidking.com。

命令格式:

mail [OPTION...] [address...]

常用到的选项,一个是s,代表主题;一个是A,代表附件。其他的需要时查看help。

目标:给邮箱 voidking@qq.com 发送邮件,主题为“Hello VoidKing”,内容为“Welcome to mail world!”

mail -s 'Hello VoidKing' voidking@qq.com

提示Cc,这里不需要抄送,就直接回车。然后输入邮件内容“Welcome to mail world!”,回车,ctrl+D,发送邮件。

但是,等待了几分钟,并没有收到邮件,垃圾箱也没有。

mail ,查看email的发送状态为Undelivered Mail Returned,原来没有投递出去。

查看邮件系统日志: tail -n 50 /var/spool/mail/test ,提示host mx3.qq.com[183.57.48.35] said: 550 Mail content denied。看来qq邮箱的垃圾邮件防御机制做的不错,那就换个163邮箱,没想到依然失败。

那就换一台服务器!发送给 voidking@qq.com ,成功!很尴尬。。。

除了上面的方式发送邮件,我们还可以使用:

mail -s 'Hello VoidKing' voidking@qq.com 'Welcome to mail world!'

或者使用:

echo 'Welcome to mail world!' | mail -s "Hello VoidKing" voidking@qq.com

1、从文本读入内容发送邮件

mail -s 'Error report' voidking@qq.com /tmp/log/ganglia/error-20180524.log

2、发送附件

mail -s 'Error report' voidking@qq.com -A /tmp/log/ganglia/ganglia-20180524.log /tmp/log/ganglia/error-20180524.log

3、指定发件人

echo 'Welcome to mail world!' | mail -s "Hello VoidKing" voidking@qq.com -aFrom:haojin@qq.com

失败了,收不到邮件,不知道什么原因,留个坑吧。

目标:每天获取一次ganglia的状态日志,然后通过checkganglia.sh脚本进行审阅。审阅完毕,发送审阅结果到管理员的邮箱。

修改checkganglia.sh脚本为:

至此,大功告成! 《Linux设置定时任务》 配合 《Linux设置邮件提醒》 ,简直完美!两篇文章完成了一个小系统:定时生成ganglia日志,定时审阅ganglia日志,并且把审阅结果通过邮件发送给管理员。

Linux命令大全——LMNOPQ

如何在Ubuntu环境下搭建邮件服务器(一)

Linux常见命令

权限管理命令 chmod

英文愿意: change the permissions mode of a file

语法: chmod[{ugoa}{+-=}{rwx}] [文件或目录]

[mide = 421] [文件或目录]

-R 递归修改

权限的数字表示

r -- 4

w -- 2

x -- 1

rwxrw-r-- (4+2+1 = 7)

7 6 4

例子:mkdir /temp 创建了一个目录

touch /temp/testfile 在该目录下创建了一个test file文件

chmod 777 /temp 改变了一下该目录的权限

名称: chgrp

英文原意:change file group ownership

语法:chgrp [用户][文件或目录]

功能: 改变文件或目录的所属租

例子: useradd hl // 添加所有者

groupadd brother // 添加所有组

charp brother text // brother变成了text文件的所属组

注意:

1、所属组就是创建这的所属者的缺省组

2、linux中创建的文件缺少x(可执行)为了使系统更加安全

mask

0022

0特殊权限

022 ugo --- -w- -w-

1、文件搜索命令find

执行权限:find

语法:find[搜索范围][匹配条件]

功能描述:文件搜索

例子:

find /etc -name init (-iname 不区分大小写)

find /home -user(-group) hl

在根目录下查找所有者(所有组)为hl的文件

在目录/etc中查找文件init

init init init // 通配符

?init (?匹配单个字符)

find / -size +204800

在跟目录下查找大于100MB的文件 (100MB = 102400KB = 204800)

+n 大于 -n小于 n等于

find /etc -cmin -5

例子2:

find /etc -size + 163840 -a size -204800

在/etc下查找大于80MB小于100MB的文件

-a两个条件同时满足

-o两个条件满足任意一个即可

在/etc下查找5分钟内被修改的属性的文件和目录

-amin 访问时间 access

-cmin 文件属性 change

-mmin 文件内容 modify

2、文件搜索指令 locate

命名名称:locate

执行权限:所有用户

语法:locate 文件名

功能描述:在文件资料库中查找文件

例子: $ locate inittab

输出文件所在位置

locate和find的区别:

locate的查找速度很快,因为find是在分区和磁盘上查找,而locate是在资料库中查找

注意:如果资料库没有实时更新,所以locate可能会查不到要查询的文件。

即:

updatedb (升级文件的资料库)

loocate -i 文件名 (-i 不区分大小写)

3、文件搜索命令:which (更精确呦)

执行权限:所有用户

功能描述:搜索命令所在目录及别名信息

例子: which ls

alias(别名)

4、whiereis

执行权限:所有用户

语法: whereis[命令名称]

功能描述:搜索命令所在目录及帮助文档路径

例子: whereis ls

5、grep

执行权限:所有用户

语法:grep -iv[指定字串][文件]

功能描述:在文件中搜索字符串匹配的行并输出

-i 不区分大小写

-v 排除指定字符串

例子 grep mysql /root/install.log

补充: linux中 # 表示注释

命名名称:man

英文原意:manual

执行权限:所有用户

语法:man[命令或配置文件]

功能描述:获取帮助信息

例子: man ls # 查看ls命令的帮助信息

man services 查看配置文件sevices的帮助信息

补充:man 。。。。后

/-g :查询与g有关的信息

空格进行翻页

回车进行换行

按n继续查找

命令名称:useradd

执行权限:root

语法:useradd 用户名

功能描述: 添加新用户

例子: useradd HF

命令名称:passwd

执行权限:所有用户

语法:passwd 用户名

功能描述: 设置用户密码

例子: passwd HF

命令名称:who

执行权限:所有用户

语法:who

功能描述: 查看登录用户信息

例子: who

输出内容含义:

登录用户名 登录终端(tty本地登录、pds表述远程终端) 登录时间 登录主机ip地址

命令名称:w

执行权限:所有用户

语法:w

功能描述: 查看登录用户详细信息

例子: w

命令名称:gzip

英文原意:GNU zip

执行权限:所有用户

语法:gzip[文件]

功能描述: 压缩文件

压缩后文件格式:.gz

解压缩:gunzip 压缩文件

注意:gizp只能压缩文件,不能压缩目录

命令名称:tar

执行权限:所有用户

语法:tar 选项 [-zcf] [压缩文件名] [目录]

-c 打包

-v 显示详细文件

-f 指定文件名

-z 打包同时压缩

功能描述: 打包目录

压缩后文件格式:.tar.gz

命令名称:zip

执行权限:所有用户

语法:zip 选项[-r][压缩后文件名][文件或目录]

-r 压缩目录

功能描述: 压缩文件或目录

压缩后文件格式: zip

注意:zip是window和linux系统中通过用的压缩格式

命令名称:bzip2

执行权限:所有用户

语法:bzip2 选项 [-k] [文件]

-k 产生压缩文件后保留有源文件

功能描述: 压缩文件

压缩后文件格式: .bz2

注意: bzip2的压缩比例大,适用于压缩较大的文件

bunzip2解压缩

对目录压缩:tar.bz2

指令名称:write

指令权限:所有用户

语法:write 用户名

功能描述:给用户发消息 ,以ctrl + D保存

例子: write YX

命令名称:wall

英文原意:write all

执行权限:所有用户

语法:wall [message]

功能描述: 发广播信息

命令名称:ping

执行权限:所有用户

语法:ping 选项IP地址

-c 指定发送次数

功能描述: 测试网络连通性

例子: ping 192.168.1.156

命令名称:ifcongig

英文原意:interface configure

执行权限:root

语法:ifconfig 网卡名称 IP地址

功能描述:查看和设置网卡信息(设立之临时IP)

例子: ifconfig etho 192.168.1.156

etch0 本地真实网卡

lo 回环网卡 (用来本机通信个测试的)

cncap:。。网络名称是以太网

HWaddr: 16进制表示的 48位的 网卡的物理地址

addr:当前计算机IP地址

Bcast:当前网络地址

Mask:子网掩码

inet6 addr: 表示的是IPv6的地址信息

RX packets:接受数据包的总数量

TX packets:发送数据包的总数量

Base addtess: 网卡当中的物理位置

命令名称:mail (邮件命令)

执行权限:所有用户

语法:mail [用户名]

功能描述:查看发送电子邮件

发送:ctrl + D

查询: mail

例子: mail root

[图片上传中...(-d00bb9-1591253201012-0)]

命令名称:last

执行权限:所有用户

语法:last

功能描述:列出目前和过去登入系统的用户信息

命令名称:traceroute

执行权限:所有用户

语法:traceroute

功能描述:显示数据包到主机的路径

例子: traceroute

命令名称:netstat

执行权限:所有用户

语法:netstat [选项]

功能描述:显示网络相关信息

选项:

-t : TCP协议

-u : UDP协议

-l : 监听

-r : 路由

-n : 显示IP地址和端口号

例子:

netstat -tlun 查看本机监听的端口

netstat -an 查看本机所有网络链接

netstat -rn 查看本届路由表

命令名称:setup

执行权限:root

语法:setup

功能描述:配置网络(永久生效)

例子: setup

注意:配置网络结束后要重启网络服务

service network restart

挂在命令

命令名称:mount

执行权限:所有用户

语法:mount[-t 文件系统] 设备文件

例子: mount -t iso9660/dev/sr0/mnt/cdrom

命令名称:shutdown

[root@localhost~]#shutdown [选项] 时间

选项:- c : 取消前一个关机命令

- h:关机

- r :重启

特点:可以正确的关闭和保存服务,建议实用

其他关机命令

halt

poweroff (直接断电)

init 0

重启命令

reboot

init6

补充:init _ 的数字含义

init0 关机

init1 单用户(启动最小最核心的服务)

init2 不完全多用户,不含NFS服务(network file system 网络文件系统)

init3 完全多用户

init4 未分配

init5 图形界面

init6 重启

查询系统运行级别

runlevel

退出登录命令

logout

Linux中通过SHELL发送邮件

笔者做过做过使用python发送邮件- Python使用yagmail库发送邮件 ,那么在不同平台都可以完成一些监控报警功能。但是在linux平台下,如果脚本是shell实现的,可以调用python脚本,也可以直接使用shell来发送。

1、按照mailx软件包, 安装后在/usr/bin/mail

    sudo yum install mailx -y

2、修改配置文件/etc/mail.rc

    直接修改配置文件vim /etc/mail.rc, 在最后追加下面的配置,笔者使用的是163邮箱。需要注意的是,需要进入邮箱开启SMTP服务,然后得到一个授权码,用于登录第三方邮件客户端的专用密码。smtp-auth-password即为授权码,而不是邮箱地方密码。

3、发送邮箱测试

      命令行输入: echo "测试邮件" | mail -s "邮件主题" -a ./myshells/clear_buffcache.sh ***@qq.com  。-s添加邮箱主题,并添加附件后将邮箱内容一起发送给***@qq.com  。邮箱里面立马就可以收到了。

也可以使用文件内容进行邮件发送:mail -s  "邮件主题"  收件地址    mail.txt  。

也可以在命令行输入邮箱内容:mail -s  "邮件主题"  收件地址  ,输入完这行命令后回车,会进入邮件正文的编写,可以输入任何文字。当邮件正文输入完成后,需要按CTRL+D结束输入后发送。

如果发送失败,咋命令行会提示错误: message not sent,并会在用户目录下的dead.letter里面显示具体信息。


文章标题:linux中邮件命令 Linux邮件
网站链接:http://myzitong.com/article/dooooed.html