Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Cách tạo liên kết biểu tượng Linux bằng lệnh ln

Hướng dẫn này giải thích cách tạo liên kết tượng trưng (liên kết tượng trưng), còn được gọi là "Liên kết mềm", trong Linux bằng lệnh ln.

Nếu bạn đến với Linux từ nền tảng sử dụng hệ điều hành Windows, bạn sẽ quen thuộc với khái niệm phím tắt - tệp không chứa bất kỳ dữ liệu thực nào và chứa liên kết đến tệp hoặc thư mục thực mà bạn muốn truy cập.

Chúng có thể tồn tại đơn giản để thuận tiện cho bạn (để tiết kiệm thời gian nhấp qua các thư mục lồng nhau) hoặc để chuyển hướng đầu ra (Bạn có một chương trình có thư mục được mã hóa cứng để xuất tệp và bạn muốn gửi chúng ở một nơi khác).

Liên kết mềm (Symlinks) trong Linux về cơ bản phục vụ cùng một mục đích.

Liên kết cứng so với Liên kết mềm

  • Liên kết mềm (còn được gọi là Liên kết tượng trưng hoặc Liên kết tượng trưng ) tham chiếu đến vị trí của tệp hoặc thư mục khác trên hệ thống tệp.
    • Do đó, nếu tệp đã được liên kết mềm đến bị xóa, liên kết mềm là vô nghĩa vì nó trỏ đến một tệp không tồn tại.
    • Vì liên kết mềm chỉ là một tham chiếu đến vị trí tệp được liên kết nên chúng có thể tồn tại trên các hệ thống tệp khác nhau.
    • Quyền không được chia sẻ giữa liên kết và được liên kết.
  • Liên kết cứng là một bản sao nhân bản của tệp được liên kết - cả hai bản sao đều tham chiếu đến cùng một dữ liệu trên thiết bị lưu trữ.
      • Do đó, việc xóa tệp được liên kết cứng sẽ không xóa dữ liệu - "Liên kết cứng" khác với dữ liệu sẽ vẫn tồn tại dưới dạng tệp trong hệ thống tệp.
        • Hệ thống tệp sẽ giữ số lượng tham chiếu có tệp trên đĩa. Khi tất cả các liên kết cứng bị xóa, số lượng đó sẽ là 0 (không). Khi số lượng bằng không, tệp sẽ bị xóa và không gian dữ liệu sẽ được phân bổ để có thể sử dụng nó để lưu trữ các tệp khác.
      • Vì chúng là hai tham chiếu đến cùng một dữ liệu nên chúng phải tồn tại trên cùng một hệ thống tệp.
      • Quyền được chia sẻ - cả được liên kết và được liên kết đều là cùng một tệp trên đĩa được tham chiếu từ hai nơi.

Cú pháp

ln [OPTIONS] SOURCE_PATH LINK_PATH

Lưu ý rằng:

  • Cả tệp và thư mục đều có thể được sử dụng làm SOURCE_PATH
  • Tương tự mềm sẽ được tạo tại LINK_PATH

Tùy chọn

Bạn có thể chuyển các tùy chọn sau cho ln lệnh:

-F Nếu liên kết được đề xuất (link_name) đã tồn tại và là một thư mục, hãy xóa nó để liên kết có thể xuất hiện. Tùy chọn -F nên được sử dụng với tùy chọn -f hoặc -i. Nếu không có gì được chỉ định, -f được ngụ ý. Tùy chọn -F là tùy chọn không cần tham gia trừ khi tùy chọn -s được chỉ định.
-h Nếu link_name hoặc link_dirname là một liên kết tượng trưng, ​​đừng làm theo nó. Điều này hữu ích nhất với tùy chọn -f, để thay thế một liên kết tượng trưng có thể trỏ đến một thư mục.
-f Nếu liên kết được đề xuất (link_name) đã tồn tại, hãy hủy liên kết để liên kết có thể xuất hiện. (Tùy chọn -f ghi đè mọi tùy chọn -i trước đó.)
-i Vì ln viết lời nhắc đến lỗi chuẩn nếu liên kết được đề xuất tồn tại. Nếu phản hồi từ đầu vào chuẩn bắt đầu bằng ký tự y hoặc Y, thì hãy hủy liên kết được đề xuất để liên kết có thể xảy ra. Nếu không, đừng thử liên kết. (Tùy chọn -i ghi đè mọi tùy chọn -f trước đó.)
-n Tương tự như -h, để tương thích với các triển khai ln khác.
-s Tạo một liên kết tượng trưng.
-v Vì dài dòng, hiển thị các tệp khi chúng được xử lý.

Các tùy chọn này và chi tiết đầy đủ cho ls có thể tìm thấy lệnh trong hướng dẫn sử dụng bằng cách chạy:

man ls

Ví dụ

Để chứng minh việc tạo một liên kết tượng trưng đơn giản ( liên kết tượng trưng viết tắt), chúng ta có thể tạo một tệp:

touch test_file.txt

Sau đó, chúng tôi có thể tạo liên kết mềm với nó:

ln -s test_file.txt link_to_test_file

Bạn có thể xác minh liên kết bằng cách chạy:

ls -l

Điều này sẽ xuất ra một cái gì đó như:

-rw-r--r--  1 user  staff        0  2 Jan 01:31 test_file.txt
lrwxr-xr-x  1 user  staff        9  2 Jan 01:32 link_to_test_file -> test_file.txt

Lưu ý rằng:

  • Các chữ cái trong cột đầu tiên đại diện cho loại tệp hoặc thư mục và quyền
  • Con số sau đây là số lượng tệp chứa
  • người dùng / nhân viên là người dùng / nhóm có quyền đối với tệp hoặc thư mục
  • Tiếp theo là kích thước tệp, ngày sửa đổi và tên
  • Thấy rằng l ở đầu hàng? Điều này có nghĩa rằng đó là một liên kết
  • Ngoài ra, bạn có thể thấy -> ở cuối, hiển thị rằng tệp được liên kết với test_file.txt
  • S o, đó chắc chắn là một liên kết

Kết luận

Khi tôi đăng nhập vào hầu hết các hệ thống, tôi sẽ được chuyển thẳng đến thư mục chính của người dùng. Thay vì gõ đường dẫn đến thư mục, tôi muốn làm việc trong ngày hôm đó (ví dụ:trong thư mục lưu trữ các tệp cho ứng dụng web mà tôi đang triển khai), điều đầu tiên tôi thường làm là tạo một phần mềm liên kết đến thư mục đó để tôi không phải gõ đường dẫn đầy đủ mỗi khi tôi muốn điều hướng trở lại thư mục đó.

Vì vậy, nó khá hữu ích.

Bạn mới sử dụng Linux? Hãy sử dụng nó ngay lập tức bằng cách học một số mã!