Устройства доступа с терминала

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

Есть ли способ получить доступ к моей флешке из терминала через каталог устройств? Или это единственный способ получить доступ к флэш-накопителю из терминала, чтобы сначала смонтировать его, а затем получить доступ к точке монтирования?

0
задан 1 January 2017 в 10:55

1 ответ

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

Первый, Вам нужен идентификатор (/dev/sdXY) раздела. Можно использовать эти lsblk команда для нахождения этого. После того как у Вас есть этот идентификатор, можно работать sudo mount /dev/sdXY /mnt. Файловая система Вашего флеш-накопителя теперь будет доступна в /mnt и может использоваться от терминала.

Устройства в /dev известны как блочные устройства и являются необработанными представлениями файловых систем, содержавших в тех устройствах (где применимый). В то время как можно непосредственно читать и записать из этих устройств, это часто - плохая идея, потому что Вы игнорируете огромный слой абстракции файловой системы и защиты.

Для большинства вариантов использования, единственное время, из которого Вы читали бы к необработанным блочным устройствам, для клонирования или очень низкоуровневая работа устройства. Файловая система обеспечивает огромный слой абстракции, проверки ошибок и безопасности файла.

<час>

Примечание: раздел ниже этого блока текста предназначен для образовательных целей только. Не пробуйте это ни в какой системе/диске, о которой Вы заботитесь, поскольку результаты могли очень легко быть катастрофическими. Я не беру на себя ответственности за то, что Вы делаете, если Вы следуете за чем-нибудь, что я говорю ниже.

Вас предупредили.

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

В ее самом простом, Вы записали бы файл (скажем, files.zip) к флеш-накопителю с помощью этой команды:

dd if=files.zip of=/dev/sdd bs=1024

Это скопирует zipfile в необработанный блок Вашего флеш-накопителя, но будет также (вероятно), в настоящее время повреждать любой раздел или связанные данные по диску. Это также сделает запись того, сколько "блоков" было записано в диск - делают примечание этого. Для этого примера я собираюсь сказать, что 1 234 блока были скопированы.

, Когда Вы хотите считать файл из флеш-накопителя на другой компьютер, можно сделать это с обратной командой:

dd if=/dev/sdd of=files.zip count=1234 bs=1024

Это вытянет необработанные данные блока из диска (содержащий zip-файл) для первых блоков 1234 года и запишет это в files.zip на Вашем компьютере в текущем каталоге. Также обратите внимание, что этот zip-файл не может быть на самом деле читаемым из-за данных повреждения/мусора в конце файла или подобный. Обязательно отметьте это при необходимости. Можно использовать эти head команда для обрезки zip-файла назад в случае необходимости.

, Когда Вы будете сделаны, необходимо будет, вероятно, отформатировать флеш-накопитель и повторно разделить его и т.п., делая это очень неосуществимым для больших операций. Просто используйте файловую систему.

0
ответ дан 1 January 2017 в 10:55
  • 1
    Здесь, редактирование и upvote и еще раз спасибо за другое предостережение! :-) – Fabby 22 October 2018 в 04:31

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

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