6. Создать сжатый архив (gzip)
олько файлов и/или каталогов в один файл. Легче передать один файл по сети и даже по USB-накопителю (создание тысяч файлов на флэш-памяти может быть медленным). В операционных системах, таких как Windows, это обычно делается путем архивирования в файлы.zip (архивирование) или.rar. В операционных системах *nix, таких как Linux, утилита перехода — «tar». Название этой команды происходит от Tape ARchive, поскольку изначально она была разработана для резервного копирования данных на магнитную ленту. В настоящее время его все еще можно использовать для этой цели, но в большинстве случаев это просто метод создания так называемых «тарболов». Цель архивов — облегчить загрузку, скачивание и перемещение данных, а также сохранение резервных копий.1. Обратитесь к руководству по tar
У каждой команды в Linux есть страница руководства. Вы можете ознакомиться с руководством по tar, введя это в свой терминал:
man tar
Перемещайтесь по содержимому с помощью клавиш со стрелками PAGE UPи PAGE DOWN. Нажмите q, чтобы выйти из руководства.
Читайте также: Contents
1. Обратитесь к руководству по tar
ых пользователей">6 самых полезных команд Linux для новых пользователей2. Создайте архив каталога
Создайте каталог с девятью пустыми файлами, чтобы можно было тестировать команды tar:
mkdir $HOME/test9 && touch $HOME/test9/{1..9}
Теперь перейдите в свой домашний каталог.
cd
Чтобы отправить содержимое каталога в файл tar:
tar -cvf test.tar test9
c
– означает созданиеv
– подробный, выводит, какой файл в данный момент добавлен в архив; полезно для длительных заданий, чтобы увидеть прогресс.f
— сообщает утилите создать tar-файл с указанным именем test.tar
3. Добавить контент в существующий архив
Создайте еще один каталог с пустыми файлами с именами от a до z:
mkdir $HOME/test-az && touch $HOME/test-az/{a..z}
2. Создайте архив каталога24/05/tar-test-az.png" alt="tar-test-az">
Теперь добавьте его в уже существующий tar-архив (параметр r
):
tar -rvf test.tar test-az
Если вы откроете test.tar в графическом менеджере архивов, вы увидите следующее содержимое.
4. Список содержимого tar-файла
Используйте флаг -t
, чтобы просмотреть содержимое tar-файла.
tar -tf test.tar
5. Извлечение содержимого из архива
Содержимое будет извлечено в ваш текущий каталог. Создайте новый каталог и затем переключитесь на него:
mkdir $HOME/test-extract && cd $HOME/test-extract
Теперь извлеките test.tar в текущий каталог:
tar -xvf $HOME/test.tar
6. Создать сжатый архив (gzip)3. Добавить контент в существующий архив
сети, рекомендуется уменьшить его размер, чтобы увеличить скорость передачи. Вернитесь в свой домашний каталог.
cd
cd
И создайте сжатый файл tar.
tar -cvzf test.tar.gz test9
Как видите, единственное отличие — это добавленный параметр z
, который указывает tar использовать gzip для сжатия файла.
Читайте также: Как легко запомнить команды Linux
7. Создайте еще меньший сжатый архив (bzip)
Вместо параметра z
вы можете использовать j
для сжатия с помощью bzip.
tar -cvjf test.tar.bz test9
Это еще больше умен
4. Список содержимого tar-файла
ковка займут больше времени.8. Извлечь один файл или каталог
Просто добавьте точное имя файла или каталога, как оно указано в tar-архиве:
tar 5. Извлечение содержимого из архиваan>7
При этом извлекается только файл test9/7
.
9. Извлекать только файлы/каталоги, соответствующие шаблону
Если вы хотите извлечь все файлы, оканчивающиеся на расширение.jpg:
tar -xvf test.tar --wildcards '*.jpg'
10. Сохранить разрешения
Разрешения не имеют значения при создании архивов из документов, изображений и подобных медиафайлов. Но если вы создаете резервную копию своей системы, вы можете добавить параметр p
, чтобы сохранить права доступа к файлам:
tar -cvpf test-permissions.tar test9
11. Удаление файлов или каталогов из архива
Работает только с несжатыми файлами tar.
tar -f test.tar --delete test-az
При этом из архива будет удален каталог test-az, включая содержащиеся в нем файлы. tar f test.tar --delete test-az/z
просто удалит файл «test-az/z».
12. Исключить файлы и каталоги из добавления в архив
tar -cvf test-exclude.tar --exclude test9/9 test9
Как видите, файл 9 был исключен из tar-архива. Можно добавить несколько параметров исключения: tar cvf test-exclude.tar --exclude test9/9 --exclude test9/8 test9
.
13. Оставайтесь в одной файловой системе
--one-file-system
можно добавить в команду, например tar -cvpzf backup.tar.gz --one-file-system /
.
Это позволит создать резервную копию вашей корневой файловой системы, исключая другие файловые системы, которые вы, возможно, смонтировали в /home, /mn
7. Создайте еще меньший сжатый архив (bzip)
е: Начало работы с командой Awk14. Сохранять расширенные атрибуты
Помимо прав доступа к файлам, некоторые дистрибутивы Linux также имеют расширенные атрибуты файлов. Чтобы сохранить их все, добавьте следующие параметры: --acls --selinux --xattrs
.
Пример ком