Что эквивалентно для переключения дисков в терминале в Linux?

38

В DOS, переключаться между различными дисками, набрав c:, d:, e:и так далее. Но это не работает в Linux.

Может кто-нибудь сказать, пожалуйста, как переключаться между различными дисками?

saiy2k
источник
да .. с использованием Linux в первый раз. хав многому научиться
saiy2k
Просто для пояснения, поскольку это обычное заблуждение, вызывающее больше проблем в понимании: DOSBox - это эмулятор, cmd.exe - интерпретатор командной строки для выпусков Windows, не основанных на DOS, и COMMAND.COM - системная оболочка для DOS. Хотя взаимодействие пользователя с этими программами и внешний вид могут быть похожими, они не одинаковы.
LiveWireBT

Ответы:

23

На самом деле в Linux нет способа работать с «дисками», за исключением системных утилит, обращающихся к разделам; им часто нужно указывать диск, содержащий раздел. Но если каждый из ваших дисков имеет только один раздел, это не имеет значения.

В любом случае, чтобы получить доступ к диску, вам нужно каким-то образом указать раздел, обычно с помощью определения, например / dev / sda1 (первый раздел на первом диске) или / dev / sda2 (второй раздел на первом диске). Используя Дисковую утилиту или gparted, вы можете увидеть все разделы графически. Если вы используете только терминал, я обнаружил, что команда "blkid" удобна для вывода списка дисков с их UUID. Я использую форму:

sudo blkid -c /dev/null

Используя терминал, вам нужно смонтировать раздел, чтобы фактически использовать его. Это на самом деле довольно легко сделать. В большинстве случаев вы бы хотели использовать пустой каталог в качестве «точки монтирования»; если каталог не пустой, его содержимое будет замаскировано и недоступно во время монтирования. Это может быть полезно в определенных обстоятельствах, таких как тестирование или временное изменение конфигурации по какой-либо другой причине, поскольку это избавит от необходимости переименовывать или удалять текущее содержимое.

Если у вас есть каталог с именем / mnt / drive2 (обычно используется / mnt, но он может находиться в вашем домашнем каталоге), а ваш диск - / dev / sdb, с одним разделом, тогда самая простая команда:

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

где «тип» - это тип, показанный в команде blkid, такой как ntfs, ext4 и т. д.

РЕДАКТИРОВАТЬ: экспериментировать, не бойтесь попробовать команду монтирования. Это только временно, пока вы не перезагрузитесь (или не размонтируетесь с помощью команды "umount"). Чтобы сделать его постоянным, вам необходимо ввести его /etc/fstab. Если вы хотите сделать это, вы можете поэкспериментировать, создав запись, а затем с помощью команды «mount -a» подключить все в /etc/fstab. Если будут ошибки, он сообщит вам, и вы можете исправить и повторить, пока он не заработает.

Марти Фрид
источник
1
Первый раздел первого диска - это sda1, sda0 нет
enzotib
Ой, прости, ты прав. Я так привык использовать UUID, что забыл об этом. И так как у меня много разделов, мне всегда нужно искать их, чтобы найти, какой из них использовать, поэтому я не думаю об этом. Я отредактирую свой ответ, но запишите его, чтобы ваш комментарий не выглядел неуместным.
Марти Фрид
12

Жесткие диски (диски, как вы их называете) содержат разделы, а каждый раздел содержит файловую систему.

В Linux и Unix есть основная файловая система, называемая корневой файловой системой и обозначенная как /. Другие файловые системы (реальные или виртуальные) монтируются в корневой файловой системе в точке монтирования. , т.е. в пустом каталоге, используемом в качестве начальной точки для конкретной файловой системы, таким образом, что все файлы могут быть доступны как потомки корневого каталога.

Если вы введете команду mountбез опции, вы увидите что-то вроде следующего:

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)

где вы можете видеть, что раздел /dev/sda5(5-й раздел жесткого диска /dev/sda) смонтирован /так, что это корневой раздел.
Кроме того, вы видите /dev/sda7, другой раздел / файловую систему, смонтированную /media/dataтак, чтобы cd /media/dataэффективно соответствоватьd: терминологии Windows.

Как вы можете видеть, в этом выводе много других смонтированных файловых систем, и все они являются виртуальными файловыми системами, то есть файловой системой, не соответствующей разделу диска. И вы можете увидеть файловую систему, смонтированную по NFS, виртуальную файловую систему, связанную с реальной файловой системой, доступной на другом компьютере через сеть (строка вывода, где вы видите IP-адрес, частично умышленно скрытый мной).

Вы можете увидеть простоту наличия единой структуры для доступа ко всем вашим файлам, а в некоторых случаях также к удаленным файлам.

Смежные вопросы:

enzotib
источник
1
Использование lsblkможет быть немного проще для чтения и содержит только списки блочных устройств хранения (без sysfs, proc, cgroup и т. Д.).
LiveWireBT
cd ~чтобы вернуться кhome directory
Аакаш Шаху
1
@AakashShah: cd ~это короткая версия cd, которая делает то же самое.
энзотиб
12

Ubuntu хранит все дополнительные диски в /mediaкаталоге, поэтому используйте

cd /media/$USER/<your-drive-name>
Пратап Сингх
источник
Как и ответ ниже, каталог есть cd /media/$USER/<your drive name>.
Боборт
7

это просто

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

в будущем, если вы забудете об этом, просто перейдите на диск с вашим файловым менеджером, выберите случайную папку, затем щелкните правой кнопкой мыши пустую область -> свойства, затем посмотрите «местоположение»

Sangimed
источник
5

Вы также можете просто перейти к нужной папке на диске и щелкнуть правой кнопкой мыши, открыть в терминале.

hreryrtr
источник
0

Ubuntu может использовать из вашего домашнего каталога (исключите <и> и замените «yourusername» на ваше действительное имя пользователя, с которым вы вошли в Linux , «имя диска» на имя вашего жесткого диска).

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

Все подключенные диски находятся в этом каталоге / media / yourusername / . Если вы не знаете имя диска, вы всегда можете заглянуть в свой файловый менеджер или через терминал (опять же из вашего домашнего каталога)

ls /media/<yourname>/

Вы можете использовать описанные sd # и mnt ; Тем не менее, я думаю, что вы искали простой ответ.

user272792
источник
Предоставленные вами команды используют абсолютные пути и не должны запускаться из домашнего каталога пользователя.
jkt123
0

На самом деле, для меня это так:

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

С New Volumeименем внешнего диска. и пользователь является моим именем пользователя.

Не знаю, почему обратный слеш, я полагаю, из-за пробела?

Mookey
источник
2
Да, это из-за места.
Муру
1
Да, я бы не использовал пробелы в именах папок, дисков или даже имен файлов. Просто используйте CamelCase.
Боборт