Вывод файлов на устройстве из командной строки [дубликат]

В левой части экрана Dolphin отображается одна из категорий «Устройства». Как и следовало ожидать, щелчок по любому из перечисленных устройств показывает файлы, доступные с этого устройства, например, камеру или карту памяти.если устройство не предназначено только для чтения, вы даже можете использовать дисплей Dolphin для добавления файлов на устройство. Но как получить тот же список файлов (для любого указанного устройства) из командной строки, используя либо ls , либо что-то подобное? Я ожидал, что метод будет одинаковым, независимо от характера устройства. А если устройство доступно для записи, как бы вы записали на него из командной строки?

0
задан 14 November 2015 в 02:05

2 ответа

С командной строкой существует маленький бит, который необходимо иметь в виду - это должно быть смонтировано (другими словами, подключенный программно к системе; это может быть физически подключено как Карта памяти к 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
2
ответ дан 30 September 2019 в 04:26

Фраза В 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. Как Вы заметили, это уже смонтировано, но позвольте нам просто предположить, что это не. Вот шаги для ручного монтирования диска:

  1. mkdir /mnt/somedir создаст каталог с именем somedir (измените имя на досуге), внутри /mnt. Здесь Вы смонтируете диск.
  2. mount /dev/sdc1 /mnt/somedir попытается смонтировать раздел /dev/sdc1 (единственный раздел моей карты с интерфейсом USB) в /mnt/somedir
  3. В случае, если это перестало работать, Вам, вероятно, придется дать дополнительные аргументы, потому что монтирование довольно умно, но не может всегда предполагать, что сделать. Для этого лучше всего посмотрите на опции, представленные в 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

Можно теперь безопасно удалить каталог монтирования, но Вы не имеете к.

1
ответ дан 30 September 2019 в 04:26

Другие вопросы по тегам:

Похожие вопросы: