Главная страница
Навигация по странице:

  • Описание команд

  • Конвейеры и вывод в терминал.

  • Асемблер. Задание Подсчитать количество файлов в подкаталоге. Найти в подкаталоге файл наибольшего объема. Вычислить суммарный объем, занимаемый файлами в подкаталоге.


    Скачать 278.66 Kb.
    НазваниеЗадание Подсчитать количество файлов в подкаталоге. Найти в подкаталоге файл наибольшего объема. Вычислить суммарный объем, занимаемый файлами в подкаталоге.
    АнкорАсемблер
    Дата23.12.2021
    Размер278.66 Kb.
    Формат файлаdocx
    Имя файлаLab1.docx
    ТипДокументы
    #316059



    Задание

    1. Подсчитать количество файлов в подкаталоге.

    2. Найти в подкаталоге файл наибольшего объема.

    3. Вычислить суммарный объем, занимаемый файлами в подкаталоге.

    4. Вычислить средний объем файла в подкаталоге.

    5. (12 вариант) Подсчитать количество файлов в подкаталоге, не являющимися подкаталогами.

    Описание команд

    • ls – вывод списка файлов текущего подкаталога на экран.

    Ключи:

    -l – список файлов подкаталога с дополнительной информацией о каждом файле.

    -S – вывести суммарный объем файлов.

    • grep – фильтр для поиска соответствия регулярному выражению, задаваемому в качестве первого аргумента.

    • head – фильтр, предназначенный для вывода в стандартный поток вывода нескольких первых строк стандартного потока ввода.

    Ключи:

    -n – задает число выводимых строк.

    • wc – фильтр, предназначенный для подсчета строк, слов и символов в стандартном потоке ввода. По умолчанию выведет все три параметра.

    Ключи:

    -l – выдать только число строк.

    -с – размер в байтах

    • find – поиск

    Ключи:

    -maxdepth – максимальная глубина поиска

    -type f – только файловый тип

    -print0 – опция find. Вывод, за которым следует нулевой символ, а не символ новой строки как в -print.

    • Xargs – передаём результат предыдущих команд как аргумент последующей команде

    Ключи:

    -0 – Использует во входном потоке символ-разделитель нуль (“\0”) вместо пробела и перевода строки

    Конвейеры и вывод в терминал.

    1. Ls -lS | grep “^-“ | head -1

    2. SUM="$(find -maxdepth 1 -type f -print0 | xargs -0 cat | wc -c)"

    3. NUM="$(ls - l | grep "^-" | wc -l)"

    4. AVG="$((SUM / NUM))"

    5. echo "$SUM"

    6. echo "$NUM"

    7. echo "$AVG"

    Результат

    1. Вывели все файлы и их размеры. После этого вывели только файл, имеющий наибольший размер.





    Нашли сумму всех файлов в подкаталоге, их количество, поделили сумму на количество и нашли средний размер всех файлов в подкаталоге. Вывели числа в консоль. Стоит заметить, что мы захватили ещё и скрытые системные файлы.


    написать администратору сайта