Dalam sistem Linux, pembungkusan dan pemampatan fail adalah operasi yang sangat biasa dan perlu, dan arahan tar ialah alat yang berkuasa. Ia bukan sahaja boleh membungkus berbilang fail menjadi satu, tetapi ia juga boleh memampatkan dan menyahmampat fail. Bagi pemula Linux, amat penting untuk membiasakan diri dengan arahan tar, kerana ia akan meningkatkan kecekapan kerja kita dengan ketara. Dalam artikel ini, kami akan memahami secara menyeluruh cara menggunakan arahan tar, membolehkan anda mempelajari teknik pembungkusan dan pemampatan fail dengan mudah di bawah Linux.
Ringkasnya, arkib ialah satu fail yang mengandungi satu siri fail dan/atau direktori. Fail arkib biasanya digunakan untuk pemindahan secara setempat atau melalui Internet, atau sebagai salinan sandaran bagi satu siri fail dan direktori, membolehkan anda bekerja dengan satu fail (yang, jika dimampatkan, akan menjadi lebih kecil daripada jumlah semua fail) . Begitu juga, arkib digunakan untuk pembungkusan aplikasi perisian. Fail tunggal ini boleh dimampatkan dengan mudah untuk pengangkutan, manakala fail dalam arkib mengekalkan struktur dan kebenaran asalnya.
Kami boleh menggunakan alat tar untuk mencipta, menyenaraikan dan mengekstrak fail dalam arkib. Arkib yang dihasilkan dengan tar sering dipanggil "fail tar", "arkib tar" atau "pakej tar" (kerana semua fail yang diarkibkan digabungkan menjadi satu fail).
Tutorial ini menunjukkan kepada anda cara menggunakan tar untuk mencipta, menyenaraikan dan mengekstrak kandungan arkib. Ketiga-tiga operasi menggunakan dua pilihan biasa -f dan -v: gunakan -f untuk menentukan nama fail arkib, dan gunakan pilihan -v ("berlebihan") untuk menyebabkan tar mengeluarkan nama fail semasa memproses fail. Walaupun pilihan -v tidak diperlukan, ia membolehkan anda memerhati kemajuan operasi tar.
Dalam bahagian berikut tutorial ini, 3 topik akan dibincangkan: 1. Membuat fail arkib 2. Menyenaraikan kandungan fail arkib; Selain itu, kami akan mengakhiri tutorial ini dengan menjawab 6 soalan praktikal tentang pengurusan arkib. Apa yang anda pelajari daripada tutorial ini adalah penting untuk melaksanakan tugas yang berkaitan dengan keselamatan siber dan teknologi awan.
1. Buat fail arkib
Untuk membuat arkib menggunakan tar, gunakan pilihan -c ("create"), diikuti dengan pilihan -f untuk menentukan nama arkib yang akan dibuat. Amalan biasa ialah menggunakan nama dengan sambungan .tar, seperti my-backup.tar. Ambil perhatian bahawa semua arahan dan parameter yang digunakan dalam baki artikel ini adalah dalam huruf kecil melainkan dinyatakan secara khusus. Ingat, apabila memasukkan arahan untuk artikel ini ke dalam terminal anda, anda tidak perlu memasukkan $ prompt pada permulaan setiap baris arahan.
Masukkan nama fail untuk diarkibkan sebagai parameter jika anda ingin membuat arkib yang mengandungi semua fail dan subdirektorinya, berikan nama direktori sebagai parameter.
Untuk mengarkibkan kandungan direktori projek, masukkan:
$ tar -cvf project.tar project
Arahan ini akan mencipta fail arkib bernama project.tar, yang mengandungi semua kandungan direktori projek, manakala direktori projek asal akan kekal tidak berubah.
Arkib boleh dimampatkan menggunakan pilihan -z, yang menghasilkan output yang sama seperti mencipta arkib yang tidak dimampatkan dan kemudian memampatkannya dengan gzip, tetapi ia menghapuskan langkah tambahan.
Untuk mencipta pakej termampat project.tar.gz daripada direktori projek, masukkan:
$ tar -zcvf project.tar.gz project
Arahan ini akan mencipta pakej termampat project.tar.gz yang mengandungi semua kandungan direktori projek, manakala direktori projek asal akan kekal tidak berubah.
Nota: Apabila menggunakan pilihan -z, anda harus menggunakan sambungan .tar.gz dan bukannya sambungan .tar, yang menunjukkan pemampatan. Walaupun tidak diperlukan, ia adalah amalan yang baik.
gzip bukan satu-satunya bentuk mampatan, ada juga bzip2 dan xz. Apabila kita melihat fail dengan sambungan .xz, kita tahu bahawa fail itu dimampatkan menggunakan xz, dan fail dengan sambungan .bz2 dimampatkan menggunakan bzip2. Oleh kerana bzip2 tidak lagi dikekalkan, kami akan menjauhinya dan memberi tumpuan kepada xz. Apabila menggunakan pemampatan xz, ia mengambil masa yang lebih lama. Walau bagaimanapun, penantian biasanya berbaloi, kerana pemampatan adalah lebih baik, bermakna arkib biasanya lebih kecil berbanding dengan bentuk pemampatan lain. Lebih baik lagi, tidak banyak perbezaan dalam menyahmampat atau mengekstrak fail antara bentuk mampatan yang berbeza. Di bawah ini kita akan melihat contoh cara menggunakan xz semasa memampatkan fail menggunakan tar:
$ tar -Jcvf project.tar.xz project
Kami hanya menukar pilihan -z gzip kepada huruf besar xz -J. Berikut ialah beberapa output yang menunjukkan perbezaan antara bentuk termampat:
Seperti yang anda lihat, xz mempunyai masa mampatan paling lama. Walau bagaimanapun, ia melakukan kerja terbaik untuk mengurangkan saiz fail, jadi ia berbaloi untuk menunggu. Lebih besar fail, lebih baik pemampatan.
2. Senaraikan kandungan fail yang diarkibkan
Untuk menyenaraikan kandungan arkib tar tanpa mengekstraknya, gunakan pilihan -t.
Untuk menyenaraikan kandungan project.tar, taip:
$ 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命令来实现文件的打包、压缩和解压缩操作。在日常工作中,熟练掌握这些技巧能够使我们更加高效地管理文件和数据,节约时间和资源。希望本文能够对您有所帮助,也希望大家能够通过实践不断提高自己的技能水平。
Atas ialah kandungan terperinci Belajar pembungkusan dan pemampatan fail dengan mudah di bawah Linux - pemahaman menyeluruh tentang arahan tar. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!