Czasami sensowne jest, aby nazwa folderu zawierała kropkę (.). Na przykład przechowujesz dane dla eksperymentu przeprowadzonego przy L = 0,5. Tak więc folder może mieć nazwę:
experiment_L0.5
Podobny problem może wystąpić w przypadku nazw plików. Na przykład:
file_L0.5.txt
Czy praca w Ubuntu jest złą praktyką? Co powiesz na udostępnianie tych katalogów użytkownikowi Windows?
Dzięki!
Odpowiedzi:
O ile mi wiadomo, nie ma problemów z nazywaniem folderów i plików za pomocą jednej lub wielu kropek.
Ubuntu zasadniczo nie używa kropki i trzech znaków (takich jak .txt) do identyfikacji typu pliku. Nie ma to więc specjalnego znaczenia w kontekście Ubuntu. Jest to przydatne podczas udostępniania plików w systemie Windows. Ubuntu używa Magic Numbers w pierwszych kilku bajtach pliku do identyfikacji typu pliku. Jednak Nautilus. ignoruje magiczne liczby, jeśli dostępne jest rozszerzenie kropki i trzech znaków w celu identyfikacji typu pliku. To ustawienie można zmienić. Zobacz Wymuś nautilusa, aby ignorować rozszerzenia
W Ubuntu rozpoczęcie nazwy pliku lub folderu kropką, na przykład
.experiment_L0.5
, powoduje ukrycie pliku lub folderu. Możesz przełączać wyświetlanie ukrytych plików, naciskając Ctrl+ Hw Nautilusie. W systemie Windows nazwa pliku rozpoczynająca się od. nie jest ukryty Więc jeśli przeniesiesz ukryty plik o nazwie.experiment_L0.5
do systemu Windows, będzie on wyraźnie widoczny.W Ubuntu nazwa pliku może kończyć się kropką, ponieważ nie ma specjalnego znaczenia na końcu. Jednak w systemie Windows kropka oddziela nazwę pliku i rozszerzenie, a nazwa pliku kończąca się kropką, ale rozszerzenie nie jest dozwolone. Kiedy próbowałem utworzyć taki plik w systemie Windows, dostałem plik z samą nazwą, bez kropki, bez rozszerzenia.
Odniesienia: Wiki na temat nazw plików
Mam nadzieję że to pomoże.
źródło
:
znaku dwukropka , niedozwolonego w nazwach plików systemu Windows, co spowoduje problemy ( i tak się dzieje ). Zobacz także tutaj .fname.
) nie jest dozwolona w systemie Windows.test.
w systemie Windows. Zaktualizuję swoją odpowiedź.Krótka odpowiedź
<>:"/\|?*
( źródło )i kropka
.
( źródło )grep
). Wiodąca kropka powoduje, że w systemie Linux plik jest ukryty zgodnie z konwencją. W systemie Windows kropki są używane w rozszerzeniu pliku, które służy do wykrywania typu pliku.CON
,PRN
,AUX
,CLOCK$
,NUL
COM1
,COM2
,COM3
,COM4
,COM5
,COM6
,COM7
,COM8
,COM9
LPT1
,LPT2
,LPT3
,LPT4
,LPT5
,LPT6
,LPT7
,LPT8
, iLPT9
. ( źródło )/
null (bajt null,\0
).Długa odpowiedź
Tło techniczne: system plików
Ubuntu korzysta z
ext4
systemu plików. System plików śledzi, gdzie pliki są przechowywane w pamięci podstawowej (dysk, dysk SSD lub cokolwiek innego), uprawnienia w postaci właściciela / grupy / innego mogą odczytać / zapisać / wykonać, znaczniki czasu, nazwę.System plików strukturyzuje dostępną pamięć. Pierwszy blok nazywa się „superblokiem”. Ten blok służy do montowania systemu plików. O ile mi wiadomo, każdy nowoczesny system plików dzieli przestrzeń na bloki. Myślę (i nie jestem tego pewien), że większość systemów plików ma również stały rozmiar bloku, chociaż rozmiar bloku można skonfigurować podczas tworzenia systemu plików. ext4 (a także ext2 i ext3) wykorzystują tak zwane „i-węzły” dla plików i katalogów. Te i-węzły zawierają wskaźniki do innych bloków (które mogą być również i-węzłami lub „blokami danych”). I „pierwszy” i-węzeł pliku zawiera wszystkie informacje, o których wspomniałem powyżej.
Inną informacją jest „typ” pliku. „Typ” może być:
W rzeczywistości możesz także otwierać katalogi za pomocą edytora:
Ponieważ katalog nie zawiera pełnej ścieżki, a jedynie nazwy zawartości, nie widzę powodu, dla którego pliki nie mogą zawierać
/
. Myślę, że to może być wygoda. (Czy ktoś wie, dlaczego/
nie jest dozwolony?)W przypadku innych systemów plików sytuacja wygląda jednak inaczej. FAT16 i FAT32 używały tak zwanej „tabeli alokacji plików”. Oznacza to, że istnieje tabela, która zawiera wszystkie pliki zapisane w pliku, w którym „klastrze” zaczynają i w którym klastrze kończą jako pojedynczo połączona lista.
Ważną rzeczą, którą chciałem powiedzieć, jest to, że niedozwolone znaki mogą również zależeć od systemu plików.
Tło techniczne: Typy plików
.txt
lub.html
(oba są plikami tekstowymi).Związane z
źródło
.txt
a.html
pliki rzeczywiście mają różne „magiczne wartości” - spróbuj zmienić nazwę pliku HTML natest.txt
i uruchomićfile test.txt
. Nie ma to większego związku z pierwotnym pytaniem, ale nadal :)file
:file
nie tylko używa magicznych wartości do określenia typu pliku. Każdy prawidłowy plik HTML jest plikiem tekstowym (w tym sensie, że zawiera czytelne znaki), ale nie każdy prawidłowy plik tekstowy jest prawidłowym plikiem HTML (w tym sensie, że sprawdza poprawność względem walidatorów W3C). Tak więc całkiem sporo typów plików (html, xml, csv, js, php, c, h, cpp, ...) to w rzeczywistości pliki tekstowe. Tylko pliki binarne mają bajty magiczne, które znajdują się w ściśle określonych pozycjach. Wszystkie wyżej wymienione pliki mogą mieć dowolną spację przed treścią.Ze względu na kompletność nazwy składające się tylko z jednej kropki
.
lub dwóch kropek..
są wyjątkowe:.
odnosi się do bieżącego katalogu..
odnosi się do katalogu nadrzędnegoTe wpisy są dodawane automatycznie i zawsze istnieją, więc nie możesz mieć pliku o nazwie
.
lub..
.źródło
Nie ma to znaczenia, ani w systemie Linux, ani w systemie Windows.
Powszechną praktyką jest posiadanie folderu o nazwie „program.d” - w celu zapisania konfiguracji i innych rzeczy dla programu (zajrzyj do katalogu / etc)
źródło
Nazwy plików są bardzo elastyczne w systemach plików Unix i Linux. Jedyną nazwą pliku, której nie możesz mieć, jest znak null lub
/
nazwa zawierająca w nazwie jego nazwę. Ale z pewnością dobrą praktyką byłoby unikanie używania znaków, które są zabronione / zastrzeżone w innych systemach z punktu widzenia przenośności nazw; jakbyś nie powinien używać żadnego ze" * : < > ? \ / |
znaków (ograniczony przez NTFS) w nazwie pliku, jeśli chcesz uzyskać dostęp do pliku w systemie Windows.A jeśli chodzi o użycie
.
(kropki) w nazwie pliku , myślę, że powinno być w porządku, ponieważ nie wydaje się być „zastrzeżoną” postacią w żadnym z systemów (z wyjątkiem OpenVMS, MS-DOS i Windows, w których jest używany w nazwa pliku / katalogu jest dozwolona, ale ostatnie wystąpienie zostanie zinterpretowane jako separator rozszerzeń w VMS, MS-DOS i Windows), jak wspomniano w linku do Wikipedii poniżej:W innych systemach, zwykle uważanych za część nazwy pliku, może być dozwolony więcej niż jeden kropka. W Uniksie okres wiodący oznacza, że plik lub folder jest zwykle ukryty.
źródło