На этот вопрос уже есть ответ:
В левой части экрана Dolphin отображается одна из категорий «Устройства». Как и следовало ожидать, щелчок по любому из перечисленных устройств показывает файлы, доступные с этого устройства, например, камеру или карту памяти.если устройство не предназначено только для чтения, вы даже можете использовать дисплей Dolphin для добавления файлов на устройство. Но как получить тот же список файлов (для любого указанного устройства) из командной строки, используя либо ls , либо что-то подобное? Я ожидал, что метод будет одинаковым, независимо от характера устройства. А если устройство доступно для записи, как бы вы записали на него из командной строки?
С командной строкой существует маленький бит, который необходимо иметь в виду - это должно быть смонтировано (другими словами, подключенный программно к системе; это может быть физически подключено как Карта памяти к USB-порту, но это не означает, что смонтировано).
Проверка, если устройство смонтировано, достаточно легка - lsblk
, df
команды или mount
ни с кем -
флаги/опции.
Теперь, по умолчанию, GUI Ubuntu, такой как Единица или Gnome автоматически монтирует устройства, которые Вы подключаете. С чистой командной строкой или GUI, который не делает этого автоматически (как openbox
или blackbox
), необходимо выйти mount
команда или udiscksctl mount --block /dev/sd*
где * буква для того устройства. Я предпочел бы последний, так как он автоматически монтируется к /media
папка. С mount
необходимо указать папку. Также с монтированием необходимо знать тип файловой системы, как NTFS (окна), ext4 (Linux), FAT (много Карт памяти).
Что касается фактического списка файлов, существует много путей
find /directory/where/device/mounted -type f
рекурсивный путь состоит в том, чтобы перечислить все файлы во всех папках на том устройстве.ls /mount/folder
stat /mount/folder
dir
который является тем же как ls
Фраза В UNIX, все - файл, может быть применен здесь: Каждый физический диск включил Ваш компьютер, будет представлен одним или несколькими файлами внутри /dev
, пока это распознано системой.
Чтобы быть читаемыми и перезаписываемыми, эти устройства должны быть смонтированы где-нибудь. Для получения списка всех смонтированных устройств используйте команду mount
. Вот извлечение моей таблицы монтирования:
/dev/sda1 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
/dev/sdc1 on /media/sebastian/some-id type ext4 (rw,nosuid,nodev,uhelper=udisks2)
Если Ваше устройство не перечислено здесь, оно еще не смонтировано. Большинство файловых менеджеров автомонтирует диски, когда они включаются, но если они не, или Вы не используете файловый менеджер, можно сделать это вручную. Сначала перечислите разделы, с которыми Вы добрались lsblk
. Это даст информацию как следующее:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 232.9G 0 disk
├─sda1 8:1 0 224.8G 0 part /
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 8.1G 0 part [SWAP]
sdc 8:32 1 3.8G 0 disk
└─sdc1 8:33 1 3.8G 0 part /media/sebastian/some-id
Отсюда мы видим, что карта с интерфейсом USB, которую я просто включил, перечисляется как /dev/sdc
, и это имеет один раздел с номером 1. Этот раздел может быть найден в /dev/sdc1
. Как Вы заметили, это уже смонтировано, но позвольте нам просто предположить, что это не. Вот шаги для ручного монтирования диска:
mkdir /mnt/somedir
создаст каталог с именем somedir
(измените имя на досуге), внутри /mnt
. Здесь Вы смонтируете диск.mount /dev/sdc1 /mnt/somedir
попытается смонтировать раздел /dev/sdc1
(единственный раздел моей карты с интерфейсом USB) в /mnt/somedir
man mount
. Опция, в которой Вы, возможно, нуждаетесь, могла быть -t <type>
указать на формат раздела, например. mount -t vfat /dev/sdc1 /mnt/somedir
. Если монтируются, жалуется, что у Вас нет необходимых полномочий, добавьте себя к группе plugdev
или выполните команду монтирования как корень с sudo mount <...>
Раздел должен теперь быть смонтирован, поэтому снова выполнен mount
видеть новую запись. Можно теперь вскочить в смонтированный раздел с cd /mnt/somedir
. Теперь введите ls
перечислять содержание диска.
Получить файлы с диска на Ваш компьютер, и наоборот, использование cp
команда:
cp <source> <destination>
например.
cp image1.png image2.png image3.png /home/username/Pictures
скопирует эти три файла в Вашу папку Pictures.
Для размонтирования устройства после использования его используйте umount
команда:
umount /dev/sdc1
или
umount /mnt/somedir
Можно теперь безопасно удалить каталог монтирования, но Вы не имеете к.