Học bằng cách đọc theo thứ tự

tar — Đóng gói và Giải nén

Gom nhiều tệp thành một archive không nén bằng tar -cf docs.tar docs, liệt kê nội dung bằng tar -tf docs.tar, và khôi phục bằng tar -xf — minh họa và thực hành trực tiếp trên terminal trong trình duyệt.

Đóng gói và liệt kê — tar -cf / tar -tf

tar gom nhiều tệp hoặc thư mục thành một tệp duy nhất. Tệp đó được gọi là tar archive, theo quy ước được đặt tên với đuôi .tar. Bạn đóng gói bằng tar -cf archive.tar target và kiểm tra nội dung bằng tar -tf archive.tar. -c là tạo (create), -t là liệt kê (list), và -f chỉ định tên tệp.

Cú phápTác dụng
tar -cf a.tar dirĐóng gói dir thành một tệp a.tar duy nhất
tar -tf a.tarLiệt kê nội dung (các tệp) bên trong a.tar
tar -xf a.tarGiải nén a.tar về lại các tệp gốc
tar -xf a.tar -C destChỉ định thư mục đích giải nén là dest
Đóng gói bằng tar -cf, Liệt kê bằng tar -tf
d/a.txtd/b.txtd/ (đối tượngđóng gói)tar -cf d.tar dd.tar(gom thành 1 tệp)Dễ chia sẻ & lưu trữtar -tf d.tard/a.txtd/b.txtKiểm tra nội dung-c tạo-t liệt kê
tar -cf d.tar d gom d thành một tệp d.tar duy nhất, còn tar -tf d.tar liệt kê các tệp bên trong mà không giải nén.
mkdir -p docs                 # Tạo thư mục nguồn
printf 'note A\n' > docs/a.txt   # Tạo hai tệp bên trong
printf 'note B\n' > docs/b.txt
tar -cf docs.tar docs         # Đóng gói docs thành docs.tar
tar -tf docs.tar              # Liệt kê docs/ docs/a.txt docs/b.txt
# Trên server thật, tar -czf docs.tar.gz docs sẽ nén gzip cùng lúc (môi trường học này chỉ dùng không nén)

Khóa học này học tar với archive không nén

Nén gzip như tar -czf hoạt động trên server thật như Ubuntu. Khóa học này học cách hoạt động của tar bằng -cf / -tf / -xf không nén (vui lòng không chạy nén trong môi trường học này).

① Tạo thư mục nguồn bằng mkdir -p docs.

② Tạo hai tệp bên trong bằng printf 'note A\n' > docs/a.txtprintf 'note B\n' > docs/b.txt.

③ Dùng tùy chọn tạo của tar để đóng gói docs thành một tệp duy nhất tên docs.tar. (Đóng gói không in gì ra màn hình.)

④ Chạy ls để xác nhận docs.tar đã được tạo.

⑤ Dùng tùy chọn liệt kê của tar để liệt kê nội dung của docs.tar và xác nhận docs/a.txtdocs/b.txt có trong đó. (Nếu chạy đúng, phần giải thích sẽ hiện ra.)

Linux console
0 / 6 đã hoàn thành
Loading Linux Terminal...

Giải nén — tar -xf và -C

Để lấy lại các tệp gốc từ tar archive, dùng tar -xf archive.tar. -x là giải nén (extract). Chạy như vậy sẽ giải nén vào thư mục hiện tại, nhưng thêm -C target sẽ giải nén vào thư mục bạn chỉ định. Sau khi giải nén, kiểm tra các tệp vừa lấy ra bằng ls.

Giải nén bằng tar -xf (-C chỉ định đích)
docs.tarNội dungdocs/a.txt v.v.Cần giải néntar -xf docs.tarKhông chỉ định đíchdocs/ ở thư mục hiện tạitar -xf docs.tar-C out-C chỉ định đíchdocs/ bên trong out/Giải nén trực tiếpGiải nén vào out
tar -xf docs.tar giải nén vào thư mục hiện tại, còn tar -xf docs.tar -C out giải nén vào out bằng cách chỉ định đích.
mkdir -p pack                 # Tạo thư mục nguồn
printf 'x\n' > pack/a.txt        # Tạo một tệp bên trong
tar -cf pack.tar pack         # Đóng gói pack thành pack.tar
mkdir -p out                  # Chuẩn bị thư mục đích giải nén
tar -xf pack.tar -C out       # Giải nén vào out/
ls out                        # out/pack đã được giải nén

① Tạo thư mục nguồn bằng mkdir -p pack, và tạo một tệp bên trong bằng printf 'x\n' > pack/a.txt.

② Dùng tùy chọn tạo của tar để đóng gói pack thành pack.tar.

③ Chạy ls để xác nhận pack.tar đã được tạo.

④ Chuẩn bị thư mục đích giải nén bằng mkdir -p out.

⑤ Thêm tùy chọn chỉ định đích giải nén vào tùy chọn giải nén của tar, và giải nén pack.tar vào out.

⑥ Chạy ls out để xác nhận pack đã được giải nén bên trong out.

Linux console
0 / 7 đã hoàn thành
Loading Linux Terminal...
QUIZ

Kiểm tra kiến thức

Hãy trả lời từng câu hỏi một.

Câu 1Điều gì xảy ra khi bạn chạy tar -cf docs.tar docs?

Câu 2Lệnh nào liệt kê nội dung của docs.tar mà không giải nén?

Câu 3Trong tar -xf pack.tar -C out, -C out chỉ định gì?