所以我是 linux 新手,我写了一个小脚本,假设将 /var/log 中以 .log 结尾的内容存档到一个名为 log.tar 的 tar 文件中,该文件位于一个名为 archive 的新目录中。然后假设列出 tar 文件的内容,然后将其解压缩到一个名为备份的新文件中。
#!/bin/bash
mkdir archive
mkdir backup
cd archive
tar -cvf log.tar /var/log/*.log
tar -tf tar.log
tar -xf tar.log -C ~/backup
所以当我运行脚本时,我得到了这个输出。
tar: Removing leading `/' from member names
/var/log/alternatives.log
/var/log/auth.log
/var/log/bootstrap.log
/var/log/dpkg.log
/var/log/fontconfig.log
/var/log/gpu-manager.log
/var/log/kern.log
/var/log/vboxadd-install.log
/var/log/vboxadd-setup.log
/var/log/Xorg.0.log
var/log/alternatives.log
var/log/auth.log
var/log/bootstrap.log
var/log/dpkg.log
var/log/fontconfig.log
var/log/gpu-manager.log
var/log/kern.log
var/log/vboxadd-install.log
var/log/vboxadd-setup.log
var/log/Xorg.0.log
所以我想知道是否可以在归档时删除 /var/log/ 行的一部分,所以我在列出 tar 文件中的内容时得到了这个。
alternatives.log
auth.log
bootstrap.log
cron.log
dpkg.log
kern.log
mail.log
当我在备份文件中执行 ls 时,我看到了 var 目录,当我在 var 目录中执行 las 时,最后在日志目录中,我得到了日志文件。那么如何在没有 /var/log/ 路径名和目录的情况下进行提取呢?
您只需在 tar 命令中位于目录 /var/log 中
然后你的文件没有路径,你的目标文件在你的存档目录中。
只需在此配置中修改您的脚本即可学习和训练自己的脚本编写。