Введение
Тема резервного копирования рабочей Unix-подобной операционной системы (как правило, Linux) регулярно всплывает в списках рассылки и форумах, посвященных Linux. И неизменно кто-нибудь советует просто архивировать с помощью tar cvfz backup.tgz /bin /boot /etc … К сожалению, для создания правильной резервной копии понадобится больше усилий
В этой статье я расскажу о многих (возможно, не обо всех) трудностях и деталях, на которые следует обратить внимание при резервном копировании.
Имейте в виду, что это не инструкция к программе, поэтому не стоит слепо копировать приведенные здесь примеры; и это не исчерпывающее перечисление существующих программ для резервного копирования и примеров их использования. Также это и не пошаговая инструкция. Этот текст предназначен для тех, кто уже в достаточной степени разбирается в Unix-подобных системах
Тем не менее, важно полностью читать документацию конкретных инструментов, так как это поможет учитывать детали, которые иначе можно не принять во внимание
Также учтите, что в этой статье в основном описывается процесс резервного копирования на внешние носители или удаленные машины. Если важна сохранность данных, я также настоятельно рекомендую использовать -массивы. Хотя RAID и не поможет при пожаре, землетрясении или порче данных пользователем, это хорошая защита при выходе дисков из строя. Меня это не раз выручало. В дополнение не забудьте и об источнике бесперебойного питания.
Хотя мой личный опыт не выходит за рамки Linux, вопросы, обсуждаемые в этом тексте, должны (могут) относиться к большинству Unix-подобных систем.
Восстановить данные Linux из Windows
Что, если мы используем Linux, мы возвращаемся в Windows и забыли файл? Здесь у нас есть несколько способов повторно получить доступ к данным.
Перезагрузите компьютер
Как и в предыдущем случае, самый безопасный и простой способ — это перезагрузите компьютер и снова войдите в Linux . Оказавшись там, мы можем скопировать файл на флешку или внешний жесткий диск и снова перезапустить, чтобы перенести его в Linux. Это самый долгий и утомительный процесс, но он и самый безопасный.
Используйте программу для чтения EXT4
Windows по умолчанию не может читать или записывать на диски Linux EXT. Следовательно, если мы хотим получить доступ к данным, необходимо установить программу, которая позволяет нам это делать. Существует очень разнообразное программное обеспечение, как бесплатное, так и платное, которое позволяет нам это делать. Однако большинство из них — это довольно устаревшие программы, которые, хотя и могут работать, но также могут выдавать ошибки.
Если мы не собираемся писать в этих модулях и хотим только передавать данные, мы можем прибегнуть к этим программам. Если нет, лучше найти другую альтернативу.
Используйте подсистему Windows для Linux
Microsoft очень сильно делает ставку на интеграцию Linux в Windows. Благодаря Подсистема Windows для Linux , WSL, можно загрузить полный экземпляр Linux поверх операционной системы благодаря Hyper-V. С появлением WSL2 Windows может монтировать и использовать диски Linux EXT4, как если бы это был жесткий диск, более подключенный к компьютеру.
Если мы опытные пользователи, у которых включен WSL в Windows, и мы хотим получить доступ к данным Linux из операционной системы Microsoft, это лучший вариант. В любом случае, мы надеемся, что Microsoft скоро упростит этот процесс, добавив почти встроенную поддержку EXT4 из Windows.
Удаление
Команда rm – одна из самых опасных. При неосмотрительном и невнимательном её использовании можно удалить целую файловую систему, которую придётся потом восстанавливать. Для удаления какого-либо файла нужно выполнить следующую команду:
$ rm ~/domnloads/drupal-8.6.4.tar.gz
Очень рекомендуется использовать опцию -i:
$ rm -Ri ~/downloadsrm: спуститься в каталог '/home/user/downloads'? yrm: удалить обычный файл '/home/user/downloads/somefile.txt'? yrm: удалить каталог '/home/user/downloads/somefile.txt'? yrm: удалить каталог '/home/user/downloads'? n
Данная команда кроме всех файлов и каталогов в директории downloads удалит также (по-умолчанию) и сам этот каталог
Поэтом крайне важно контролировать её действия с помощью опции -i. Также для команды rm можно использовать задание масок с помощью символа звёздочки
Для ознакомления со всеми доступными для каждой из команд опциями следует использовать ключ —help для вывода краткой справки.
Утилита копирования файлов cp
Название утилиты cp — это сокращение от Copy, что означает копировать. Утилита позволяет полностью копировать файлы и директории.
Синтаксис и опции
Общий синтаксис cp выглядит вот так:
$ cp опции файл-источник файл-приемник
Или:
$ cp опции файл-источник директория-приемник/
После выполнения команды файл-источник будет полностью перенесен в файл-приемник. Если в конце указан слэш, файл будет записан в заданную директорию с оригинальным именем.
Утилита имеет несколько интересных опций, которые могут сильно помочь при нестандартных задачах копирования, поэтому давайте их рассмотрим:
- —attributes-only — не копировать содержимое файла, а только флаги доступа и владельца;
- -f, —force — перезаписывать существующие файлы;
- -i, —interactive — спрашивать, нужно ли перезаписывать существующие файлы;
- -L — копировать не символические ссылки, а то, на что они указывают;
- -n — не перезаписывать существующие файлы;
- -P — не следовать символическим ссылкам;
- -r — копировать папку Linux рекурсивно;
- -s — не выполнять копирование файлов в Linux, а создавать символические ссылки;
- -u — скопировать файл, только если он был изменён;
- -x — не выходить за пределы этой файловой системы;
- -p — сохранять владельца, временные метки и флаги доступа при копировании;
- -t — считать файл-приемник директорией и копировать файл-источник в эту директорию.
Примеры копирования файлов в linux
Теперь, когда вы знаете основные опции, можно перейти к практике. Например, мы хотим скопировать некую картинку из домашней папки в подкаталог pictures:
Или можем явно указать имя новой картинки:
Копирование папок осуществляется с помощью ключа -r:
После выполнения этой команды копирования ~/папка будет скопирована в папку ~/Документы. Главное, не забывайте поставить слэш в конце выражения или использовать опцию -t. Иначе папка ~/документы будет перезаписана.
По умолчанию команда cp Linux перезаписывает существующие файлы или папки, но можно заставить утилиту спрашивать, нужно ли перезаписывать каждый файл, если вы не уверены в правильности составления команды:
Есть и противоположная опция -n, означающая «никогда не перезаписывать существующие файлы».
Опция -u полезна в следующем случае: вы знаете или предполагаете, что в директории, куда копируется файл, есть старая его версия, тогда оператор -u выполнит замену на новую версию:
Сp также поддерживает специальные символы замены * и ?. Например, следующая команда скопирует все файлы, начинающиеся на test:
Если нужно применить более сложные регулярные выражения, придётся комбинировать утилиту cp с find или egrep.
В случае, если важно сохранить права доступа к файлу и его владельца, нужно использовать опцию -p:
Для упрощения использования команды можно применять синтаксис фигурных скобок. Например, чтобы создать резервную копию файла, выполните:
Будет создан файл с таким же именем и расширением .bak
По умолчанию в cp не отображается прогресс копирования файла, что очень неудобно при работе с большими файлами, но его можно легко посмотреть с помощью утилиты cv.
How to Copy Files and Directories in Linux
25 Мая 2020
|
Терминал
Копирование файлов и каталогов является одной из наиболее распространенных задач, которые вы выполняете при работе в командной строке. В Linux есть несколько команд для копирования файлов с и является наиболее широко используемыми инструментами.
Чтобы иметь возможность копировать файлы и каталоги, у вас должны быть как минимум права на чтение исходного файла и права на запись в целевой каталог.
Копирование файлов с помощью команды
В операционных системах Linux и Unix команда используется для копирования файлов и каталогов.
Самый простой вариант использования — скопировать файл в текущем рабочем каталоге. Например, чтобы скопировать файл с именем в файл с именем в текущем каталоге , вы должны выполнить следующую команду:
Если целевой файл существует, он будет перезаписан. Чтобы получить запрос на подтверждение перед перезаписью файлов, используйте опцию.
По умолчанию при использовании команды для копирования файла новый файл будет принадлежать пользователю, выполняющему команду. Используйте опцию, чтобы сохранить режим файла, владельца и метки времени :
Еще одна полезная опция . При использовании этой опции команда печатает, что делается:
Чтобы скопировать файл в каталог, укажите абсолютный или относительный путь к каталогу. Если каталог назначения опущен, файл копируется в текущий каталог.
В следующем примере мы копируем файл в каталог:
Если в качестве места назначения указано только имя каталога, то скопированный файл будет иметь то же имя, что и исходный файл.
Если вы хотите скопировать файл под другим именем, вам нужно указать желаемое имя файла:
Команда выше скопирует файл в указанный каталог как .
Скопируйте несколько файлов
Для одновременного копирования нескольких файлов и каталогов укажите имена исходных файлов и каталогов, а затем конечный каталог в качестве последнего аргумента:
При копировании нескольких файлов местом назначения должен быть каталог.
Команда cp также позволяет использовать сопоставление с образцом. Например, чтобы скопировать все файлы из текущего каталога в каталог, вы должны использовать:
Копирование каталогов с помощью команды
Чтобы скопировать каталог, включая все его файлы и подкаталоги, используйте параметр или . В следующем примере мы копируем каталог в :
Команда выше создаст каталог назначения и рекурсивно скопирует все файлы и подкаталоги из источника в каталог назначения.
Если целевой каталог уже существует, сам исходный каталог и все его содержимое будут скопированы в целевой каталог. Чтобы скопировать только файлы и подкаталоги, но не целевые каталоги, используйте параметр:
Параметры, используемые при копировании файлов, также можно использовать при копировании каталога. Основное отличие заключается в том, что при копировании каталогов необходимо использовать эту опцию.
Копирование файлов и каталогов с помощью команды
это быстрая и универсальная утилита командной строки, которая синхронизирует файлы и каталоги между двумя местоположениями. Он может быть использован для копирования файлов в локальные и удаленные места.
включает в себя ряд параметров, которые контролируют каждый аспект его поведения. Наиболее полезный вариант — это рекурсивное копирование каталогов, передача специальных и блочных устройств, сохранение символических ссылок, времени модификации, группы, владельца и разрешений.
Чтобы скопировать один файл из одного места в другое, вы должны выполнить следующую команду:
Если целевой файл существует, он будет перезаписан.
Эту же команду можно использовать для копирования каталога:
угрожает исходным каталогам, которые заканчиваются косой чертой по- другому. Если вы добавите косую черту в исходный каталог, команда скопирует только содержимое исходного каталога в целевой каталог. Если завершающий слеш опущен, будет скопирован исходный каталог в целевой каталог. Самый безопасный вариант — всегда включать косую черту как в пункте назначения, так и в источнике.
Чтобы узнать больше о проверке следующих статей:
- Как использовать Rsync для локальной и удаленной передачи данных и синхронизации
- Как исключить файлы и каталоги с помощью Rsync
В этом руководстве мы показали вам , как копировать файлы и каталоги в Linux и Unix системах , основанных на использовании и утилиты.
Примеры использования команды cp
Скопируем файл myfile.txt в директорию mydir:
Скопируем файл myfile1.txt в новый файл myfile2.txt
Скопировать несколько файлов
Для копирования нескольких файлов нужно перечислить их через пробел. Послений параметр определяет результирующую директорию, в которую будут скопированы файлы.
Скопировать только если файлы новее
Скопируем файлы вида myfile*.txt (например, это могут быть файлы myfile1.txt myfile10.txt myfile2.txt) в директорию mydir, но если результирующий файл существует, то копирование выполняется только в том случае, если исходный файл новее.
Создать резервную копию для результирующих файлов, если они существуют
Скопируем файл myfile1.txt в файл myfile2.txt. Если файл myfile2.txt существует, то будет создана его резервная копия.
Принудительно перезаписывать существующие файлы назначения
Если файл назначения существует и не может быть открыт и удален, то можно использовать опцию -f, чтобы принудительно перезаписать такой файл:
Мягкий способ
Первым делом вам нужно удалить приложений. «Недостаточно места в памяти устройства», — Google Play выдает это сообщение, если достиг предела кэша. Несмотря на то что объем данных, хранящихся в памяти приложения, неограничен, при превышении некоторого определенного числа могут возникать сбои.
Зайдите в настройки телефона и перейдите к «Приложениям». Выберите Google Play в списке и зайдите в него. Остановите эту программу, а затем сотрите данные и кэш. Ту же самую процедуру стоит повторить и для утилиты Google Service Framework.
После всех проделанных операций перезагрузите девайс. Иногда может потребоваться удалить все установленные обновления для гугла. Делается это в том же меню, что и удаление кэша. Если вся процедура не поможет, переходите к следующему методу.
Перемещение и переименование файлов
Перемещение отличается от переименования тем, что при перемещении у источника и приёмника обязательно должны отличаться пути (абсолютный и/или относительный). При переименовании различаться может только имя файла/директории. Следующая команда:
$ mv drupal8-devtest.conf drupal8-devtest_back.conf
просто переименует файл drupal8-devtest.conf на drupal8-devtest_back.conf.
А команда:
mv drupal8-devtest.conf ~/backup/drupal8-devtest_back.conf
перенесёт тот же файл в директорию backup домашнего каталога текущего пользователя. И даст ему новое имя drupal8-devtest_back.conf.
Для переименования каталога, как и в случае с командой cp часто необходимо директорию, в которой происходит переименование или из которой осуществляется перемещение, нужно сделать активной:
$ cd ~/games$ mv ./racer-0.5.0 ./racer
Перемещение файла (или каталога со всем его содержимым) в другое место нужно дать команду:
$ cd /home/downloads$ mv ./drupal-8.6.4.tar.gz ~/distro$ mv ./my_sources ~/backup
Для команды mv можно также применять маску для отбора только конкретных файлов/каталогов:
$ mv -i *.txt ~/documents$ mv -i data* ~/backup
How to Rename Files and Directories in Linux
22 Июня 2020
|
Терминал
Переименование файлов и каталогов является одной из самых основных задач, которые вам часто приходится выполнять в системе Linux. Вы можете переименовывать файлы, используя файловый менеджер с графическим интерфейсом или через терминал командной строки.
Переименовать один файл легко, но переименование нескольких файлов одновременно может быть проблемой, особенно для пользователей, которые являются новичками в Linux.
Переименование файлов с помощью команды
Команда ( не хватает хода) используется для переименования или перемещения файлов из одного места в другое. Синтаксис команды следующий:
Может быть один или несколько файлов или каталогов и может быть один файл или каталог.
- Если вы указываете несколько файлов как , должен быть каталог. В этом случае файлы перемещаются в целевой каталог.
- Если вы указываете один файл как , а целью является существующий каталог, то файл перемещается в указанный каталог.
- Чтобы переименовать файл, вам нужно указать один файл как и один файл как цель.
Например, чтобы переименовать файл так, как вы запустите:
Переименование нескольких файлов с помощью команды
Команда может переименовывать только один файл за раз, но ее можно использовать вместе с другими командами, такими как или внутри bash или циклов, для переименования нескольких файлов.
В следующем примере показано, как использовать цикл Bash for для переименования всех файлов в текущем каталоге, изменив расширение на .
Давайте проанализируем код построчно:
- Первая строка создает цикл и перебирает список всех файлов, окантованных .
- Вторая строка применяется к каждому элементу списка и перемещает файл в новый, заменяя его на . Часть использует расширение параметра оболочки, чтобы удалить часть из имени файла.
- указывает на конец сегмента цикла.
Вот пример использования в сочетании с для достижения того же, что и выше:
Команда передает все файлы, оканчивающиеся в текущем каталоге, по одному, используя опцию. Строка — это имя файла, обрабатываемого в данный момент.
Как видно из приведенных выше примеров, переименование нескольких файлов с помощью команды — непростая задача, поскольку требует хорошего знания сценариев Bash.
Переименование файлов с помощью команды
Команда используется для переименования нескольких файлов. Эта команда более сложна, чем она требует базовых знаний о регулярных выражениях.
Существует две версии команды с разным синтаксисом. В этом уроке мы будем использовать версию команды Perl . Если у вас не установлена эта версия в вашей системе, вы можете легко установить ее, используя менеджер пакетов вашего дистрибутива.
-
Установить на Ubuntu и Debian
-
Установить на CentOS и Fedora
-
Установить на Arch Linux
Синтаксис команды следующий:
Команда переименует в соответствии с указанным регулярным выражением. Вы можете прочитать больше о регулярных выражениях perl .
Следующий пример изменит все файлы с расширением на :
Вы можете использовать опцию для печати имен файлов, которые будут переименованы, без переименования их.
Вывод будет выглядеть примерно так:
По умолчанию команда не перезаписывает существующие файлы. Передайте опцию, чтобы разрешить перезаписывать существующие файлы:
Ниже приведены еще несколько распространенных примеров использования команды:
-
Заменить пробелы в именах файлов подчеркиванием
-
Преобразование имен файлов в нижний регистр
-
Преобразовать имена файлов в верхний регистр
Конечно, есть другие команды для переименования файлов в Linux, такие как . Новые пользователи Linux, которых пугает командная строка, могут использовать инструменты пакетного переименования GUI, такие как Métamorphose .
Все имена файлов регистрозависимы
Имена файлов в Linux (или в любой системе Unix) являются регистрозависимыми. Это означает, что имена и не являются равноценными, а путь к файлу отличен от пути к файлу (последнего файла не должно существовать в файловой системе типичного компьютера, работающего под управлением Linux).
В данном примере продемонстрировано различие между двумя файлами, причем имя первого файла начинается с заглавной буквы , а второго — с прописной буквы .
paul@laika:~/Linux$ ls winter.txt Winter.txt paul@laika:~/Linux$ cat winter.txt Холодно. paul@laika:~/Linux$ cat Winter.txt Очень холодно!
Перемещение и переименование
В Bash-оболочке Linux для перемещения и переименования используется одна и та же команда – mv (от “move” – перемещать). Переименование можно рассматривать как частный случай перемещения, ведь по-сути изменяется полный адрес файла, что равносильно перемещению, даже если файл остается в том же каталоге.
Также как в случае cp, для mv необходимо указать пару аргументов. Выбор между перемещением и переименованием зависит от того, что это за аргументы. При перемещении файл меняет свой адрес, следовательно, если в первом и втором аргументах указаны разные адреса, то произойдет перемещение. Если адреса одинаковые, а различаются только имена, происходит переименование. Кроме того, перемещение может быть совмещено с переименованием.
В случае перемещения без переименования во втором аргументе указывается только каталог места назначения.
mv document.txt Work
mv document.txt Work/doc23.txt
Здесь в первом случае файл document.txt перемещается в каталог Work. Во-втором случае одновременно происходит перемещение файла и его переименование: файл document.txt перемещается в директорию Work и получает новое имя doc23.txt.
При использовании команды mv для переименования в качестве второго аргумента указывается новое имя:
mv order.txt orderNew.txt
mv Work/list.odt Work/names.odt
Каталоги перемещаются и переименовываются по тому же принципу, что и файлы. Групповое перемещение файлов работает также, как с командой cp.
Утилита file
Утилита предназначена для определения типа файла. В Linux для определения типов файлов не используются их расширения. Для инструментов с интерфейсом командной строки абсолютно безразлично, оканчивается ли имя файла на .txt или на .pdf. Исполняя обязанности системного администратора, вы должны использовать команду для установления типа интересующего вас файла. Ниже приведено несколько примеров использования данной утилиты при работе с типичной системой Linux.
paul@laika:~$ file pic33.png pic33.png: PNG image data, 3840 x 1200, 8-bit/color RGBA, non-interlaced paul@laika:~$ file /etc/passwd /etc/passwd: ASCII text paul@laika:~$ file HelloWorld.c HelloWorld.c: ASCII C program text
Утилита file использует файл со списком «магических последовательностей байт», содержащий шаблоны для распознавания типов данных. Файл со списком «магических последовательностей байт» расположен по пути . Используйте команду в случае необходимости получения дополнительной информации о нем.
Важно отметить, что для работы с такими специальными файлами, как файлы из директорий и , следует использовать команду .
root@debian6~# file /dev/sda /dev/sda: block special root@debian6~# file -s /dev/sda /dev/sda: x86 boot sector; partition 1: ID=0x83, active, starthead... root@debian6~# file /proc/cpuinfo /proc/cpuinfo: empty root@debian6~# file -s /proc/cpuinfo /proc/cpuinfo: ASCII C++ program text
Копирование файлов по регулярным выражениям в Linux
В утилите find можно применять различные условия и регулярные выражения для поиска файлов. Я уже немного писал о ней в статье как найти новые файлы в Linux. Мы можем скопировать все найденные с помощью find файлы, вызвав для каждого из них команду cp. Например, копируем все файлы в текущей директории, содержащие в имени только цифры:
Здесь точка указывает на текущую директорию, а параметр name задает регулярное выражение. Параметром exec мы задаем, какую команду нужно выполнить для обнаруженных файлов. Символ {} — подставляет имя каждого файла.
Но не find‘ом единым такое делается. То же самое можно получить, запросив список файлов директории в ls, отфильтровав его по регулярному выражению egrep и передав имена файлов по очереди в cp с помощью xargs:
Это не совсем удобный способ копировать файлы Linux, но всё же он возможен. Будут скопированы все файлы из домашней директории, содержащие в имени только английские буквы.
Команда для копирования «cp»
Для копирования файлов в Linux через терминал используется команда «cp» (от англ. «copy»). Команда «cp» представляет собой утилиту командной строки для копирования файлов и каталогов. Она поддерживает перемещение одного или нескольких файлов или папок с параметрами для создания резервных копий и сохранения атрибутов.
В общем случае, для того чтобы скопировать файл в Linux через терминал достаточно ввести команду «cp» и передать ей имя исходного и нового файла. Например, для того чтобы скопировать «file.txt» в новый «newfile.txt» нужно выполнить следующую команду:
cp file.txt newfile.txt
Обратите внимание, по умолчанию команда «cp» всегда будет перезаписывать уже имеющиеся файлы копируемыми, но это поведение можно изменить с помощью опций, которые мы рассмотрим
Таким же образом выполняется копирование файла в другую папку. Вводим команду «cp», указываем путь к файлу и затем каталог, в который его нужно скопировать. Например, для того чтобы скопировать «file.txt» в каталог «folder» нужно выполнить вот такую команду:
cp file.txt folder/
Естественно, если это необходимо, вы можете вводить полные пути к файлам и папкам, которые копируете командой «cp». Например, копирование может выглядеть так:
cp ~/temp/newfile.txt ~/temp/folder/
Еще один пример копирования с указанием полного пути:
При необходимости можно скопировать сразу несколько файлов. В этом случае сначала нужно перечислить файлы, а потом указать папку, в которую их нужно скопировать. Например, для того чтобы скопировать «file.txt» и «newfile.txt» в каталог «folder» нужно выполнить следующее:
cp file.txt newfile.txt folder/
Аналогичное действие можно выполнить и с помощью маски. Например, для того чтобы скопировать все txt-документы в определенную директорию можно выполнить вот такую команду:
cp *.txt folder/
При копировании каталогов нужно добавлять параметр «-R», так как без этого «cp» будет выдавать ошибку. Поэтому, для копирования каталогов нужно ввести команду «cp -R» и указать исходный и новый каталог. Например, для того чтобы скопировать каталог «folder» в «newfolder» вам нужно выполнить вот такую команду:
cp -R folder/ newfolder/
Как и в случае с файлами, папки можно копировать сразу по несколько штук. Для этого нужно ввести «cp», перечислить копируемые папки и указать каталог назначения. Например, для того чтобы скопировать папки «folder» и «folder2» в «newbigfolder» нужно выполнить следующее:
cp -R folder/ folder2/ newbigfolder/
Копирование файловой системы
Если есть желание создавать снимки всей файловой системы, имеет смысл использовать логические разделы, созданные с помощью . Логические разделы позволяют создавать атомарные снимки всего раздела. Лучшая резервная копия — это копия на уровне файловой системы или ниже, так как позволяет сохранить все данные и метаданные, поэтому это очень надежный способ резервного копирования.
Тем не менее, я никогда не пользовался LVM и поэтому не могу рассказать ничего полезного по этому поводу. Самостоятельно изучите документацию, чтобы выяснить, насколько вам это действительно подходит.
При создании снимков по-прежнему надо соблюдать меры предосторожности с приложениями, которые изменяют свои данные во время копирования. Точно так же надо делать дампы баз данных, дерева LDAP и т. д., чтобы не копировать файлы во время изменения.
Специальное копирование файлов в Linux с помощью tar
Linux интересен тем, что позволяет выполнять одно и то же действие различными путями. Копирование в Linux тоже может быть выполнено не только с помощью cp. При переносе системных файлов в другой каталог, резервном копировании системных файлов и т.д
важно чтобы сохранились атрибуты, значения владельцев файлов и символические ссылки как они есть без какой-либо модификации
Утилита cp тоже может справиться с такой задачей? если указать опцию -p, но можно использовать утилиту архивации tar. Мы не будем создавать никаких файлов архивов, а построим туннель. Первая часть команды пакует файл и отправляет на стандартный вывод, а другая сразу же распаковывает в нужную папку:
Здесь мы полностью копируем содержимое папки /var в папку /mnt/var. Так вы можете копировать папку Linux, причём абсолютно любую или даже целую операционную систему.