Почему некоторым инструментам, таким как dd, не нужна точка монтирования для работы с устройством?

xargs commandпытается собрать как можно больше входных элементов (строк, слов )за один вызов команды , и его особо не волнует синхронизация входных данных. Если процесс tailбудет уничтожен или буфер xargss будет заполнен, он выполнит команду с аргументами, которые он получил к тому времени. Однако tail -fобычно не заканчивается сам по себе,и ограничение на аргументы командной строки может быть большим, поэтому кажется, что это вообще не работает.

Вы можете использовать xargs -n1, чтобы передавать только один входной элемент за раз в команду , но вас поразит тот факт, что xargsиспользует пробелы для разделения ввода на элементы., поэтому ввод строки foo barприведет к тому, что команда будет запущена дважды.

С GNU xargs, xargs -n1 -d '\n'должно делать то, что вы хотите :запускать команду один раз для каждой входной строки, при этом вся строка передается как один аргумент.

Попробуйте, например. с и без -dи -nи запишите синхронизацию вывода:

$ ( echo "123 456"; sleep 1; echo foo; sleep 1; echo doo ) | xargs -d '\n' -n1 printf ':%s\n'

xargs -L 1также будет работать, но он по-прежнему будет разделять строку на отдельные аргументы, а не передавать всю строку как один аргумент.

0
08.03.2021, 06:19
1 ответ

Вы можете использовать USB-накопитель, не монтируя его. Вы можете использовать ddили другие инструменты для копирования данных в него и копирования данных из него. Также распространено использование устройств хранения в качестве области подкачки без их монтирования.

«Монтирование» означает присоединение файловой системы, которая находится на отдельном устройстве хранения, к текущей файловой системе. Для этого требуется запоминающее устройство, отформатированное с использованием структур файловой системы. После того, как вы это сделаете, вы сможете получить доступ к файлам и другим объектам в смонтированной файловой системе, не беспокоясь о том, на каком устройстве они находятся. Вы просто видите одно бесшовное дерево файловой системы. Это возможно только при монтировании этого устройства.

1
18.03.2021, 22:27

Теги

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