14
Cơ bản về Linux
Việc tạo liên kết tượng trưng cũng không có gì phức tạp, chỉ cần đưa tùy chọn -s vào
lệnh ln:
$ ln -s lienkethai lienketba
$ ls -l lienketdau lienkethai lienketba
lrwxrwxrwx
1 teppi82 thang 10 2004-09-02 23:04 lienketba -> lienkethai
-rw-r--r--
2 teppi82 thang
0 2004-09-02 19:19 lienketdau
-rw-r--r--
2 teppi82 thang
0 2004-09-02 19:19 lienkethai
Trong đầu ra của ls -l, có thể phân biệt liên kết tượng trưng với các tệp tin thông thường
bằng 3 cách. Thứ nhất, cột đầu tiên của liên kết tượng trưng chứa ký tự l (link). Thứ hai,
kích thước của tệp tin liên kết tượng trưng là số ký tự của tên tệp tin đích (lienkethai, trong
trường hợp này). Thứ ba, cột cuối cùng hiển thị tên tệp tin đích có dấu mũi tên -> ở phía
trước.
2.3.3
Sâu hơn về liên kết tượng trưng
Liên kết tượng trưng nói chung linh hoạt hơn liên kết cứng. Chúng ta có thể tạo liên kết
tượng trưng tới bất kỳ đối tượng nào của hệ thống tập tin, bao gồm cả thư mục. Và bởi vì
liên kết tượng làm việc trên cơ sở đường dẫn, chứ không phải inode, việc tạo liên kết tượng
trưng tới đối tượng trên hệ thống tập tin khác là hoàn toàn có thể. Tuy nhiên, cũng có thể
thực tế này lại làm cho việc hiểu liên kết tượng trưng thêm phức tạp.
Xem xét thêm trường hợp chúng ta muốn tạo một liên kết trong /tmp mà chỉ đến
/usr/local/bin. Cần gõ như sau:
$ ln -s /usr/local/bin bin1
$ ls -l bin1
lrwxrwxrwx
1 teppi82
thang
Hay một cách tương đương:
$ ln -s ../usr/local/bin bin2
$ ls -l bin2
lrwxrwxrwx
1 teppi82 thang 16 2004-09-02 23:05 bin2 -> ../usr/local/bin
Như bạn có thể thấy, cả hai liên kết tượng trưng cùng chỉ tới một thư mục. Tuy nhiên,
nếu liên kết tượng trưng thứ hai của chúng ta bị chuyển tới một thư mục khác, nó sẽ bị "vỡ"
vì đường dẫn dùng để tạo liên kết này là tương đối:
$ mkdir thumucmoi
$ mv bin2 thumucmoi
$ cd thumucmoi
$ cd bin2
bash: cd: bin2: No such file or director