Liên hệProfile
Danh mục

Mục Lục

    Hướng dẫn đổi thư mục bằng lệnh cd trong linux nhanh chóng, chi tiết

    Nguyễn Hưng

    Ngày đăng:

    06/01/2026

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

    06/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:

    06/01/2026

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

    06/01/2026

    Mục lục

    Lệnh cd trong Linux có nhiệm vụ chính là giúp bạn di chuyển từ thư mục làm việc hiện tại sang một thư mục khác trong hệ thống. Trong bài viết dưới đây, mình sẽ hướng dẫn bạn cách sử dụng lệnh cd hiệu quả, từ các lối tắt cơ bản cho đến các thủ thuật nâng cao một cách dễ hiểu và nhanh chóng.

    Những điểm chính

    • Định nghĩa lệnh cd: Hiểu rõ lệnh cd dùng để thay đổi thư mục làm việc hiện tại, cú pháp cơ bản và sự khác biệt giữa đường dẫn tuyệt đối và tương đối.
    • Các lối tắt cơ bản: Nắm vững các thủ thuật sử dụng cd hiệu quả như quay lại thư mục trước đó (cd -), trở về thư mục home (cd), và xử lý tên thư mục có dấu cách.
    • Các thủ thuật nâng cao: Khám phá các công cụ và tùy chọn nâng cao như pushd/popd để quản lý nhiều thư mục, tự động hóa với function mkdircd, và làm việc với symbolic link.
    • Giải đáp thắc mắc (FAQ): Có được câu trả lời cho các câu hỏi thực tế về lỗi “Permission denied”, sự khác biệt với lệnh ls, và cách tạo lối tắt cho các thư mục thường dùng.

    Lệnh cd Linux là gì?

    cd là viết tắt của “Change Directory” (Thay đổi thư mục).  Nhiệm vụ chính của lệnh cd là thay đổi thư mục làm việc hiện tại của bạn trong cây thư mục của hệ thống. Nói một cách đơn giản, lệnh cd cho phép bạn di chuyển từ thư mục này sang thư mục khác, tương đương với việc bạn dùng chuột để click đúp vào các thư mục trong giao diện đồ họa (GUI) của Windows Explorer hay Finder trên macOS.

    Nhiệm vụ của lệnh cd là thay đổi thư mục làm việc hiện tại của bạn trong cây thư mục của hệ thống.
    Nhiệm vụ của lệnh cd là thay đổi thư mục làm việc hiện tại của bạn trong cây thư mục của hệ thống.

    Cú pháp của lệnh cd như sau:

    cd [ĐƯỜNG_DẪN_TỚI_THƯ_MỤC]

    Trong đó, [ĐƯỜNG_DẪN_TỚI_THƯ_MỤC] là nơi bạn muốn di chuyển đến.

    Hiểu rõ đường dẫn tuyệt đối và tương đối

    • Đường dẫn tuyệt đối (Absolute Path): Là một chỉ dẫn đầy đủ và chính xác để đi từ thư mục gốc đến một tệp hoặc thư mục cụ thể, được ký hiệu là dấu gạch chéo /.
      • Ví dụ: cd /var/log/nginx
    • Đường dẫn tương đối (Relative Path): Đường dẫn này không bắt đầu bằng dấu /, chỉ đường đi dựa trên vị trí hiện tại của bạn, hướng đi này chỉ có ý nghĩa khi biết điểm xuất phát.
      • Ví dụ: Nếu bạn đang ở trong thư mục /var/log, lệnh cd nginx sẽ đưa bạn đến /var/log/nginx. Nhưng nếu bạn đang ở /etc, lệnh cd nginx sẽ cố gắng tìm thư mục /etc/nginx.
    Đường dẫn tuyệt đối và tương đối
    Đường dẫn tuyệt đối và tương đối (Nguồn: Internet)

    Hướng dẫn dùng lệnh cd từ cơ bản đến nâng cao

    Các lối tắt cơ bản khi sử dụng lệnh cd trong Linux

    Đây là những thủ thuật giúp tiết kiệm thời gian gõ phím hàng ngày.

    1. Quay lại thư mục vừa di chuyển

    Ví dụ, bạn đang làm việc trong thư mục /etc/nginx và vừa cd sang /var/log để kiểm tra file log, để quay lại thư mục /etc/nginx một cách nhanh nhất, bạn hãy chạy lệnh sau:

    cd -
    Quay lại thư mục /etc/nginx
    Quay lại thư mục /etc/nginx

    Lệnh cd - sẽ đưa bạn ngay lập tức về thư mục làm việc ngay trước đó, giống như nút “Back” trên trình duyệt web, giúp bạn dễ dàng chuyển đổi qua lại giữa hai thư mục.

    2. Quay về thư mục home

    Để di chuyển về thư mục home, thay vì gõ cd /home/username, bạn có thể dùng các cách sau:

    # Cách 1: Dùng dấu ngã
    cd ~
    Di chuyển về thư mục home bằng cách dùng dấu ngã
    Di chuyển về thư mục home bằng cách dùng dấu ngã
    # Cách 2: Dùng biến môi trường
    cd $HOME
    Dùng biến môi trường để quay về thư mục home
    Dùng biến môi trường để quay về thư mục home
    # Cách 3: Nhanh và gọn nhất
    cd
    Quay về thư mục home nhanh nhất bằng lệnh cd
    Quay về thư mục home nhanh nhất bằng lệnh cd

    3. Di chuyển lên thư mục cha

    Để di chuyển lên thư mục cha, bạn sử dụng .., ngoài ra, bạn có thể kết hợp chúng để đi lên nhiều cấp cùng lúc:

    # Di chuyển lên 1 cấp
    cd ..
    Di chuyển lên 1 cấp
    Di chuyển lên 1 cấp
    # Di chuyển lên 2 cấp (ví dụ: từ /var/log/nginx lên /var)
    cd ../..
    Di chuyển lên 2 cấp
    Di chuyển lên 2 cấp

    4. Xử lý tên thư mục có dấu cách và ký tự đặc biệt

    Khi cần di chuyển vào một thư mục có tên chứa dấu cách, ví dụ “My Documents”. Nếu bạn gõ cd My Documents, shell sẽ báo lỗi vì nó hiểu bạn đang cố cd vào thư mục “My” và “Documents” là một tham số khác. Để xử lý trường hợp này, bạn có thể ứng dụng một trong hai cách sau đây:

    • Sử dụng dấu ngoặc kép (""): Là cách làm được khuyến khích vì an toàn và dễ đọc, bạn chỉ cần bọc toàn bộ đường dẫn trong dấu ngoặc kép:
    cd "/media/data/My Documents"
    Sử dụng dấu ngoặc kép để xử lý tên thư mục có ký tự lạ
    Sử dụng dấu ngoặc kép để xử lý tên thư mục có ký tự lạ
    • Sử dụng ký tự thoát (\): Bạn hãy đặt một dấu gạch chéo ngược (\) ngay trước mỗi ký tự đặc biệt (như dấu cách) để báo cho shell biết rằng “đây không phải là ký tự phân tách”.
    cd /media/data/My\ Documents

    Các thủ thuật nâng cao khi sử dụng lệnh cd trong Linux

    1. Dịch chuyển tức thời với pushd và popd

    Nếu cd - là nút “Back”, thì pushdpopd giống như việc bạn mở nhiều tab và chuyển qua lại giữa chúng. Các lệnh này có nhiệm vụ là quản lý danh sách các thư mục đã được lưu:

    • pushd [thư mục]: Lưu thư mục hiện tại vào danh sách thư mục, sau đó chuyển đến [thư mục] mới.
    • popd: Lấy thư mục được lưu gần nhất ra khỏi danh sách và đưa bạn quay trở về đó.
    • dirs -v: Xem danh sách các thư mục đang được lưu.

    Ví dụ thực tế:

    $ pwd
    /root
    
    $ pushd /var/log # Đẩy /root vào stack, chuyển tới /var/log
    $ pushd /etc/nginx # Đẩy /var/log vào stack, chuyển tới /etc/nginx
    
    $ dirs -v # Xem stack: 0:/etc/nginx, 1:/var/log, 2:/root
    
    $ popd # Quay về /var/log
    $ popd # Quay về /root
    Dịch chuyển tức thời với pushd và popd
    Dịch chuyển tức thời với pushd và popd

     Thủ thuật trên rất hiệu quả để bạn làm việc với nhiều thư mục khác nhau mà không bị mất dấu.

    2. Dùng mkdircd để vừa tạo thư mục, vừa di chuyển vào

    Nếu bạn thường xuyên chạy mkdir new-project rồi ngay sau đó gõ cd new-project thì hãy tự động hóa quy trình này bằng một function đơn giản trong Bash. Để thực hiện, bạn thêm hàm sau vào cuối file ~/.bashrc:

    function mkdircd() {
        mkdir -p "$@" && cd "$_";
    }

    Bạn áp dụng thay đổi bằng lệnh source ~/.bashrc hoặc mở lại terminal.

    Từ giờ, thay vì 2 lệnh, bạn chỉ cần thực hiện 1 lệnh như sau:

    # Lệnh này sẽ tạo cây thư mục và đưa bạn vào thư mục cuối cùng (/tmp/.../test4)
    mkdircd /tmp/test1/test2/test3/test4

    Giải thích:

    • mkdir -p "$@" tạo thư mục (với -p để tạo cả thư mục cha nếu cần).
    • && đảm bảo lệnh cd chỉ chạy khi mkdir thành công.
    • cd "$_" với $_ là một biến đặc biệt trong Bash, chứa tham số cuối cùng của lệnh trước đó (chính là đường dẫn bạn vừa tạo).

    3. Làm việc với Symbolic Link qua tùy chọn -P-L

    Giả sử bạn có một liên kết /www trỏ đến thư mục thật là /var/www/html/latest.

    • cd -L [thư mục] (Logical – Mặc định): Khi bạn cd -L /www, bạn sẽ di chuyển vào thư mục liên kết. Khi gõ pwd, kết quả sẽ là /www. Đây là hành vi mặc định, giúp giữ nguyên bối cảnh logic mà bạn đang làm việc.
    • cd -P [thư mục] (Physical): Khi bạn cd -P /www, shell sẽ đi theo liên kết và đưa bạn thẳng đến thư mục vật lý (thư mục gốc). Khi gõ pwd sau đó, kết quả sẽ là /var/www/html/latest. Tùy chọn này rất hữu ích khi bạn cần biết vị trí thật sự của một thư mục trên đĩa để debug hoặc quản lý file.

    4. Tùy chỉnh shell để tối ưu hóa

    Để shell tự động cd khi bạn gõ tên thư mục, bạn thêm dòng sau vào ~/.bashrc

    shopt -s autocd

    Sau khi áp dụng, bạn có thể gõ /etc/nginx và nhấn Enter, shell sẽ tự hiểu và thực hiện lệnh cd /etc/nginx.

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

    Tại sao xuất hiện lỗi Permission denied khi cd vào một thư mục?

    Lỗi “Permission denied” (Quyền bị từ chối) xảy ra khi tài khoản người dùng của bạn không có quyền thực thi (execute) đối với thư mục đó. Bạn có thể kiểm tra quyền của thư mục bằng lệnh ls -ld [tên_thư_mục]. Nếu bạn không thấy ký tự x trong nhóm quyền của mình, bạn sẽ không thể cd vào đó.

    Khi nào nên dùng pushd/popd thay vì chỉ dùng cd -?

    cd - rất hữu ích khi bạn chỉ cần chuyển đổi qua lại giữa hai thư mục. Tuy nhiên, pushd/popd sẽ giúp bạn chuyển đổi thường xuyên giữa ba hoặc nhiều hơn ba thư mục khác nhau. Ví dụ, bạn đang sửa một file cấu hình trong /etc/nginx, cần xem log trong /var/log, và sau đó cần kiểm tra mã nguồn trong /home/user/project. pushd sẽ giúp bạn chồng các vị trí này lên nhau và di chuyển giữa chúng một cách tuần tự mà không bị mất dấu.

    Lệnh cd trên Linux có tương tự với lệnh nào trên Windows không?

    Câu trả lời là Có. Cả Command Prompt (CMD) và PowerShell của Windows đều sử dụng lệnh cd với chức năng và cú pháp gần như tương đồng với Linux.

    Có thể tạo lối tắt cho các thư mục thường xuyên truy cập không?

    Hoàn toàn có thể. Bạn hãy tạo một “alias” (bí danh) trong file cấu hình ~/.bashrc của mình.
    Ví dụ, để tạo một lệnh cdn giúp bạn di chuyển nhanh đến thư mục cấu hình Nginx, hãy thêm dòng sau vào cuối file ~/.bashrc:
    alias cdn="cd /etc/nginx/sites-available"
    Sau khi lưu file, hãy chạy lệnh source ~/.bashrc hoặc mở lại terminal. Từ giờ, bạn chỉ cần gõ cdn và nhấn Enter là sẽ được đưa ngay đến thư mục đó.

    Lệnh cd Linux tuy đơn giản nhưng lại ẩn chứa nhiều thủ thuật mạnh mẽ. Bằng cách kết hợp các lối tắt, các lệnh nâng cao như pushd/popd, và các tùy chỉnh shell thông minh, bạn có thể giảm thiểu đáng kể thao tác gõ phím và biến việc điều hướng trên terminal trở nên nhanh chóng.

    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

    Các lệnh tìm file trong Linux mới tạo hoặc mới chỉnh sửa gần đây
    Các lệnh tìm file trong Linux mới tạo hoặc mới chỉnh sửa gần đây

    Các lệnh tìm file trong Linux sẽ liệt kê các file vừa được tạo hoặc thay đổi từ đầu ngày đến thời điểm hiện tại, thường được ứng dụng cho thao tác kiểm tra hoặc tự động hóa trên Linux. Trong bài viết này, mình sẽ giới thiệu hai phương pháp hiệu quả và phổ…

    16/01/2026

    Enterprise Cloud là gì? Những tính năng và lợi ích khi sử dụng Enterprise Cloud cho doanh nghiệp
    Enterprise Cloud là gì? Những tính năng và lợi ích khi sử dụng Enterprise Cloud cho doanh nghiệp

    Enterprise Cloud là mô hình hạ tầng điện toán đám mây được thiết kế riêng cho doanh nghiệp, kết hợp độ linh hoạt của đám mây công cộng với mức độ kiểm soát, bảo mật và tùy biến giống hạ tầng riêng. Trong bài viết dưới đây, mình sẽ cùng bạn tìm hiểu về khái…

    16/01/2026

    Tổng hợp thông tin về Amazon S3 và những lợi ích khi sử dụng
    Tổng hợp thông tin về Amazon S3 và những lợi ích khi sử dụng

    S3 là dịch vụ lưu trữ đối tượng trên đám mây của Amazon, có tên đầy đủ là Amazon Simple Storage Service (Amazon S3). Dịch vụ này cho phép lưu trữ, truy xuất dữ liệu qua Internet với khả năng mở rộng rất lớn, độ sẵn sàng và bảo mật cao. Trong bài viết này,…

    16/01/2026

    Cách sử dụng lệnh mkdir để quản lý thư mục và tự động hóa hiệu quả
    Cách sử dụng lệnh mkdir để quản lý thư mục và tự động hóa hiệu quả

    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…

    14/01/2026