Hướng dẫn sử dụng lệnh ln trên Linux cho người mới bắt đầu (5 ví dụ)

theanh

Administrator
Nhân viên
Đôi khi, khi làm việc trên dòng lệnh, bạn cần tạo liên kết giữa các tệp. Bạn có thể thực hiện việc này bằng lệnh chuyên dụng, được gọi là ln. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của công cụ này bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ ở đây đều đã được thử nghiệm trên máy Ubuntu 22.04.

Lệnh ln của Linux​

Như bạn đã hiểu, lệnh ln cho phép bạn tạo liên kết giữa các tệp. Sau đây là cú pháp (hay đúng hơn là một cú pháp khác có sẵn) cho công cụ này:
Mã:
ln [OPTION]... [-T] TARGET LINK_NAME (1st form)
ln [OPTION]... TARGET (2nd form)
ln [OPTION]... TARGET... DIRECTORY (3rd form)
ln [OPTION]... -t DIRECTORY TARGET... (4th form)
Và đây là cách trang hướng dẫn của công cụ giải thích it:
Mã:
In the 1st form, create a link to TARGET with the name LINK_NAME. In the 2nd form, create a link 
to TARGET in the current directory. In the 3rd and 4th forms, create links to each TARGET in 
DIRECTORY. Create hard links by default, symbolic links with --symbolic. By default, each 
destination (name of new link) should not already exist. When creating hard links, each TARGET 
must exist. Symbolic links can hold arbitrary text; if later resolved, a relative link is 
interpreted in relation to its parent directory.
Các ví dụ theo kiểu Hỏi & Đáp sau đây sẽ giúp bạn hiểu rõ hơn về cách lệnh ln hoạt động. Nhưng trước đó, bạn nên hiểu sự khác biệt giữa liên kết cứng và liên kết mềm.

Câu hỏi 1. Làm thế nào để tạo liên kết cứng bằng ln?​

Rất đơn giản - tất cả những gì bạn phải làm là sử dụng lệnh ln theo cách sau:
Mã:
ln [file] [hard-link-to-file]
Ví dụ:
Mã:
ln test.txt test_hard_link.txt

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22428%22%20height=%22107%22%3E%3C/svg%3E


Vì vậy, bạn có thể thấy một liên kết cứng đã được tạo với tên test_hard_link.txt.

Câu 2. Làm thế nào để tạo liên kết mềm/tượng trưng bằng ln?​

Để thực hiện, hãy sử dụng tùy chọn dòng lệnh -s.
Mã:
ln -s [file] [soft-link-to-file]
Ví dụ:
Mã:
ln -s test.txt test_soft_link.txt

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22459%22%20height=%22112%22%3E%3C/svg%3E


Tệp test_soft_link.txt là liên kết mềm/tượng trưng, nhưxác nhận bằng màu chữ xanh da trời của nó.

Câu hỏi 3. Làm thế nào để ln xóa các tệp đích hiện có cùng tên?​

Theo mặc định, ln sẽ không cho phép bạn tạo liên kết nếu một tệp cùng tên đã tồn tại trong thư mục đích.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%2232%22%3E%3C/svg%3E


Tuy nhiên, nếu muốn, bạn có thể khiến ln ghi đè hành vi này bằng cách sử dụng tùy chọn dòng lệnh -f.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%2257%22%3E%3C/svg%3E


Lưu ý: Bạn có thể sử dụng tùy chọn dòng lệnh -i nếu bạn muốn thực hiện toàn bộ quá trình xóa này một cách tương tác.

Câu hỏi 4. Làm thế nào để ln tạo bản sao lưu các tệp hiện có có cùng tên?​

Nếu bạn không muốn ln xóa các tệp hiện có có cùng tên, bạn có thể yêu cầu ln tạo bản sao lưu các tệp này. Có thể thực hiện việc này bằng tùy chọn dòng lệnh -b. Các tệp sao lưu được tạo theo cách này sẽ chứa dấu ngã (~) ở cuối tên của chúng.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22500%22%20height=%2263%22%3E%3C/svg%3E

Câu hỏi 5. Làm thế nào để tạo liên kết trong một thư mục khác với thư mục hiện tại?​

Một thư mục đích cụ thể (khác với thư mục hiện tại) có thể được chỉ định bằng tùy chọn dòng lệnh -t. Ví dụ:
Mã:
ls test* | xargs ln -s -t /home/himanshu/Desktop/
Lệnh đã đề cập ở trên sẽ tạo liên kết đến tất cả các tệp test* (có trong thư mục hiện tại) và đặt chúng vào thư mục Desktop.

Kết luận​

Đồng ý, ln không phải là thứ bạn cần dùng hàng ngày, đặc biệt là nếu bạn là người mới. Nhưng đây là một lệnh hữu ích để biết, vì bạn không bao giờ biết khi nào nó sẽ cứu bạn. Chúng tôi đã thảo luận về một số tùy chọn dòng lệnh hữu ích mà công cụ này cung cấp. Sau khi hoàn tất những điều này, bạn có thể tìm hiểu thêm về ln bằng cách truy cập trang hướng dẫn của lệnh này. Một lệnh thú vị khác mà bạn có thể muốn xem là lệnh tee.
 
Back
Bên trên