在 CentOS 系统中,反引号(`)通常用于命令替换,它允许您将一个命令的输出嵌入到另一个命令中
/etc/fstab
文件,并将备份文件存储在 /tmp
目录下。您可以使用以下命令:cp `/etc/fstab` `/tmp/fstab-$(date +%Y%m%d).bak`
这里,$(date +%Y%m%d)
命令会生成一个形如 20210901
的日期字符串,用于创建一个唯一的备份文件名。
backup.sh
的脚本,用于备份 /etc/passwd
和 /etc/shadow
文件:#!/bin/bash
# 创建备份目录
mkdir -p /backup/etc
# 备份 /etc/passwd 和 /etc/shadow 文件
cp `/etc/passwd` `/backup/etc/passwd-$(date +%Y%m%d).bak`
cp `/etc/shadow` `/backup/etc/shadow-$(date +%Y%m%d).bak`
# 压缩备份文件
cd /backup/etc
tar czvf etc-backup-$(date +%Y%m%d).tar.gz passwd-*.bak shadow-*.bak
# 删除原始备份文件
rm passwd-*.bak shadow-*.bak
然后,通过运行 chmod +x backup.sh
使脚本可执行,并使用 ./backup.sh
命令执行脚本。
注意:在现代的 shell 脚本中,推荐使用 $()
代替反引号进行命令替换,因为它具有更好的可读性和嵌套能力。例如,上面的示例可以使用 $()
重写为:
cp "$(cat /etc/passwd)" "$(dirname "$0")/passwd-$(date +%Y%m%d).bak"
希望这些示例能帮助您理解如何在 CentOS 中使用反引号进行自动化任务。