Đường dẫn tương đối và tuyệt đối trong Linux: Sự khác biệt là gì?
Tên đường dẫn tuyệt đối và tương đối là hai cách để chỉ định địa chỉ ảo của thư mục hoặc tệp trên Linux. Nhưng sự khác biệt giữa hai loại đường dẫn này là gì và bạn nên sử dụng loại nào trong các lệnh của mình? Hãy cùng tìm hiểu.
Mục Lục
Đường dẫn tương đối và tuyệt đối trong Linux
Nếu bạn đã từng sử dụng bất kỳ lệnh Linux dựa trên đối số nào như cd hoặc ls, bạn sẽ biết có nhiều cách để chỉ định đường dẫn đến thư mục hoặc tệp.
Bạn có thể thích sử dụng các biểu thức đường dẫn thông thường hoặc, nếu bạn là người dùng Linux nâng cao, hãy sử dụng các biểu thức chính quy phức tạp để chuyển tên tệp hoặc thư mục cho một chương trình. Dù bằng cách nào, chỉ có hai cách để chỉ định đường dẫn thư mục trên Linux: đường dẫn tuyệt đối và đường dẫn tương đối.
Biểu thức đường dẫn tuyệt đối
Đường dẫn tuyệt đối luôn bắt đầu từ thư mục gốc và kết thúc tại thư mục hoặc tệp thực mà bạn muốn trỏ tới. Trong khi sử dụng biểu thức đường dẫn tuyệt đối, bạn cần nhập tất cả các tên thư mục con có trong cấu trúc phân cấp dẫn đến vị trí cuối cùng.
Ví dụ, nếu bạn muốn trỏ đến /myfolder/thư mục2 bên trong / var / www thư mục sử dụng biểu thức đường dẫn tuyệt đối, bạn sẽ sử dụng:
/var/www/myfolder/folder2
…ở đâu / ở đầu biểu thức đề cập đến thư mục gốc trên Linux.
Biểu thức đường dẫn tương đối
Mặt khác, đường dẫn tương đối đề cập đến một biểu thức đường dẫn sử dụng một đường dẫn khác (thường là thư mục làm việc hiện tại) làm gốc hoặc cơ sở của nó. Như tên cho thấy, nó là “tương đối” với một đường dẫn hiện có trên hệ thống của bạn.
Ví dụ: nếu bạn hiện đang ở trong /var/www thư mục và cần trỏ đến /myfolder/thư mục2bạn sẽ sử dụng:
./myfolder/folder2
…ở đâu . biểu thị thư mục hiện tại bạn đang ở. Bạn có thể thay đổi thư mục làm việc hiện tại bằng lệnh cd.
Ngoài một khoảng thời gian duy nhất (.), các biểu thức đường dẫn tương đối cũng sử dụng dấu chấm kép (..) để chỉ thư mục mẹ.
Ví dụ: hãy xem xét bạn đang ở trong / www thư mục bên trong cấu trúc thư mục sau:
/var/www/myfolder/folder2
Trong biểu thức đường dẫn đã nêu ở trên, . sẽ biểu thị /www thư mục trong khi .. sẽ chỉ đến /var danh mục. Nếu có một thư mục khác /ngẫu nhiên nội bộ /var mà bạn cần truy cập khi đang ở bên trong /var/wwwbạn sẽ sử dụng:
../random
Đơn giản như thế.
Tuyệt đối so với Tương đối: Biểu thức Đường dẫn nào Tốt hơn?
Mặc dù biểu thức đường dẫn có vẻ đơn giản và không quan trọng đối với bạn với tư cách là người dùng máy tính để bàn, nhưng có nhiều trường hợp sử dụng khác nhau trong đó việc sử dụng tên đường dẫn sai có thể dẫn đến nhiều bất tiện không mong muốn. Máy chủ web là một ví dụ điển hình.
Là một nhà phát triển web làm việc trên một dự án được lưu trữ trên máy chủ Linux, bạn cần truy cập các tệp bên trong thư mục dự án. Ở đây, sử dụng các biểu thức đường dẫn tương đối là tiêu chuẩn vì bất kỳ thay đổi nào trong tên thư mục con hoặc tên miền của dự án đều có thể dẫn đến các liên kết bị hỏng.
Bạn có thể hiểu điều này bằng một ví dụ đơn giản mà người dùng máy tính để bàn có thể liên quan tốt hơn. Các / ký tự biểu thị thư mục gốc trên hệ thống Linux. Hãy tưởng tượng nếu bạn đột nhiên thay đổi điều đó và thực hiện / ký tự trỏ đến thư mục chính. Nhiều lệnh của bạn có chứa biểu thức đường dẫn tuyệt đối sẽ không hoạt động vì / hiện đã được gán lại cho một thư mục khác.
Một ưu điểm khác của việc sử dụng các biểu thức đường dẫn tương đối là vì chúng có liên quan đến thư mục làm việc hiện tại, nó giúp bạn tiết kiệm thời gian mà nếu không bạn sẽ phải bỏ ra các ký tự không cần thiết.
Điểm hấp dẫn duy nhất ở đây là độ phức tạp và đường cong học tập liên quan đến các biểu thức tương đối. Nhưng điều đó cũng phổ biến trong các biểu thức đường dẫn tuyệt đối; để trở thành bậc thầy trong việc sử dụng các đường dẫn tuyệt đối, bạn cần phải thành thạo với hệ thống phân cấp thư mục Linux. Bạn có thể sử dụng lệnh tree để xem toàn bộ cây thư mục Linux và tạo các biểu thức đường dẫn tuyệt đối dễ dàng hơn cho chính bạn.
Hiểu hệ thống phân cấp thư mục Linux
Cấu trúc thư mục Linux là chung cho tất cả các máy chạy hệ điều hành dựa trên Linux. Bạn có thể sử dụng một lệnh như ls hoặc tree để tìm hiểu thêm về cách các tệp và thư mục được cấu trúc trên máy tính của bạn.