Advertisement

在Linux中使用tar命令对当前目录下的文件进行子目录压缩归档的方法

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:PDF


简介:
本文介绍如何利用Linux系统中的tar命令将当前目录下指定文件或整个目录高效地打包并压缩成带子目录结构的归档文件。 在日常工作中,我们经常需要使用tar命令来压缩归档历史文件并删除源文件以节省空间。如果将这些文件压缩成一个单独的文件,则只需一条简单的命令即可完成操作,例如:`tar -czf bak2013.tgz t2013*`可以将t2013目录下的所有文件打包为一个压缩包。 然而,这样的单一压缩文件可能会变得很大且难以管理。因此,在这种情况下,按子目录来单独打包会更加方便实用。 要实现这一功能,则需要使用多条命令或编写脚本来完成操作: ```bash # 获取目录名称 subdir=$(ls -l |grep ^d |awk {printf $9}) for dt in $subdir; do ``` 这个脚本首先获取当前目录中的所有子目录,然后逐个对这些子目录进行打包和压缩。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Linux使tar
    优质
    本文介绍如何利用Linux系统中的tar命令将当前目录下指定文件或整个目录高效地打包并压缩成带子目录结构的归档文件。 在日常工作中,我们经常需要使用tar命令来压缩归档历史文件并删除源文件以节省空间。如果将这些文件压缩成一个单独的文件,则只需一条简单的命令即可完成操作,例如:`tar -czf bak2013.tgz t2013*`可以将t2013目录下的所有文件打包为一个压缩包。 然而,这样的单一压缩文件可能会变得很大且难以管理。因此,在这种情况下,按子目录来单独打包会更加方便实用。 要实现这一功能,则需要使用多条命令或编写脚本来完成操作: ```bash # 获取目录名称 subdir=$(ls -l |grep ^d |awk {printf $9}) for dt in $subdir; do ``` 这个脚本首先获取当前目录中的所有子目录,然后逐个对这些子目录进行打包和压缩。
  • CD Linux /
    优质
    本文介绍了无需使用CD命令即可在Linux系统中导航至特定目录或文件夹的多种方法和技巧。 众所周知,在 Linux 中如果没有 cd 命令,我们就无法切换目录。本段落将介绍在不使用 CD 命令的情况下进入目录或文件夹的方法。需要的朋友可以参考以下内容。
  • Linuxtar
    优质
    本教程介绍在Linux系统中如何使用命令行工具解压.tar格式的压缩文件,包括基本用法和常用选项。 在Linux下解压不同格式的tar压缩文件可以使用以下命令: 1. 解压`.tar`文件: ``` tar -xvf filename.tar ``` 2. 解压`.tar.gz`或`.tgz`文件: ``` tar -zxvf filename.tar.gz 或者 tar -zxvf filename.tgz ``` 3. 解压`.tar.bz2`文件: ``` tar jxvf filename.tar.bz2 ``` 4. 解压`.tar.xz`文件: ``` tar --xz -xf filename.tar.xz ```
  • 使Python多级和解
    优质
    本简介介绍如何利用Python编程语言实现对复杂文件结构(包括多级子目录)中的文件进行有效压缩与解压缩的技术方法。 在Python编程中处理文件和目录的压缩与解压是一项常见的需求。本段落将详细介绍如何使用Python实现多级目录的压缩与解压任务,主要涉及`zipfile`库和`os`模块。 首先来看一下解压缩部分:在Python中,可以利用`zipfile.ZipFile()`类来读取、写入及操作ZIP格式文件。下面是一个简单的函数示例: ```python import zipfile import os def unZipFile(zipPath, unZipPath=): if not os.path.exists(zipPath): raise Exception(文件或目录不存在) if unZipPath == : unZipPath = os.path.splitext(zipPath)[0] with zipfile.ZipFile(zipPath, r) as z: for k in z.infolist(): savePath = unZipPath + k.filename saveDir = os.path.dirname(savePath) if not os.path.exists(saveDir): os.makedirs(saveDir) with open(savePath, wb) as f: f.write(z.read(k)) ``` 该函数接收两个参数:`zipPath`为压缩文件路径,而`unZipPath`是解压后的目标路径。首先检查给定的ZIP文件是否存在,并创建一个读取模式下的`ZipFile()`对象;然后遍历所有条目并将其写入指定的目标位置。 接下来讨论如何实现压缩功能: ```python def exeZipFile(filePath, zipFilePath=): if not os.path.exists(filePath): raise Exception(文件或目录不存在) hasPDir = not filePath.endswith(os.sep) if not hasPDir: filePath = os.path.dirname(filePath) with zipfile.ZipFile(zipFilePath, w, zipfile.ZIP_DEFLATED) as z: for root, dirs, files in os.walk(filePath): for file in files: archivePath = os.path.join(root, file) z.write(archivePath, arcname=os.path.relpath(archivePath, filePath)) ``` 此函数同样有两个参数:`filePath`是要被压缩的文件或目录路径,而`zipFilePath`为输出ZIP文件的位置。如果给定的是一个目录且不以斜杠结尾,则会将该目录下的所有内容(包括子目录)进行打包处理;最后通过遍历这些条目并使用相对路径来添加到新的ZIP包中。 以上实现具有跨平台性,可以在不同的操作系统上运行,并支持中文文件名。在实际应用时还可以根据需求增加额外的功能如错误处理和进度显示等以提升用户体验。
  • LinuxC语言查看
    优质
    本教程介绍如何使用C语言编写程序,在Linux系统中实现列出当前工作目录下所有文件的功能。适合初学者学习和实践。 在Linux系统中使用C语言编写程序来查看当前目录下的文件属性,包括每个文件的大小、创建时间和最后修改时间等功能。
  • Linux使tar
    优质
    本文章详细介绍如何在Linux系统中使用tar命令进行文件和目录的打包、解包及压缩等操作,帮助用户掌握tar的基本用法。 本段落主要介绍在Linux环境下快速使用tar解压命令的技巧,帮助用户便捷地操作文件压缩与解压功能。
  • Linux 删除所有空
    优质
    本教程介绍如何使用Linux命令行工具删除指定目录中所有的空文件,帮助用户清理不必要的文件空间。 在需要清除文件的目录下直接执行命令即可删除大小为0的文件,且该命令不需要任何参数。
  • Linux
    优质
    本教程详细介绍在Linux系统中管理和操作文件与目录的各种命令,包括创建、删除、复制和移动等基本功能。 创建与删除文件及目录: 使用 `touch` 创建空文件。 使用 `mkdir a` 命令来创建名为 a 的单一目录。 利用 `-p` 选项的 `mkdir -p` 可以连续建立多个层级的目录结构。 在Linux系统中,无论是新建文件还是创建新目录都不允许存在同名的情况。 删除操作: - 使用 `rm [file]` 删除指定文件; - 添加参数 `-r` 后可递归地移除整个目录及其内容:`rm -r [dir]` - 若要强制执行删除而无需确认,可以使用 `-f` 参数如 `rm -f` 拷贝和移动操作: - 使用 `cp [source] [destination]` 复制文件或目录; 用法示例包括: * 添加选项 `-i` 可以在覆盖目标之前询问用户意见:`cp -i` * 若要递归地复制整个目录结构,使用参数 `-r`: `cp -r` - 移动命令 `mv [source] [destination]` 用于重命名或移动文件和目录。 查看文本内容: 1. 使用 `cat` 命令适合于浏览小量的文本段落件; * 添加选项可使显示更清晰,例如 `-b`, `-n` 2. 对于大量数据,则推荐使用分页器如 `more` 或者是全文搜索工具 `grep` 其他命令介绍: - 利用 `tree -d` 可以仅列出目录结构而不展示文件列表; - 使用 `echo [string]` 输出指定的字符串或变量值。
  • Linux权限使指南
    优质
    本指南详细介绍了在Linux系统中管理文件和目录权限的常用命令及其用法,帮助用户掌握chmod、chown、umask等工具,确保数据安全及访问控制。 在Linux操作系统中,每个文件或目录都包含访问权限设置,这些设定决定了用户或特定用户组对资源的使用方式与程度。具体的访问类型包括只允许所有者、指定的用户组成员或者任何系统中的用户进行操作。 当创建一个新文件时,默认情况下,该文件的所有者会获得读和写的权限,以确保他们可以查看内容并作出修改。而其他类型的用户可能只能对这些资源具有有限或无权访问的状态。通过使用`chmod`命令,所有者能够调整这些预设的权限设置。 Linux中定义了三种主要的角色:文件所有者、所属组以及其他人。每种角色都有其对应的读取(r)、写入(w)和执行(x)权限组合,形成了九种可能的情况。 在终端环境下使用`ls -l`命令可以查看到有关于特定文件或目录的详细信息,包括但不限于它们当前设置的访问控制规则。“-rw-r--r--”就是一种常见的输出格式,“d”,“b”,和“c”分别代表的是普通文件、块设备以及字符设备。每项资源由三个以rwx表示权限组合的部分组成,对应所有者、所属组和其他用户。 修改这些设置可以通过直接使用符号(如`+`, `-`, `=`)搭配相应的权限字符来增加或删除特定的访问权,例如用`chmod u+x file`指令为文件的所有者添加执行功能。此外还可以采用数字形式进行操作, 如`chmod 755 file`代表所有者具有全部三项权限,而用户组和其他人则分别拥有读和执行权限。 理解并掌握Linux中的这些权限控制机制对于维护系统的安全性和稳定性至关重要。合理的访问限制能够防止未授权的数据泄露或篡改,并帮助管理员高效地管理文件的归属与分发情况。通过命令如`chown` 和 `chgrp`, 系统管理者可以进一步调整资源的所有权和用户组关联,以实现更加细致的安全控制。 总的来说,Linux提供的权限管理系统为用户提供了一个强大的工具集来灵活管理和保护他们的数据及系统环境。掌握这些功能将有助于确保信息的安全与系统的稳定性。