Команди 'ln' та 'rm' працювали саме так у кожній файловій системі UNIX з початку 1970-х. Mac OSX, BSD та Linux - успадковують цей оригінальний дизайн.
Сам по собі файл UNIX не має імені, лише номер inode або inum. Але ви можете отримати доступ до нього лише через запис у спеціальному файлі "каталогу", який пов'язує ім'я з відповідним inum; ви не можете вказати інум безпосередньо.
Каталог сам по собі є файлом, тому ви також повинні отримати доступ до нього через (інший) каталог тощо, через низку імен каталогів, розділених косою косою рискою (/), відомою як "ім'я шляху". Шлях починається в "поточному робочому каталозі" процесу, якщо ім'я не починається з "/", і в цьому випадку він починається з кореневого каталогу файлової системи. Наприклад, якщо ім'я шляху не містить символів "/", то очікується, що це буде запис у поточному каталозі.
Файл без каталогу може мати будь-яку кількість імен шляхів, відомих як "жорсткі посилання", і він буде існувати до тих пір, поки всі його імена шляхів не будуть видалені та останній процес не закриє файл. Потім файл фактично видаляється, а його простір позначається як доступний для повторного використання. Тобто, ви можете створити () або відкрити () файл, пов'язаний поодинці, а потім від’єднати () його, щоб він більше не з’являвся у просторі імен файлової системи, але файл буде існувати, поки ви його не закриєте. Це корисно для тимчасових файлів скретчів, які не читатиме жодна інша програма.
Хоча каталоги мають номери inode, більшість файлових систем забороняють жорсткі посилання на них; вони можуть з’являтися лише в одному іншому каталозі. (Одним незвичним винятком є файлова система Mac OSX HFS +; це дозволяє створювати резервні копії Time Machine.) Ви все ще можете створювати "м'які посилання" на каталоги (або будь-який інший файл). М'яке посилання нагадує запис каталогу, за винятком того, що воно містить інше ім'я шляху, а не inum.
Кожен файл UNIX має права власника, групи та доступу. Необхідно, але недостатньо, щоб вони дозволили вам відкрити файл; ви також повинні мати принаймні виконання дозволу для кожного каталогу в імені шляху, який ви використовуєте для посилання на нього. Тому немає стандартного способу відкрити файл UNIX за його номером inode; це обходило б важливий широко застосовуваний механізм безпеки.
Але це не пояснює, чому кореневому (привілейованому) користувачеві не може бути стандартний спосіб відкрити файл за номером inode, оскільки перевірка дозволів у будь-якому випадку обходить. Це було б дуже корисно для певних функцій управління системою, таких як резервне копіювання. Наскільки мені відомо, такі механізми існують, але всі вони залежать від файлової системи; немає загального способу зробити це для будь-якої файлової системи UNIX.