Làm thế nào để nén và giải nén tập tin bằng cách sử dụng lệnh tar trên Linux

Mục lục:

Làm thế nào để nén và giải nén tập tin bằng cách sử dụng lệnh tar trên Linux
Làm thế nào để nén và giải nén tập tin bằng cách sử dụng lệnh tar trên Linux

Video: Làm thế nào để nén và giải nén tập tin bằng cách sử dụng lệnh tar trên Linux

Video: Làm thế nào để nén và giải nén tập tin bằng cách sử dụng lệnh tar trên Linux
Video: TRƯỚC KHI RENDER PHẢI XEM CLIP NÀY | 3 Phút Premiere - YouTube 2024, Tháng Ba
Anonim
Lệnh tar trên Linux thường được sử dụng để tạo ra các tệp lưu trữ.tar.gz hoặc.tgz, còn được gọi là "tarballs." Lệnh này có một số lượng lớn các tùy chọn, nhưng bạn chỉ cần nhớ một vài chữ cái để nhanh chóng tạo lưu trữ với tar. Lệnh tar cũng có thể trích xuất các lưu trữ kết quả.
Lệnh tar trên Linux thường được sử dụng để tạo ra các tệp lưu trữ.tar.gz hoặc.tgz, còn được gọi là "tarballs." Lệnh này có một số lượng lớn các tùy chọn, nhưng bạn chỉ cần nhớ một vài chữ cái để nhanh chóng tạo lưu trữ với tar. Lệnh tar cũng có thể trích xuất các lưu trữ kết quả.

Lệnh GNU tar đi kèm với bản phân phối Linux đã nén tích hợp. Nó có thể tạo một bản lưu trữ.tar và sau đó nén nó bằng nén gzip hoặc bzip2 trong một lệnh duy nhất. Đó là lý do tệp kết quả là tệp.tar.gz hoặc.tar.bz2.

Nén toàn bộ thư mục hoặc một tệp

Sử dụng lệnh sau để nén toàn bộ thư mục hoặc một tệp trên Linux. Nó cũng sẽ nén mọi thư mục khác bên trong thư mục bạn chỉ định - nói cách khác, nó hoạt động đệ quy.

tar -czvf name-of-archive.tar.gz /path/to/directory-or-file

Dưới đây là ý nghĩa của các nút chuyển này:

  • -c: Create một kho lưu trữ.
  • -z: Nén tệp nén bằng g zip.
  • -v: Hiển thị tiến trình trong thiết bị đầu cuối trong khi tạo lưu trữ, còn được gọi là “ verbose”chế độ. V luôn là tùy chọn trong các lệnh này, nhưng nó hữu ích.
  • -f: Cho phép bạn chỉ định filename của kho lưu trữ.

Giả sử bạn có một thư mục có tên là "stuff" trong thư mục hiện tại và bạn muốn lưu nó vào một tệp có tên archive.tar.gz. Bạn sẽ chạy lệnh sau:

tar -czvf archive.tar.gz stuff

Hoặc, giả sử có thư mục tại / usr / local / something trên hệ thống hiện tại và bạn muốn nén thư mục đó vào tệp có tên archive.tar.gz. Bạn sẽ chạy lệnh sau:

tar -czvf archive.tar.gz /usr/local/something

Image
Image

Nén nhiều thư mục hoặc tệp cùng một lúc

Trong khi tar thường được sử dụng để nén một thư mục duy nhất, bạn cũng có thể sử dụng nó để nén nhiều thư mục, nhiều tệp riêng lẻ hoặc cả hai. Chỉ cần cung cấp danh sách các tệp hoặc thư mục thay vì một tệp. Ví dụ: giả sử bạn muốn nén thư mục / home / ubuntu / Downloads, thư mục / usr / local / stuff và tệp /home/ubuntu/Documents/notes.txt. Bạn chỉ cần chạy lệnh sau:

tar -czvf archive.tar.gz /home/ubuntu/Downloads /usr/local/stuff /home/ubuntu/Documents/notes.txt

Chỉ cần liệt kê bao nhiêu thư mục hoặc tệp như bạn muốn sao lưu.

Image
Image

Loại trừ thư mục và tệp

Trong một số trường hợp, bạn có thể muốn nén toàn bộ thư mục nhưng không bao gồm một số tệp và thư mục nhất định. Bạn có thể làm như vậy bằng cách gắn thêm

