终端常用命令

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脚本常见配置路径:

  1. 每个用户都会在/var/spool/cron/文件夹下有单独的crontab配置文件
  2. 系统管理员制定的安全性更高的crontab配置于/etc/crontab文件
  3. /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命令

在更改系统(比如安装程序或运行脚本)之前,先在沙盒中运行命令并检查效果

项目地址

实际效果:

往年同期文章