У меня есть доступ только к командной строке.
Мне нужно создать резервную копию моих данных (в папке пользователя) на перо (USB DOK).
- Как я могу смонтировать флэш-накопитель вручную?
- Какой должна быть команда копирования?
У меня есть доступ только к командной строке.
Мне нужно создать резервную копию моих данных (в папке пользователя) на перо (USB DOK).
Вам нужно будет знать, как называется диск, чтобы смонтировать его. Чтобы сделать это, запустите одно из следующих действий (ранжированных в порядке моих предпочтений):
lsblksudo blkidsudo fdisk -l
Вы ищете раздел, который должен выглядеть примерно так: /dev/sdb1
. Чем больше у вас дисков, тем выше вероятность того, что это будет буква. В любом случае, найди его и запомни, как он называется.
Это необходимо смонтировать в файловую систему где-то. Обычно вы можете использовать / mnt /, если вам лень и там больше ничего не смонтировано, но в противном случае вам захочется создать новый каталог:
sudo mkdir /media/usb
sudo mount /dev/sdb1 /media/usb
Когда закончишь, просто стреляй:
sudo umount /media/usb
Этому ответу почти 6 лет, и хотя его суть все еще работает, такие вещи, как fdisk -l
это не самые удобные для пользователя варианты. В более высоких стеках также есть новые механизмы для установки устройств разумным и стандартным способом, который не всегда может быть доступен.
Поэтому я добавил немного полировки из других ответов. Пока вы читаете эту сноску и делаете это в настольной системе, определенно есть аргументы в пользу с помощью udisksctl
, согласно ответу wecac. Это монтируется так же, как и рабочий стол — создавая свой собственный /media/$USER/device
каталог — но я думаю, что все еще есть аргументы в пользу статической точки монтирования, особенно если вы не хотите, чтобы путь менялся.
Udisks также полагается на D-Bus, поэтому может быть доступен не везде.
pmount
/ pumount
Устанавливать pmount
. Монтирует диски в /media/
pmount /dev/sdb1pumount /dev/sdb1
Нет sudo
необходимый.
Замените "sdb1" на ваш конкретный путь к устройству. Для получения дополнительной информации см. страница человека:
pmount ("policy mount") is a wrapper around the standard mount programwhich permits normal users to mount removable devices without a match-ing /etc/fstab entry.pmount is invoked like this:pmount device [ label ]This will mount device to a directory below /media if policy is met(see below). If label is given, the mount point will be /media/label,otherwise it will be /media/device.
Воспользуйся udisksctl
из пакета=udisks2
(как в Ubuntu, так и в Debian). Процедура заключается в:
Найдите идентификатор блочного устройства, которое вы хотите смонтировать, используя lsblk
:
user@machine:~$ lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTsda 8:0 0 1.8T 0 disk├─sda1 8:1 0 19.1M 0 part /boot/efi├─sda2 8:2 0 1.8T 0 part└─sda3 8:3 0 16G 0 part [SWAP]sdb 8:16 0 931.5G 0 disk├─sdb1 8:17 0 37M 0 part├─sdb2 8:18 0 15.9G 0 part [SWAP]└─sdb3 8:19 0 915.7G 0 part /sdc 8:32 1 14.4G 0 disk└─sdc1 8:33 1 14.4G 0 partsdd 8:48 0 1.8T 0 disk└─sdd1 8:49 0 1.8T 0 part
От его размера, /dev/sdc1
кажется, это USB-накопитель, который я хочу смонтировать.
Воспользуйся udisksctl
для установки устройства. Обратите внимание, что -b
== --block-device
(чтобы уменьшить набор текста), но я предпочитаю длинные варианты документации:
user@machine:~$ udisksctl mount --block-device /dev/sdc1==== AUTHENTICATING FOR org.freedesktop.udisks2.filesystem-mount ===Authentication is required to mount Kingston DT microDuo 3C (/dev/sdc1)Multiple identities can be used for authentication: 1. XXXXX,,, (user) 2. ,,, (YYYYY)Choose identity to authenticate as (1-2): 1Password:==== AUTHENTICATION COMPLETE ===Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
Обращаясь к Хансу Дерагону, комментарий ниже: вы также можете сказать udisksctl
делать --no-user-interaction
. Он не пытается аутентифицировать пользователя, что обычно "просто работает".:
user@machine:~$ udisksctl mount --block-device /dev/sdc1 --no-user-interaction# possibly some complaining here about I/O charset or need to run `fsck`Mounted /dev/sdc1 at /media/user/USBDRIVELABEL.
В дополнение к использованию стандартного mount
командой (для которой требуется root) вы можете монтировать диски с помощью udisks
и dbus
с вашим обычным пользователем.
Для этого полезно (но не обязательно) сначала узнать несколько вещей о диске:
/dev/sdb1
)Зная это, вы можете использовать простую команду для подключения диска из командной строки.
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemMount "<filesystem>" []
этот вызов должен повторять путь, по которому он монтируется, если монтирование завершится успешно.
Чтобы размонтировать диски, смонтированные таким образом, вы можете запустить:
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/<device> --method org.freedesktop.UDisks.Device.FilesystemUnmount []
N.B. тот <device>
это просто конец пути к нему. Так, например, если то, что вы хотите смонтировать, находится в /dev/sdb2
тогда вы бы положили sdb2
на месте <device>
.
Если вы не знаете, какое это устройство или какую файловую систему оно использует, не бойтесь. Вы можете легко распечатать всю эту информацию с помощью этой небольшой команды:
gdbus introspect --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices --recurse --only-properties | grep -E "(readonly .+ (IdLabel|IdType|Device(IsMounted|IsDrive|File) ).*|\}|.*\{)"
Это выведет что-то вроде этого:
node /org/freedesktop/UDisks/devices { node /org/freedesktop/UDisks/devices/sda { interface org.freedesktop.UDisks.Device { readonly s IdLabel = ''; readonly s IdType = ''; readonly s IdUsage = ''; readonly b DeviceIsMounted = false; readonly s DeviceFile = '/dev/sda'; }; }; node /org/freedesktop/UDisks/devices/sda1 { interface org.freedesktop.UDisks.Device { readonly s IdLabel = 'SYSTEM'; readonly s IdType = 'ntfs'; readonly s IdUsage = 'filesystem'; readonly b DeviceIsMounted = false; readonly s DeviceFile = '/dev/sda1'; }; }; node /org/freedesktop/UDisks/devices/sda2 { interface org.freedesktop.UDisks.Device { readonly s IdLabel = 'Windows7'; readonly s IdType = 'ntfs'; readonly s IdUsage = 'filesystem'; readonly b DeviceIsMounted = true; readonly s DeviceFile = '/dev/sda2'; }; }; node /org/freedesktop/UDisks/devices/sda3 { interface org.freedesktop.UDisks.Device { readonly s IdLabel = 'Recovery'; readonly s IdType = 'ntfs'; readonly s IdUsage = 'filesystem'; readonly b DeviceIsMounted = false; readonly s DeviceFile = '/dev/sda3'; }; }; node /org/freedesktop/UDisks/devices/sda4 { interface org.freedesktop.UDisks.Device { readonly s IdLabel = ''; readonly s IdType = ''; readonly s IdUsage = ''; readonly b DeviceIsMounted = false; readonly s DeviceFile = '/dev/sda4'; }; }; node /org/freedesktop/UDisks/devices/sda5 { interface org.freedesktop.UDisks.Device { readonly s IdLabel = ''; readonly s IdType = 'ext4'; readonly s IdUsage = 'filesystem'; readonly b DeviceIsMounted = true; readonly s DeviceFile = '/dev/sda5'; }; }; node /org/freedesktop/UDisks/devices/sda6 { interface org.freedesktop.UDisks.Device { readonly s IdLabel = ''; readonly s IdType = 'swap'; readonly s IdUsage = 'other'; readonly b DeviceIsMounted = false; readonly s DeviceFile = '/dev/sda6'; }; }; node /org/freedesktop/UDisks/devices/sda7 { interface org.freedesktop.UDisks.Device { readonly s IdLabel = ''; readonly s IdType = 'ext4'; readonly s IdUsage = 'filesystem'; readonly b DeviceIsMounted = true; readonly s DeviceFile = '/dev/sda7'; }; }; node /org/freedesktop/UDisks/devices/sdb { interface org.freedesktop.UDisks.Device { readonly s IdLabel = ''; readonly s IdType = ''; readonly s IdUsage = ''; readonly b DeviceIsMounted = false; readonly s DeviceFile = '/dev/sdb'; }; }; node /org/freedesktop/UDisks/devices/sdb1 { interface org.freedesktop.UDisks.Device { readonly s IdLabel = 'USB DRIVE'; readonly s IdType = 'vfat'; readonly s IdUsage = 'filesystem'; readonly b DeviceIsMounted = false; readonly s DeviceFile = '/dev/sdb1'; }; }; node /org/freedesktop/UDisks/devices/sr0 { interface org.freedesktop.UDisks.Device { readonly s IdLabel = ''; readonly s IdType = ''; readonly s IdUsage = ''; readonly b DeviceIsMounted = false; readonly s DeviceFile = '/dev/sr0'; }; };};
Те, у кого есть IdUsage = 'filesystem'
может быть смонтирован с помощью приведенной выше команды.
Это означает, что, например, если бы я хотел смонтировать устройство "USB-накопитель", я бы выполнил команду
gdbus call --system --dest org.freedesktop.UDisks --object-path /org/freedesktop/UDisks/devices/sdb1 --method org.freedesktop.UDisks.Device.FilesystemMount "vfat" []
Все эти команды работают с использованием dbus
система обмена сообщениями, таким же образом, что Nautilus
и другие файловые менеджеры автоматически монтируют вещи. В этих командах мы отправляем различные объекты (т.е. /org/freedesktop/...
сообщения с просьбой подключить и отключить определенные устройства. Они могут делать или не делать этого в зависимости от разрешений, которые были предоставлены в PolicyKit
.
Используя аналогичные команды, можно управлять практически всеми аспектами работы в Ubuntu и имитировать большинство системных программ и функций (например, выключение, изменение громкости и т.д.).
Вы также можете автоматически монтировать USB-устройства на сервере Ubuntu с помощью USBmount.
Убедитесь, что вы запустили apt-get update/upgrade перед началом установки:
sudo apt-get update && sudo apt-get upgrade
Теперь установите USBmount из репозиториев:
sudo apt-get install usbmount
USBmount монтирует все USB-накопители в /media/usb*
(usb0, usb1, usb2 ...)
Теперь подключите USB-накопитель и подождите, пока он будет обнаружен и смонтирован. До тех пор, пока ОС хоста поддерживает файловую систему, она должна быть смонтирована.
Чтобы проверить, правильно ли был смонтирован USB-накопитель, вы можете использовать df -h
для просмотра всех доступных дисков и их соответствующих точек подключения
Чтобы смонтировать диск, вы можете использовать umount.
sudo umount /media/usb0
Это просто. Когда я хочу использовать USB-накопитель в терминале, я делаю это:
Создайте папку в /media
с:
mkdir /media/mountDrive
Эта папка будет использоваться для точки монтирования. Используйте эту команду:
sudo mount /dev/sdd1 /media/mountDrive
sdd1
это первый раздел моего USB-накопителя. Затем вы можете перейти к папке, которую вы уже смонтировали с помощью
cd /media/mountDrive
Если вы хотите перечислить файлы на диске, вы можете использовать ls
команда.
Чтобы размонтировать диск, вы можете использовать
sudo umount /dev/sdd1
Обратите внимание, что в моей системе USB-накопитель находится /dev/sdd1
, но в вашей системе это может быть что-то другое. Чтобы узнать, что это такое, используйте df
команда для просмотра всех подключенных в данный момент дисков.
Я не буду добавлять о том, как смонтировать диск. Однако, поскольку спрашивающий также спросил, какую команду лучше всего использовать для копирования данных, я отвечу на это, поскольку, насколько я могу судить, ответа на него не последовало.
Я бы рекомендовал сначала создать папку на диске (даже если она пуста) для резервного копирования ваших материалов, чтобы обеспечить организацию. Что-то вроде mkdir <mountpath>/mybackup
должен это сделать.
Во-вторых, я бы использовал rsync для копирования всего заново. Сделайте что-нибудь вроде rsync -r ~/* <mountpoint>/mybackup
. Вы также можете использовать cp -r
однако, если вы хотите, я обнаружил, что это не совсем то, чего вы ожидали бы все время.