Tạo cấu trúc thư mục trên Linux với lệnh mkdir [ví dụ cụ thể]

Bạn có muốn biết cách tạo ra một hệ thống thư mục tùy chỉnh, hoàn toàn phù hợp với nhu cầu của bạn? Với lệnh mkdir, bạn có thể xây dựng bất kỳ cấu trúc thư mục nào mà mình mong muốn. Hãy cùng khám phá!

Tương tự như các lệnh Linux khác, cú pháp của lệnh mkdir chủ yếu được chia thành hai nhóm - tùy chọnđối số:

$ mkdir [OPTIONS] ...   ...

Trong cú pháp trên, các ngoặc vuông ([]) đại diện cho các đối số tùy chọn trong khi các ngoặc nhọn () đại diện cho các đối số bắt buộc.

Sử dụng cơ bản của lệnh mkdir trong Linux

Như tên gọi, mkdir là viết tắt của "make directory". Điều tốt là nó chỉ tạo một thư mục nếu không có thư mục hoặc tệp tin cùng tên tồn tại tại đường dẫn được cung cấp. Điều này là một lệnh rất an toàn và không gây hại cho hệ thống.

Trong phần này, chúng ta sẽ xem cách sử dụng cơ bản của lệnh mkdir với các ví dụ.

1. Tạo một Thư mục trong Linux

Một trong những ứng dụng cơ bản của lệnh mkdir là tạo một thư mục có tên tại một đường dẫn cụ thể. Vì vậy, hãy tạo một thư mục có tên "rpm-distros" trong thư mục làm việc hiện tại:

$ mkdir rpm-distros

Bây giờ, sử dụng lệnh ls để xác nhận rằng thư mục đã được tạo:

$ ls -l

Trong ví dụ đầu tiên, chúng ta đã sử dụng đường dẫn tương đối với lệnh mkdir. Tuy nhiên, lệnh này cũng hỗ trợ đường dẫn tuyệt đối.

Chúng ta có thể sử dụng lệnh pwd hoặc biến môi trường pwd để tìm ra đường dẫn tuyệt đối của thư mục làm việc hiện tại.

Vì vậy, hãy tạo một thư mục có tên "deb-distros" trong thư mục làm việc hiện tại bằng cách sử dụng đường dẫn tuyệt đối:

$ mkdir $PWD/deb-distros

Bây giờ, xác nhận rằng thư mục mới đã được tạo trong thư mục làm việc hiện tại:

$ ls -l
Create Directory in Linux

2. Tạo nhiều Thư mục trong Linux

Lệnh mkdir chấp nhận nhiều đường dẫn như một đối số, cho phép chúng ta tạo nhiều thư mục cùng một lúc.

Hãy tạo ba thư mục bên trong thư mục "deb-distros" bằng một lệnh duy nhất:

$ mkdir deb-distros/kali deb-distros/mint deb-distros/ubuntu

Bây giờ, hãy liệt kê nội dung thư mục "deb-distros":

$ ls -l deb-distros

Như chúng ta có thể thấy, lệnh mkdir đã tạo thành công nhiều thư mục.

Create Mulitple Directories in Linux

3. Tạo nhiều Thư mục bằng cách Sử dụng Mở Rộng Dấu Ngoặc Nhọn

Trong ví dụ trước, chúng ta đã tạo nhiều thư mục bên trong một thư mục khác bằng một lệnh duy nhất. Tuy nhiên, cách tiếp cận đó không phải là cách hiệu quả nhất vì chúng ta đã chỉ định tên của thư mục gốc, tức là "deb-distros", với từng thư mục con.

Để khắc phục hạn chế này, chúng ta có thể chỉ định tên các thư mục con trong một mở rộng dấu ngoặc nhọn như được hiển thị trong ví dụ sau, trong đó chúng ta tạo ba thư mục con bên trong thư mục "rpm-distros":

$ mkdir rpm-distros/{alma,centos,fedora}

