https://zh.opensuse.org/%E7%AC%AC%E4%B8%89%E6%96%B9%E8%BD%AF%E4%BB%B6%E6%BA%90
[内容] Linux 空值的判断
案例一:
#!/bin/bash
var=
if [ ! -n "$var" ]; then
echo "NULL"
else
echo "NOT NULL"
fi
案例二:
#!/bin/bash
var=
if [ ! "$var" ]; then
echo "NULL"
else
echo "NOT NULL"
fi
案例三:
#!/bin/sh
var=
if [ "$var" = "" ]
then
echo "NULL"
else
echo "NOT NULL"
fi
案例四:
#!/bin/sh
var=
if test -z "$var"
then
echo "NULL"
else
echo "NOT NULL"
fi
[命令] Linux 命令 mail (发送邮件)
内容一:mail 命令选项
1.1 输入 mail 命令后的选项
1) h 或者 headers 显示处于激活状态的邮件开头
2) f 或者 from 显示编号为 的邮件的标题
2) t 或者 type 显示编号为 的邮件
3) top 显示当前指针所指向的邮件头
4) n 或者 next 显示下一条邮件信息
5) e 编辑编号为 的邮件
6) d 或者 delete 删除编号为 的邮件
7) u 或者 undelete 取消删除编号为 的邮件
8) s 或者 save 追加信息到编号为 的邮件信息到 目录中并标记和保存
9) c 或者 copy 追加信息到编号为 的邮件信息到 目录中但不保存
10) w 或者 write 追加信息到编号为 的邮件信息到 文件中并保存附件
11) R 或者 Reply 回复编号为 的邮件的发件人
12) r 或者 reply 回复编号为 的邮件的发件人和所有收件人
13) m 或者 mail 回复编号为 的邮件,并回复多个联系人,多个收件人用空格分开 (需要 sendmail 软件支持此功能)
14) q 或者 quit 退出并保存新编辑的内容,q 会把邮件放在 ~/mbox 中,执行 pre 后就不取回
15) pre 将编号为 的邮件保留在 /usr/spool/mail,q 会把邮件放在 ~/mbox 中,执行 pre 后就不取回
16) x 或者 xit 只退出不保存新编辑的内容
17) file 显示邮件总数和在系统中所在的目录等信息
18) ! 执行 shell 的命令,例如 !ls
19) list 列出所有可用的命令
1.2 在 mail 命令后添加选项
1) -s 设置邮件的标题
2) -a 添加附件
3) -c …… 给多个邮件地址抄送邮件,不同邮件的邮件地址用空格隔开
4) -b …… 给多个邮件地址悄悄抄送邮件,不同邮件的邮件地址用空格隔开
5) -e 检查系统邮件中是否有邮件
6) -f 显示邮箱里的邮件
7) -f + 显示 folder 目录邮箱中的邮件
8) -i 忽略 tty 信号中断
9) -v 显示发送邮件过程的详细信息
10) -h 显示帮助信息
11) uuencode 发送文件,第一个附件是要发送的附件,第二个是设置的名称 (此选项需要安装 sharutils 软件)
内容二:mail 命令的使用案例
2.1 交互式发送邮件
# mail -s test mingyu.zhu@eternalcenter.com
(补充:这里以向邮箱 mingyu.zhu@eternalcenter.com 发送标题为 test 的邮件为例)
(注意:键入此命令后进入交互式编辑内容的模式,内容编辑完了以后可以按下 “ctrl” 键之后再按下 “D” 键退出)
2.2 非交互式发送邮件
# echo 'test content' | mail -s 'test header' mingyu.zhu@eternalcenter.com
(补充:这里以向 mingyu.zhu@eternalcenter.com 邮箱发送标题为 test header 内容为 test content 的邮件为例)
2.3 非交互式将文件里的内容作为内容发送邮件
# mail -s “test.txt” mingyu.zhu@eternalcenter.com < test.txt
(补充:这里以向 mingyu.zhu@eternalcenter.com 邮箱发送标题为 test header 将 test.txt 文件里的内容作为邮件内容的邮件为例)
2.4 非交互式将文件作为附件发送邮件
# uuencode /tmp/test.txt test.txt | mail -s 'test' mingyu.zhu@eternalcenter.com
(补充:这里以向 mingyu.zhu@eternalcenter.com 邮箱发送标题为 test 将 test.txt 文件作为名为 test.txt 的附件的邮件为例)
2.5 非交互式打包将文件作为附件发送邮件
# tar -czf test.txt.tar /tmp/test.txt | uuencode test.txt.tar | mail -s 'test' mingyu.zhu@eternalcenter.com
(补充:这里以向 mingyu.zhu@eternalcenter.com 邮箱发送标题为 test 将 test.txt.tar 文件作为名为 test.txt.tar 的附件的邮件为例)
2.6 非交互式将给多个用户抄送邮件
# mail -s “test.txt” -c "mingyu.zhu2@eternalcenter.com mingyu.zhu1@eternalcenter.com" mingyu.zhu@eternalcenter.com < test.txt
(补充:这里以向 mingyu.zhu@eternalcenter.com 邮箱发送标题为 test header 将 test.txt 文件里的内容作为邮件内容的邮件,并抄送给 mingyu.zhu2@eternalcenter.com 邮箱和 mingyu.zhu1@eternalcenter.com 邮箱为例)
[内容] Postfix 数据的加密 (通过 TLS 实现)
内容一:Postfix 不使用 TLS 加密数据传输的后果
1) 收发的邮件数据会被他人截取
2) 给 Gmail 等电子邮箱发送邮件时,会提示类似 “ *** 未对此邮件进行加密” 的信息
内容二:给 Postfix 设置 TLS 加密数据传输的方法
2.1 给 Postfix 的配置文件设置 TLS 机密数据传输的参数
# vim /etc/postfix/main.cf
添加以下内容:
......
smtpd_tls_security_level = may
smtp_tls_security_level = may
......
(
补充:
smtpd_tls_security_level 代表接收邮件的 TLS 安全等级
smtp_tls_security_level 代表发送邮件的 TLS 安全等级
TLS 的常用安全等级有 none、may 和 encrypt :
1) none 表示禁止使用 TLS 加密
2) may 表示可以接收不使用 TLS 加密的邮件,但是会提出支持 TLS 加密的通告。发送邮件时优先发送支持 TLS 加密的邮件
3) encrypt 表示强制使用 TLS 加密
)
2.2 重启 Postfix 服务
# systemctl restart postfix
[内容] Nginx 的使用 (开启网页目录结构)
注意:
在开启 Nginx 网页目录结构之前要先安装 Nginx
正文:
内容一:开启 Nginx 目录结构的目的
默认安装了 Nginx 之后,被访问的网页只会显示一张 Nginx 的欢迎页面或者 404
有时候我们需要让网页现实网页根目录中的文件和目录,用于提供 http 下载等功能,这个时候就需要开启 Nginx 的目录结构
内容二:开启 Nginx 目录结构的方法
# vi /usr/local/nginx/conf/nginx.conf
将部分内容修改如下:
http {
......
server {
......
location /{
......
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
charset utf-8,gbk,gb2312;
add_header Content-Disposition attachment;
......
}
......
}
......
}
......
(
补充:
1) 这里是在 localtion 下面添加开启目录结构的参数
2) 这里的 autoindex on 表示开启目录结构
3) 这里的 autoindex_exact_size on 表示显示文件大小
4) 这里的 autoindex_localtime on 表示显示服务器的时间
5) 这里的 charset utf-8,gbk,gb2312 表示避免中文乱码
6) 这里的 add_header Content-Disposition attachment 表示文件可下载
)
或者:
# vi /usr/local/nginx/conf/nginx.conf
将部分内容修改如下:
http {
......
server {
......
location /{
......
}
......
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
charset utf-8,gbk,gb2312;
add_header Content-Disposition attachment;
......
}
......
}
......
(
补充:
1) 这里是在 server 下面添加开启目录结构的参数
2) 这里的 autoindex on 表示开启目录结构
3) 这里的 autoindex_exact_size on 表示显示文件大小
4) 这里的 autoindex_localtime on 表示显示服务器的时间
5) 这里的 charset utf-8,gbk,gb2312 表示避免中文乱码
6) 这里的 add_header Content-Disposition attachment 表示文件可下载
)
或者:
# vi /usr/local/nginx/conf/nginx.conf
将部分内容修改如下:
http {
......
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
charset utf-8,gbk,gb2312;
add_header Content-Disposition attachment;
......
server {
......
location /{
......
}
......
}
......
}
......
(
补充:
1) 这里是在 http 下面添加开启目录结构的参数
2) 这里的 autoindex on 表示开启目录结构
3) 这里的 autoindex_exact_size on 表示显示文件大小
4) 这里的 autoindex_localtime on 表示显示服务器的时间
5) 这里的 charset utf-8,gbk,gb2312 表示避免中文乱码
6) 这里的 add_header Content-Disposition attachment 表示文件可下载
)