1 重定向符
输入重定向:
<
:将指定文件的内容作为前面命令的参数
输出重定向:
>
:直接把输出覆盖保存到指定文件
>>
:把输出尾部追加保存到指定文件
/dev/null
- 类Unix系统中的一个特殊的设备文件
- 作用是像垃圾桶一样接收一切写入其中的数据并丢弃
- 写入操作会提示成功,读取操作会返回一个EOF报错
2 nohup命令
用于不挂断地运行命令(关闭当前session不会中断程序,只能通过kill等命令删除)
默认情况下该程序的输出都会被重定向到nohup.out文件中,也可以通过>
指定重定向文件
示例:
nohup /root/example.sh > example.log 2>&1 &
2>&1 &详解
- 0 代表stdin (standard input,标准输入,一般是指键盘输入)
- 1 代表stdout (standard output,标准输出,一般是指用户终端控制台输出)
- 2 代表stderr (standard error,标准错误输出,出错信息输出)
- 最后一个&代表让从程序在后台执行
对于python执行脚本,可通过参数-u
避免输出缓冲的情况:
nohup python -u your_code.py & # 示例
3 crontab命令
用来定时或周期性执行程序脚本
# cron 服务的查看、启动、关闭、重启
service crond status/satrt/stop/restart
crontab -l # 查看root用户的crontab任务
crontab -r # 删除root用户所有crontab任务
crontab脚本常见配置路径:
- 每个用户都会在
/var/spool/cron/
文件夹下有单独的crontab配置文件 - 系统管理员制定的安全性更高的crontab配置于
/etc/crontab
文件 /etc/cron.d/
文件夹也常用于crontab配置文件的存储
配置文件格式与使用示例:
# 每天早晨六点道一声早安
0 6 * * * echo "Good morning." >> /tmp/robot_wife.txt
# 每个周末的晚上10点22分与10点44分 执行/etc/cron.weekly内的脚本
22, 44 22 * * 0 root run-parts /etc/cron.weekly
# 每周一,三,五的下午3:00系统进入维护状态,重新启动系统。
00 15 * * 1, 3, 5 shutdown -r +5
# 晚上11点到早上8点之间每两个小时和早上八点 执行脚本bin/account
0 23-7/ 2, 8 * * * bin/account
crontab在线调试工具:https://tool.lu/crontab/
4 try命令
在更改系统(比如安装程序或运行脚本)之前,先在沙盒中运行命令并检查效果
实际效果: