Saya baru saja menjumpai pertanyaan berikut dalam Unix Programming Environment , buku klasik Kernighan dan Pike tentang Unix (saya menemukan teks di bawah ini di halaman 79 edisi 1984, ISBN: 0-13-937699-2):
Latihan 3-6. (Trick question) Bagaimana Anda mendapatkan / menjadi nama file (yaitu, a / yang tidak memisahkan komponen jalur?
Saya sudah bekerja dengan Linux selama bertahun-tahun, baik sebagai pengguna akhir dan pemrogram, tetapi saya tidak bisa menjawab pertanyaan ini. Tidak ada cara untuk memasukkan garis miring pada nama file, itu benar-benar dilarang oleh kernel. Anda dapat menambal sistem file Anda melalui blokir akses perangkat, atau menggunakan karakter yang mirip dari Unicode, tetapi itu bukan solusi.
Saya mengerti bahwa Linux ≠ Unix, tetapi prinsip yang sama harus berlaku, karena sistem harus dapat secara jelas mengekstraksi hierarki direktori dari path.
Adakah yang tahu, apa yang sebenarnya dipikirkan Kernighan dan Pike ketika mengajukan pertanyaan ini? Apa jawaban yang seharusnya? Apa sebenarnya 'trik' itu? Atau mungkin sistem Unix asli dibiarkan lolos dari tebasan ini entah bagaimana?
UPD:
Saya menghubungi Brian Kernighan tentang pertanyaan itu dan itulah yang dia jawab:
Jawabannya adalah (atau dulu) "Kamu tidak bisa."
Karenanya, Timothy Martin benar dan mendapatkan tanda centang hijau.
a
dan memaksa sistem Anda untuk berpikir sistem file berada di lokal EBCDIC? ASCII a
adalah 0x61, yang sesuai dengan /
dalam EBCDIC (kode halaman 37)