fdisk (8) mówi:
Urządzeniem jest zwykle / dev / sda, / dev / sdb lub tak. Nazwa urządzenia odnosi się do całego dysku. Stare systemy bez libata (biblioteka używana w jądrze Linuksa do obsługi kontrolerów hosta ATA i urządzeń) różnicują dyski IDE i SCSI. W takich przypadkach nazwą urządzenia będzie / dev / hd * (IDE) lub / dev / sd * (SCSI).
Partycja to nazwa urządzenia, po której następuje numer partycji. Na przykład / dev / sda1 jest pierwszą partycją na pierwszym dysku twardym w systemie. Zobacz także dokumentację jądra Linux ( plik Documentation / devices.txt ).
Na tej podstawie rozumiem, że w kontekście Linuksa ciąg podobny do /dev/hda
lub /dev/sda
jest „nazwą urządzenia”. W przeciwnym razie drugie zdanie, które podkreśliłem powyżej, nie ma sensu: zamiast tego powiedziałoby: „ Na przykład sda1 jest pierwszą partycją na pierwszym dysku twardym w systemie ”.
Ten widok jest poparty przez Linux Partition HOWTO :
Zgodnie z konwencją dyski IDE otrzymają nazwy urządzeń / dev / hda do / dev / hdd .
Czy istnieje technicznie poprawny (a najlepiej jednoznaczny i zwięzły) angielski termin na podciąg hda
lub sda
nazwę takiego urządzenia? Na przykład, czy w tym przypadku poprawne byłoby wywołanie sda
napędu:
- "krótkie imię"; lub
- „niekwalifikowana nazwa urządzenia”; lub
- coś innego?
(Nie proszę o potoczne, które są technicznie niepoprawne, nawet jeśli są w powszechnym użyciu).
źródło
dkinfo
który nie jest częścią Linuksa lub GNU / Linuksa (ale zamiast tego jest częścią SunOS ), jest poza zasięgiem, przepraszam.Odpowiedzi:
sda
to nazwa urządzenia ./dev/sda
to ścieżka urządzenia .Pomyśl
/sbin/fdisk
,fdisk
to nazwa pliku , a ścieżka/sbin/fdisk
pliku .źródło
/dev/sda
jest ścieżką do urządzenia blokowego, ale rzeczywista ścieżka urządzenia byłaby czymś w rodzaju/devices/pci0000:00/0000:00:17.0/ata2/host1/target1:0:0/1:0:0:0/block/sda
mount
kieruje również sterownikiem urządzenia do mapowania pamięci RAM (nie woluminu) jako systemu plików, może--bind
fragmentu drzewa plików jako poddrzewa itp. Ponadto, zamontowanie „dysku” RAID może być użyteczne i / lub dziwaczne rzeczy z wieloma woluminami, aby uzyskać dostęp lub dostęp do części. Krótko mówiąc,mount
potrafi wiele rzeczy, ale najbardziej typowym jest pojawienie się systemu plików gdzieś w drzewie plików.sda
Część/dev/sda
może oznaczać kilka rzeczy w zależności od punktu widzenia:Nazwa pliku
Zasadniczo jest to nazwa pliku, który, jeśli jest dyskiem, jest urządzeniem blokowym , a zatem nazwą urządzenia
Jako root:
Nazwy dysków
sda
to ciąg, który nadaje nazwę dyskowi (inny niż partycje sda1, sda2, sdX itp.). Zwykle jest generowany przez udev na podstawie zastosowanych reguł urządzenia.Ścieżka do katalogu
sda
to podstawowa nazwa ścieżki/dev/sda
Ograniczone do interpretacji związanej z nazwami dysków:
W dawnych czasach: sda była nazwą urządzenia dysku SCSI a .
Ponieważ ta sama biblioteka została rozszerzona na dyski SATA, myślę, że teraz powinna się nazywać:
Lub po prostu:
źródło
Jest to nazwa dysku / partycji blokowej generowanej przez jądro :
sda
to nazwa dysku generowana przez jądro. Sterowniki jądra (w tym stos SCSI, który okazał się bardzo wygodny w użyciu dla dysków SATA) wypełniajądisk_name
polegendisk
struktury (tj. Dla SCSI: drivers / scsi / sd.c # L3338 ), aby wygenerowaćsda
nazwę.Ta nazwa jest później używana jako nazwa odpowiedniego urządzenia blokowego w
/dev
,/sys
i/proc/{partitions,diskstats}
. Jednak instrukcja dla procfs nazywa ją nazwa partycji ( proc (5) ), a dokumentacja statystyk dysku nazywa ją nazwą urządzenia ( iostats.txt ).źródło
sda
i/dev/sda
są wymienne, i oba nazywane są nazwą urządzenia. Myślę, że to dlatego, że (w normalnym systemie) zamontowaćdevfs
na/dev
, tak jak nazwysda
kolei w ścieżkach, jak/dev/sda
(które można również połączyć się z nazwy).W Linux / Unix wszystko jest plikiem. Urządzenie reprezentuje jako plik. Cały plik typu urządzenia znajduje się w lokalizacji / dev. Tak więc sda jest plikiem specjalnym typu urządzenia blokowego.
Uwaga : gdzie x jest zmienną. x oznacza pozycję dysku twardego.
Teraz w SD *
źródło
sd*
nazwy z niektórymi sterownikami, czy zawsze z nowoczesnymi jądrami? Zapominam, że nie mam żadnych aktywnych maszyn z PATA i nowoczesnym jądrem./dev/sda
,sda
jest plikiem, a ja również zrozumieć, co oznacza plik. Moje pytanie było o tym, co nazywamy podciągsda
i smyczki podoba się to, gdy się do nich odnosi ustniesdX
nazwy i są również powiązane z SATA i SUB.Wydaje się, że są co najmniej dwie prawidłowe odpowiedzi
sda
może być poprawnie nazwany „basename” dla dysku.sda
można również poprawnie nazwać „nazwą dysku jądra” dla napędu.Jak doszedłeś do tego wniosku?
Poprzez proces eliminacji na każdym z prawdopodobnych kandydatów:
To nie może być poprawny termin. Jak zauważono w pierwotnym pytaniu , odnosi się do w pełni kwalifikowanej nazwy (np.
/dev/sda
), A nie do końcowego fragmentu (npsda
.).Potwierdzające dowody dodatkowych źródeł, takich jak str.68 of The Definitive Guide to SUSE Linux Enterprise Server 12 :
oraz str. 94 wydania Linux Bible 2008 Edition :
Nie może to być również poprawny termin, ponieważ jest używany w dokumentacji technicznej jako synonim pełnej nazwy (np.
/dev/sda
), A nie tylko końcowego fragmentu (np.sda
):BASENAME (1) :
DIRNAME (1) :
Nie może to być również poprawny termin, ponieważ jest używany w dokumentacji technicznej jako synonim pełnej nazwy (np.
/dev/sda
), A nie tylko końcowego fragmentu (np.sda
):GNU Coreutils: wywołanie nazwy basename :
GNU Coreutils: wywołanie dirname :
To też nie może być poprawny termin. Nie mogę znaleźć żadnej dokumentacji technicznej, która odwoływałaby się do ostatniej części nazwy urządzenia jako „krótka nazwa” lub „krótka nazwa”. Terminy te wydają się być używane w Linuksie lub GNU tylko w kontekście opcji montowania VFAT lub nazw hostów w sieci .
Termin ten wydaje się być ważna odpowiedź, oparta na str.149 z Instalacja Red Hat Linux 7 :
oraz notatki z kursu dla CST8207 (GNU / Linux Operating Systems) w Algonquin College :
i p.1456 stanowi praktyczny przewodnik Red Hat Linux 8 :
Na szczęście GNU / Linux ma również
basename
polecenie, którego można użyć do uzyskania nazwy basename:Termin ten wydaje się również być ważna odpowiedź, ze względu na str.100 z jądra Linux w pigułce :
Nawiasem mówiąc, „nazwa dysku jądra” wydaje się być poprawną terminologią w kontekście systemu Solaris :
źródło
/dev/sda
są określane przez: BASENAME (1) jako „nazwy plików”; DIRNAME (1) jako „nazwy plików”; dokumentacja GNU Coreutils jako „nazwy”; oraz przez FDISK (8) i TLDP jako „nazwy urządzeń”. Tak więc żadne z tych terminów nie może być nigdy użyte jednoznacznie w odniesieniu do końcowego składnika łańcucha rozdzielanego ukośnikiem. Ergo, jeśli chcemy terminu, którego można użyć do jednoznacznego odniesienia do tej części łańcucha, musimy użyć czegoś innego. Źródła w mojej odpowiedzi, razem wzięte, mówią, że część przed ostatecznym ukośnikiem to „nazwa katalogu”, a część następna to „basename”. Voilà .sda
a nie/dev/sda
, możesz nazwać to „basename”. Możesz też użyć po prostu „nazwa” vs. „ścieżka” w tej dokumentacji i podać przykład, jak większość dokumentacji. Nie sądzę, aby istniał powszechnie uzgodniony termin inny niż „imię”, nawet jeśli niektóre dokumenty używają słowa „imię”, aby podać pełną ścieżkę.„Wszystko jest plikiem” - więc
sda
czy zwykła nazwa pliku,/dev
katalog (a pusty ciąg nie jest rozszerzeniem) urządzenia są udostępniane za pośrednictwem pełnej ścieżki/dev/sda
, która zgodnie z konwencją jest pierwszym dyskiem innym niż IDE? Czypasswd
nazwa pliku i/etc
katalog pliku są dostępne, ponieważ/etc/passwd
zgodnie z konwencją zawierają (ed) dane hasła?źródło