--exclude

chuyển đổi cho mỗi thư mục hoặc tệp bạn muốn loại trừ.

Ví dụ: giả sử bạn muốn nén / home / ubuntu, nhưng bạn không muốn nén thư mục / home / ubuntu / Downloads và /home/ubuntu/.cache. Dưới đây là cách bạn sẽ làm:

tar -czvf archive.tar.gz /home/ubuntu --exclude=/home/ubuntu/Downloads --exclude=/home/ubuntu/.cache

Các

--exclude

chuyển đổi là rất mạnh mẽ. Nó không lấy tên của các thư mục và tệp - nó thực sự chấp nhận các mẫu. Có rất nhiều thứ bạn có thể làm với nó. Ví dụ, bạn có thể lưu trữ toàn bộ thư mục và loại trừ tất cả các tệp.mp4 bằng lệnh sau:

tar -czvf archive.tar.gz /home/ubuntu --exclude=*.mp4

Image
Image

Sử dụng nén bzip2

Trong khi nén gzip thường được sử dụng nhất để tạo các tệp.tar.gz hoặc.tgz, tar cũng hỗ trợ nén bzip2. Điều này cho phép bạn tạo các tệp nén bzip2, thường được đặt tên tệp.tar.bz2,.tar.bz hoặc.tbz. Để làm như vậy, chỉ cần thay thế -z cho gzip trong các lệnh ở đây bằng a -j cho bzip2.

Gzip là nhanh hơn, nhưng nó thường nén một chút ít hơn, vì vậy bạn sẽ có được một tập tin lớn hơn một chút. Bzip2 chậm hơn, nhưng nó nén nhiều hơn một chút, vì vậy bạn sẽ nhận được một tệp nhỏ hơn một chút. Gzip cũng phổ biến hơn, với một số hệ thống Linux bị loại bỏ bao gồm cả hỗ trợ gzip theo mặc định, nhưng không hỗ trợ bzip2. Nói chung, mặc dù, gzip và bzip2 thực tế là giống nhau và cả hai sẽ hoạt động tương tự.

Ví dụ: thay vì ví dụ đầu tiên chúng tôi cung cấp để nén thư mục công cụ, bạn sẽ chạy lệnh sau:

tar -cjvf archive.tar.bz2 stuff

Image
Image

Trích xuất một bản lưu trữ

Một khi bạn có một kho lưu trữ, bạn có thể giải nén nó bằng lệnh tar. Lệnh sau sẽ trích xuất nội dung của archive.tar.gz vào thư mục hiện tại.

tar -xzvf archive.tar.gz

Nó giống như lệnh tạo lưu trữ mà chúng tôi đã sử dụng ở trên, ngoại trừ

-x

chuyển đổi thay thế

-c

công tắc điện. Điều này chỉ định bạn muốn e xkéo lưu trữ thay vì tạo một kho lưu trữ.

Bạn có thể muốn trích xuất nội dung của tệp nén vào một thư mục cụ thể. Bạn có thể làm như vậy bằng cách thêm

-C

chuyển sang cuối lệnh. Ví dụ, lệnh sau sẽ trích xuất nội dung của tệp archive.tar.gz vào thư mục / tmp.

tar -xzvf archive.tar.gz -C /tmp

Nếu tệp là tệp nén bzip2, hãy thay thế "z" trong các lệnh ở trên bằng dấu "j".

Image
Image

Đây là cách sử dụng lệnh tar đơn giản nhất có thể. Lệnh này bao gồm một số lượng lớn các tùy chọn bổ sung, vì vậy chúng tôi không thể liệt kê tất cả các tùy chọn này tại đây. Để biết thêm thông tin. chạy tar thông tin lệnh tại trình bao để xem trang thông tin chi tiết của lệnh tar. Nhấn nút q để thoát khỏi trang thông tin khi bạn hoàn tất. Bạn cũng có thể đọc hướng dẫn sử dụng trực tuyến của tar.

Nếu bạn đang sử dụng một máy tính để bàn Linux đồ họa, bạn cũng có thể sử dụng tiện ích nén tệp hoặc trình quản lý tệp được bao gồm trong màn hình của bạn để tạo hoặc trích xuất các tệp.tar. Trên Windows, bạn có thể giải nén và tạo các bản lưu trữ.tar với tiện ích 7-Zip miễn phí.

Đề xuất: