Bài 7. Các thao tác liên kết, đồng bộ, nén tệp tin và thư mục
Ở bài trước thì chúng ta đã tìm hiểu về các lệnh thao tác với tệp tin và thư mục.
Trong bài viết này, chúng ta sẽ tìm hiểu về các thao tác liên kết, đồng bộ và nén tệp tin và thư mục.
Mục lục:
- Chuẩn bị.
- Tìm hiểu về các lệnh thao tác liên kết, đồng bộ và nén tệp tin và thư mục.
- Lời kết.
1. Chuẩn bị
- Đã cài đặt máy ảo Ubuntu trên Oracle VM VirtualBox
- Đã thực hiện thiết lập SSH tới máy chủ Ubuntu, sẵn sàng nhập lệnh
2. Tìm hiểu về các lệnh thao tác liên kết , đồng bộ và nén tệp tin/thư mục
- Đầu tiên là các bạn khởi động máy chủ Ubuntu và kết nối với máy chủ thông qua SSH Key như bài trước, ví dụ:
ssh -i ~/.ssh/xboxuser_rsa [email protected]
2.1: Thao tác liên kết tệp tin
Giả sử chúng ta có tệp tin “original_file.txt” và “symbolic_link.txt”. Chúng ta muốn khi tệp tin “original_file.txt” thay đổi thì tệp tin “symbolic_link.txt” sẽ thay đổi theo. Chúng ta sẽ thực hiện như sau:
- Chúng ta sẽ tạo tệp tin "original_file.txt", sau đó liên kết nó với tệp "symbolic_link.txt" và cuối cùng là kiểm tra kết quả:
echo "Day la thu muc goc" > original_file.txt ln -s original_file.txt symbolic_link.txt cat original_file.txt cat symbolic_link.txt ls
- Chúng ta thử thay đổi nội dung tệp "original_file.txt" và kiếm tra lại xem tệp "symbolic_link.txt" có thay đổi theo không ?
echo "Toi da thay doi tep tin nay" > original_file.txt cat original_file.txt cat symbolic_link.txt ls
- Xóa liên kết bằng các xóa đi tệp tin tượng trưng:
rm symbolic_link.txt
Note: “Tệp tin trượng trưng” không lưu trữ nội dung riêng của nó, và nó sẽ thể hiện nội dung của tệp tin gốc.
2.2 Thao tác đồng bộ tất cả tệp tin và thư mục trong thư mục
Giả sử chúng ta có thư mục “sourcedir” và “destinationdir”. Chúng ta muốn khi đồng bộ thư mục “destinationdir” thì tất cả dữ liệu từ thư mục “sourcedir” sẽ đồng bộ qua thư mục “destinationdir”. Chúng ta sẽ thực hiện như sau:
mkdir sourcedir mkdir destinationdir echo "Day tep tin sample.txt trong thu muc goc" > sourcedir/sample.txt mkdir sourcedir/folder rsync -avh --delete sourcedir/ destinationdir/ ls destinationdir/
Note:
-a: Đảm bảo tính "archive" để duy trì tất cả thông tin liên quan đến tệp tin và thư mục.
-v: Hiển thị chi tiết quá trình sao chép.
-h: Hiển thị kích thước dễ đọc.
--delete: Xóa bất kỳ tệp tin nào trong thư mục đích mà không có trong thư mục nguồn.
Trường hơp: Nếu các bạn muốn đồng bộ tự động khi thư mục hoặc tệp tin thay đổi, mình sẽ có bài viết riêng về việc viết Bash Script để lắng nghe sự thay đổi và nếu có sự thay đổi thì nó sẽ tự đồng bộ.
2.3 Nén và giải nén dùng tar
Giả sử chúng ta có một tệp tin "sample.txt". Chúng ta có nhu cầu nén tệp tin này lại và giải nén nó ra.
- Đầu tiên tạo ra file sample.txt và nén nó lại.
echo "This is a sample file." > sample.txt tar -czvf compressed_file.tar.gz sample.txt ls
Note:
-c: Tạo tệp tin nén mới.
-z: Sử dụng gzip để nén.
-v: Hiển thị thông tin quá trình nén.
-f: Chỉ định tên cho tệp tin nén.
compressed_file.tar.gz: Tên tệp tin nén.
sample.txt: Tệp tin bạn muốn nén.
- Tiếp theo chúng ta sẽ giải nén nó ra và kiếm tra kết quả
tar -xzvf compressed_file.tar.gz ls cat sample.txt
Note:
-x: Trích xuất dữ liệu từ tệp tin nén.
-z: Sử dụng gzip để giải nén.
-v: Hiển thị thông tin quá trình giải nén.
-f: Chỉ định tên của tệp tin nén.
compressed_file.tar.gz: Tên tệp tin nén.
3. Lời kết
- Bài hôm nay chúng ta đã tìm hiểu về các thao tác liên kết, đồng bộ và nén tệp tin và thư mục.
- Bài học tiếp theo chúng ta sẽ tìm hiểu về các thao tác tìm kiếm tệp tin và lệnh đường ống.
Tác giả: Đỗ Thiên Giang
Chú ý: Tất cả các bài viết trên TEDU.COM.VN đều thuộc bản quyền TEDU, yêu cầu dẫn nguồn khi trích lại trên website khác.
Bài viết liên quan
Hiểu về AI, LLM, RAG và Agentic RAG trong 15 phút
Trong vài năm gần đây, trí tuệ nhân tạo (AI) đã bùng nổ mạnh mẽ và trở thành tâm điểm của cả thế giới công nghệ. Nhưng đi kèm với nó là hàng loạt khái niệm mới như LLM, RAG, hay Agentic RAG khiến nhiều người mới bắt đầu cảm thấy lúng túng.
Đọc thêm
Hướng dẫn tự triển khai N8N trên CentOS bằng Docker Compose và NGINX
N8N là công cụ mã nguồn mở cho phép bạn tự động hóa quy trình làm việc (workflow automation) và tích hợp nhiều dịch vụ khác nhau mà không cần phải lập trình.
Đọc thêm
Hướng dẫn phân tích độ phức tạp thuật toán chi tiết
Độ phức tạp của giải thuật là một cách để đánh giá hiệu quả của một giải thuật dựa trên hai yếu tố chính là độ phức tạp thời gian và độ phức tạp không gian.
Đọc thêm
Bài 6. Các thao tác với XPath và Selector trong Selenium
Bài viết này hướng dẫn bạn làm việc XPath và Css Selector trong Selenium.
Đọc thêm
Bài 5. Các thao tác với Web Browser trong Selenium
Bài viết này hướng dẫn bạn làm việc sâu Web Browser trong Selenium.
Đọc thêm
Bài 4. Thực thi Javascript trong Selenium
Bài viết này hướng dẫn bạn thực thi lệnh Javascript trong Selenium.
Đọc thêm
Bài 3. Làm việc với Element trong Selenium
Bài viết này hướng dẫn bạn làm việc với Element trong Selenium.
Đọc thêm
Bài 2. Các thao tác cơ bản về Selenium
Bài viết này hướng dẫn bạn tạo dự án Selenium C# và thực hiện thao tác cơ bản.
Đọc thêm
Bài 1. Giới thiệu về Selenium
Bài viết giới thiệu sơ lược về chuỗi bài Selenium.
Đọc thêm
Bài 18. Xây dựng Docker Compose .NET Core Và SQL Server
Hướng dẫn xây dựng Docker Compose .NET Core Và SQL Server
Đọc thêm