编写一个脚本,将当前目录下所有以“.txt”结尾的文件压缩成一个名为“backup.tar.gz”的压缩文件,并将压缩文件移动到“/home/user/backup”目录下
时间: 2024-01-14 21:05:13 浏览: 13
好的,以下是可以实现这个任务的脚本:
```bash
#!/bin/bash
# 将当前目录下所有以“.txt”结尾的文件压缩成一个名为“backup.tar.gz”的压缩文件
tar -czvf backup.tar.gz *.txt
# 将压缩文件移动到“/home/user/backup”目录下
mv backup.tar.gz /home/user/backup
```
请注意,你需要将脚本中的“user”替换为你的用户名。另外,如果你希望压缩文件包含当前目录的完整路径,可以将“*.txt”替换为“./**/*.txt”。
相关问题
写一个shell脚本,筛选罗列所有以f开头的文件并将其压缩打包为tar.gz格式
#!/bin/bash
# 切换到要筛选的目录
cd /path/to/directory/
# 筛选所有以f开头的文件
files=$(find . -type f -name "f*")
# 如果没有找到符合条件的文件,输出提示信息并退出脚本
if [[ -z $files ]]; then
echo "没有找到以f开头的文件"
exit 1
fi
# 将文件压缩为tar.gz格式
tar czf f_files.tar.gz $files
# 输出压缩包路径
echo "压缩包路径为:$(pwd)/f_files.tar.gz"
编写一个shell脚本,删除当前目录下所有文件大小为0的文件名为*.c文件
好的,以下是符合您要求的Shell脚本:
```
#!/bin/bash
# 切换到当前目录
cd $(dirname $0)
# 遍历当前目录下的所有文件
for file in $(ls)
do
# 判断文件是否为.c文件并且文件大小是否为0
if [[ $file == *.c && ! -s $file ]]
then
# 删除文件
rm -f $file
fi
done
echo "删除完成!"
```
请注意,本脚本会删除您当前目录下的所有大小为0的.c文件,建议您提前备份重要文件。