Ở đây, chúng ta cần lưu ý hai điểm quan trọng sau:

  • Không có khoảng trắng ở hai bên dấu phẩy (,).
  • Tính năng mở rộng dấu ngoặc nhọn chỉ có sẵn trong shell Bash nên cách tiếp cận này khá không di động.

Bây giờ, hãy xác nhận rằng cấu trúc thư mục cần thiết đã được tạo thành công:

$ ls -l rpm-distros
Create Multiple Directories Using Curly Braces

4. Tạo Cấu Trúc Thư Mục con Lồng Nhau

Trong các phần trước, chúng ta đã thấy cách tạo nhiều thư mục. Tuy nhiên, phương pháp đó không hoạt động nếu chúng ta muốn tạo một cấu trúc thư mục con lồng nhau. Trong trường hợp đó, chúng ta có thể sử dụng tùy chọn -p của lệnh để tạo thư mục cha nếu cần.

Hãy tạo một cấu trúc thư mục con lồng nhau:

$ mkdir -p rpm-distros/centos/8.x/8.1/8.1-1911

Bây giờ, hãy xác nhận nội dung của thư mục "rpm-distros/centos" theo cách đệ quy:

$ ls -1R rpm-distros/centos
Create Nested Sub-Directory Structure

Như chúng ta có thể thấy, lệnh đã tạo cấu trúc thư mục cần thiết mà không báo cáo lỗi cho các thư mục cha đã tồn tại. Tùy chọn này rất hữu ích khi viết các kịch bản shell. Chúng ta có thể sử dụng nó để ẩn lỗi tạo thư mục có thể xảy ra do thư mục đã tồn tại.

5. Tạo một Thư mục với Quyền Truy Cập

Đôi khi, chúng ta cần thay đổi quyền truy cập của thư mục ngay sau khi tạo nó. Trong trường hợp đó, chúng ta phải sử dụng hai lệnh - mkdir và chmod. Tuy nhiên, chúng ta có thể đạt được cùng một kết quả bằng một lệnh duy nhất.

Hãy sử dụng tùy chọn -m để đặt quyền truy cập vào một thư mục khi tạo nó:

$ mkdir -m 777 dir-1

Trong ví dụ này, chúng ta đã sử dụng định dạng số để đặt quyền truy cập. Một cách tương tự, chúng ta có thể sử dụng định dạng văn bản.

Ví dụ, chúng ta có thể đạt được cùng một kết quả bằng lệnh dưới đây:

$ mkdir -m a=rwx dir-2

Bây giờ, sử dụng lệnh ls để tìm hiểu quyền truy cập của các thư mục:

$ ls -ld dir-2 | awk '{print $1}'
Create Directory with Permission in Linux

6. Bật Chế Độ Chi Tiết với Lệnh mkdir

Mặc định, lệnh mkdir không in bất kỳ thông tin nào trên terminal sau khi tạo thư mục. Do đó, cho đến nay chúng ta đã sử dụng lệnh ls để xác nhận xem thư mục đã được tạo hay chưa.

Để khắc phục hạn chế này, chúng ta có thể sử dụng chế độ chi tiết của lệnh, in ra thông báo cho mỗi thư mục được tạo. Tùy chọn này cung cấp thông tin có ý nghĩa khi kết hợp với tùy chọn -p:

Hãy sử dụng tùy chọn -v với lệnh để bật chế độ chi tiết:

$ mkdir -p -v dir-1/dir-2/dir-3/dir-4/dir-5

Bây giờ, hãy quan sát kết quả của lệnh:

Create Directory with Verbose Mode

Trong bài viết này, chúng ta đã thấy cách sử dụng cơ bản của lệnh mkdir. Đầu tiên, chúng ta đã tìm hiểu cách tạo một thư mục đơn hoặc nhiều thư mục. Tiếp theo, chúng ta đã tìm hiểu cách đặt quyền truy cập cho một thư mục khi tạo nó. Cuối cùng, chúng ta đã thấy cách xác nhận việc tạo thư mục bằng chế độ chi tiết.