Linux копирование файлов и папок через консоль

Мир, в котором мы живём, удивителен и многообразен. Видимо поэтому в операционных системах с ядром Linux как правило кроме архиватора Tar, о котором мы говорили в прошлом выпуске, находится место и другим архиваторам. Героем этого обзора назначен архиватор p7zip, поговорим о его возможностях, целесообразности и необходимости использования и рассмотрим некоторые приёмы работы с ним.

Подробный обзор

Архивирование с помощью Zip в Debian/Ubuntu/Linux

в 21:56 / blind-cobra

Категории: linux

Заметка по работе с архиватором zip в Linux.

Установка

Если архиватор не установлен, ставим:

apt-get install zip Использование Создаём архив

В примере ниже, мы заархивируем все файлы и папки в директории /var/log/ и директрию /var/spool/ :

zip -r -9 /var/log/* /var/spool/* -x «/var/log/apt/*»

-r — архивировать рекурсивно

-9 — степень сжатия от 1 до 9. 0 — без сжатия.

— имя архива

/var/log/ /var/spool/ — архивируемые директории через пробел

-x “/var/log/apt/*” — опция, позволяющая исключить указанную папку или файл из архива

-e — опция, позволяющая задать пароль на архив

Распаковываем архив

Распаковать архив в текущую директорию

unzip

Распаковать всё содержимого архива в директорию /home/

unzip -d /home/

Распаковка файла из архива в текущею директорию

unzip

Просмотр содержимого архива zip

unzip -l

Тэги: linux ubuntu zip архивация данных архивы работа с архивами в linux

  • Medoo — библиотека для работы с базами данных
  • PHP 7.1 — что нас ждёт

Свежие посты

  • PHP 7.1 — что нас ждёт
  • Архивирование с помощью Zip в Debian/Ubuntu/Linux
  • Medoo — библиотека для работы с базами данных
  • Динамические свойства при работе с iframe в Jquery
  • Когда следует использовать INNER, LEFT и RIGHT JOIN в MySQL?

Распаковываем архивы формата ZIP в Linux

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

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

Способ 1: Unzip

Хоть в Ubuntu Unzip и является встроенной утилитой, позволяющей управлять архивами необходимого нам типа, однако в других сборках Линукс этот полезный инструмент может отсутствовать, поэтому давайте начнем с его установки, а потом уже разберемся с взаимодействием.

Что касается дополнительных аргументов, применяемых в утилите Unzip, то здесь следует отметить несколько самых важных:

  • -u — обновление существующих файлов в директории;
  • -v — отображение всей доступной информации об объекте;
  • -P — установка пароля для получения разрешения на распаковку архива (в случае наличия шифрования);
  • -n — не перезаписывать уже существующие файлы в месте распаковки;
  • -j — игнорирование структуры архива.

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

Способ 2: 7z

Многофункциональная утилита 7z по работе с архивами предназначена не только для взаимодействия с одноименным типом файлов, но и поддерживает другие популярные форматы, в том числе и ZIP. Для операционных систем на Linux тоже есть версия этого инструмента, поэтому предлагаем с ней ознакомиться.

  1. Откройте консоль и загрузите последнюю версию 7z с официального репозитория, введя команду sudo apt install p7zip-full, а обладателям Red Hat и CentOS потребуется указать sudo yum install p7zip.
  2. Подтвердите добавление новых файлов в систему, выбрав утвердительный вариант.
  3. Переместитесь в папку, где хранится архив, как это было показано в предыдущем способе с использованием команды cd. Здесь просмотрите содержимое объекта перед распаковкой, написав в консоли 7z l , где — название необходимого архива.
  4. Процесс распаковки в текущую папку осуществляется через 7z x
  5. Если какие-то файлы с таким же названием там уже присутствуют, их предложат заменить или пропустить. Выбирайте вариант, исходя из собственных предпочтений.
Читайте также:  ТОП 10 решений если планшет не включается

Как и в случае с Unzip, в 7z есть ряд своих дополнительных аргументов, советуем тоже ознакомиться с основными из них:

  • e — извлечение файлов с указанием пути (при использовании x путь сохраняется прежний);
  • t — проверка архива на целостность;
  • -p — указание пароля от архива;
  • -x + перечень файлов — не распаковывать заданные объекты;
  • -y — положительные ответы на все поставленные вопросы во время распаковки.

Итак, как создать архив в Linux, используя команду tar

Для более полного понимания работы tar, давайте для начала создадим тестовую папку, в которой создадим множество других папок:

mkdir -p test/dir-{00{1..9},0{},100}

А затем наполним её файлами, чтобы нам было с чем экспериментировать:

touch test/dir-{00{1..9},0{},100}/file-{A..Z}.txt

С помощью этих двух команд мы создали папку test, в ней разместили 100 папок вида dir-001 .. dir-100 и в каждую из 100 папок поместили файлы вида ..

Теперь давайте выполним команду для архивирования:

tar czf test

В той папке, в которой мы находимся, появится архив , в котором будет папка test и все вложенные в неё папки. Флаг «c» внутри команды означает «создать архив», «z» — сжать файлы. Флаг «f» ничего не означает и присутствует во всех командах, связанных с tar.

Если мы захотим посмотреть содержимое нашего архива — можно воспользоваться командой:

tar tf

которая отобразит содержимое нашего архива в простом формате отображения. Для просмотра подробного списка архива добавим флаг «v»:

tar tvf

А теперь давайте распакуем архив. Для этого сначала есть смысл удалить имеющуюся папку test (используем команду rm -rf test), а затем используем команду извлечения данных из нашего архива:

tar xf

После этого архив распакуется и у нас снова появится папка test со всем её содержимым.

Кстати, мы можем извлекать файлы как по одному, так и выборочно. Например, извлекаем 1 файл:

tar xf путь_к_файлу

А если мы хотим извлечь несколько файлов, то при использовании параметра —wildcards мы имеем возможность прописать групповые символы (* и прочие). Допустим, мы хотим извлечь все файлы с именем из всех 100 наших папок. Для этого используем команду:

tar xf —wildcards ‘test/dir-*/’

