diff --git a/linux/README.md b/linux/README.md index 23aa2b3..4d48a6c 100644 --- a/linux/README.md +++ b/linux/README.md @@ -7,3 +7,4 @@ - [Копирование файлов на удалённый сервер через SSH](scp.md) - [Анализ трафика (tcpdump)](tcpdump.md) - [Мониторинга и анализа трафика (ngrep)](ngrep.md) +- [Работа с архивами](archives.md) diff --git a/linux/archives.md b/linux/archives.md new file mode 100644 index 0000000..82d4281 --- /dev/null +++ b/linux/archives.md @@ -0,0 +1,59 @@ +# Работа с архивами + +## tar + +### Использование + +```sh +tar [ПАРАМЕТР...] [ФАЙЛ]… +``` +где `ПАРАМЕТР` как `функция + аргумент`, а `ФАЙЛ` как *file*: + +|Функция|Длинный формат|Описание| +|:-:|-|-| +|`-c`|`--create`|Создание нового архива| +|`-t`|`--list`|Вывод списка содержимого архива| +|`-x`|`--extract`|Извлечение файлов из архива| + +|Аргумент|Длинный формат|Описание| +|:-:|-|-| +|`-p`|`--preserve-permissions`|Сохранить все права доступа к файлу| +|`-v`|`--verbose`|Выводить подробную информацию процесса распаковки или запаковки| +|`-z`|`--gzip`|Перенаправить вывод в команду `gzip` (сжать с помощью `gzip`)| +|`-r`|`--append`|Добавление файлов в конец архива| +|`-f` *file*|`--file=`*file*|Вывести результат в файл (или на устройство) *file*| + +### Примеры + +Запаковать файлы/каталог в архив `tar` + +```sh +tar -cpf archive.tar file directory +``` + +где + +- `-c` - создание архива (`archive.tar`) +- `-p` - сохранение прав доступа к файлам (`file`, `directory`) +- `-f` - вывод результата в файл (`archive.tar`) + +С ключом `-z` данные будут сжаты в процессе архивирования с помощью `gzip`: + +```sh +tar -czpf archive.tar file directory +``` + +Просмотр содержимого архива: + +```sh +tar -tf archive.tar +``` +где `-t` вывод списка содержимого архива. + +Параметр `-v` позволит получить подробную информацию в процессе создания или распаковки архива: + +```sh +tar -xvf archive.tar +``` + +где `-x` распаковка архива.