输入输出重定向

  • 标准输入重定向「STDIN, 文件描述符为0」
  • 标准输出重定向「STDOUT, 文件描述符为1」
  • 错误输出重定向「STDERR, 文件描述符为2」

输入重定向

符号 作用
命令 < 文件 将文件作为命令的标准输入
命令 << 分界符 从标准输入中读入,直到遇见分界符才停止
命令 < 文件1 > 文件2 将文件1作为命令的标准输入并将标准输出到文件2

输出重定向

符号 作用
命令 > 文件 将标准输出重定向到一个文件中(清空)
命令 2> 文件 将错误输出重新定向到一个文件中(清空)
命令 >> 文件 将标准输出重定向到一个文件中(追加)
命令 2>> 文件 将错误输出重定向到一个文件中(追加)
命令 >> 文件 2>&1 或 mingling  &>> 文件 将标准输出与错误输出共同写入到文件中(追加)
# man bash > readme.txt
# echo "hello" > readme.txt
# echo "test" >> readme.txt
# wc -l < readme.txt

管道符命令

把前一个命令原本要输出到屏幕的标准正常数据当做是后一个命令的标准输入

# grep "/sbin/nologin" /etc/password | wc -l
# ls -l /etc/ | more

Vim 文本编辑器

  • 命令模式:控制光标移动,可对文本进行复制、粘贴、闪出去和查找等工作
  • 输入模式:正常的文本录入
  • 末行模式:保存或退出文档,以及设置编辑环境

vim 常用指令

命令 作用
dd 删除(剪切)光标所在整行
5dd 删除(剪切)从光标处开始5行
yy 复制光标所在整行
5yy 复制从光标处开始的5行
n 显示搜索命令定位到的下一个字符串
N 显示搜索命令定位到的上一个字符串
u 撤销上一步操作
p 将之前删除或复制过的数据粘贴到光标后面

末行模式常用指令

命令 作用
:w 保存
:q 退出
:q! 强制退出
:wq! 强制保存退出
:set nu 显示行号
:set nonu 不显示行号
:命令 执行该命令
:整数 跳转到改行
:s/one/two 将当前光标所在行的第一个one替换成two
:s/one/two/g 将当前光标所在行的所有one替换成two
:%s/one/two/g 将全文中的所有one替换成two
?字符串 在文本中从下至上搜索该字符串
/字符串 在文本中从上至下搜索该字符串

shell 语法

计划任务服务程序

一次性计划任务

# at 23:00
at > systemctl restart httpd
at > 按下ctrl + D 结束编写
# at -l
3   Thu Jul 19 23:00:00 2018

长期性计划任务

字段 说明
取值为0~59的整数
取值为0~23的任意整数
取值为1~31的任意整数
取值为1~12的任意整数
星期 取值为0~7的任意整数,其中0和7均为星期日
命令 要执行的命令或程序脚本

假设在每周一、三、五的凌晨3点25分都要执行一段命令

# crontab -e
# crontab -l
25 3 * * * * * 1,3,5 /usr/bin/tar -czvf backup.tar.gz /home/wwwroot

多个时间段用(,)来分割,以及用(/)来表示执行任务的间隔时间,如:*/2表示每2分钟执行一次


What doesn’t kill you makes you stronger.