Cd (lệnh)

cd, có tên khác là chdir (viết tắt từ chữ change directory), là một lệnh giao diện dòng lệnh dùng để thay đổi thư mục làm việc trong các hệ điều hành như Unix, DOS, OS/2 và Windows. Nó cũng có trong kịch bản shell và tập tin bó.

chdir(2) là một system call làm thay đổi thư mục làm việc, được định nghĩa bởi POSIX. CHDIR() cũng có trong tập hàm của Visual Basic với chức năng tương tự.

Sử dụng 
Một thư mục là một vùng luận lý trên hệ thống file dùng để chứa file. Thư mục có thể chứa bên trong nhiều thư mục con. Lệnh cd có thể dùng để chuyển đến thư mục con, trở về thư mục cha, trở về thư mục gốc, hay có thể đến bất kỳ thư mục nào.

Giả sử có một cấu trúc thư mục trên hệ thống file Unix gồm có thư mục nhà của người dùng (biểu diễn bằng ký hiệu "~") chứa 1 file ("text.txt") và 3 thư mục con.

Nếu thư mục hiện tại là thư mục nhà ("~"), thì khi nhập lệnh ls, sau đó đến lệnh cd games có thể sẽ cho ra kết quả:

 user@wikipedia:~$ ls
 workreports games encyclopedia text.txt
 user@wikipedia:~$ cd games
 user@wikipedia:~/games$

Tương tự như vậy cho DOS (có thể khái niệm "thư mục nhà" không tồn tại, tùy thuộc vào phiên bản cụ thể) có thể cho kết quả:

 C:\> dir
 workreports <DIR> Wed Oct 9th 9:01
 games  <DIR> Tue Oct 8th 14:32
 encyclopedia <DIR> Mon Oct 1st 10:05
 text txt  2007 Thu Oct10th 12:43
 C:\> cd games
 C:\games>

Chú ý rằng lệnh cd sẽ thực hiện các tác vụ khác nhau trên các hệ điều hành khác nhau nếu như không cung cấp tham số. Thí dụ, nếu thực thi không có tham số trên DOS, OS/2 hoặc Windows, lệnh sẽ in ra thư mục làm việc. Nếu chạy trên Unix hoặc hệ điều hành tựa Unix, người dùng sẽ được chuyển đến thư mục nhà của mình.

Trong DOS, khi thực thi lệnh cd trong tập tin bó, thư mục làm việc của người gọi sẽ bị thay đổi theo. Trong Unix, thư mục làm việc không bị thay đổi vì các script thường thực thi trong một shell khác.

Các tham số

Cách hoạt động

Tham khảo 

 Bài viết của Microsoft TechNet về Chdir (Cd)
 Trang hướng dẫn lệnh cd

Xem thêm 

Tương thích DOS và IBM PC
Quản trị Windows
Tiện ích Unix SUS2008