Lệnh du trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh du (disk usage) trong Linux để ước tính mức sử dụng dung lượng đĩa và cung cấp thông tin về dung lượng đĩa bị chiếm bởi các tệp và thư mục. Bạn sẽ hiểu các tùy chọn khác nhau của lệnh du, đo lường mức sử dụng đĩa của một thư mục và loại trừ các thư mục khỏi phép đo du. Lab này bao gồm các thao tác cơ bản về tệp và thư mục trong Linux, rất cần thiết cho công việc quản trị hệ thống (systemadmin) và các tác vụ quản lý tệp.

Tìm hiểu lệnh du

Trong bước này, bạn sẽ tìm hiểu về lệnh du (disk usage) trong Linux. Lệnh du được sử dụng để ước tính mức sử dụng dung lượng đĩa, cung cấp thông tin về dung lượng đĩa bị chiếm bởi các tệp và thư mục.

Để bắt đầu, trước tiên hãy kiểm tra phần trợ giúp của lệnh du:

man du

Đầu ra trợ giúp sẽ cung cấp cho bạn thông tin chi tiết về các tùy chọn khác nhau và cách sử dụng lệnh du.

Một số tùy chọn du thường được sử dụng bao gồm:

  • -h: Hiển thị đầu ra ở định dạng dễ đọc (ví dụ: 1.2M thay vì 1234567)
  • -s: Hiển thị tổng kích thước của một thư mục, thay vì kích thước của từng tệp/thư mục bên trong nó
  • -c: Hiển thị tổng cộng ở cuối đầu ra
  • -x: Không vượt qua ranh giới hệ thống tệp
  • -d <depth>: Giới hạn độ sâu của cây thư mục mà du sẽ hiển thị

Bây giờ, hãy thử một vài ví dụ để hiểu cách sử dụng lệnh du:

## Hiển thị mức sử dụng đĩa của thư mục hiện tại
du -h .

## Hiển thị mức sử dụng đĩa của thư mục hiện tại, bao gồm cả các thư mục con
du -h -s *

## Hiển thị mức sử dụng đĩa của thư mục hiện tại, giới hạn độ sâu ở mức 1
du -h -d 1

Ví dụ đầu ra:

4.0K    .
4.0K    file1.txt
8.0K    file2.txt
12K     .

Đầu ra hiển thị mức sử dụng đĩa cho thư mục hiện tại (.) và các tệp trong đó. Tùy chọn -h hiển thị kích thước ở định dạng dễ đọc.

Đo mức sử dụng đĩa cho một thư mục

Trong bước này, bạn sẽ học cách sử dụng lệnh du để đo mức sử dụng đĩa của một thư mục cụ thể.

Đầu tiên, hãy tạo một thư mục và một số tệp để làm việc:

mkdir ~/project/test_dir
cd ~/project/test_dir
touch file1.txt file2.txt file3.txt

Bây giờ, hãy sử dụng lệnh du để đo mức sử dụng đĩa của thư mục test_dir:

## Hiển thị mức sử dụng đĩa của thư mục test_dir
du -h ~/project/test_dir

## Hiển thị tổng mức sử dụng đĩa của thư mục test_dir
du -hs ~/project/test_dir

Ví dụ đầu ra:

12K     /home/labex/project/test_dir
12K     /home/labex/project/test_dir

Lệnh đầu tiên, du -h ~/project/test_dir, hiển thị mức sử dụng đĩa của mỗi tệp và thư mục con trong thư mục test_dir. Tùy chọn -h hiển thị kích thước ở định dạng dễ đọc.

Lệnh thứ hai, du -hs ~/project/test_dir, hiển thị tổng mức sử dụng đĩa của thư mục test_dir. Tùy chọn -s hiển thị kích thước tóm tắt (tổng) thay vì kích thước tệp/thư mục riêng lẻ.

Bạn cũng có thể sử dụng lệnh du để đo mức sử dụng đĩa của một thư mục và các thư mục con của nó một cách đệ quy:

## Hiển thị mức sử dụng đĩa của thư mục test_dir và các thư mục con của nó
du -h -d 1 ~/project/test_dir

Ví dụ đầu ra:

4.0K    /home/labex/project/test_dir/file1.txt
4.0K    /home/labex/project/test_dir/file2.txt
4.0K    /home/labex/project/test_dir/file3.txt
12K     /home/labex/project/test_dir
12K     /home/labex/project/test_dir

Tùy chọn -d 1 giới hạn độ sâu của cây thư mục ở mức 1, hiển thị mức sử dụng đĩa của thư mục test_dir và các tệp/thư mục con trực tiếp của nó.

Loại trừ các thư mục khỏi phép đo du

Trong bước này, bạn sẽ học cách loại trừ các thư mục cụ thể khỏi phép đo mức sử dụng đĩa của lệnh du.

Hãy tạo một cấu trúc thư mục mới để minh họa điều này:

mkdir -p ~/project/main_dir/subdir1 ~/project/main_dir/subdir2
touch ~/project/main_dir/subdir1/file1.txt ~/project/main_dir/subdir2/file2.txt

Bây giờ, hãy sử dụng lệnh du để đo mức sử dụng đĩa của thư mục main_dir, bao gồm cả các thư mục con của nó:

du -h -d 1 ~/project/main_dir

Ví dụ đầu ra:

4.0K    /home/labex/project/main_dir/subdir1
4.0K    /home/labex/project/main_dir/subdir2
8.0K    /home/labex/project/main_dir
8.0K    /home/labex/project/main_dir

Như bạn có thể thấy, lệnh du bao gồm mức sử dụng đĩa của các thư mục subdir1subdir2.

Nếu bạn muốn loại trừ các thư mục cụ thể khỏi phép đo du, bạn có thể sử dụng tùy chọn --exclude:

du -h -d 1 --exclude=subdir1 ~/project/main_dir

Ví dụ đầu ra:

4.0K    /home/labex/project/main_dir/subdir2
4.0K    /home/labex/project/main_dir
4.0K    /home/labex/project/main_dir

Trong ví dụ này, tùy chọn --exclude=subdir1 báo cho du loại trừ thư mục subdir1 khỏi phép đo mức sử dụng đĩa.

Bạn cũng có thể loại trừ nhiều thư mục bằng cách sử dụng tùy chọn --exclude nhiều lần:

du -h -d 1 --exclude=subdir1 --exclude=subdir2 ~/project/main_dir

Ví dụ đầu ra:

0   /home/labex/project/main_dir
0   /home/labex/project/main_dir

Trong trường hợp này, vì chúng ta đã loại trừ cả subdir1subdir2, nên tổng mức sử dụng đĩa của thư mục main_dir được báo cáo là 0.

Tóm tắt

Trong lab này, bạn đã tìm hiểu về lệnh du (disk usage) trong Linux, được sử dụng để ước tính mức sử dụng dung lượng đĩa và cung cấp thông tin về dung lượng đĩa bị chiếm bởi các tệp và thư mục. Bạn đã khám phá các tùy chọn du thường được sử dụng, chẳng hạn như -h cho đầu ra dễ đọc, -s để hiển thị tổng kích thước của một thư mục và -d để giới hạn độ sâu của cây thư mục. Sau đó, bạn đã thực hành sử dụng lệnh du để đo mức sử dụng đĩa của một thư mục cụ thể, cả cho chính thư mục đó và cho các tệp riêng lẻ bên trong nó.

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