Jaki jest odpowiednik przełączania dysków w terminalu w systemie Linux?


38

W DOS, przełączać się między różnymi napędami wpisując c:, d:, e:i tak dalej. Ale to nie działa w ten sposób w Linuksie.

Czy ktoś mógłby mi powiedzieć, jak przełączać się między różnymi dyskami?


tak .. używając Linuksa po raz pierwszy.
muszę

Aby wyjaśnić, ponieważ jest to zwykłe nieporozumienie powodujące więcej problemów w zrozumieniu: DOSBox to emulator, cmd.exe interpreter wiersza poleceń dla wydań systemu Windows nie opartych na DOS, a COMMAND.COM powłoka systemowa dla DOS. Chociaż interakcja użytkownika z tymi programami i ich wygląd mogą być podobne, nie są one takie same.
LiveWireBT,

Odpowiedzi:


23

Linux tak naprawdę nie ma sposobu pracy z „dyskami”, z wyjątkiem narzędzi systemowych, które uzyskują dostęp do partycji; często muszą określić dysk zawierający partycję. Ale jeśli każdy z dysków ma tylko jedną partycję, to tak naprawdę nie ma znaczenia.

W każdym razie, aby uzyskać dostęp do dysku, faktycznie musisz w jakiś sposób określić partycję, zwykle za pomocą definicji takiej jak / dev / sda1 (1. partycja na 1. dysku) lub / dev / sda2 (2. partycja na pierwszym dysku). Za pomocą Narzędzia dyskowego lub programu gparted możesz zobaczyć wszystkie partycje graficznie. Jeśli używasz tylko terminala, okazało się, że przydatne jest polecenie „blkid”, aby wyświetlić listę dysków z ich identyfikatorami UUID. Korzystam z formularza:

sudo blkid -c /dev/null

Korzystając z terminala, musisz zamontować partycję, aby faktycznie z niego korzystać. Jest to w rzeczywistości dość łatwe do zrobienia. W większości przypadków wolisz użyć pustego katalogu jako „punktu podłączenia”; jeśli katalog nie jest pusty, jego zawartość zostanie zamaskowana i niedostępna podczas montowania. Może to być przydatne w pewnych okolicznościach, takich jak testowanie lub tymczasowa zmiana konfiguracji z innego powodu, ponieważ zmniejszy to potrzebę zmiany nazwy lub usunięcia bieżącej zawartości.

Jeśli masz katalog o nazwie / mnt / drive2 (/ mnt jest powszechnie używany, ale jeśli chcesz, może znajdować się w katalogu domowym), a twoim dyskiem jest / dev / sdb, z jedną partycją, wówczas najprostszym poleceniem jest:

sudo mount -t type /dev/sdb1 /mnt/drive2

gdzie „typ” jest typem pokazanym w poleceniu blkid, takim jak ntfs, ext4 itp.

EDYCJA: aby eksperymentować, nie bój się wypróbować polecenia mount. Jest to tylko tymczasowe do momentu ponownego uruchomienia (lub odmontowania przy użyciu polecenia „umount”). Aby było trwałe, musisz go wprowadzić /etc/fstab. Jeśli chcesz to zrobić, możesz eksperymentować, tworząc wpis, a następnie używając polecenia „mount -a”, aby zamontować wszystko /etc/fstab. Jeśli wystąpią błędy, wyświetli się komunikat. Możesz je poprawić i powtarzać, aż zadziała.


1
Pierwsza partycja pierwszego dysku to sda1, nie ma sda0
enzotib

Ups, przepraszam, masz rację. Tak przyzwyczaiłem się do używania UUID, że o tym zapomniałem. A ponieważ mam wiele partycji, zawsze muszę je sprawdzić, aby wybrać, która z nich ma zostać użyta, więc nie myślę o tym. Zmodyfikuję moją odpowiedź, ale zanotuję ją, aby twój komentarz nie wyglądał nie na miejscu.
Marty Fried

12

Dyski twarde (dyski, jak je nazywasz) zawierają partycje, a każda partycja zawiera system plików.

W systemach Linux i Unix istnieje główny system plików o nazwie root system plików, oznaczony symbolem /. Inne systemy plików (rzeczywiste lub wirtualne) są montowane w głównym systemie plików w punkcie instalacji , tj. Pusty katalog używany jako punkt początkowy dla określonego systemu plików, w taki sposób, że wszystkie pliki są dostępne jako potomek katalogu głównego.

