Sử dụng liên kết cứng để liên kết tập tin trong Linux

Có 2 loại liên kết mà bạn có thể tạo trong Linux:

Một liên kết tượng trưng giống như một lối tắt trên màn hình trong Windows. Liên kết tượng trưng chỉ trỏ đến vị trí của một tập tin.

Việc xóa một liên kết tượng trưng không ảnh hưởng đến tệp vật lý mà liên kết trỏ đến.

Một liên kết tượng trưng có thể trỏ đến bất kỳ tệp nào trên hệ thống tệp hiện tại hoặc thực sự là các hệ thống tệp khác. Điều này làm cho nó linh hoạt hơn một liên kết cứng.

Một liên kết cứng thực sự là cùng một tệp mà nó liên kết nhưng với một tên khác. Cách dễ nhất để nghĩ về nó là như sau:

Hãy tưởng tượng bạn được sinh ra với cái tên Robert. Những người khác có thể biết bạn là Robbie, Bob, Bobby hoặc Rob. Mỗi người sẽ nói về cùng một người.

Mỗi liên kết thêm 1 vào bộ đếm các liên kết có nghĩa là xóa tệp vật lý mà bạn phải xóa từng và một trong các liên kết.

Tại sao sử dụng liên kết cứng?

Liên kết cứng cung cấp cách hiệu quả để sắp xếp tệp. Cách dễ nhất để mô tả điều này là với một tập Sesame Street cũ.

Bert bảo Ernie dọn dẹp mọi thứ của anh ta và vì thế Ernie đã đặt ra nhiệm vụ của anh ta. Trước hết, anh quyết định dọn dẹp tất cả những thứ màu đỏ. "Động cơ lửa màu đỏ". Vì vậy, Ernie đặt động cơ lửa đi.

Ernie tiếp theo quyết định bỏ tất cả đồ chơi bằng bánh xe. Động cơ cứu hỏa có bánh xe. Vậy nên Ernie đã dọn sạch động cơ lửa.

Không cần phải nói, Bert về nhà để tìm chính xác đống lộn xộn như trước đây nhưng Ernie đã dọn dẹp động cơ hỏa hoạn đi nửa tá.

Hãy tưởng tượng rằng động cơ cứu hỏa chỉ là một hình ảnh của một cỗ máy cứu hoả. Bạn có thể có các thư mục khác nhau trên máy của mình như sau:

Bây giờ bạn có thể tạo một bản sao của bức ảnh và đặt nó vào mỗi thư mục. Điều này có nghĩa là bạn có ba bản sao của cùng một tệp chiếm ba lần không gian.

Phân loại ảnh bằng cách tạo bản sao của chúng có thể không chiếm quá nhiều không gian nhưng nếu bạn đã thử cùng một thứ với video, bạn sẽ giảm đáng kể dung lượng đĩa của mình.

Một liên kết cứng chiếm hết không gian. Do đó, bạn có thể lưu trữ cùng một video trong các danh mục khác nhau (ví dụ: theo năm, thể loại, diễn viên, đạo diễn) mà không làm giảm dung lượng đĩa của bạn.

Cách tạo liên kết cứng

Bạn có thể tạo liên kết cứng bằng cú pháp sau:

ln đường dẫn / đến / tệp / đường dẫn / đến / cứng / liên kết

Ví dụ, trong hình trên chúng ta có một thư mục âm nhạc Alice Cooper gọi là Thùng rác trong đường dẫn / home / gary / Music / Alice Cooper / Trash. Trong thư mục đó, có 10 bài hát mà một trong số đó là Poison cổ điển.

Bây giờ Poison là một bản nhạc rock nên chúng tôi đã tạo một thư mục có tên Rock bên dưới thư mục âm nhạc và tạo liên kết cứng tới Poison bằng cách nhập tệp sau:

ln "01 - Poison.mp3" "~ / Nhạc / rock / Poison.mp3"

Đây là một cách hay để tổ chức âm nhạc .

Làm thế nào để biết sự khác biệt giữa một liên kết cứng và một liên kết tượng trưng

Bạn có thể biết một tệp có liên kết cứng hay không bằng cách sử dụng lệnh ls:

lt -lt

Tệp tiêu chuẩn không có liên kết sẽ trông giống như sau

-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3

Các cột như sau:

Nếu đây là một liên kết cứng, đầu ra sẽ trông như sau:

-rw-r - r-- 2 gary gary 1000 Dec 18 21:52 poison.mp3

Lưu ý rằng số cột liên kết hiển thị 2. Mỗi khi một liên kết cứng được tạo ra, con số đó sẽ tăng lên.

Một liên kết tượng trưng sẽ trông như sau:

-rw-r - r-- 1 gary gary 1000 Dec 18 21:52 poison.mp3 -> poison.mp3

Bạn có thể thấy rõ ràng rằng một tệp đang trỏ đến một tệp khác.

Làm thế nào để Tìm tất cả các liên kết cứng đến một tập tin

Tất cả các tệp trong hệ thống Linux của bạn đều chứa số inode xác định duy nhất tệp. Một tập tin và liên kết cứng của nó sẽ chứa cùng một inode.

Để xem số inode cho một loại tệp lệnh sau:

ls -i

Đầu ra cho một tệp sẽ như sau:

1234567 tên tệp

Để tìm các liên kết cứng cho một tệp, bạn chỉ cần thực hiện tìm kiếm tệp cho tất cả các tệp có cùng inode (ví dụ: 1234567).

Bạn có thể thực hiện điều đó bằng lệnh sau:

tìm ~ / -xdev -inum 1234567