linux 学号_3.sh,在~/test下创建10个.txt的文件,找到~/test目录下所有后缀名为.txt的文件。 (1).批量修改txt为txt.bak (2).把所有的.bak文件打包压缩为123.tar.gz (3).批量还原文件的名字,及把增加的.bak再删除
时间: 2024-03-24 18:41:41 浏览: 17
好的,这是一个关于 Linux 命令的问题,我会尽力回答你。
首先,打开终端并进入到 `~/test` 目录下,然后执行以下命令来创建 10 个 `.txt` 文件:
```
touch file{1..10}.txt
```
接下来,执行以下命令来查找 `~/test` 目录下所有后缀名为 `.txt` 的文件:
```
find ~/test -type f -name "*.txt"
```
接下来,按照你的要求,依次执行以下命令:
1. 批量修改 `.txt` 为 `.txt.bak`:
```
find ~/test -type f -name "*.txt" -exec mv {} {}.bak \;
```
2. 把所有的 `.bak` 文件打包压缩为 `123.tar.gz`:
```
tar -czvf 123.tar.gz ~/test/*.bak
```
3. 批量还原文件的名字,及把增加的 `.bak` 再删除:
```
find ~/test -type f -name "*.bak" -exec sh -c 'mv "$0" "${0%.bak}"' {} \;
find ~/test -type f -name "*.bak" -delete
```
这样就完成了你的要求,希望能够帮到你。
相关问题
在/tmp目录下创建子目录test+你的学号, 在test+你的学号目录下创建文件a.txt,把/tmp/test+你的学号目录打包成/tmp/test.tar,用zip打包压缩成/tmp/test.tar.gz;创建目录/tmp/test1;/tmp/test2,解包/tmp/test.tar到/temp/test1; 解包/tmp/test.tar.gz到/tmp/test2; (
好的,我明白了。下面是具体的操作步骤:
1. 在终端中输入以下命令,创建/tmp/test+你的学号目录并进入该目录:
```
mkdir /tmp/test+你的学号
cd /tmp/test+你的学号
```
2. 接着,在该目录下创建文件a.txt:
```
touch a.txt
```
3. 将/tmp/test+你的学号目录打包成/tmp/test.tar:
```
tar -cvf /tmp/test.tar .
```
4. 使用zip命令将/tmp/test.tar压缩成/tmp/test.tar.gz:
```
gzip /tmp/test.tar
```
5. 创建目录/tmp/test1和/tmp/test2:
```
mkdir /tmp/test1
mkdir /tmp/test2
```
6. 将/tmp/test.tar解包到/tmp/test1:
```
tar -xvf /tmp/test.tar -C /tmp/test1
```
7. 将/tmp/test.tar.gz解压到/tmp/test2:
```
tar -zxvf /tmp/test.tar.gz -C /tmp/test2
```
完成以上操作后,你应该可以在/tmp/test1目录下找到a.txt文件,而在/tmp/test2目录下找到解压后的/tmp/test目录。
文件名:学号_10.sh,判断/etc/passwd文件是否大于20行,如果大于,则显示”/etc/passwd is a big file.”否者显示”/etc/passwd is a small file.”
好的,这是一个简单的 Shell 脚本,以下是脚本的内容:
```bash
#!/bin/bash
# 统计 /etc/passwd 文件的行数
file_lines=$(wc -l < /etc/passwd)
# 判断行数是否大于 20
if [ $file_lines -gt 20 ]
then
echo "/etc/passwd is a big file."
else
echo "/etc/passwd is a small file."
fi
```
这个脚本首先使用 `wc -l` 命令统计 `/etc/passwd` 文件的行数,并将结果保存在 `file_lines` 变量中。然后使用 if 语句判断 `file_lines` 是否大于 20,如果是,则输出 `/etc/passwd is a big file.`,否则输出 `/etc/passwd is a small file.`。