Nie jestem do końca pewien, czy jest to „właściwe” pytanie do opublikowania tutaj. Prawdopodobnie pytam więcej o „opinie” niż o rzeczywiste odpowiedzi kategoryczne (tych, które działają albo nie, i to wszystko).
Zastanawiałem się, jakie separatory nazw będą najbardziej przyjazne dla systemu Linux (a dokładniej Bash ) i jednocześnie przyjazne dla ludzi .
Powiedzmy, że chcę utworzyć katalog, który zawiera coś związanego z Mr. Foo Bar ( Foo to imię, Bar to nazwisko)
Posiadanie nazwy „ Foo-Bar/
” jest bardzo wygodne. -
jest „zwykłą” postacią, nie trzeba jej uciekać, wyraźnie to pokazuje Foo
i Bar
są dwiema osobnymi rzeczami ... Fajnie.
Teraz „ Foo.Bar
” jest nieco trudniejsze. Ktoś może pomyśleć, że Foo.Bar
tak naprawdę jest to plik (na pierwszy rzut oka, zwłaszcza jeśli nie masz włączonych terminali z kolorowaniem), gdzie „ Foo
” to nazwa pliku, a Bar
rozszerzenie „ ”.
Mógłbym również użyć „ Foo Bar
”, ale potem muszę uciec od białych znaków, gdy chcę uzyskać dostęp do katalogu, a jeśli chcę wyświetlić zawartość katalogu nadrzędnego (gdzie się Foo Bar
znajduje) i umieścić tę listę w tablicy bash, białe miejsca będą powodować problemy (bardzo często). Niemiły.
Nawiasy ()
powodują również wiele problemów. Trzeba też ich uciec, a następnie spowodować kłopoty z poleceniami, ponieważ scp
... Niezbyt przyjemnie.
Więc ... pytanie (w końcu) brzmi: jeśli potrzebujesz, aby nazwa pliku była jasna i znacząca na pierwszy rzut oka, i musisz użyć separatorów, czego używasz?
Odpowiedzi:
Krótka odpowiedź: „Foo _-_ Bar”
Długa odpowiedź:
Aby ułatwić wykrycie rzeczy, zwykle używam sekwencji znaków w obszarach, w których jest to potrzebne, chodzi o użycie czegoś, co jest łatwe do wykrycia, aby uzyskać separator, np. „_-_” Lub „ ___ ”.
Praktycznym przykładem, w którym go używam, jest moja kolekcja mp3, w której nazwy plików zawierają wykonawcę i tytuł utworu, a czasem numer porządkowy. A jeśli używasz magicznej sekwencji do ich rozdzielenia, jest to łatwe zarówno dla oka, jak i dla skryptów. Przykład mp3 może wyglądać mniej więcej tak.
Teraz można to przełożyć na przykład, jeśli Foo i Bar to dwie logiczne rzeczy, które nie powinny się mieszać, a może to być Foo _-_ Bar.
źródło
VAGRANTSLASH
w nazwach plików, w których występuje separacja.Przy tak wielu postaciach, które według ciebie nie powinny być wyjątkowe, w rzeczywistości będąc wyjątkowymi, po prostu i tak używam znaków specjalnych. To również wprawia mnie w dobre nawyki korzystania z uzupełniania basha, gdzie automatycznie unika wszystkich znaków specjalnych w nazwie pliku. Ale wprawia mnie to również w dobre nawyki ucieczki / cytowania WSZYSTKIEGO w skryptach i wieloczęściowych 1-liniowych wersjach bash.
Na przykład w prostej 1-liniowej linijce:
for file in *.txt; do something.sh "$file"; done
W ten sposób, nawet jeśli jeden z plików ma spację lub inny znak,
do
część pętli nadal będzie na niego oddziaływać i nie pominie 2 lub więcej części nazwy pliku, prawdopodobnie powodując niezamierzone skutki uboczne.Ponieważ nie mogę kontrolować nazewnictwa spacji / spacji KAŻDEGO pliku, który napotkam, a gdybym spróbował, prawdopodobnie zepsułby gdzieś niektóre dowiązania symboliczne, powodując jeszcze bardziej niezamierzone konsekwencje, po prostu oczekuję, że wszystkie nazwy plików / katalogów mogą zawierać spacje, i po prostu zacytuj / usuń wszystkie zmienne, aby to skompensować.
Więc używam tylko dowolnych znaków (często spacji) w nazwach plików.
Używam nawet spacji w nazwach zestawów danych ZFS, co muszę przyznać, że wywołało spore zamieszanie wśród programistów, którzy piszą oprogramowanie dla NAS, którego używam.
Podsumowanie: spacje nie są nieprawidłowymi postaciami, więc nie ma powodu, aby ich nie używać.
źródło
Używam myślników
-
z powodów, o których wspomniałeś powyżej. Unikam podkreśleń, ponieważ wymagają użycia klawisza Shift, więc wpisanie zajmuje co najmniej dwa razy więcej (myślę, że są brzydkie)Jestem bardziej skłonny to zrobić dla nazw plików skryptów niż cokolwiek innego - wydaje mi się, że ważniejsze jest dla mnie jasne określenie, do czego służy skrypt. Pliki dokumentów to tylko obojętne dane, ale skrypty są potencjalnie niebezpieczne, jeśli zostaną niewłaściwie użyte.
źródło
Używam podkreślników (
_
). Wizualnie znikają i są łatwe do pisania, a nie wyjątkowe.źródło
-
, i trudniejsze do typu (trzeba użyć klawisza SHIFT)