Программа для Организации очередей Файлов для Копирует/Перемещает/Удаляет в Linux?

Я имею поиск сеть для ответа Linux на что-то как Teracopy (Windows)..., но ничто не мог найти подходящим.

Самые близкие вещи, которые я получил:

Кто-то может рекомендовать мне простой инструмент копии файла, который может поставить файлы в очередь для, копируют/перемещают/удаляют? Предпочтительно, если я могу перетащить от Наутилуса.

Если что-то вроде этого не существует, кто-то может сказать мне почему?... действительно ли я - единственный человек, которому нужно что-то вроде этого?

9
задан 15.07.2015, 16:44

4 ответа

По моему опыту, выполнение нескольких копий одновременно в Linux действительно не уменьшает полную пропускную способность. Мое измерение пропускной способности основано на-P аргументе rsync. Мой особый случай отдельно копирует много папок, полных больших файлов прочь жесткого диска USB одновременно.

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

1
ответ дан 07.12.2019, 13:34

Я не знаю ни о чем как это для Linux (хотя но это вовсе не значит, что нет того где-нибудь). Программное обеспечение Linux имеет тенденцию быть записанным пользователями Linux. Опытные пользователи Linux не могут думать для создания инструмента как это, потому что, если они замечают какое-либо замедление копий во время сессии GUI, они, вероятно, переключатся на терминал и копию через командную строку.

Вот некоторые основные утилиты копирования командной строки, которые очень быстры и не должны влиять на Вашу настольную среду:

  • CP ("нечто CP/path/to/bar" скопирует нечто в панель),
  • mv ("mv нечто/path/to/bar" переместится (переименовывают) нечто к панели),
  • tar ("tar cf - нечто | (CD/path/to/archive/; tar xf-)", рекурсивно скопирует каталог),
  • rsync ("rsync-r нечто/path/to/archive /" рекурсивно скопирует каталог),
0
ответ дан 07.12.2019, 13:34

Создайте список файлов и используйте SCP для выполнения копии. Хорошая вещь в Linux - Вы, может добавить к Вашему текстовому файлу с помощью эха.

0
ответ дан 07.12.2019, 13:34

Я просто записал этот простой сценарий, который я назвал 'cpw', для решения этой проблемы.

Вы используете его точно так же, как Вы использовали бы CP... единственная разница - то, что это создает массив из любых процессов cpw, которые уже работают, когда это запускается и ожидает их для окончания перед передачей команд к CP. Таким образом это ведет себя как самоорганизующаяся очередь.

Можно продолжать добавлять фон cpw задания, но они не ступят друг на друга. Они выполнятся по одному.

Я уверен, что другие могут предложить улучшения.

#!/bin/bash

cpwpids=(`ps -ef | grep $USER | grep 'cpw' | grep -v grep | grep -v $$ | awk '{ print $2 }'`) #build an array of all cpw procs for this user that aren't this one.

cpwcnt=${#cpwpids[@]} # number of elemenets in the above array
cnt=$cpwcnt # counter to be decremented each pass
while [ $cnt -gt 0 ]
do
    cnt=$cpwcnt
    for i in "${cpwpids[@]}" # check if each pid has died yet
    do
        ps --pid $i >/dev/null
        if [ $? -gt 0 ]
        then
            let "cnt -= 1"
        fi
    done
    sleep 2
done
cp -v "$@" >> /tmp/cpw.log #log

Пример использования:

$ cpw -R /src/tree /dest/tree &
3
ответ дан 07.12.2019, 13:34

Теги

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