dhclient говорит, что он должен обращаться, но ifconfig не

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

Если вы не хотите ждать, вы можете рассмотреть решение, которое не порождает процесс для каждого хода.

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

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

Реализация разделителя каталогов может выглядеть примерно так:

split_dir()(
  local src=$1 nbatches=$2 dest=$3
  local tmpd=
  trap 'rm -rf "$tmpd"' EXIT
  tmpd="$(mktemp -d "$tmpd")"
  find -type f "$src" > "$tmpd/files"
  local nfiles=$(wc -l < "$tmpd/files")
  local batchsz=$((nfiles/nbatches))
  ( cd "$tmpd"; split -l "$batchsz" -d files )
  local i
  for((i=0;i<nbatches;i++)); do
    mkdir -p "$dest/$i"
    < x$i cpio -pdl "$dest/$i"
  done
)
1
27.12.2017, 12:10
0 ответов

Теги

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