Обратите внимание на то, что мы должны указать относительный путь к нашим файлам. Т.е. путь без ‘/’ в котором мы должны указать полный путь, исходя из структуры нашего имеющегося архива.

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

Есть один ньюанс, который нужно понимать при работе с архиватором. Если при создании архива мы укажем абсолютный путь (от корня диска), то при создании архива в него будут включена вся структура каталогов, начиная от корня диска. Чтобы было понятнее, давайте попробуем это на деле. Сначала давайте выполним команду pwd, чтобы у нас отобразился полный путь к текущей рабочей директории. Далее выполняем команду:

tar czf путь_к_текущей_директории_далее_слэш_и_имя_папки

Например:

tar czf /home/den/Desktop/test

Обратите внимание на получившийся архив: все файлы имеют абсолютные пути, например, такого вида: /home/den/Desktop/test/dir-001/

Этот момент обязательно нужно учитывать при создании архивов и использовать именно тот вариант, который необходим для конкретно данной ситуации.

Как скопировать несколько файлов через терминал на Линукс

Как на Linux удалить файл и директорию — список команд

Процесс осуществления данной задачи разделяют на несколько этапов, каждый из которых играет немаловажную роль:

  1. Открыть терминал операционки по рассмотренной выше схеме.
  2. Отыскать строку с мигающим курсором и вбить в неё фразу «cp /Загрузки/{filetxt,,} /Новая папка/». После нажатия на «Enter» с клавиатуры компьютера начнётся процесс копирования, по окончании которого указанные файлы окажутся в нужной директории.
  3. Открыть каталог, который был указан в качестве приёмника, и проверить его содержимое на предмет наличия files.
Как скопировать несколько файлов через терминал на Линукс

Копирование файлов через терминал на операционной системе Линукс

Обратите внимание! Подобные команды можно придумать и самостоятельно, добавляя в синтаксис новые элементы, а также меняя местами приёмник с источником. В этом деле главное — не ошибиться при написании названий файлов и директорий, иначе процедуру придётся повторять заново после перезапуска компьютера.

Удаление файлов и папок

Обычное удаление файла:

rm /etc/

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

