Ниже — короткий пошаговый гайд под Astra Linux, команды можно выполнять прямо в терминале в любом каталоге (например, в домашнем).
***
## Задание 1: создать 3 файла
1) `file1.txt` из `/dev/random` (1 КБ рандома):
```bash
dd if=/dev/random of=file1.txt bs=1024 count=1
```
2) `file2.txt` с текстом Lorem ipsum, повторённым 10 раз:
```bash
for i in {1..10}; do
echo "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
done > file2.txt
```
3) `file3.txt` из бинарного файла (возьми любой, например `/bin/ls`):
```bash
cp /bin/ls file3.txt
```
4) Архив с тремя файлами:
```bash
tar -cf archive.tar file1.txt file2.txt file3.txt
```
***
## Задание 2: сжатие gzip, bzip2, xz, cpio
Сжимаем и сам архив, и отдельно `file2.txt`. Чтобы исходные файлы не удалялись, везде ключ `-k`.
```bash
# gzip
gzip -k file2.txt
gzip -k archive.tar
# bzip2
bzip2 -k file2.txt
bzip2 -k archive.tar
# xz
xz -k file2.txt
xz -k archive.tar
```
`cpio` — это сразу «архивация», так что делаем отдельные файлы `.cpio`:
```bash
ls file2.txt | cpio -o > file2.txt.cpio
ls archive.tar | cpio -o > archive.cpio
```
***
## Задание 3: поиск “Lorem” без разжатия
Для каждого формата — своя утилита `*grep`:
```bash
zgrep "Lorem" file2.txt.gz
bzgrep "Lorem" file2.txt.bz2
xzgrep "Lorem" file2.txt.xz
cpio -i --to-stdout < file2.txt.cpio | grep "Lorem"
```
(Для `archive.*` тоже можно аналогично искать по имени файла внутри, если понадобится.)
***
## Задание 4: разархивировать только `file2.txt`
Если нужно вытащить из `archive.tar` именно `file2.txt`:
```bash
tar -xf archive.tar file2.txt
```
Если у тебя, например, `archive.tar.gz` (tar + gzip в одном файле), то:
```bash
tar -xzf archive.tar.gz file2.txt
```
Хочешь, могу дописать те же команды в виде мини-скрипта, чтобы ты просто скопировал, выполнил и получил все файлы автоматически.