Skip to content

Файловая система Bash

Приветствую всех, сегодня мы разберем задания и команды, связанные с файловой системой Linux Bash, работой с жестким диском, а также установкой и настройкой программного обеспечения для Linux.

Начнем:

    Управление дисковой системой

  1. Проверьте геометрию диска, установленного на вашем компьютере с помощью fdisk -l. (изучите таблицу разделов вашего жесткого магнитного диска).
    /sbin/fdisk -l /dev/sda

  2. На каком разделе вашего диска имеется область подкачки swap?
    В разделе sda5 (у вас может быть другой раздел)

  3. Определите размер сектора жесткого диска.
    512 байт (fdisk -l)

  4. Изучите содержимое файла /etc/fstab, определите подходит ли какая-либо запись для монтирования CD-ROM? Если нет, то какая запись в /etc/fstab должна быть?
    cat /etc/fstab (если такой записи нет, нужно добавить:
    mount -t iso9660 -r /dev/cdrom /media/cdrom )

  5. Выведите информацию об использовании дискового пространства на всех смонтированных блочных устройствах в системе.
    df -h

  6. Получите информацию об использовании дискового пространства домашним каталогом
    du -sh ~ (s — без информации о подкаталогах)

    Работа с файловой системой Bash

  7. Смонтируйте и отмонтируйте флешку из командной строки.
    монтирование: mount /dev/sdb1 /media/nikiqq (/media/nikiqq — папка, созданная мной, у вас будет своя)
    отмонтирование: umount /dev/sdb1

  8. Скопируйте содержимое флешки в файл usb.image папки linux_lab7.
    mount /dev/sdb1 /home/nikiqq/linux_lab7/usb.image

  9. Скопируйте первые 512 байт из файла устройства жесткого диска, с которого загружается операционная система, в файл first_sect.img и определите тип его содержимого.
    Копирование: dd if=/dev/sda of=first_sect.img bs=512 count=1
    Проверка типа: file first_sect.img (тип: x86 boot sector)

  10. Создайте пустой файл и сожмите его gzip. Уменьшился ли размер этого файла?
    gzip pusto (появился файл pusto.gz, размер не изменился)

  11. От имени суперпользователя создайте полный сжатый архив etc.tar.gz всех файлов в каталоге /etc.
    sudo tar czf etc.tar.gz /etc

  12. Получите содержимое архива для просмотра списка файлов в нем.
    tar -tf etc.tar.gz | less

  13. Извлеките из созданного архива единственный файл /etc/passwd так, чтобы он был сохранен в каталоге /tmp с тем же именем.
    tar -xSzvf etc.tar.gz etc/passwd | mv etc/passwd /

  14. Разделите созданный архив на части, размером по 100 байт, используя для этого утилиту split.
    split -b 100 etc.tar.gz

  15. Соберите из полученных частей целый архив. Какой размер полученного архива?
    tar -czf etc.tar.gz * (размер увеличился)

  16. Создайте большой текстовый файл zip.txt. Сожмите его алгоритмами gzip и bzip2. Сравните размер полученных файлов.
    gzip zip.txt
    bzip2 zip.txt (файл получился меньше)

  17. Создайте файлы, копируя данные командой dd из устройств /dev/zero и /dev/random.
    dd if=/dev/zero of=file1 | dd if=/dev/random of=file2

  18. Разрежьте файл на две равные по размеру части, используя dd.
    dd if=examples.desktop of=part-1 bs=6k count=1 | dd if=examples.desktop of=part-2 bs=6k skip=1 (файл был размером 12 килобайт)

  19. Выведите на экран первые 100 байт содержимого файла zip.txt:
    dd if=zip.txt bs=100 count=1

  20. Создайте небольшой каталог testarch с файлами в каталоге linux_lab7. Выполните резервное копирование этого каталога командой rsync.
    rsync -avz ~/linux_lab7/testarch ~/codetown

  21. Создайте в каталоге testarch новый файл newfile. Создайте инкрементальную копию.
    rsync -avz newfile codetown

  22. Файл newfile случайно удален (удалите его). Восстановите файл newfile из бэкапа.
    rsync -avz newfile linux_lab7/testarch(восстановили из резервного каталога)

  23. Изучить скорость работы дисковой подсистемы, копируя данные командой dd. Построить графики зависимости скорости копирования от размера блока (bs) и от количества блоков при фиксированном размере блока.
    time dd if=codetown.txt of=dd1 bs=100
    time dd if=codetown.txt of=dd1 bs=10
    time dd if=codetown.txt of=dd1 count=10
    time dd if=codetown.txt of=dd1 count=1
    (сравниваем результаты и делаем вывод о влиянии параметров вызова команды на скорость)

    Управление программным обеспечением

  24. Выведите список подкаталогов /usr/local и для каждого из них занимаемый размер.
    ls -dsh /usr/local/*/

  25. Получите последнюю версию пакета демона BIND c ftp-сервера, используя wget.
    wget http://ftp.isc.org/isc/bind9/9.7.0rc1/bind-9.7.0rc1.tar.gz

  26. Установлены ли в системе какие-либо библиотеки без участия системы управления пакетами (см. /usr/local)?
    ls /usr/local/lib (затем dpkg --list '*то что установлено*', смотрим есть ли они в системе управления пакетами)

  27. Выведите состояние установки пакетов, содержащих в названии debian.
    rpm -qa | grep debian или dpkg --list '*debian*'

  28. Выведите информацию о полном имени, размере и зависимостях пакета gcc.
    dpkg --status gcc | grep -E "Size|Depends|Package"

  29. Получите список из десяти пакетов, файлы из которых занимают на диске максимальное место (на основе данных из самих пакетов)
    dpkg-query -W -f='${Installed-Size}\n' | sort -nr | head -10

Если у вас есть замечания или вопросы, то задавайте их в комментариях!

Опубликовано вLinux Bash

Будьте первым, кто оставит комментарий

    Добавить комментарий