У меня есть флешка, которую я не хочу монтировать. Вместо этого я просто хочу использовать его для передачи файлов между моими компьютерами.
Есть ли способ получить доступ к моей флешке из терминала через каталог устройств? Или это единственный способ получить доступ к флэш-накопителю из терминала, чтобы сначала смонтировать его, а затем получить доступ к точке монтирования?
Вы не можете получить доступ ни к какой форме носителей, не монтируя диск сначала. Однако можно сделать этот весь процесс от терминала.
Первый, Вам нужен идентификатор (/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-файла назад в случае необходимости.
, Когда Вы будете сделаны, необходимо будет, вероятно, отформатировать флеш-накопитель и повторно разделить его и т.п., делая это очень неосуществимым для больших операций. Просто используйте файловую систему.