gzip - перенаправление или передача по каналу?

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
)
10
12.03.2012, 22:42
3 ответа

Передача по каналу включает еще один процесс и еще одну копию пространства пользователя, таким образом, должно быть более эффективно использовать перенаправление.

Но я предполагаю, что на в наше время аппаратных средствах и программном обеспечении, кэширующем систему, это не должно иметь никакого реального значения. Возможно, у Вас может быть лучшее использование результатов bs=4k или bs=64k, так как это - предел канала в соответствии с Linux. Посмотрите этот вопрос для большего количества детали о различных параметрах бакалавра наук.

3
27.01.2020, 20:02

Вы не должны использовать dd или передача по каналу вообще.

</dev/sda gzip >/mnt/sdb1/backups/disk.img.gz
</mnt/sdb1/backups/disk.img.gz gunzip >/dev/sda

Я когда-то сделал сравнительный тест и нашел использование dd медленнее, чем cat для прямой копии между различными дисками. Я ожидал бы, что канал сделает любое вовлечение решения dd еще медленнее в этом случае.

9
27.01.2020, 20:02
  • 1
    , Который является примером использования перенаправления. –  psusi 13.03.2012, 19:42
  • 2
    @psusi Gah! Я означал писать “dd или передача по каналу”.Спасибо. –  Gilles 'SO- stop being evil' 13.03.2012, 19:47
  • 3
    Есть ли способ объединиться pv в этих командах? –  Yaron 19.02.2018, 23:24
  • 4
    @Yaron: замена 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 
2
27.01.2020, 20:02

Теги

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