Liên hệProfile
Danh mục

Mục Lục

    Cách sử dụng lệnh mkdir trong Linux để quản lý thư mục hiệu quả

    Nguyễn Hưng

    Ngày đăng:

    14/01/2026

    Cập nhật lần cuối:

    14/01/2026

    Lượt xem:
    Chia sẻ
    Đánh giá
    5/5 - (1 bình chọn)

    Nguyễn Hưng

    Lượt xem:
    Ngày đăng:

    14/01/2026

    Cập nhật lần cuối:

    14/01/2026

    Mục lục

    Lệnh mkdir là lệnh dùng để tạo thư mục mới trong hệ thống file trên Linux/Unix. Đây là công cụ cơ bản để xây dựng và tổ chức cấu trúc thư mục, đặc biệt quan trọng trong các script cài đặt, deploy và tự động hóa. Trong bài viết này, mình sẽ hướng dẫn cách sử dụng lệnh mkdir để tối ưu hóa quy trình vận hành và tự động hóa thao tác tạo thư mục hiệu quả.

    Những điểm chính

    • Khái niệm: Hiểu rõ mkdir là lệnh dùng để tạo thư mục mới.
    • Lợi ích: Nắm được các lợi ích chính như tối ưu hóa quy trình, đảm bảo tính ổn định cho script và tăng cường bảo mật.
    • Các tùy chọn của lệnh mkdir: Có được một bảng tra cứu nhanh các tùy chọn quan trọng, giúp bạn tùy chỉnh việc tạo thư mục một cách linh hoạt.
    • Cách tối ưu khi dùng trong script: Biết được tổ hợp lệnh mkdir -pv là giải pháp tối ưu để tạo thư mục trong các script tự động hóa.
    • Các ứng dụng thực tế: Thành thạo cách sử dụng lệnh mkdir trong các tình huống thực tế, từ tạo thư mục cơ bản, phân cấp, đến thiết lập quyền và tạo hàng loạt.
    • Hướng dẫn chuẩn hóa môi trường Deploy: Học cách sử dụng tổ hợp mkdir -pv -m để chuẩn hóa và bảo mật môi trường triển khai ứng dụng.
    • Lưu ý: Nắm được các lưu ý quan trọng để sử dụng mkdir một cách an toàn và hiệu quả, tránh các lỗi phổ biến liên quan đến quyền hạn và ký tự đặc biệt.
    • Câu hỏi thường gặp: Giải đáp các thắc mắc liên quan đến lệnh mkdir trong Linux.

    Lệnh mkdir là gì?

    Lệnh mkdir (viết tắt của make directory) trong Linux được dùng để tạo mới một hoặc nhiều thư mục trong hệ thống file của hệ điều hành. Lệnh này hoạt động trong giao diện dòng lệnh và cho phép tạo các thư mục rỗng cũng như đặt quyền truy cập cho chúng ngay tại thời điểm tạo.

    Để sử dụng lệnh mkdir, người dùng phải có quyền tạo thư mục trong thư mục cha, nếu không sẽ nhận được thông báo lỗi “permission denied”. Cú pháp lệnh mkdir như sau:

    mkdir [TÙY_CHỌN] TÊN_THƯ_MỤC

    Trong đó:

    • mkdir: Là lệnh chính được sử dụng để tạo thư mục.
    • [TÙY_CHỌN]: Là các tùy chọn bổ sung để điều chỉnh hành động của lệnh.
    • TÊN_THƯ_MỤC: Là tên của thư mục bạn muốn tạo, có thể là một hoặc nhiều tên.
    Lệnh mkdir là một lệnh quan trọng trong Linux, viết tắt của make directory
    Lệnh mkdir là một lệnh quan trọng trong Linux, viết tắt của make directory

    Những lợi ích khi sử dụng lệnh mkdir

    Dưới đây là các lợi ích chính khi sử dụng lệnh mkdir trong quản trị hệ thống Linux:

    • Tối ưu hóa quy trình khởi tạo: Sử dụng tùy chọn -p cho phép bạn xây dựng toàn bộ cấu trúc thư mục phân cấp sâu nhanh chóng trong một câu lệnh duy nhất.
    • Đảm bảo tính ổn định cho Script: Các file lệnh tự động hóa hoạt động liên tục mà không bị lỗi gián đoạn do thư mục đích đã tồn tại trước đó.
    • Tăng cường bảo mật: Hệ thống cho phép bạn thiết lập chính xác quyền truy cập ngay tại thời điểm khởi tạo thông qua tham số -m, loại bỏ rủi ro bảo mật giữa các bước cấu hình.
    • Nâng cao hiệu suất thao tác: Bạn có thể tạo hàng loạt thư mục cùng cấp hoặc theo mẫu phức tạp một cách nhanh chóng bằng cách kết hợp với tính năng mở rộng của Shell.
    • Hỗ trợ giám sát và kiểm toán: Quy trình vận hành trở nên minh bạch hơn khi bạn sử dụng chế độ -v để ghi lại nhật ký chính xác các thư mục vừa được tạo thành công.
    Những lợi ích khi sử dụng lệnh mkdir
    Những lợi ích khi sử dụng lệnh mkdir

    Các tùy chọn của lệnh mkdir

    Tùy chọnChức năng kỹ thuậtVí dụ minh họa
    -pParents: Tạo thư mục đệ quy (nested), bao gồm cả thư mục cha nếu chưa có.mkdir -p /home/user/project/src
    -vVerbose: Hiển thị chi tiết quá trình tạo thư mục ra màn hình (stdout).mkdir -v logs
    -mMode: Thiết lập quyền truy cập (permissions) ngay thời điểm tạo (tương tự chmod).mkdir -m 755 backup
    –helpHiển thị tài liệu hướng dẫn nhanh.mkdir --help
    –versionKiểm tra phiên bản của tiện ích.mkdir --version

    Cách tối ưu khi dùng mkdir trong script

    Để đảm bảo tính ổn định cho các script cài đặt hoặc triển khai, bạn nên ưu tiên sử dụng tổ hợp tùy chọn thay vì gọi lệnh mkdir mặc định. Cú pháp như sau:

    mkdir -pv /path/to/new/folder

    Trong đó:

    • -p (Parents): Tự động tạo toàn bộ các thư mục cha còn thiếu trong đường dẫn và không báo lỗi nếu thư mục đích đã tồn tại, giúp script mang tính idempotent và không bị gián đoạn.
    • -v (Verbose): Hiển thị thông báo xác nhận cho từng thư mục được tạo, hỗ trợ quá trình debug và ghi log trong môi trường vận hành thực tế.

    1. Tạo thư mục cơ bản

    Để tạo một thư mục đơn lẻ, bạn thực hiện lệnh sau:

    mkdir my_folder
    Tạo thư mục cơ bản
    Tạo thư mục cơ bản

    Lưu ý

    Lệnh sẽ báo lỗi nếu tên thư mục đã được sử dụng.

    2. Tạo cấu trúc thư mục phân cấp

    Thay vì phải dùng lệnh cd để di chuyển và tạo từng cấp, bạn sử dụng tùy chọn -p để xây dựng đường dẫn trong một lệnh duy nhất. Cú pháp như sau:

    mkdir -p project/src/components
    Tạo cấu trúc thư mục phân cấp
    Tạo cấu trúc thư mục phân cấp

    3. Tạo thư mục và hiển thị tên

    Bạn sử dụng tùy chọn -v để nhận phản hồi trực quan, xác nhận rằng thư mục đã được tạo thành công. Cú pháp như sau:

    mkdir -v logs

    Kết quả sẽ hiển thị thông báo: mkdir: created directory 'logs'

    Giám sát quá trình thực thi
    Giám sát quá trình thực thi

    4. Thiết lập bảo mật ngay từ đầu

    Lệnh mkdir -m 750 private_data dùng để tạo thư mục private_data và đồng thời thiết lập quyền truy cập ngay tại thời điểm tạo. Bạn dùng lệnh sau để thực hiện:

    mkdir -m 750 private_data

    Ý nghĩa quyền 750:

    • Chủ sở hữu (owner): Có toàn quyền đọc, ghi, thực thi (7).​
    • Nhóm (group): Có quyền đọc và thực thi, không được ghi (5).​
    • Người khác (others): Không có bất kỳ quyền truy cập nào (0).​
    Tạo thư mục private_data và đồng thời thiết lập quyền truy cập
    Tạo thư mục private_data và đồng thời thiết lập quyền truy cập

    Lệnh trên sẽ đảm bảo thư mục chứa dữ liệu quan trọng được bảo vệ đúng quyền ngay từ đầu, không cần chạy chmod thêm bước sau đó.​ Ngoài ra, lệnh cũng giúp giảm rủi ro cấu hình sai permission trong các hệ thống lưu trữ như private_data, đặc biệt hữu ích trong môi trường Production.​

    5. Tạo hàng loạt thư mục

    Lệnh sau dùng để tạo hàng loạt thư mục con input, output, temp bên trong thư mục data:

    mkdir -p data/{input,output,temp}
    Tạo hàng loạt thư mục
    Tạo hàng loạt thư mục

    6. Tích hợp với date để tạo folder theo ngày

    Lệnh dưới đây dùng để tạo thư mục backup mới theo ngày hiện tại:

    mkdir -p backups/$(date +%Y-%m-%d)
    Tự động hóa Backup theo thời gian
    Tự động hóa Backup theo thời gian

    Cụ thể:

    • -p: Tự động tạo thư mục backups nếu chưa tồn tại và không báo lỗi nếu đã có.​
    • $(date +%Y-%m-%d): Sinh chuỗi ngày theo định dạng YYYY-MM-DD, dùng làm tên thư mục con.​

    Lệnh trên thường được ứng dụng cho các cron job backup tự động hằng ngày, giúp tổ chức dữ liệu sao lưu theo từng ngày, dễ quản lý và khôi phục.

    7. Kết hợp với lệnh find

    Để tìm tất cả các thư mục có tên bắt đầu bằng module rồi tự động tạo thư mục backup tương ứng cho mỗi thư mục đó, bạn thực thi lệnh sau:

    find . -type d -name "module*" -exec mkdir -p {}_backup \;
    Tìm tất cả các thư mục có tên bắt đầu bằng module
    Tìm tất cả các thư mục có tên bắt đầu bằng module

    Hướng dẫn chuẩn hóa môi trường deploy

    Để nâng cao tính ổn định và bảo mật cho các script triển khai ứng dụng, bạn thực thi lệnh sau:

    mkdir -pv -m 750 /var/www/project/{logs,tmp}

    Trong đó:

    • -p: Đảm bảo lệnh không bị thất bại khi /var/www/project chưa tồn tại hoặc các thư mục đích đã có sẵn, giúp script triển khai giữ được tính ổn định.​
    • -v: Ghi lại thông tin chi tiết về các thư mục được tạo, hỗ trợ việc kiểm tra và truy vết khi cần.​
    • -m 750: Thiết lập quyền chặt chẽ cho logs và tmp ngay từ thời điểm tạo, chỉ cho phép owner toàn quyền, group truy cập hạn chế và chặn hoàn toàn các user khác, tăng cường bảo mật cho môi trường deploy.​

    Những lưu ý khi sử dụng lệnh mkdir

    Dưới đây là các lưu ý quan trọng khi sử dụng lệnh mkdir trong quản trị hệ thống Linux:

    • Giới hạn tài nguyên Inode: Lệnh mkdir sẽ thất bại nếu phân vùng đĩa cứng đã cạn kiệt số lượng Inode cho phép, ngay cả khi dung lượng lưu trữ vẫn còn trống.
    • Kiểm soát quyền truy cập mặc định: Bạn cần lưu ý rằng quyền hạn của thư mục mới sẽ phụ thuộc vào giá trị umask hiện tại của hệ thống nếu không sử dụng tùy chọn -m để thiết lập cụ thể.
    • Xử lý xung đột định danh: Hệ thống sẽ báo lỗi và từ chối tạo thư mục nếu tại vị trí đích đã tồn tại một tập tin (file) thường có cùng tên gọi.
    • Tuân thủ quy tắc đặt tên: Các tập lệnh có thể gặp lỗi cú pháp nghiêm trọng nếu tên thư mục chứa khoảng trắng hoặc ký tự đặc biệt mà không được bao bọc bởi dấu ngoặc kép hoặc ký tự thoát (\).
    • Đảm bảo tính liên tục: Việc thiếu tùy chọn -p trong các script tự động hóa sẽ khiến quy trình bị ngắt quãng với lỗi “File exists” nếu thư mục đích đã được tạo từ lần chạy trước đó.
    Lệnh mkdir sẽ thất bại nếu phân vùng đĩa cứng đã cạn kiệt số lượng Inode cho phép
    Lệnh mkdir sẽ thất bại nếu phân vùng đĩa cứng đã cạn kiệt số lượng Inode cho phép (Nguồn: Internet)

    Câu hỏi thường gặp

    Khi sử dụng lệnh mkdir -p -m 777 project/logs, các thư mục cha có nhận quyền 777 không?

    Câu trả lời là không. Tùy chọn -m chỉ áp dụng quyền truy cập cho thư mục cuối cùng trong chuỗi đường dẫn. Các thư mục cha trung gian được tạo ra bởi tùy chọn -p sẽ nhận quyền mặc định dựa trên thiết lập umask của hệ thống (thường là 755 hoặc 775).

    Tại sao lệnh mkdir data lại báo lỗi “File exists” dù tôi kiểm tra chưa có thư mục nào tên là “data”?

    Trong hệ điều hành Linux, mọi tập tin, thư mục, thiết bị,… đều được quản lý dưới dạng file. Nếu trong thư mục hiện tại đã tồn tại một tập tin có tên là “data”, hệ thống sẽ ngăn chặn việc tạo một thư mục trùng tên để đảm bảo tính duy nhất của định danh.

    Làm thế nào để tạo một thư mục có tên chứa khoảng trắng bằng mkdir?

    Hệ thống Shell mặc định coi khoảng trắng là ký tự phân tách các đối số. Để tạo thư mục có tên chứa khoảng trắng, bạn cần đặt tên trong dấu ngoặc kép hoặc sử dụng ký tự thoát:
    Cách 1: mkdir “New Folder”
    Cách 2: mkdir New\ Folder

    Tóm lại, lệnh mkdir là công cụ nền tảng giúp bạn chủ động tạo và tổ chức cấu trúc thư mục một cách khoa học trên Linux. Khi nắm vững các tùy chọn như tạo nhiều thư mục cùng lúc, tạo thư mục lồng nhau hay gán quyền truy cập phù hợp, bạn sẽ quản lý dữ liệu gọn gàng hơn và hạn chế lỗi trong quá trình vận hành hệ thống. Hy vọng qua bài viết này, mình đã giúp bạn hiểu và áp dụng lệnh mkdir hiệu quả hơn trong công việc cũng như học tập hằng ngày.

    5/5 - (1 bình chọn)
    Nguyễn Hưng
    Tôi là Nguyễn Hưng hay còn được biết đến với nickname là Bo, chuyên gia về hệ thống, mạng và bảo mật. Tôi là Co-Founder của Vietnix và Co-Founder của dự án Chống Lừa Đảo.
    0 0 đánh giá
    Đánh giá bài viết
    Theo dõi
    Thông báo của
    guest
    0 Góp ý
    Cũ nhất
    Mới nhất Được bỏ phiếu nhiều nhất
    Phản hồi nội tuyến
    Xem tất cả bình luận

    BÀI VIẾT LIÊN QUAN

    Ltrace là gì? Phân tích Dynamic Library Calls với ltrace trên Ubuntu
    Ltrace là gì? Phân tích Dynamic Library Calls với ltrace trên Ubuntu

    Trong những lần xử lý sự cố phần mềm mà các tệp log không hiển thị rõ nguyên nhân, mình thường sử dụng ltrace để soi xét chính xác những gì đang diễn ra giữa ứng dụng và các thư viện chia sẻ. Việc quan sát trực tiếp các hàm được gọi trong thời gian…

    25/04/2026

    Lệnh rsync trong Linux là gì? Cách cài đặt, sử dụng rsync và ví dụ thực tế
    Lệnh rsync trong Linux là gì? Cách cài đặt, sử dụng rsync và ví dụ thực tế

    Việc thiết lập các kịch bản backup tự động sẽ trở nên vô cùng rủi ro nếu bạn không hiểu rõ cách vận hành của rsync, công cụ mà mình tin dùng trong suốt nhiều năm qua để duy trì sự ổn định cho hạ tầng cloud. Từ kinh nghiệm trực tiếp cấu hình các…

    25/04/2026

    unzip Linux là gì? Đặc điểm, chức dẫn và hướng dẫn sử dụng lệnh unzip trong Linux
    unzip Linux là gì? Đặc điểm, chức dẫn và hướng dẫn sử dụng lệnh unzip trong Linux

    Trong quá trình triển khai các dự án website cho khách hàng, việc giải nén nhanh các bộ mã nguồn đồ sộ trực tiếp trên Terminal bằng lệnh unzip đã giúp mình tiết kiệm đến 80% thời gian so với việc tải lên từng file thủ công. Những tham số như giải nén đè file…

    25/04/2026

    Lệnh gunzip trên Linux là gì? Đặc điểm và cách sử dụng lệnh gunzip
    Lệnh gunzip trên Linux là gì? Đặc điểm và cách sử dụng lệnh gunzip

    Khi triển khai các dự án tối ưu hạ tầng cho website, việc thao tác trực tiếp với các tệp tin backup nén qua gunzip đã trở thành một phần không thể thiếu. Sự ổn định và tốc độ của lệnh này là lý do vì sao dù có nhiều công cụ mới ra đời,…

    25/04/2026

    linux

    lenh

    text