Linux操作系统实验四 文件管理(二)(中)

简介: Linux操作系统实验四 文件管理(二)(中)

任务描述

有时,我们会在Linux系统中将多个文件打包成一个单独的文件,通过本关的学习,我们将学会如何在Linux系统中将多个文件/目录打包生成一个文件。

本关任务:使用tar命令完成文件和目录的打包操作。

相关知识

tartape archive的简写)工具可完成许多功能,其名称源于它的原始功能-创建和读取归档文件和备份磁带。如今,该工具常用来将多个文件或多个目录打包成一个tar文件,或者将某个tar文件分解开。

接下让我们详细的学习tar的使用方法。

打包

tar命令可以将多个文件/目录进行打包,将多个文件生成一个文件,生成的文件后缀为.tar

具体打包命令如下:

tar -cvf 生成的tar包名 要打包的文件/目录列表

常用命令参数如下:

  1. -c 建立新的归档文件;
  2. -v 处理过程中输出相关信息;
  3. -f 对普通文件操作;

解包

tar命令可以将已经打包好的文件解压出来。

具体打包命令如下:

tar -xvf 解压包名 -C 解压到指定目录

常用命令参数如下:

  1. -x 或--ext\fract或--get:从备份文件中还原文件;
  2. -v 处理过程中输出相关信息;
  3. -f  对普通文件操作;
  4. -C <目的目录> 切换到指定的目录;

如果不使用-C(大写)参数,则默认解压到当前目录下。

编程要求

在右侧编辑器中补充代码,使用tar命令打包和解包,具体编程要求如下:

  • 使用tar命令将当前目录下的oldFile1oldFile2文件打包成一个newFile.tar文件;
  • 使用tar命令将当前目录下的oldFile.tar文件解压到当前目录下。

任务描述

由于磁盘空间有限,我们通常会将不常用的大文件进行压缩以便于节约磁盘空间,通过本关的学习,我们将学会Linux系统上常见的压缩命令。

本关任务:对系统中已存在的文件/目录进行压缩操作。

相关知识

Linux下存在多个文件压缩工具,常用的有bzip2gzipzip。这三个工具都是可以将一个文件进行压缩操作,使其在不丢失任何信息的情况下占用较少的磁盘空间。而如何对于多个文件/目录进压缩操作呢?

我们通过上一关的学习,我们了解到了使用tar命令可以将多文件/目录打包生成一个文件,那么对于多文件/目录的压缩操作分为两步:第一步是将其进行打包,然后将打包过后的文件进行压缩操作。

接下让我们详细的学习bzip2gzipzip的使用方法。

bzip2

bzip2命令用于创建和管理(包括解压缩).bz2格式的压缩包。

具体命令如下:

bzip2 命令参数 指定要压缩的文件

常用命令参数如下:

  1. -z或——compress:强制执行压缩;
  2. -d或——decompress:执行解压缩;
  3. -f或-force:bzip2在压缩或解压缩时,若输出文件与现有文件同名,预设不会覆盖现有文件。若要覆盖。请使用此参数;
  4. -v或——verbose:压缩或解压缩文件时,显示详细的信息;

gzip

gzip命令用于创建和管理(包括解压缩).gz格式的压缩包。

具体命令如下:

gzip 命令参数 指定要压缩的文件

常用命令参数如下:

  1. -d或--decompress或----uncompress:解开压缩文件;
  2. -f或——force:强行压缩文件。不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
  3. -l或——list:列出压缩文件的相关信息;
  4. -r或——recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
  5. -v或——verbose:显示指令执行过程;

zip

zip命令对文件进行打包操作。zip是个使用广泛的压缩程序,文件经它压缩后会另外产生具有.zip扩展名的压缩文件。

具体命令如下:

zip 命令参数 指定生成的压缩文件名 要被压缩的文件/目录列表

常用命令参数如下:

  1. -d:从压缩文件内删除指定的文件;
  2. -q:不显示指令执行过程;
  3. -r:递归处理,将指定目录下的所有文件和子目录一并处理;
  4. -v:显示指令执行过程或显示版本信息;
  5. -u:更换较新的文件到压缩文件内;
  6. -x<范本样式>:压缩时排除符合条件的文件;

tar命令进行压缩

在上一关的学习中,我们学会了使用tar命令对多个文件/目录进行打包操作,如果针对多文件/目录进行压缩操作时,首先使用tar将其打包生成一个文件,然后使用bzip2gzip对其进行压缩,那么这里也可以使用tar命令一步就实现对多文件/目录进行压缩操作。

采用bzip2方式执行tar命令进行压缩的具体命令如下:

