Czy są jakieś nieprawidłowe znaki dla nazwy pliku ext3?

9

Które znaki są nieprawidłowe w nazwie pliku ext3? Wyobrażam sobie, że przynajmniej /jest to znak nieprawidłowy i prawdopodobnie \0. Czy jest gdzieś oficjalna lista?

Nie jestem pewien, gdzie szukać tych informacji, więc powiedz mi, gdzie je znalazłeś.

Użytkownik 1
źródło
Interesujący, aczkolwiek długi, tekst: Naprawianie nazw plików Unix / Linux / POSIX .
Wstrzymano do odwołania.

Odpowiedzi:

9

Tylko tych dwoje.

Ze strony wikipedii na ext3 :

Dozwolone znaki w nazwach plików - wszystkie bajty oprócz NULL i „/”

znak
źródło
Ach, nie widziałem statystyk z boku strony wikipedii. Dzięki!
Użytkownik
3

/ wydaje się być dozwolone, przynajmniej na ext3 (prawdopodobnie we wszystkich ext, ext2 i ext3 przynajmniej, prawdopodobnie także ext4) - po prostu spróbuj tego:

f = „test / plik”; echo „Test:„ $ {f} ””
dla c in touch ll rm; do
eval „$ {c} '$ {f}'”
gotowy

To utworzy „test / plik”, również mnie zaskoczyło ... Stworzy go, pokaże za pomocą polecenia ls, a na końcu usunie za pomocą rm

Możesz wpisać go w jednym wierszu w bash:

$ f = 'test / plik'; dla c w kontakcie ll rm; wykonaj eval "$ {c} '$ {f}'"; gotowe

Więc / wydaje się (bizerrely) dozwolone w nazwach plików - prawdopodobnie wiele narzędzi może się pomylić z takimi ...

robsku
źródło
Fajna sztuczka, choć prawdopodobnie źle doradzona w systemach produkcyjnych :-)
voretaq7,
Errr… czy masz katalog o nazwie „test”? To zrobi różnicę:touch: cannot touch 'test/file': No such file or directory
MikeyB
Choć przydatne jako żart do ciągnięcia asystentów.
Magellan,
Nie tylko udało się stworzyć plik o nazwie „test / plik” - byłoby ciekawie wypróbować go z istniejącym katalogiem o nazwie test ... Może nawet nie sprawi kłopotów, w końcu nazwa / na końcu nazwy katalogu nie jest tak naprawdę część jego nazwy ... Więc mogłem sobie wyobrazić, że faktycznie współpracują ... Będzie to jednak wyglądać na zagmatwane ... A może miałeś na myśli, że tak naprawdę próbowałeś? :)
robsku