Jeśli wpiszesz polecenie mountbez opcji, zobaczysz coś takiego:

sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,relatime,size=764668k,nr_inodes=191167,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=153392k,mode=755)
/dev/sda5 on / type ext4 (rw,noatime,errors=remount-ro,user_xattr,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=306784k)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,relatime,size=306784k)
/dev/sda7 on /media/data type ext4 (rw,noatime,user_xattr,acl,barrier=1,data=ordered)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
XXX.XXX.163.168:/media/data/ on /media/data/mnt type nfs4 (rw,nosuid,noexec,relatime,vers=4,rsize=131072,wsize=131072,namlen=255,hard,proto=tcp,port=0,timeo=600,retrans=2,sec=sys,clientaddr=XXX.XXX.163.76,minorversion=0,local_lock=none,addr=XXX.XXX.163.168)
gvfs-fuse-daemon on /home/enzotib/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)

gdzie widać, że partycja /dev/sda5(piąta partycja dysku twardego /dev/sda) jest zamontowana /, więc jest to partycja root.
Co więcej, widzisz /dev/sda7kolejną partycję / system plików, zamontowany /media/data, aby cd /media/dataskutecznie odpowiadać d:terminologii systemu Windows.

Jak widać, w tym wyjściu znajduje się wiele innych zamontowanych systemów plików i wszystkie są wirtualnymi systemami plików, tj. Systemem plików nie odpowiadającym partycji dysku. I możesz zobaczyć system plików zamontowany w systemie plików NFS, wirtualny system plików połączony z rzeczywistym systemem plików dostępnym na innym komputerze za pośrednictwem sieci (linia wyjściowa, w której widzisz adres IP częściowo celowo zasłonięty przeze mnie).

Możesz zobaczyć prostotę posiadania pojedynczej struktury dostępu do wszystkich plików, aw niektórych przypadkach także do plików zdalnych.

Powiązane pytania:


1
Korzystanie lsblkmoże być nieco łatwiejsze do odczytania i zawiera tylko listę blokowych urządzeń pamięci masowej (bez sysfs, proc, cgroup itp.).
LiveWireBT,

cd ~wrócić dohome directory
Aakash Shah

1
@AakashShah: cd ~to krótka wersja cd, która robi to samo.
enzotib

12

Ubuntu utrzymuje wszystkie dodatkowe dyski w /mediakatalogu, więc użyj

cd /media/$USER/<your-drive-name>

Podobnie jak odpowiedź poniżej, katalog to cd /media/$USER/<your drive name>.
Bobort

7

to łatwe

cd /media/$USER/{the name of the drive}

w przyszłości, jeśli zapomnisz, po prostu przejdź na dysk ze swoim menedżerem plików, wybierz losowy folder, a następnie kliknij prawym przyciskiem myszy pusty obszar -> właściwości, a następnie zobacz „lokalizację”


5

Możesz także po prostu przejść do wybranego folderu na dysku i kliknąć prawym przyciskiem myszy, otworzyć w terminalu.


0

Ubuntu może używać z twojego katalogu domowego (wyeliminuj <i> i zastąp twoja nazwa użytkownika rzeczywistą nazwą użytkownika, na który zalogowałeś się w systemie Linux , „nazwa napędu” nazwą twojego dysku twardego).

cd /media/<yourusername>/<drive name>

Wszystkie zamontowane dyski znajdują się w tym katalogu / media / yourusername / . Jeśli nie znasz nazwy napędu, zawsze możesz zajrzeć do menedżera plików - lub - przez terminal (ponownie z katalogu domowego)

ls /media/<yourname>/

Możesz użyć opisanego sd # i mnt ; myślę jednak, że szukałeś łatwej odpowiedzi.


Podane polecenia używają bezwzględnych ścieżek i nie muszą być uruchamiane z katalogu domowego użytkownika.
jkt123

0

Właściwie dla mnie wygląda to tak:

cd /media/<user>/New\ Volume/

Przy New Volumeczym nazwa dysku zewnętrznym. a użytkownik jest moją nazwą użytkownika.

Nie wiem, dlaczego zacięcie do tyłu, zakładam z powodu miejsca?


2
Tak, to z powodu przestrzeni.
muru

1
Tak, unikałbym używania Spacji w nazwach folderów lub nazw dysków, a nawet nazw plików. Wystarczy użyć CamelCase.
Bobort,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.