tar -jcvf 指定生成的压缩文件名 要被压缩的文件/目录列表

常用命令参数如下:

  1. -c 建立新的归档文件;
  2. -v 处理过程中输出相关信息;
  3. -f 对普通文件操作;
  4. -j 以bzip2对文件/目录进行压缩;

采用gzip进行压缩的具体命令如下:

tar -zcvf 指定生成的压缩文件名 要被压缩的文件/目录列表

常用命令参数如下:

  1. -c 建立新的归档文件;
  2. -v 处理过程中输出相关信息;
  3. -f 对普通文件操作;
  4. -z 以gzip对文件/目录进行压缩;

编程要求

在右侧编辑器中补充代码,对系统中已存在的文件/目录进行压缩操作,具体编程要求如下:

  • 使用tar命令将当前目录下的oldFile1oldFile2文件打包压缩成一个newFile.tar.gz文件;
  • 使用bzip2命令对当前目录下的oldFile.tar文件压缩;
  • 使用zip命令将当前目录下的oldDir目录所有文件/目录压缩生成oldDir.zip

任务描述

通常,我们上网下载的文件一般都是压缩过后的文件,通过本关的学习,我们可以学会如何将一个压缩文件进行解压操作。

本关任务:将压缩文件进行解压缩操作。

相关知识

Linux下存在多个文件压缩工具,上一关我们介绍了包括bzip2gzipzip。针对这三种压缩工具生成的压缩包,我们可以使用bunzip2gunzipunzip命令对其进行解压缩。

接下让我们详细的学习bunzip2gunzipunzip的使用方法。

bunzip2

bunzip2命令解压缩由bzip2指令创建的.bz2压缩包。使用bzip2 -d命令也可以将.bz2压缩包进行解压。

具体命令如下:

bunzip2 命令参数 指定要解压的文件

常用命令参数如下:

  1. -f或--force:解压缩时,若输出的文件与现有文件同名时,预设不会覆盖现有的文件;
  2. -k或——keep:在解压缩后,预设会删除原来的压缩文件。若要保留压缩文件,请使用此参数;
  3. -v或——verbose:解压缩文件时,显示详细的信息;
gunzip

gunzip命令解压缩由gzip指令创建的.gz压缩包。使用gzip -d命令也可以将.gz压缩包进行解压。

具体命令如下:

gunzip 命令参数 指定要解压的文件

常用命令参数如下:

  1. -f或-force:强行解开压缩文件,不理会文件名称或硬连接是否存在以及该文件是否为符号连接;
  2. -l或-list:列出压缩文件的相关信息;
  3. -q或-quiet:不显示警告信息;
  4. -r或-recursive:递归处理,将指定目录下的所有文件及子目录一并处理;
  5. -v或-verbose:显示指令执行过程;
unzip

unzip命令用于解压缩由zip命令压缩的.zip压缩包。

具体命令如下:

unzip 命令参数 指定要解压的文件

常用命令参数如下:

  1. -q:执行时不显示任何信息;
  2. -n:解压缩时不要覆盖原有的文件;
  3. -d<目录>:指定文件解压缩后所要存储的目录;

tar命令进行解压缩

在上一关的学习中,我们学会了使用tar命令对多个文件/目录进行打包压缩操作,本关将继续讲解使用tar命令对文件进行解压缩操作。

采用bunzip2进行解压缩的具体命令如下:

tar -jxvf 指定要解压的文件

常用命令参数如下:

  1. -x 或--ext\fract或--get:从备份文件中还原文件;
  2. -v 处理过程中输出相关信息;
  3. -f 对普通文件操作;
  4. -j 以bunzip2进行解压缩;

采用gzip进行压缩的具体命令如下:

tar -zxvf 指定要解压的文件

常用命令参数如下:

  1. -x 或--ext\fract或--get:从备份文件中还原文件;
  2. -v 处理过程中输出相关信息;
  3. -f 对普通文件操作;
  4. -z 以gunzip进行解压缩;

编程要求

在右侧编辑器中补充代码,将压缩文件进行解压,具体编程要求如下:

  • 使用tar命令解压当前目录下的oldFile.tar.gz文件;
  • 使用bunzip2命令解压当前目录下的oldFile.tar.bz2文件;
  • 使用unzip命令解压当前目录下的oldDir.zip

任务描述

在Linux系统中,如果要对一个文件进行操作,首先要求文件已经存在,如果文件不存在,则需要创建文件。

本关任务:学会使用C语言在Linux系统中创建文件操作。

相关知识

文件的创建操作是 I/O 操作的第一步。在Linux系统中creat系统调用可以实现对文件的创建。本关只介绍文件创建函数的使用方法。

