>시스템 튜토리얼 >리눅스 >Linux에서 파일 패키징 및 압축을 쉽게 학습 - tar 명령에 대한 포괄적인 이해

Linux에서 파일 패키징 및 압축을 쉽게 학습 - tar 명령에 대한 포괄적인 이해

WBOY
WBOY앞으로
2024-02-12 21:12:341376검색

Linux 시스템에서 파일 패키징 및 압축은 매우 일반적이고 필요한 작업이며 tar 명령은 강력한 도구입니다. 여러 파일을 하나로 묶을 수 있을 뿐만 아니라 파일을 압축하고 압축을 풀 수도 있습니다. Linux 초보자의 경우 tar 명령에 익숙해지는 것이 매우 중요합니다. 작업 효율성이 크게 향상되기 때문입니다. 이 기사에서는 tar 명령을 사용하는 방법을 완전히 이해하여 Linux에서 파일 패키징 및 압축 기술을 쉽게 배울 수 있습니다.

Linux에서 파일 패키징 및 압축을 쉽게 학습 - tar 명령에 대한 포괄적인 이해

간단히 말해 아카이브는 일련의 파일 및/또는 디렉터리를 포함하는 단일 파일입니다. 아카이브 파일은 일반적으로 로컬 또는 인터넷을 통한 전송에 사용되거나 일련의 파일 및 디렉터리의 백업 복사본으로 사용되어 단일 파일로 작업할 수 있습니다(압축된 경우 모든 파일의 합보다 작음). . 마찬가지로 아카이브는 소프트웨어 애플리케이션 패키징에 사용됩니다. 이 단일 파일은 전송을 위해 쉽게 압축될 수 있으며 아카이브의 파일은 원래 구조와 권한을 유지합니다.

tar 도구를 사용하여 아카이브에서 파일을 생성, 나열 및 추출할 수 있습니다. tar로 생성된 아카이브는 종종 "tar 파일", "tar 아카이브" 또는 "tar 패키지"라고 불립니다(모든 아카이브된 파일이 하나의 파일로 결합되기 때문입니다).

이 튜토리얼에서는 tar를 사용하여 아카이브의 내용을 생성, 나열 및 추출하는 방법을 보여줍니다. 세 가지 작업 모두 두 가지 공통 옵션 -f 및 -v를 사용합니다. -f를 사용하여 아카이브 파일의 이름을 지정하고 -v("redundant") 옵션을 사용하여 파일을 처리할 때 tar가 파일 이름을 출력하도록 합니다. -v 옵션은 필수는 아니지만 tar 작업의 진행 상황을 관찰할 수 있습니다.

이 튜토리얼의 다음 부분에서는 3가지 주제를 다룹니다. 1. 아카이브 파일 생성 2. 아카이브 파일 내용 나열 3. 아카이브 파일 내용 추출. 또한 아카이브 관리에 관한 6가지 실제 질문에 답하는 것으로 이 튜토리얼을 마무리하겠습니다. 이 튜토리얼에서 배우는 내용은 사이버 보안 및 클라우드 기술과 관련된 작업을 수행하는 데 중요합니다.

1. 보관 파일 만들기

tar를 사용하여 아카이브를 생성하려면 -c("create") 옵션을 사용한 다음 -f 옵션을 사용하여 생성할 아카이브의 이름을 지정합니다. 일반적인 관행은 my-backup.tar와 같이 .tar 확장자를 가진 이름을 사용하는 것입니다. 별도로 명시하지 않는 한 이 문서의 나머지 부분에서 사용되는 모든 명령과 매개변수는 소문자입니다. 이 기사에 대한 명령을 터미널에 입력할 때 각 명령줄 시작 부분에 $ 프롬프트를 입력할 필요가 없다는 점을 기억하십시오.

아카이브할 파일 이름을 매개변수로 입력하세요. 모든 파일과 해당 하위 디렉터리를 포함하는 아카이브를 생성하려면 디렉터리 이름을 매개변수로 제공하세요.

프로젝트 디렉토리의 내용을 보관하려면 다음을 입력하세요.

으아악

이 명령은 프로젝트 디렉토리의 모든 내용을 포함하는 project.tar라는 아카이브 파일을 생성하며 원래 프로젝트 디렉토리는 변경되지 않습니다.

아카이브는 -z 옵션을 사용하여 압축할 수 있습니다. 이 옵션은 압축되지 않은 아카이브를 만든 다음 gzip으로 압축하는 것과 동일한 출력을 생성하지만 추가 단계가 필요하지 않습니다.

프로젝트 디렉토리에서 project.tar.gz 압축 패키지를 생성하려면 다음을 입력하세요:

으아악

이 명령은 프로젝트 디렉토리의 모든 내용을 포함하는 project.tar.gz 압축 패키지를 생성하며 원래 프로젝트 디렉토리는 변경되지 않습니다.

참고: -z 옵션을 사용할 때는 압축을 나타내는 .tar 확장자 대신 .tar.gz 확장자를 사용해야 합니다. 필수는 아니지만 이는 좋은 습관입니다.

gzip은 유일한 압축 형식이 아니며 bzip2 및 xz도 있습니다. 확장자가 .xz인 파일을 보면 파일이 xz를 사용하여 압축되고, 확장자가 .bz2인 파일이 bzip2를 사용하여 압축된다는 것을 알 수 있습니다. bzip2는 더 이상 유지 관리되지 않으므로 bzip2에서 벗어나 xz에 집중하겠습니다. xz 압축을 사용하면 시간이 더 오래 걸립니다. 그러나 압축이 훨씬 더 좋기 때문에 일반적으로 기다릴 가치가 있습니다. 즉, 아카이브는 일반적으로 다른 형태의 압축보다 작습니다. 더 좋은 점은 서로 다른 압축 형식 간에 파일의 압축을 풀거나 추출하는 데 큰 차이가 없다는 것입니다. 아래에서는 tar를 사용하여 파일을 압축할 때 xz를 사용하는 방법에 대한 예를 볼 수 있습니다.

