..
không có gì đặc biệt, chỉ là nó đã tồn tại
Trên Unix, Dos và MS-Windows, mọi thư mục đều có một thư mục .
mà nó liên kết lại với chính nó và một thư mục..
mà nó liên kết đến thư mục mẹ của nó (hoặc thư mục gốc nếu thư mục gốc).
Nếu ..
và.
đặc biệt thì chỉ vì bạn không thể xóa chúng (thực ra bạn có thể, bạn chỉ cần xóa thư mục chứa chúng).
Do đó, bạn không thể đặt tên cho bất kỳ tệp (khác) .
hoặc..
.
Tuy nhiên bạn có thể tạo các file ...
, \
, …
, ..
(lưu ý có một không gian sau ..
, nhưng bạn khó có thể nhìn thấy nó ở đây, hoặc dễ dàng trong bạn danh sách thư mục) hoặc bất kỳ tên khác mà bạn tương tự; Ký tự dành riêng duy nhất là /
(Cảnh báo - chi tiết nâng cao: và null, null là ký tự đặc biệt, không được sử dụng cho bất cứ điều gì ngoại trừ để đánh dấu sự kết thúc của mọi thứ và đôi khi là dấu phân cách). .
không có ý nghĩa đặc biệt: không để tên tập tin, kernel hoặc shell, nó không cần thoát. Trên thực tế nếu một tên tệp bắt đầu bằng một .
thì nó là đặc biệt, tệp thường bị ẩn, nhưng nó vẫn không cần thoát.
Qua một bên
Hành vi tệp ẩn này xuất hiện trong một triển khai sớm về ls
nơi tác giả muốn ẩn .
và ..
vì vậy họ đã viết mã để ẩn bất kỳ tệp nào bắt đầu bằng a .
. Những người dùng khác nhận thấy lỗi / tính năng này và bắt đầu tạo tệp bắt đầu từ .
khi họ muốn tệp bị ẩn.
Giải thích câu hỏi liên kết
Trong câu hỏi bạn liên kết đến người hỏi đang cố gắng di chuyển tệp vào thư mục mẹ ..
nhưng cuối cùng đổi tên thành ...
, các tệp bắt đầu bằng dấu chấm theo mặc định bị ẩn, đó là lý do tại sao họ không thể tìm thấy tệp.
Khi sử dụng mv theo mẫu mv a b
- Nếu bạn di chuyển đến
.
đó thực sự là một hoạt động không có, nhưng mv
coi nó là một lỗi.
- Nếu bạn di chuyển đến
..
nó sẽ di chuyển tệp vào thư mục cha.
.
và..
đã tồn tại. Và dấu chấm không có ý nghĩa đặc biệt.