..
не є особливим, це просто те, що воно вже існує.
У Unix, Dos та MS-Windows у кожному каталозі є каталог, який .
він посилається на себе, а також каталог, ..
який посилається на його батьківський каталог (або самостійно, якщо кореневий каталог).
Якщо ..
і .
є спеціальними, це лише тому, що ви не можете їх видалити (насправді ви можете, ви просто видаліть каталог, який їх містить).
Тому ви не можете назвати жоден (інший) файл .
або ..
.
Однак ви можете створювати файли ...
, \
, …
, ..
(примітка є простір після ..
, але ви навряд чи можете побачити його тут, або просто в вас роздруківку каталогу) або будь-яке інше ім'я вам подобається; Тільки зарезервований характер /
(Увага - сучасні деталі: і нуль, нуль є спеціальним символом, для чого не використовується , крім як відзначити кінець речей , а іноді і в якості роздільника). .
не має особливого значення: щоб не подавати імена, ядро чи оболонку, воно не потребує втечі. Насправді, якщо ім'я файлу починається з того .
часу, воно є спеціальним, файл зазвичай приховано, але все ж його не потрібно уникати.
Убік
Ця поведінка прихованого файлу з’явилася на початку реалізації того місця, ls
де автор хотів сховатися, .
і ..
тому вони написали код, щоб приховати будь-які файли, починаючи з а .
. Інші користувачі помітили цю помилку / функцію і почали створювати файли, починаючи з того часу, .
коли вони хотіли, щоб файл був прихований.
Пояснення пов'язаного питання
У запитанні, яке ви посилаєте на запитувача, намагається перемістити файл у батьківський каталог, ..
але в кінцевому підсумку перейменовано на ...
, файли, що починаються з крапки, за замовчуванням приховані, тому вони не можуть його знайти.
При використанні mv у формі mv a b
- Якщо ви переходите до
.
нього, це фактично без операцій, але mv
трактує це як помилку.
- Якщо ви перейдете до
..
нього, перемістіть файл у батьківський каталог.
.
і..
вже існують. І крапка не має особливого значення.