在Linux系统中可以使用man命令来查询这些函数的使用方法。具体的查询命令为: man 2 函数名 其中,2表示查找系统调用函数,关于文件的创建、打开和关闭函数都是系统调用函数,因此使用2作为man命令的第一个参数。

文件的创建

创建文件的系统调用函数是creat,具体的说明如下:

  • 需要的头文件如下:
  • i. #include <sys/types.h>
  • ii. #include <sys/stat.h>
  • iii. #include <fcntl.h>
  • 函数格式如下: int creat (const char *pathname,mode_t mode); 参数说明:

pathname:需要创建文件的绝对路径名或相对路径名;

mode:用于指定所创建文件的权限;

常见的mode取值及其含义见下表所示:

  • 函数返回值说明: 调用成功时,返回值为 文件的描述符(大于0的整数);调用失败时,返回值为-1并设置错误编号errno

编程要求

本关的编程任务是补全右侧代码片段中BeginEnd中间的代码,具体要求如下:

  • 在当前目录下创建一个名为testFile的文件,并设置其权限为651

相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
目录
相关文章
|
1天前
|
存储 缓存 Java
性能分析之构建 Linux 操作系统分析决策树
【8月更文挑战第16天】性能分析之构建 Linux 操作系统分析决策树
7 0
性能分析之构建 Linux 操作系统分析决策树
|
7天前
|
编解码 安全 Linux
基于arm64架构国产操作系统|Linux下的RTMP|RTSP低延时直播播放器开发探究
这段内容讲述了国产操作系统背景下,大牛直播SDK针对国产操作系统与Linux平台发布的RTMP/RTSP直播播放SDK。此SDK支持arm64架构,基于X协议输出视频,采用PulseAudio和Alsa Lib处理音频,具备实时静音、快照、缓冲时间设定等功能,并支持H.265编码格式。此外,提供了示例代码展示如何实现多实例播放器的创建与管理,包括窗口布局调整、事件监听、视频分辨率变化和实时快照回调等关键功能。这一技术实现有助于提高直播服务的稳定性和响应速度,适应国产操作系统在各行业中的应用需求。
|
16天前
|
监控 Shell Linux
探索Linux操作系统下的Shell编程之魅力
【8月更文挑战第4天】本文旨在通过一系列精心设计的示例和分析,揭示在Linux环境下进行Shell编程的独特之处及其强大功能。我们将从基础语法入手,逐步深入到脚本的编写与执行,最终通过实际代码案例展现Shell编程在日常系统管理和自动化任务中的应用价值。文章不仅适合初学者构建扎实的基础,同时也为有一定经验的开发者提供进阶技巧。
29 11
|
6天前
|
存储 Linux Shell
Linux 导航和文件管理
Linux 导航和文件管理
7 0
|
7天前
|
安全 Linux Windows
【Linux】Linux操作系统
【Linux】Linux操作系统
|
16天前
|
监控 Linux Shell
探索Linux操作系统下的进程管理
【8月更文挑战第4天】本文深入探讨了在Linux操作系统下进行进程管理的方法与技巧,通过实例分析展示了如何利用系统命令和脚本来监控、控制进程。文中不仅介绍了基础的进程查看、启动、终止操作,还详细解释了如何通过信号机制处理进程间的通信,以及如何编写自动化脚本以优化日常管理任务。文章旨在为系统管理员和开发人员提供实用的进程管理知识,帮助他们更高效地维护Linux系统。
|
20天前
|
监控 Linux Shell
深入理解Linux操作系统的进程管理
【7月更文挑战第31天】在Linux操作系统中,进程管理是核心功能之一,它负责创建、调度和终止进程。本文将探讨Linux如何通过fork()系统调用实现进程创建,展示如何使用ps命令查看进程信息,并解释如何在shell脚本中处理后台进程。最后,我们将讨论进程优先级的概念及其在nice命令中的应用。
16 0
|
1月前
|
安全 Linux 网络安全
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
部署07--远程连接Linux系统,利用FinalShell可以远程连接到我们的操作系统上
|
1月前
|
Linux 虚拟化 数据安全/隐私保护
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
部署05-VMwareWorkstation中安装CentOS7 Linux操作系统, VMware部署CentOS系统第一步,下载Linux系统,/不要忘, CentOS -7-x86_64-DVD
|
1月前
|
Linux 测试技术 数据安全/隐私保护
阿里云Linux os copilot 运维助手初体验
阿里云Linux os copilot 初体验
356 1
阿里云Linux os copilot 运维助手初体验

热门文章

最新文章