screen -ls "$SESSION_NAME"
перечисляет полные имена соответствия сессиям на расположенных с отступом вкладкой строках. Таким образом, можно выполнить итерации на этих строках, извлеките полные имена и звоните quit
команда на каждом имени соответствия.
SESSION_NAME='haydoz-script'
screen -ls "$SESSION_NAME" | (
IFS=$(printf '\t');
sed "s/^$IFS//" |
while read -r name stuff; do
screen -S "$name" -X quit
done
)
Передача по каналу включает еще один процесс и еще одну копию пространства пользователя, таким образом, должно быть более эффективно использовать перенаправление.
Но я предполагаю, что на в наше время аппаратных средствах и программном обеспечении, кэширующем систему, это не должно иметь никакого реального значения. Возможно, у Вас может быть лучшее использование результатов bs=4k
или bs=64k
, так как это - предел канала в соответствии с Linux. Посмотрите этот вопрос для большего количества детали о различных параметрах бакалавра наук.
Вы не должны использовать dd
или передача по каналу вообще.
</dev/sda gzip >/mnt/sdb1/backups/disk.img.gz
</mnt/sdb1/backups/disk.img.gz gunzip >/dev/sda
Я когда-то сделал сравнительный тест и нашел использование dd
медленнее, чем cat
для прямой копии между различными дисками. Я ожидал бы, что канал сделает любое вовлечение решения dd
еще медленнее в этом случае.
gzip
pv | gzip
и gzip -d
gzip -d | gv
– Gilles 'SO- stop being evil'
19.02.2018, 23:58
Проще:
gzip -c /dev/sda > disk.img.gz
gzip -dc /mnt/sdb1/backups/disk.img.gz > /dev/sda