Które znaki są dozwolone, a które z nich należy wstawić w wierszu poleceń w różnych systemach operacyjnych?
linux
windows
command-line-interface
filesystems
java.is.for.desktop
źródło
źródło
Odpowiedzi:
Dyskusja na temat znaków nazw plików znajduje się w artykule Wikipedii na temat nazw plików .
Ten esej może ci się przydać: Naprawianie nazw plików Unix / Linux / POSIX .
W tym artykule porównano OS X i Windows XP: X vs. XP: Zabronione znaki w nazwach plików (PDF, patrz str. 64–66).
Rzeczy, które nie powinny znajdować się w nazwach plików za 1000 $ Alex
Nie wiem, jakie znaki muszą być un -escaped, ale w Linuksie, to chyba nie jest dobry pomysł, aby uniknąć znaki, które mogą mieć szczególne znaczenie takie jak „n” (nowa linia), „t” (TAB) i innych, ale generalnie nie stanowi to problemu w operacjach na plikach. Być może masz na myśli raczej „uciekł” niż „nieskalowany”. Najczęściej spotykane są te, które powłoka będzie interpretować, takie jak spacja, „>”, „<” itd. Zobacz niektóre artykuły, które podłączyłem, aby je omówić.
źródło
Jedynymi znakami niedozwolonymi w nazwie pliku w * nix są
NUL
i/
. W systemie Windows, tylkoNUL
,:
i\
są naprawdę nie jest dozwolone, ale wiele aplikacji, które dodatkowo ograniczają także zapobieganie?
,*
,+
, i%
.W żadnym momencie znaki w nazwie pliku nie muszą być poprzedzane znakami, chyba że jest to wymagane, aby nie były interpretowane przez powłokę.
źródło
Jeśli utworzysz plik w systemie Windows za pomocą Eksploratora przy użyciu jednego z następujących znaków, będzie to narzekać, że znaki nie są dozwolone:
Dobry odnośnik znajduje się tutaj:
Nazewnictwo plików, ścieżek i przestrzeni nazw
http://msdn.microsoft.com/en-us/library/aa365247%28VS.85%29.aspx
Microsoft stwierdza dalej:
„... na platformach komputerowych z systemem Windows nieprawidłowe znaki ścieżki mogą zawierać znaki ASCII / Unicode od 1 do 31, a także cudzysłów (”), mniej niż (<), większy niż (>), potok (|), backspace (\ b), null (\ 0) i tab (\ t). "
http://msdn.microsoft.com/en-us/library/system.io.path.getinvalidpathchars.aspx
źródło
\ / : * ? " < > |
od nich wszystkich i utworzyć je za pomocą mkdir na moim systemie GNU / Linux. Możesz także użyćmkdir '?'
do utworzenia?
katalogu. Użyłem ramdysku i systemu plików XFS do przetestowania tego.W systemie Linux i innych systemach zgodnych z POSIX „/” jest zarezerwowane, ponieważ jest separatorem katalogów, a „\ 0” (znak NULL) oznacza koniec łańcucha. Wszystko inne jest dozwolone.
źródło