Lệnh mdeltree trong Linux

Giới thiệu

Trong lab này, chúng ta sẽ khám phá lệnh mdeltree của Linux, một công cụ mạnh mẽ để xóa đệ quy các thư mục và xử lý các liên kết tượng trưng (symbolic links) và quyền (permissions). Lab này bao gồm cách sử dụng cơ bản của lệnh mdeltree, cách xóa thư mục một cách đệ quy, và cách xử lý các liên kết tượng trưng và quyền trong quá trình xóa. Lệnh mdeltree cung cấp các tính năng và biện pháp bảo vệ bổ sung so với lệnh rm -rf tiêu chuẩn, đảm bảo quy trình xóa thư mục được kiểm soát và an toàn hơn.

Tìm hiểu về lệnh mdeltree

Trong bước này, chúng ta sẽ khám phá lệnh mdeltree trong Linux, một công cụ mạnh mẽ để xóa đệ quy các thư mục và xử lý các liên kết tượng trưng và quyền.

Lệnh mdeltree là một script tùy chỉnh mở rộng chức năng của lệnh rm -rf tiêu chuẩn. Nó cung cấp các tính năng và biện pháp bảo vệ bổ sung để đảm bảo quy trình xóa thư mục được kiểm soát và an toàn hơn.

Hãy bắt đầu bằng cách tìm hiểu cách sử dụng cơ bản của lệnh mdeltree:

sudo mdeltree [directory]

Lệnh mdeltree nhận đường dẫn thư mục làm đối số và xóa đệ quy thư mục được chỉ định và tất cả nội dung của nó.

Ví dụ về đầu ra:

$ sudo mdeltree ~/project/test_dir
Removing directory: /home/labex/project/test_dir

Lệnh mdeltree cung cấp một số tùy chọn để tùy chỉnh hành vi của nó, chẳng hạn như:

  • -v: Chế độ Verbose (chi tiết), hiển thị thông tin chi tiết về quá trình xóa.
  • -f: Chế độ Force (bắt buộc), xóa thư mục mà không cần nhắc xác nhận.
  • -l: Theo dõi các liên kết tượng trưng và xóa các tệp/thư mục được liên kết.
  • -p: Giữ lại các quyền và quyền sở hữu của các tệp/thư mục đã xóa.

Bạn có thể khám phá các tùy chọn này bằng cách chạy man mdeltree trong terminal.

Xóa thư mục một cách đệ quy với mdeltree

Trong bước này, chúng ta sẽ học cách sử dụng lệnh mdeltree để xóa đệ quy các thư mục và nội dung của chúng.

Đầu tiên, hãy tạo một thư mục thử nghiệm và một số tệp bên trong nó:

mkdir -p ~/project/test_dir
touch ~/project/test_dir/file1.txt
touch ~/project/test_dir/file2.txt

Bây giờ, hãy xóa thư mục test_dir và nội dung của nó bằng lệnh mdeltree:

sudo mdeltree ~/project/test_dir

Ví dụ về đầu ra:

Removing directory: /home/labex/project/test_dir
Removed /home/labex/project/test_dir/file1.txt
Removed /home/labex/project/test_dir/file2.txt
Removed directory: /home/labex/project/test_dir

Như bạn có thể thấy, lệnh mdeltree đã xóa đệ quy thư mục test_dir và tất cả các tệp bên trong nó.

Bạn cũng có thể sử dụng tùy chọn -v để bật chế độ verbose, chế độ này sẽ hiển thị thông tin chi tiết hơn về quá trình xóa:

sudo mdeltree -v ~/project/test_dir

Ví dụ về đầu ra:

Removing directory: /home/labex/project/test_dir
Removed file: /home/labex/project/test_dir/file1.txt
Removed file: /home/labex/project/test_dir/file2.txt
Removed directory: /home/labex/project/test_dir

Tùy chọn -f có thể được sử dụng để buộc xóa mà không cần nhắc xác nhận:

sudo mdeltree -f ~/project/test_dir

Điều này sẽ xóa thư mục mà không cần hỏi xác nhận.

Xử lý liên kết tượng trưng và quyền với mdeltree

Trong bước này, chúng ta sẽ khám phá cách lệnh mdeltree xử lý các liên kết tượng trưng và bảo toàn các quyền khi xóa thư mục.

Đầu tiên, hãy tạo một thư mục thử nghiệm với một liên kết tượng trưng:

mkdir -p ~/project/test_dir
touch ~/project/test_dir/file.txt
ln -s ~/project/test_dir/file.txt ~/project/test_dir/symlink.txt

Bây giờ, hãy xóa thư mục test_dir bằng lệnh mdeltree với tùy chọn -l để theo dõi liên kết tượng trưng:

sudo mdeltree -l ~/project/test_dir

Ví dụ về đầu ra:

Removing directory: /home/labex/project/test_dir
Removed file: /home/labex/project/test_dir/file.txt
Removed symbolic link: /home/labex/project/test_dir/symlink.txt
Removed directory: /home/labex/project/test_dir

Như bạn có thể thấy, lệnh mdeltree đã theo dõi liên kết tượng trưng và xóa cả tệp được liên kết.

Tiếp theo, hãy tạo một thư mục với các quyền cụ thể và cố gắng xóa nó bằng mdeltree:

mkdir -p ~/project/test_dir
touch ~/project/test_dir/file.txt
chmod 755 ~/project/test_dir
sudo mdeltree -p ~/project/test_dir

Ví dụ về đầu ra:

Removing directory: /home/labex/project/test_dir
Removed file: /home/labex/project/test_dir/file.txt
Removed directory: /home/labex/project/test_dir

Tùy chọn -p đảm bảo rằng các quyền và quyền sở hữu của các tệp và thư mục đã xóa được bảo toàn.

Tóm tắt

Trong lab này, chúng ta đã khám phá lệnh mdeltree trong Linux, một công cụ mạnh mẽ để xóa đệ quy các thư mục và xử lý các liên kết tượng trưng và quyền. Chúng ta đã học cách sử dụng cơ bản của lệnh mdeltree, bao gồm các tùy chọn khác nhau của nó như chế độ verbose, chế độ force, theo dõi các liên kết tượng trưng và bảo toàn quyền. Sau đó, chúng ta đã thực hành sử dụng lệnh mdeltree để xóa đệ quy các thư mục và nội dung của chúng, đảm bảo một quy trình xóa được kiểm soát và an toàn.

400+ câu lệnh phổ biến trong Linux