Trên Linux, khi bạn tạo một thư mục, nó sẽ tự động tạo hai liên kết cứng đến inode tương ứng. Một trong đó là thư mục bạn yêu cầu tạo, .
thư mục còn lại là thư mục đặc biệt này.
Thí dụ:
$ mkdir folder
$ ls -li
total 0
124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 folder
$ ls -lai folder
total 0
124596048 drwxr-xr-x 2 fantattitude staff 68 18 oct 16:52 .
124593716 drwxr-xr-x 3 fantattitude staff 102 18 oct 16:52 ..
Như bạn có thể thấy, cả hai folder
và .
bên trong folder
đều có cùng số inode (hiển thị với -i
tùy chọn).
Có cách nào để xóa liên kết .
cứng đặc biệt này ?
Nó chỉ dành cho thử nghiệm và tò mò.
Ngoài ra tôi đoán câu trả lời có thể áp dụng cho ..
tập tin đặc biệt là tốt.
Tôi đã cố gắng nhìn vào rm
con người nhưng không thể tìm ra cách nào để làm điều đó. Khi tôi cố gắng loại bỏ .
tất cả những gì tôi nhận được là:
rm: "." và ".." có thể không bị xóa
Tôi thực sự tò mò về toàn bộ cách thức hoạt động của những thứ này vì vậy đừng kiềm chế quá dài dòng về chủ đề này.
EDIT: Có thể tôi không rõ ràng với bài đăng của mình, nhưng tôi muốn hiểu cơ chế cơ bản chịu trách nhiệm về .
các tệp và lý do tại sao chúng không thể bị xóa.
Tôi biết tiêu chuẩn POSIX không cho phép một thư mục có ít hơn 2 liên kết cứng, nhưng thực sự không hiểu tại sao. Tôi muốn biết nếu có thể làm điều đó bằng cách nào.