readlink -fsẽ :
  chuẩn hóa một đường dẫn bằng cách theo từng đệ trình symlink trong mọi thành phần của tên đã cho theo cách đệ quy; tất cả trừ thành phần cuối cùng phải tồn tại
whichsẽ tìm kiếm :
  cho một tập lệnh thực thi hoặc tập lệnh trong các thư mục được liệt kê trong biến môi trường PATH bằng thuật toán tương tự như bash (1)
whichkhông quan tâm liệu những gì nó tìm thấy có phải là một liên kết tượng trưng hay không: chỉ là nó có thể thực thi được. Nó đảm bảo rằng đường dẫn mà nó in sẽ luôn nằm trong một trong các thư mục PATH.
Trên hệ thống của bạn, /usr/bin/javalà một liên kết tượng trưng đến /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64/jre/bin/java. Khi bạn kết hợp hai lệnh với nhau như thế này, bạn thay thế đầu ra của whichdòng lệnh readlink -fđể tạo:
readlink -f /usr/bin/java
Đó là, whichđã tìm thấy nơi tệp thực thi đầu tiên được gọi javanằm trong của bạn PATHvà shell đã chèn đường dẫn đó làm đối số readlink -f. readlinksau đó tra cứu đường dẫn và thấy rằng đó là một liên kết tượng trưng , và do đó, nó giải quyết liên kết đó (và bất kỳ liên kết nào khác mà nó tìm thấy) để tạo ra một đường dẫn trực tiếp hoàn chỉnh đến chính tệp thực tế.
Đối với hầu hết tất cả các mục đích, các đường dẫn này sẽ có thể hoán đổi cho bạn - liên kết tượng trưng javasẽ tự động được giải quyết thành đường dẫn thực khi bạn sử dụng và việc sửa đổi tệp sẽ do người quản lý gói của bạn thực hiện, thay vì bạn, vì vậy bạn không bao giờ có để xem nó Bạn có thể chạy chương trình từ một trong hai đường dẫn hoặc chỉ java, và kết quả sẽ hoàn toàn giống nhau, bởi vì đó là cùng một thực thi thực tế chạy cuối cùng.
Trình quản lý gói sẽ sử dụng một liên kết tượng trưng thay vì đặt tệp thực tế vào bên trong /usr/binvì JRE có toàn bộ các tệp mà nó muốn có cạnh nhau trong các cấu hình bất thường và một liên kết tượng trưng cho phép trình quản lý gói trình bày cách sắp xếp trông bình thường bạn là người dùng Sẽ có nhiều tệp khác bên trong /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0.x86_64mà bạn không bao giờ có bất kỳ lý do nào để xử lý và không tham gia vào các sắp xếp thư viện thông thường của hệ thống.