Ktoś, kogo znam, wyraził dzisiaj irytację wobec tych z nas, którzy zwykle nie używają spacji w naszych nazwach plików, np. NamingThingsLikeThis.txt
- pomimo większości współczesnych systemów operacyjnych obsługujących spacje w nazwach plików.
Czy istnieją techniczne powody , dla których nadal często obserwuje się nazwy plików bez (odpowiednich) spacji? Jeśli tak, to jakie są te techniczne przyczyny, dla których spacje w nazwach plików są omijane lub odradzane, i w jakich okolicznościach są one istotne?
Najbardziej oczywistym powodem, dla którego mogłem wymyślić i dlaczego zwykle tego unikam, są dodatkowe cudzysłowy wymagane w wierszu poleceń podczas obsługi takich plików. Czy są jakieś inne ważne przyczyny techniczne?
operating-systems
file-management
filenames
Chris W. Rea
źródło
źródło
Odpowiedzi:
Znaki białych znaków w nazwach plików mogą być prawdziwym królewskim bólem w przysłowiowym w wielu kontekstach wiersza poleceń oraz w skryptach, w których należy uważać, aby upewnić się, że są one odpowiednio chronione, więc nie wyglądaj jak separatory od poleceń, którymi jesteś bieganie.
Bezpieczniej jest ich nie mieć, nawet jeśli masz pewność, że plik / dir / what-ever nigdy nie będzie używany w takim kontekście.
To i stare nawyki umierają ciężko.
źródło
'\n'
) w ich nazwach. (Systemy uniksowe faktycznie na to pozwalają; ogólnie Windows, a przynajmniej utrudnia.)Oprócz innych odpowiedzi na temat wiersza poleceń i starych nawyków istnieje również wiele protokołów sieciowych, które wymagają szczególnej uwagi w przypadku nazw plików zawierających spacje.
(Jeśli kiedykolwiek próbowałeś pobrać „Product List.pdf” ze strony internetowej, a skończył się plikiem o nazwie „Produkt”, ugryzł cię to, ponieważ programista na drugim końcu nie wiedział lub nie mógł wymyślić reguły cytowania dla nagłówka http Content-Disposition.)
źródło
Wiele powodów jest historycznych. To nie znaczy, że nie mają dziś sensu.
Problemy z przenośnością
Podczas nazywania pliku konieczne może być również rozważenie, w jaki sposób inne systemy (plikowe) będą traktować tę nazwę pliku. Znak w nazwie pliku może być odpowiedni dla twojego systemu, ale może być problemem dla innego systemu.
Tak długo, jak istnieje najmniejsza możliwość, że możesz chcieć mieć łatwy dostęp do pliku ze starszego systemu, wybierasz tylko bezpieczny znak. Może to obejmować rozruch ze starego systemu przywracania systemu lub obawy, że najnowsze wersje systemu Windows nadal są w jakiś sposób oparte na systemie MS-DOS.
Długość
System plików może ograniczać długość pliku. Było to jeszcze poważniejsze w czasach, gdy MS-DOS był ograniczony do 8,3 nazw plików . Pominięcie spacji pozwoliło więc na umieszczenie w nazwie bardziej znaczących znaków.
Kilka innych systemów plików również zdefiniowało ścisłe ograniczenia długości ich nazw. Wikipedia zawiera tabelę w artykule na temat porównania systemów plików dla tych, którzy chcą szczegółów.
Zarezerwowane postacie
MS-DOS zdefiniował również znak spacji jako znak zastrzeżony. Wynika to z faktu, że znak spacji został użyty do wypełnienia w FAT . Ponadto MS-DOS nie zapewniał ucieczki systemu w powłoce.
Interpretacja wiersza poleceń
W większości wierszy poleceń zdaję sobie sprawę ze stosowania znaku spacji jako ogranicznika parametru . Zaniedbanie prawidłowego zmiany nazwy pliku może mieć poważne konsekwencje, ponieważ części nazwy pliku można interpretować jako parametry aplikacji, do której chcesz zadzwonić.
Rozważ różnicę między
i
Artykuł WikiPedia, do którego prowadzi link powyżej, wskazuje nawet na dwuznaczność wprowadzoną przez brak, aby poprawnie uciec od polecenia:
Jednolite lokalizatory zasobów (URL)
Przy próbie opisania położenia pliku za pomocą adresu URL należy wstawić spacje.
Źródło: RFC1738
Dlatego
%20
zamiast tego należy zastąpić spację . To sprawia, że nazwa pliku jest częścią adresu URL mniej czytelna, a tym samym ludzie przede wszystkim go unikają.źródło
Miejsca są kodowane lub konwertowane na
%20
nazwy plików w Internecie, co może utrudnić zarządzanie zasobami witryny.Posiadanie
Image 1.png
iImage%201.png
jest mylące.Image001.png
Zamiast tego jest łatwiejszy w użyciu .To naprawdę należy do tej samej kategorii co sekwencje specjalne dla wiersza poleceń.
źródło
Czasami spacje mogą stanowić problem podczas pracy w wierszu polecenia, podczas korzystania ze starszych systemów operacyjnych, lub podczas pisania programów, które będą kompilowane w różnych systemach operacyjnych, lub gdy ... istnieje wiele powodów, które mogą stanowić problem, a ja nie Naprawdę wydaje mi się, że zapisanie pliku to taki problem: file-without-blanks.txt lub file_without_blanks.txt . Wolę dask, ponieważ podkreślenie może czasem stać się niewidoczne, gdy mamy do czynienia np. Z podkreśloną czcionką.
Ale przede wszystkim jest to kwestia przyzwyczajenia od starości. Których nie czuję się tam wystarczająco dużo pro powody do opamiętania.
Dodatkowa uwaga, być może niezwiązana, ale i tak ją tu zamieszczę. Ludzie, którzy nazywają swoje pliki spacjami, zwykle nie myślą o tym dużo; ci, którzy często nie wiedzą, dlaczego warto unikać ich w nazwach plików.
I wszyscy możemy się zgodzić, że nie ma nic gorszego niż plik o nazwie „Szanowny Panie lub Pani, piszę do was ten list, aby poinformować was o yo.doc”.
Nie tylko spacje - długość pliku też się liczy, a IMHO nie powinno być dłuższe niż, powiedzmy, 30 znaków. Długie nazwy plików ze spacjami są również błogosławieństwem podczas nagrywania płyt CD, DVD i takich, które należy odczytać w starszych systemach operacyjnych oraz pomiędzy plaformami Win i * nix.
źródło