Так що так, як уже багато разів зазначено в іншому місці, ім'я файлу може містити майже будь-який символ. Але потрібно сказати, що ім’я файлу - це не файл. Він має деяку вагу як атрибут файлу в тому, що вам зазвичай потрібне ім'я файлу, щоб відкрити файл, але ім'я файлу вказує лише на фактичний файл. Це посилання, що зберігається в каталозі, який його записав, поряд із номером inode - це набагато ближче наближення до фактичного файлу .
Отже, знаєте, називайте це все, що завгодно. Ядро байдуже - всі посилання на файли, з якими він буде оброблятися, все одно матимуть справу з реальними номерами inode. Файл річ для людського споживання - якщо ви хочете зробити його з розуму річ, ну, це ваша файлова система. Тут я зроблю кілька божевільних речей:
Спершу я створять 20 файлів і назву їх не що інше, як пробіли, кожне ім'я файлу містить ще один пробіл, ніж останній:
until [ $((i=$i+1)) -gt 20 ]
do v=$v' ' && touch ./"$v"
done
Це якось смішно. Подивіться на моє ls
:
ls -d ./*
./ ./ ./ ./ ./
./ ./ ./ ./ ./
./ ./ ./ ./ ./
./ ./ ./ ./ ./
Зараз я збираюся відобразити цей каталог:
set -- * ; mkdir ../mirror
ls -i1qdU -- "$@" |
sh -c 'while read inum na
do ln -T "$1" ../mirror/$inum
shift ; done' -- "$@"
ls -d ../mirror/*
Ось ../mirror/
зміст:
../mirror/423759 ../mirror/423764 ../mirror/423769 ../mirror/423774
../mirror/423760 ../mirror/423765 ../mirror/423770 ../mirror/423775
../mirror/423761 ../mirror/423766 ../mirror/423771 ../mirror/423776
../mirror/423762 ../mirror/423767 ../mirror/423772 ../mirror/423777
../mirror/423763 ../mirror/423768 ../mirror/423773 ../mirror/423778
Гаразд, але, можливо, ви запитуєте - але що це добре? Як ви можете сказати, що це таке? Як ви можете бути впевнені, що ви пов’язали правильний номер вводу з правильним іменем файлу?
Добре...
echo "heyhey" >>./' '
tgt=$(ls -id ./' ')
cat ../mirror/${tgt%% .*} \
$(ls -1td ../mirror/* | head -n1)
ВИХІД
heyhey
heyhey
Дивіться, як номер inode, що міститься, так ../mirror/"${tgt%% .*}"
і той посилання, ./' '
посилаючись на той самий файл. Вони описують той самий файл. Вони її називають, але більше нічого. Ніякої таємниці, насправді є лише якісь незручності, які ви могли б зробити собі, але в кінцевому підсумку це мало мати ніякого впливу на роботу вашої файлової системи Unix врешті-решт.