으아악

gzip의 -z 옵션을 xz의 대문자 -J로 변환합니다. 다음은 압축된 형식 간의 차이점을 보여주는 일부 출력입니다.
Linux에서 파일 패키징 및 압축을 쉽게 학습 - tar 명령에 대한 포괄적인 이해

Linux에서 파일 패키징 및 압축을 쉽게 학습 - tar 명령에 대한 포괄적인 이해

보시다시피 xz의 압축 시간이 가장 깁니다. 그러나 파일 크기를 줄이는 데 가장 적합하므로 기다릴 가치가 있습니다. 파일이 클수록 압축률이 높아집니다.

2. 보관된 파일의 내용을 나열합니다

tar 아카이브의 내용을 추출하지 않고 나열하려면 -t 옵션을 사용하세요.

project.tar의 내용을 나열하려면 다음을 입력하세요.

$ tar -tvf project.tar

这个命令列出了 project.tar 归档的内容。-v 和 -t 选项一起使用会输出每个文件的权限和修改时间,以及文件名。这与 ls 命令使用 -l 选项时使用的格式相同。

要列出 project.tar.gz 压缩包的内容,输入:

$ tar -tzvf project.tar.gz

3、从归档中提取内容

要提取(解压)tar 归档文件中的内容,使用 -x(“提取”)选项。

要提取 project.tar 归档的内容,输入:

$ tar -xvf project.tar

这个命令会将 project.tar 归档的内容提取到当前目录。

如果一个归档文件被压缩,通常来说它的扩展名为 .tar.gz 或 .tgz,请包括 “-z” 选项。

要提取 project.tar.gz 压缩包的内容,输入:

$ tar -zxvf project.tar.gz

注意: 如果当前目录中有文件或子目录与归档文件中的内容同名,那么在提取归档文件时,这些文件或子目录将被覆盖。如果你不知道归档中包含哪些文件,请考虑先查看归档文件的内容。

在提取归档内容之前列出其内容的另一个原因是,确定归档中的内容是否包含在目录中。如果没有,而当前目录中包含许多不相关的文件,那么你可能将它们与归档中提取的文件混淆。

要将文件提取到它们自己的目录中,新建一个目录,将归档文件移到该目录,然后你就可以在新目录中提取文件。

FAQ

现在我们已经学习了如何创建归档文件并列出和提取其内容,接下来我们可以继续讨论 Linux 专业人员经常被问到的 9 个实用问题。

可以在不解压缩的情况下添加内容到压缩包中吗?

很不幸,一旦文件将被压缩,就无法向其添加内容。你需要解压缩或提取其内容,然后编辑或添加内容,最后再次压缩文件。如果文件很小,这个过程不会花费很长时间,否则请等待一会。

可以在不解压缩的情况下删除归档文件中的内容吗?

这取决压缩时使用的 tar 版本。较新版本的 tar 支持 -delete 选项。

例如,假设归档文件中有 file1 和 file2,可以使用以下命令将它们从 file.tar 中删除:

$ tar -vf file.tar –delete file1 file2

删除目录 dir1:

$ tar -f file.tar –delete dir1/*

压缩和归档之间有什么区别?

查看归档和压缩之间差异最简单的方法是查看其解压大小。归档文件时,会将多个文件合并为一个。所以,如果我们归档 10 个 100kb 文件,则最终会得到一个 100kb 大小的文件。而如果压缩这些文件,则最终可能得到一个只有几 kb 或接近 100kb 的文件。

如何压缩归档文件?

如上所说,你可以使用带有 cvf 选项的 tar 命令来创建和归档文件。要压缩归档文件,有两个选择:通过压缩程序(例如 gzip)运行归档文件,或在使用 tar 命令时使用压缩选项。最常见的压缩标志 -z 表示 gzip,-j 表示 bzip,-J 表示 xz。例如:

$ gzip file.tar

或者,我们可以在使用 tar 命令时使用压缩标志,以下命令使用 gzip 标志 z:

$ tar -cvzf file.tar /some/directory

如何一次创建多个目录和/或文件的归档?

一次要归档多个文件,这种情况并不少见。一次归档多个文件和目录并不像你想的那么难,你只需要提供多个文件或目录作为 tar 的参数即可:

tar -cvzf file.tar file1 file2 file3

创建归档时如何跳过目录和/或文件?

你可能会遇到这样的情况:要归档一个目录或文件,但不是所有文件,这种情况下可以使用 –exclude 选项:

$ tar –exclude ‘/some/directory’ -cvf file.tar /home/user

在示例中,/home/user 目录中除了 /some/directory 之外都将被归档。将 –exclude 选项放在源和目标之前,并用单引号将要排除的文件或目录引起来,这一点很重要。

本文详细介绍了tar命令的使用方法和参数。通过学习,我们已经掌握了如何使用tar命令来实现文件的打包、压缩和解压缩操作。在日常工作中,熟练掌握这些技巧能够使我们更加高效地管理文件和数据,节约时间和资源。希望本文能够对您有所帮助,也希望大家能够通过实践不断提高自己的技能水平。

위 내용은 Linux에서 파일 패키징 및 압축을 쉽게 학습 - tar 명령에 대한 포괄적인 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제