Perintah 'ln' dan 'rm' telah bekerja persis seperti ini di setiap sistem file UNIX sejak awal 1970-an. Mac OSX, BSD dan Linux semuanya mewarisi desain asli ini.
Dengan sendirinya, file UNIX tidak memiliki nama, hanya nomor inode atau inum. Tetapi Anda hanya dapat mengaksesnya melalui entri dalam file "direktori" khusus yang mengaitkan nama dengan inum yang dimaksud; Anda tidak dapat menentukan inum secara langsung.
Direktori adalah dirinya sendiri file, sehingga Anda juga harus mengakses itu melalui (lain) direktori dan sebagainya, melalui serangkaian nama direktori dipisahkan oleh garis miring (/) dikenal sebagai "nama jalan". Jalur dimulai di "direktori kerja saat ini" dari proses kecuali nama dimulai dengan "/", dalam hal ini dimulai dengan direktori root sistem file. Misalnya, jika nama jalur tidak mengandung karakter "/", maka itu diharapkan menjadi entri dalam direktori saat ini.
File non-direktori dapat memiliki sejumlah nama jalur, yang dikenal sebagai "tautan keras", dan akan terus ada sampai semua nama jalurnya dihapus dan proses terakhir telah menutup file. Kemudian file tersebut sebenarnya dihapus dan ruangnya ditandai sebagai tersedia untuk digunakan kembali. Artinya, Anda dapat membuat () atau membuka () file yang terhubung sendiri dan kemudian memutuskan tautan () sehingga tidak lagi muncul di ruang nama sistem file, tetapi file tersebut akan terus ada sampai Anda menutupnya. Ini berguna untuk file awal sementara yang tidak akan dibaca oleh program lain.
Meskipun direktori memiliki nomor inode, sebagian besar sistem file tidak mengizinkan tautan keras ke dalamnya; mereka hanya dapat muncul di satu direktori lain. (Satu pengecualian yang tidak biasa adalah sistem file Mac OSX HFS +; ini memungkinkan backup Time Machine berfungsi.) Anda masih dapat membuat "tautan lunak" ke direktori (atau file lainnya). Tautan lunak menyerupai entri direktori kecuali bahwa itu berisi nama path lain daripada inum.
Setiap file UNIX memiliki izin pemilik, grup, dan akses. Itu perlu tetapi tidak cukup bahwa mereka membiarkan Anda membuka file; Anda juga harus memiliki setidaknya menjalankan izin untuk setiap direktori di pathname yang Anda gunakan untuk merujuknya. Itu sebabnya tidak ada cara standar untuk membuka file UNIX dengan nomor inode-nya; yang akan mem-bypass mekanisme keamanan yang penting dan banyak digunakan.
Tetapi ini tidak menjelaskan mengapa tidak ada cara standar bagi pengguna root (yang diistimewakan) untuk membuka file dengan nomor inode, karena bagaimanapun pengecekan izin dilewati. Ini akan sangat berguna untuk fungsi manajemen sistem tertentu seperti cadangan. Sepengetahuan saya, mekanisme semacam itu memang ada, tetapi semuanya khusus sistem file; tidak ada cara umum untuk melakukannya untuk sistem file UNIX.