下面是一shell程序,仔细阅读这个程序,回答下列问题(提示:“tar rvf …”是以添加方式往文档中写) for i in `find $1 –name *.c -print` do tar rvf back.c $i 2>/dev/null done (1)程序中$i和$1的作用是什么。 (2)程序的执行结果和使用方法(假设这个文件的文件名为myfile)。 (3)程序中的“2>/dev/null”起什么作用?
时间: 2024-03-24 20:39:45 浏览: 61
好的,下面是针对这个Shell程序的回答:
1. $i和$1的作用是什么?
- $i是一个Shell变量,表示当前循环迭代中的文件名。
- $1是一个Shell变量,表示程序在运行时传递的第一个命令行参数,它是一个路径,用于指定要搜索的目录。
2. 程序的执行结果和使用方法(假设这个文件的文件名为myfile):
这个程序会在指定的目录中搜索所有的.c文件,并将它们添加到back.c这个文件中。在执行此程序之前,你需要创建一个名为back.c的文件,以便将.c文件添加到其中。你可以像这样使用这个程序:
```shell
$ bash myfile /path/to/search
```
其中`/path/to/search`是要搜索的目录的路径。
3. 程序中的“2>/dev/null”起什么作用?
这个程序中的“2>/dev/null”是一个I/O重定向,它将标准错误输出(stderr)重定向到空设备文件(/dev/null),以便不会显示任何错误消息。在这种情况下,如果在添加文件时发生错误,则不会显示任何错误消息,而是会忽略它们并继续执行程序。
希望这些回答能够帮助你理解这个Shell程序!
相关问题
tar命令压缩文件命令是啥
`tar` 是 Unix/Linux 系统中的一个基础命令,用于创建、提取或管理归档文件(tar 文件),也称为 tape archive。它的基本命令格式通常是这样的:
- 创建一个新的 tar 归档文件:`tar -cvf archive_name file1 file2 ...`
- `-f`: 指定归档文件名
- 添加或更新现有归档文件:`tar -rvf archive_name file1 file2 ...`
- `-r`: 追加文件到归档
- `-v`: 同上
- 提取归档文件:`tar -xvf archive_name`
- `-x`: 解压
- `-v`: 显示详细信息
- 查看归档内容:`tar tvf archive_name`
请注意,还可以使用 `gzip`, `bzip2` 或者 `xz` 等工具与 `tar` 结合,对归档文件进行更高效的压缩(如 `tar czvf archive_name file1 file2 ...`,这里的 `z` 指的就是 gzip 压缩)。
Ubuntu中tar
tar是一种常用的文件归档和压缩工具,通常用于将多个文件或目录打包成一个单独的文件,以便于传输、备份或存档。在Ubuntu中,tar命令提供了多种选项和参数,可以实现不同的功能。下面是tar命令的一些常用选项和用法:
1. 打包文件:
tar -cvf archive.tar file1 file2 ...(将多个文件打包成一个archive.tar文件)
2. 查看打包文件内容:
tar -tf archive.tar(列出打包文件archive.tar中的文件列表)
3. 解压缩打包文件:
tar -xvf archive.tar(解压缩打包文件archive.tar)
4. 压缩文件:
tar -czvf archive.tar.gz file1 file2 ...(将多个文件压缩成一个archive.tar.gz压缩文件)
5. 解压缩压缩文件:
tar -xzvf archive.tar.gz(解压缩压缩文件archive.tar.gz)
6. 将文件或目录追加到已有的打包文件中:
tar -rvf archive.tar file1 file2 ...(将file1、file2等文件追加到已有的archive.tar打包文件中)
阅读全文