Lệnh cd trong Linux được sử dụng để thay đổi thư mục làm việc hiện tại (tức là thư mục đang được người dùng hiện tại làm việc). “cd” viết tắt của ‘change directory’ (thay đổi thư mục). Đây là một trong những lệnh được sử dụng thường xuyên nhất trong terminal của Linux.
Cú pháp:
cd <dirname>
Đây là một trong những lệnh quan trọng và phổ biến nhất trong hệ thống Linux và sẽ được sử dụng lặp đi lặp lại. Với sự trợ giúp của lệnh này, chúng ta có thể di chuyển trong tất cả các thư mục trên hệ thống. Chúng ta có thể đi đến thư mục trước đó hoặc đến thư mục kế tiếp hoặc bất kỳ đâu.
Thực hiện lệnh cd Command
Lệnh được thực hiện trên nhiều hệ điều hành như AmigaOS, MetaComCo TRIPOS, IBM OS/2, DOS, Unix, Linux, ReactOS và Microsoft Windows. Nó có sẵn trong hai phiên bản trở lên trên MS-DOS. Bên cạnh đó, DR DOS 6.0 chứa một phiên bản của các lệnh chdir và cd. Ngoài ra, lệnh này có trong trình giả lập MS-DOS nguồn mở DOSbox và EFI shell. Trong HP MPE/iX, nó có tên là chdir. Lệnh này tương đương với lệnh change_current_dir của Stratus OpenVOS.
- Lệnh cd thường được tích hợp trực tiếp vào trình thông dịch dòng lệnh.
- Điều này xảy ra ở hầu hết các Unix shell (Bash, Bourne shell, tcsh, v.v.), Windows PowerShell trên Windows 7+, cmd.exe trên Microsoft Windows NT/2000+ và COMon DOS/Microsoft Windows 3.x-9x/ME.
- Lệnh chdir, được định nghĩa bởi POSIX, là lệnh ảnh hưởng nhất đến lệnh gọi hệ thống trên hầu hết các hệ điều hành.
- Trên Windows, các shell dòng lệnh sử dụng Windows API để thay đổi thư mục làm việc hiện tại.
Ngược lại, lệnh cd gọi hàm chdir POSIX C trên các hệ thống Unix. - Nó có nghĩa là nếu chạy lệnh này, không có quá trình mới được tạo ra để di chuyển đến các thư mục khác, như trong trường hợp của các lệnh khác như ls. Thay vào đó, shell chính chạy lệnh này. Điều này xảy ra vì khi một tiến trình mới được tạo ra, tiến trình con sẽ kế thừa thư mục hiện tại của tiến trình cha. Nếu lệnh cd sử dụng một tiến trình con để di chuyển đến thư mục khác, thì mục đích của lệnh cd sẽ không được thực hiện. Thay vào đó, shell chính sẽ chạy lệnh này và sử dụng tiến trình của chính nó để di chuyển đến thư mục mới. Điều này giúp đảm bảo rằng thư mục hiện tại được thay đổi đúng cách và không gây ra sự nhầm lẫn trong quá trình di chuyển đến các thư mục khác nhau trên hệ thống.
Sử dụng lệnh cd
Một thư mục có thể được định nghĩa là một phần logic của hệ thống tập tin được sử dụng để chứa các file. Ngoài ra, các thư mục có thể bao gồm các thư mục khác. Cd có thể được sử dụng để di chuyển vào một thư mục con, quay lại thư mục cha, di chuyển đến thư mục root, hoặc di chuyển đến một thư mục cụ thể.
DOS quản lý một thư mục làm việc độc lập cho tất cả các ổ đĩa có chữ cái và có định dạng là ổ đĩa làm việc hiện tại. Cd có thể được sử dụng để sửa đổi thư mục làm việc của một ổ đĩa có chữ cái khác hoặc ổ đĩa làm việc. Nhập chữ cái ổ đĩa mà không có đối số sẽ sửa đổi ổ đĩa làm việc; hoặc cd có thể được sử dụng với tùy chọn /d để sửa đổi cả ổ đĩa làm việc và thư mục làm việc của ổ đĩa đó chỉ trong một bước.
Các phiên bản Windows hiện đại mô phỏng tính năng này để tương thích ngược với EXE.
Hãy nhớ rằng chạy lệnh cd từ bộ điều khiển mà không có đối số sẽ có tác động khác nhau trên các hệ điều hành khác nhau.
Tiếp theo chúng ta sẽ đề cập đến các tùy chọn (options) khi sử dụng lệnh cd trong các hệ điều hành khác nhau. Trong Unix-like và Unix:
- cd ~: việc sử dụng cd ~ hoặc cd một cách đơn thuần sẽ đưa người dùng đến thư mục chính (home directory)
- cd .: cho phép người dùng ở lại thư mục hiện tại.
- cd ~: username cho phép người dùng truy cập vào thư mục chính của username.
- cd dir: (không có dấu /) cho phép người dùng ở lại một thư mục con
- cd ..: để di chuyển lên một thư mục trên.
Trong khi đó, trong các hệ điều hành ReactOS, Windows, OS/2, DOS, không có thuộc tính nào sẽ hiển thị đường dẫn đầy đủ của thư mục hiện tại.
Ngoài ra, lệnh cd còn có một số tùy chọn khác như -p để hiển thị danh sách các thư mục được lưu trong stack, tương tự như lệnh dirs, -v để hiển thị danh sách các thư mục mỗi dòng một, kèm theo vị trí của chúng trong stack và -n để ẩn các thông báo ngoài màn hình. Cuối cùng, cd\ (chỉ áp dụng trong Windows và DOS) được sử dụng để trở về thư mục root, và lệnh cd\subdir sẽ luôn đưa người dùng đến thư mục con được đặt tên trong thư mục root, bất kể người dùng đang ở đâu khi thực hiện lệnh này.
Thay đổi từ thư mục hiện tại sang một thư mục mới
Chúng ta có thể thay đổi thư mục của mình từ thư mục làm việc hiện tại sang một thư mục được chỉ định. Để hiển thị thư mục làm việc hiện tại, thực thi lệnh như sau:
pwd
Để thay đổi thư mục làm việc hiện tại, thực hiện lệnh như sau:
cd < current directory> <specified directory>
Kết quả
Từ kêt quả trên chúng ta đã thực thi lệnh pwd để hiển thị thư mục làm việc hiện tại, đó là “/home/sssit.” Sau đó, chúng ta đã thực thi lệnh ‘cd’ để thay đổi thư mục hiện tại và đưa ra đường dẫn cho thư mục mới là “/home/sssit/Desktop.” Như chúng ta có thể thấy trong hình ảnh đầu ra, chúng ta đang ở thư mục mới là Desktop. Do đó, thư mục làm việc hiện tại của chúng ta đã thay đổi thành Desktop.
Thay đổi thư mục bằng cách sử dụng đường dẫn tuyệt đối
Để thay đổi thư mục bằng cách sử dụng đường dẫn tuyệt đối, chúng ta phải đưa ra toàn bộ đường dẫn bắt đầu từ root. Xem ví dụ dưới đây:
Từ đầu ra trên, chúng ta đang thay đổi thư mục của mình sang ‘certs’ từ ‘cups’. Vì vậy, chúng ta đã cung cấp toàn bộ đường dẫn “/run/cups/certs” bắt đầu từ root (/). Đây được gọi là đường dẫn tuyệt đối.
Thay đổi thư mục bằng cách sử dụng đường dẫn tương đối
Chúng ta có thể thay đổi thư mục của mình bằng cách sử dụng đường dẫn tương đối; đường dẫn tương đối là một vị trí liên quan đến thư mục hiện tại. Hãy xem ví dụ dưới đây: “
cd certs
Từ kết quả trên chúng ta đang thay đổi thư mục bằng cách sử dụng đường dẫn tương đối. Tương tự như ví dụ trên, ở đây chúng ta đã thay đổi thư mục của mình từ ‘cups’ sang ‘certs’, nhưng không đề cập đến toàn bộ đường dẫn. Đây là đường dẫn tương đối.
Thay đổi đến thư mục home
Để thay đổi thư mục đến thư mục home từ thư mục làm việc hiện tại, thực thi lệnh như sau:
cd ~
Lệnh trên sẽ đưa chúng ta đến thư mục home. Hãy xem đầu ra dưới đây:
Như chúng ta có thể thấy từ đầu ra trên, chúng ta đang ở trong thư mục Downloads và lệnh “cd ~” đã đưa chúng ta đến thư mục home của chúng ta.
Chuyển đến thư mục trước đó
Để chuyển đến thư mục trước đó từ thư mục làm việc hiện tại, thực thi lệnh như sau:
cd -
Kết quả
Như chúng ta có thể thấy từ đầu ra trên, chúng ta đang ở trong thư mục “/Downloads/akash”. Và bằng cách thực thi lệnh “cd -“, thư mục làm việc hiện tại của chúng ta đã được thay đổi thành thư mục trước đó, tức là “/Downloads”.
Thay đổi đến Thư mục cha
Để thay đổi thư mục đến thư mục cha của thư mục làm việc hiện tại, thực thi lệnh như sau:
cd.
Lệnh trên sẽ đưa chúng ta đến thư mục cha của thư mục làm việc hiện tại. Hãy xem đầu ra dưới đây:
Như chúng ta có thể thấy từ đầu ra trên, thư mục ‘akash’ đã được chuyển đến thư mục cha của nó là ‘Downloads’.
Điều hướng thư mục đến thư mục root của toàn bộ hệ thống từ thư mục làm việc hiện tại.
Để điều hướng thư mục đến thư mục root của toàn bộ hệ thống từ thư mục làm việc hiện tại, thực thi lệnh như sau: “cd /”.
cd /
Kết quả
Từ đầu ra trên, thư mục làm việc hiện tại đã được thay đổi thành thư mục root của hệ thống.
Thay đổi đến thư mục home của người dùng khác
Chúng ta có thể thay đổi thư mục từ thư mục làm việc hiện tại đến thư mục home của một người dùng bằng cách thực thi lệnh như sau:
cd ~username
Kết quả
Từ kết quả trên, chúng ta đã thay đổi thư mục đến thư mục home của người dùng ‘javatpoint’.
Chuyển đến thư mục có chứa dấu cách
Để chuyển đến thư mục có chứa khoảng trắng trong tên, đặt đường dẫn vào giữa cặp dấu ngoặc kép (‘ ‘) hoặc sử dụng ký tự backslash () cùng với đường dẫn. Thực thi lệnh như sau:
cd 'Dir name with space'
cd Dir\ name\ with\ space
Các lệnh trên sẽ bỏ qua khoảng trống trong tên thư mục. Xem đầu ra bên dưới:
Thay đổi đến nhiều thư mục con liên tiếp nhau
Chúng ta có thể thay đổi thư mục đến nhiều thư mục con liên tiếp nhau bằng cách phân tách các thư mục bằng dấu gạch chéo chéo (/) như sau:
Kết quả