Dlaczego Linux może wyświetlać nazwę pliku zawierającą znak „/”?

32

Poniższe zdjęcie jest zrobione w prawdziwym środowisku Linux.

Wyjście ls pokazujące znaki podobne do ukośnika (/) w nazwie pliku

Dlaczego Linux może wyświetlać nazwę pliku zawierającą znak „/”?

xmllmx
źródło
7
Więc jaka to postać? Zaktualizuj swoje pytanie o dane hexdumpwyjściowe.
cjm
1
Nawet jeśli wszystkie interfejsy API wymuszają ograniczenia dotyczące znaków w nazwach plików podczas zapisu, możliwa jest (ale nieporęczna) edycja nazwy pliku bezpośrednio na obrazie dysku. (Nie wiem, czy dzisiejsze zwykłe systemy plików sprawdzają nazwy plików podczas odczytu.)
Ulrich Schwarz,
@ cjm, przywróciłem migawkę vmware.
xmllmx
5
@xmllmx: To jeden z powodów, dla których zamiast (lub oprócz obrazu) najlepiej jest skopiować i wkleić wynik jako tekst.
TJ Crowder,
2
Ext * blokuje tylko dwa znaki z nazw plików: \0i /. Jest to ograniczenie na poziomie jądra i FS; nawet jeśli udało ci się to zrobić, samemu chowając wpisy w katalogu, jestem w około 82% pewien, że Linux nie byłby w stanie przejść do pliku, aby go otworzyć.
cHao

Odpowiedzi:

53

To nie jest /postać ( U + 002F ); to jakiś znak Unicode, który wygląda podobnie.

Próbować

ls | hexdump -C

żeby zobaczyć co to jest.

Niektóre możliwości to: Fraction Slash (U + 2044) , DIVISION SLASH (U + 2215) , MATHEMATICAL RISING DIAGONAL (U + 27CB) oraz łączące znaki solidus U + 0337 i U + 0338 , ale nie ma sposobu, aby powiedzieć, który z nich twój zrzut ekranu.

cjm
źródło
2
fajnie ... dzięki, to ls | hexdump -Cwydaje się przydatne w wielu przypadkach.
początkujący