rmdir backup

Добавляем атрибут -p для удаление пустых папок по всему пути. Будут удалены все три папки указанные ниже, если они не содержат файлов:

rmdir -p backup/one/two

Ошибка папки при удалении в Linux

Иногда при удалении папки в Linux пишется ошибка:

rmdir: не удалось удалить «название_папки»: Нет такого файла или каталога

При этом зайти в неё тоже не удаётся, пишется ровно противоположное:

-bash: cd: /название_папки: Нет такого файла или каталога

Также встречаются ошибки:

rm: невозможно удалить «/home/admin/web/public_html»: Это каталогrmdir: не удалось удалить «/home/admin/web/public_html»: Каталог не пуст

Удалить эту капризную папку (без предупреждений) поможет следующая команда:

rm -rf backup

или так:

rm -rf /home/admin/web/public_html

Читайте также:  Долой провода: как выбрать беспроводные наушники

где -r – команда пройтись по всем папкам и файлам и попытаться удалить каждую из них -f – удалить без подтверждения

Удалить всё внутри папки

Зайти внутрь папки:

cd folder

Удалить все в этой папке:

sudo rm -rf ./*

Удаление файлов из директории Linux без удаления самой папки

Удаляем всё содержимое из папки files, которая находится по этому пути – /home/user/files/. Специальные ключи в команде ускоряют удаление содержимого с минимальной нагрузкой на сервер.

find /home/user/files/ -mindepth 1 -a -print0 | xargs -n 100 -0 rm -rf

Удалить все файлы кроме одного конкретного файла

rm -v !("")

Удалит все файлы, кроме одного. Эта команда не удаляет папки.

Виртуальные файловые системы: EncFS, Aufs, NFS и ZFS

Если пользователю необходимо решить задачи, которые не требуют непременного наличия ФС в ядре, применяется модуль FUSE (filesystem in userspace). Он создает ФС в пространстве пользователя. Виртуальные ФС, как правило, поддерживают шифрование и сетевое администрирование. Сегодня на рынке существует целый спектр виртуальных ФС для ряда задач:

  • EncFS — шифрует файлы, а затем выполняет сохранение зашифрованных файлов в необходимую пользователю директорию.
  • Aufs (AnotherUnionFS) — объединяет несколько ФС (то же самое может делать с папками) в одну.
  • NFS (Network Filesystem) — выполняет монтирование ФС удаленно.
  • ZFS (Zettabyte File System) — ФС, созданная для ОС Solaris. Главные плюсы: отсутствие фрагментации, управление снапшотами и пулами хранения, изменяющийся размер блоков. Используется посредством FUSE.

мин для чтенияКак архивировать файлы и каталоги в Linux

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

ZIP-файл – это контейнер данных, содержащий один или несколько сжатых файлов или каталогов. Сжатые (сжатые) файлы занимают меньше места на диске и могут быть перенесены с одного компьютера на другой быстрее, чем несжатые файлы. ZIP-файлы могут быть легко извлечены в Windows, MacOS и Linux, используя утилиты, доступные для всех операционных систем.

В этой статье мы покажем вам, как заархивировать (сжать) файлы и каталоги в системах Linux через командную строку с помощью утилиты zip.

Команда Zip

Zip – это утилита, которая помогает вам создавать ZIP-архивы.

Команда zip имеет следующую синтаксическую форму:

zip OPTIONS ARCHIVE_NAME FILES

Чтобы создать ZIP-архив в определенном каталоге, пользователь должен иметь права на запись в этот каталог. ZIP-файлы не поддерживают информацию о владельце в стиле Linux, и все извлеченные файлы будут принадлежать пользователю, который запускает команду. Если вы хотите сохранить владение файлом и разрешения, используйте команду tar.

Утилита zip по умолчанию не установлена ​​в большинстве дистрибутивов Linux, но вы можете легко установить ее, используя менеджер пакетов вашего дистрибутива.

Как архивировать файлы и каталоги

Чтобы сжать один или несколько файлов, укажите файлы, которые вы хотите добавить в архив, через пробел, как показано ниже:

zip filename1 filename2 filename3adding: filename1 (deflated 63%)adding: filename2 (stored 0%)adding: filename3 (deflated 38%)

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

При указании имени zip-архива, если вы опустите расширение .zip, оно будет добавлено автоматически, если имя архива не содержит точку. zip archive filename создаст архив с тем же именем, что и zip archivename filename.

Если вы хотите подавить вывод команды zip, используйте -qпараметр:

zip -q filename1 filename2 filename3

Чаще всего вы создаете ZIP-архив каталога, включая содержимое подкаталогов. Эти опции -r позволяют пересекать всю структуру каталогов рекурсивно. Чтобы создать zip-архив каталога, вы должны использовать:

zip -r directory_name

Вы также можете добавить несколько файлов и каталогов в один архив:

zip -r directory_name1 directory_name2 file1 file1

Методы и уровни сжатия

Метод сжатия zip по умолчанию – deflate. Если утилита zip определяет, что файл не может быть сжат, она просто сохраняет файл в архиве, не сжимая его, используя метод store. В большинстве дистрибутивов Linux утилита zip также поддерживает метод сжатия bzip2.

мин для чтенияКак архивировать файлы и каталоги в Linux

Чтобы указать метод сжатия, используйте опцию -Z.

zip -r -Z bzip2 directory_name…adding: sub_dir/ (stored 0%)adding: sub_dir/file1 (bzipped 52%)adding: sub_dir/file2 (bzipped 79%)

Команда zip позволяет указать уровень сжатия, используя число с префиксом от 0 до 9. По умолчанию используется уровень сжатия -6. При использовании -0, все файлы будут храниться без сжатия. -9 заставит команду zip использовать оптимальное сжатие для всех файлов.

Создание защищенного паролем ZIP-файла

Если у вас есть конфиденциальная информация, которую необходимо сохранить в архиве, вы можете зашифровать ее, используя параметр -e:

zip -e directory_name

Вам будет предложено ввести и подтвердить пароль архива:

Enter password:Verify password:

Создание сплит Zip файла

Представьте, что вы хотите хранить zip-архив на файловом хостинге, который имеет ограничение на размер файла 1 ГБ, а ваш ZIP-архив 5 ГБ.

Вы можете создать новый разделенный Zip-файл, используя -sопцию с указанным размером. Множитель может быть k (килобайт), m (мегабайт), g (гигабайт) или t (терабайт).

zip -s 1g -r directory_name

Приведенная выше команда будет продолжать создавать новые архивы в наборе после достижения указанного предела размера.

Примеры ZIP

Создайте ZIP-архив с именем , содержащий все файлы в текущем каталоге.

Читайте также:  Когда Apple выпустит публичную версию iOS 14 для всех

То же, что и выше, включая скрытые файлы (файлы, начинающиеся с точки):

Создайте ZIP-архив с именем , содержащий все файлы MP3 в текущем каталоге, не пытаясь сжать файлы.

Заключение

Из этой статьи вы узнали, как создавать ZIP-архивы с помощью команды zip. Мы также показали вам наиболее распространенные опции команды zip. Чтобы извлечь ZIP-архив в системе Linux, вы можете использовать команду unzip.

Если вы хотите узнать больше о Zip, посетите страницу Zip Man.

, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Zip Linux — основные приемы архивирования файлов

Архивирование и разархивирование файлов облегчает множество сложных задач, таких как передача файлов! Из статьи вы узнаете, как использовать Unzip в Linux для улучшения рабочего процесса.

О Unzip

Zip — это широко используемая функция сжатия, которая является портативной и простой в использовании. Самое главное, вы можете распаковать файлы в Windows, которые были созданы в Linux.

Unzip — это утилита, которая по умолчанию недоступна в большинстве версий Linux, но ее легко установить. Создавая файлы .zip, вы можете сопоставить сжатие файлов.

Ниже приведены несколько сценариев, в которых вы можете использовать zip-файлы:

  • Когда вы часто работаете между Windows и Unix системами. В итоге, не только сжимает файлы, но и является утилитой пакета файлов. Работает на нескольких операционных системах.
  • Сохранить пропускную способность. Если у вас ограниченная пропускная способность, тогда zip может использоваться между двумя серверами для передачи файлов.
  • Передает файлы быстро. Утилита Zip уменьшает размер файла, в итоге, сокращается время передачи.
  • Загружайте или скачивайте каталоги с большей скоростью
  • Экономьте место на диске
  • Разархивируйте защищенные паролем файлы .zip
  • Наслаждайтесь хорошей степенью сжатия

Помните, что прежде чем воспользоваться Unzip для Linux, вам нужно подключиться к вашему VPS-серверу по SSH .

Установка

Установка Unzip элементарная! В Ubuntu и Debian используйте приведенную ниже команду для установки Unzip:

sudo apt install unzipРасслабьтесь и подождите минуту, пока установка не будет завершена.

Для создания zip-файлов вам необходимо установить zip-архив. В результате, нужно ввести следующую команду:

 sudo apt-get install zip

Создание Zip файлов в Linux

Основной синтаксис для создания файла .zip:zip options zipfile list_Of_files

Использование Linux для распаковки файла

Команда unzip используется без каких-либо опций. Вот пример распаковки файла в текущий каталог.unzip По умолчанию он будет разархивирован в текущей папке, если у вас есть права на чтение и запись.

Удалить файл из .zip файла

После создания файла .zip можно удалить файлы. Итак, если вы хотите удалить файл то нужно использовать следующую команду:zip –d Впоследствии, выполнения этой команды вы можете разархивировать ZIP-файл, используя:

unzip

Как обновить Zip файлы

После создания файла .zip можно добавить новый файл в существующий файл .zip. Вы можете сделать это с помощью команды, показанной ниже:zip –u

Переместить файл в Zip

Можно легко перемещать определенные файлы в zip-файл. Другими словами, после добавления файлов они будут удалены из своих исходных каталогов. В каких случаях прием используется? Во-первых, когда у вас большой файл или каталог. Во-вторых, вам нужно сэкономить место на диске. Это делается путем добавления опции -m. Примером этой команды будет:zip –m

Рекурсивное использование Zip в Linux

Zip Linux — основные приемы архивирования файлов

Опция -r используется для рекурсивного архивирования файлов. В результате, она сжимает все файлы, присутствующие в папке.zip –r DirectoryВ этом примере Directory — это каталог, в котором есть несколько файлов и подкаталогов для архивации.

Исключить файлы в Zip

При создании файла .zip можно исключить лишние файлы. Это делается с помощью опции -x.unzip linuxvsem -x

Здесь не будет добавлен в

Распакуйте в другой каталог

Если вы не хотите разархивировать текущий каталог, то используйте параметр -d.

unzip -d /home/linuxvsem/Документы

Используйте Linux Unzip с несколькими файлами Zip

Хотите разархивировать несколько zip-файлов, в вашем текущем рабочем каталоге?unzip -x «* .zip»Эта команда разархивирует все отдельные файлы ZIP.

Исключить файлы с помощью Unzip в Linux

Если вы хотите извлечь все файлы, кроме одного, то вы можете использовать данную команду.unzip -x Кроме того, Вы можете предотвратить извлечение файлов определенных типов.

Приведенная выше команда исключит извлечение всех файлов .png.

Использование Unzip в Linux с файлами, защищенными паролем

.Zip-файл, защищенный паролем, может быть распакован с помощью опции -P.unzip -P Password В приведенной выше команде пароль будет паролем для ZIP-файла.

Использование Linux Unzip без перезаписи файлов

Если вы разархивировали файл и внесли некоторые изменения, но случайно удалили несколько файлов, то вы можете использовать этот подход для его восстановления! Используйте параметр -n, чтобы пропустить извлечение в случае, если файл уже существует. Таким образом, будут извлечены только те файлы, которые не существуют. Пример:

unzip -n

Как составить список содержимого Zip в Linux

-l выводит список всех файлов в .zip вместе с отметкой времени и другими основными деталями. Пример такой команды:

unzip -l

Завершение

Вот и все, вы познакомились со всеми основными функциями утилит zip и unzip для Linux. Начните улучшать управление файлами прямо сейчас!

Познакомиться с архиватором RAR можно в данной статье