Qual è l'equivalente per cambiare unità nel terminale su Linux?


38

In DOS, passare da diverse unità digitando c:, d:, e:e così via. Ma non funziona così in Linux.

Qualcuno potrebbe dirmi come passare da un'unità all'altra?


sì .. usando linux per la prima volta. devo imparare molto
saiy2k,

Giusto per chiarire che questo è un solito malinteso che causa ulteriori problemi di comprensione: DOSBox è un emulatore, cmd.exe un interprete della riga di comando per le versioni di Windows non basate su DOS e COMMAND.COM una shell di sistema per DOS. Mentre l'interazione dell'utente con questi programmi e l'aspetto possono essere simili, non sono gli stessi.
LiveWireBT

Risposte:


23

Linux non ha davvero un modo di lavorare con "drives", di per sé, tranne che con utility di sistema che accedono alle partizioni; spesso devono specificare l'unità che contiene la partizione. Ma se i tuoi dischi hanno solo una partizione, non importa.

Ad ogni modo, per accedere a un'unità, in realtà è necessario specificare la partizione in qualche modo, di solito con una definizione come / dev / sda1 (prima partizione sulla prima unità) o / dev / sda2 (seconda partizione sulla prima unità). Usando l'Utility Disco o gparted, puoi vedere graficamente tutte le partizioni. Se stai usando solo il terminale, ho scoperto che il comando "blkid" è utile per elencare le unità con i loro UUID. Io uso il modulo:

sudo blkid -c /dev/null

Utilizzando il terminale, è necessario montare una partizione per usarla effettivamente. Questo è in realtà abbastanza facile da fare. Nella maggior parte dei casi, si desidera utilizzare una directory vuota come "punto di montaggio"; se la directory non è vuota, il suo contenuto sarà mascherato e non disponibile durante il montaggio. Ciò può essere utile in determinate circostanze, come il test o la modifica temporanea di una configurazione per qualche altro motivo, in quanto allevierà la necessità di rinominare o eliminare il contenuto corrente.

Se hai una directory chiamata / mnt / drive2 (/ mnt è comunemente usata, ma può essere nella tua home directory se vuoi), e il tuo disco è / dev / sdb, con una singola partizione, allora il comando più semplice è:

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

dove "type" è il tipo mostrato nel comando blkid, come ntfs, ext4, ecc.

EDIT: per sperimentare, non aver paura di provare il comando mount. È solo temporaneo fino al riavvio (o smontaggio mediante il comando "umount"). Per renderlo permanente, devi inserirlo /etc/fstab. Se vuoi farlo, puoi sperimentare creando una voce, quindi usando il comando "mount -a" per montare tutto /etc/fstab. Se ci sono errori, te lo dirà e puoi correggere e ripetere fino a quando non funziona.


1
La prima partizione della prima unità è sda1, non esiste sda0
enzotib,

Oops, scusa, hai ragione. Mi sono così abituato a usare gli UUID che me ne sono dimenticato. E poiché ho molte partizioni, devo sempre cercarle per vedere quale usare, quindi non ci penso. Modificherò la mia risposta, ma ne prenderò nota in modo che il tuo commento non sembrerà fuori posto.
Marty Fried,

12

I dischi rigidi (unità, come li chiami) contengono partizioni e ogni partizione contiene un filesystem.

In Linux e Unix esiste un filesystem principale chiamato root filesystem e indicato con /. Altri filesystem (reali o virtuali) lo sono montati sul filesystem di root su un mount point , ovvero una directory vuota utilizzata come punto di partenza per il filesystem specifico, in modo tale che tutti i file possano essere raggiunti come discendenti della directory di root.

Se si digita il comando mount senza opzione, si vedrebbe qualcosa di simile al seguente:

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)

dove puoi vedere che la partizione /dev/sda5(quinta partizione del disco rigido /dev/sda) è montata /, in modo che sia la partizione di root.
Inoltre, vedi /dev/sda7, un'altra partizione / filesystem, montata su /media/data, in modo che cd /media/datacorrisponda effettivamente alla d:terminologia di Windows.

Ci sono molti altri filesystem montati in questo output, come puoi vedere, e sono tutti filesystem virtuali, cioè filesystem che non corrispondono a una partizione del disco. E puoi vedere un filesystem montato su NFS, un filesystem virtuale collegato a un filesystem reale disponibile su un'altra macchina attraverso la rete (la linea di output in cui vedi un indirizzo IP in parte deliberatamente oscurato da me).

Puoi vedere la semplicità di avere un'unica struttura per accedere a tutti i tuoi file e in alcuni casi anche file remoti.

Domande correlate:


1
L'uso lsblkpotrebbe essere un po 'più semplice da leggere e elenca solo i dispositivi di archiviazione a blocchi (no sysfs, proc, cgroup, ecc.).
LiveWireBT

cd ~per tornare ahome directory
Aakash Shah,

1
@AakashShah: cd ~è una versione breve di cd, che fa la stessa cosa.
enzotib,

12

Ubuntu mantiene tutti i dischi aggiuntivi montati nella /mediadirectory, quindi usa

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

Come la risposta qui sotto, la directory è cd /media/$USER/<your drive name>.
Bobort,

7

è facile

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

in futuro, se lo dimentichi, vai sull'unità con il tuo file manager scegli una cartella casuale quindi fai clic destro su un'area vuota -> proprietà quindi vedi la "posizione"


5

Puoi anche semplicemente cercare la cartella sull'unità desiderata e fare clic con il pulsante destro del mouse, aprire nel terminale.


0

Ubuntu può usare, dalla tua directory home (elimina <e> e sostituisci "yourusername" con il tuo vero nome utente con cui hai effettuato l'accesso a Linux , "drive name" con il nome del tuo hard disk).

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

Tutti i dischi montati sono nella directory / media / yourusername / . Se non si conosce il nome dell'unità, è sempre possibile cercare nel file manager -oppure- tramite il terminale (sempre dalla propria directory home)

ls /media/<yourname>/

Puoi usare sd # e mnt descritti; tuttavia, penso che stavi cercando una risposta facile.


I comandi forniti utilizzano percorsi assoluti e non devono essere eseguiti dalla directory home dell'utente.
jkt123,

0

In realtà, per me è così:

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

Con l' New Volumeessere il nome dell'unità esterna. e l'utente è il mio nome utente.

Non so perché la barra rovesciata, presumo a causa dello spazio?


2
Sì, è a causa dello spazio.
Muru,

1
Sì, eviterei di usare Spaces nei nomi delle cartelle o dei nomi del disco o persino dei nomi dei file. Usa semplicemente CamelCase.
Bobort,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.