Skip to content

Основные команды Bash. Часть 2

Продолжаем изучать и применять основные и часто используемые команды. Для лучшего понимания этой части, советую сначала проделать основные команды Bash. часть 1, и только потом приступать ко 2 части заданий.

    Создание, копирование, перемещение файлов…

  1. Создать директорию manyfiles.
    mkdir manyfiles

  2. Создать в ней 100 файлов с именами a1, a2, a3, …. a100.
    touch a{1..100}

  3. Создать директории manyfiles10 и manyfiles30.
    mkdir manyfiles10 manyfiles30

  4. В директорию manyfiles10 перенести файлы а1, …, а10.
    mv a{1..10} manyfiles10

  5. В директорию manyfiles30 скопировать файлы с номерами, кратными 5.
    cp a{*0,*5} manyfiles30

  6. Из директории manyfiles удалить только файлы с четными номерами.
    rm a*{0,2,4,6,8}

  7. Создать директорию manyfiles3 с файлами, как копию директории manyfiles10.
    cp -r manyfiles3/ manyfiles10

  8. Удалить директорию с файлами manyfiles10.
    rm -r manyfiles10

  9. Создайте каталог Toppler, содержащий два файла: high11 и low11.
    mkdir Toppler && > Toppler/high11 && > Toppler/low11

  10. Скопируйте оба эти файла в каталог /tmp.
    cp high11 low11 /tmp

  11. Переместите эти два файла из каталога /tmp в домашний каталог, используя символы подстановки.
    mv /tmp/*11 ~

  12. Рекурсивно скопируйте каталог Toppler в /tmp.
    cp -r Toppler/ /tmp

  13. Переименуйте в /tmp этот каталог в Roller.
    mv Toppler/ Roller/

  14. Переместите полученный каталог со всем содержимым в домашний каталог так, чтобы на экране отображалась подробная информация об этом процессе.
    mv -v Roller/ ~

    Вычисления, значения переменных…

  15. Вычислите значения выражений 3 + 5; 6 / 4.
    echo $((3+5)) или echo "6/4" |bc -l (можно с флагами, можно с двойными скобками)

  16. Найдите 15 % от 75; 5 % от 350.
    echo "0.15*75" |bc -l
    echo "0.05*350" |bc -l

  17. Вычислите значение переменной V2 = V1 * 2, если V1 = 4.
    V1=4
    V2=$((V1*2))
    echo $V2

  18. Задайте переменную VAR1 = Работа в оболочке.
    VAR1="Работа в оболочке"

  19. Выведите значение переменной VAR1.
    echo $VAR1

  20. Создайте переменную VAR2, равную значению VAR1, добавив к переменной Bash.
    VAR2=$VAR1'BASH'

  21. Получите значение переменной окружения HISTFILESIZE, сохраните ее в переменной VAR3.
    VAR3=$HISTFILESIZE
    echo $VAR3

  22. Выведите созданные переменные.
    echo $VAR1 $VAR2 $VAR3

  23. Удалите переменную VAR1.
    unset VAR1

  24. Выведите переменную VAR2.
    echo $VAR2

    grep: поиск строк, отвечающие заданному регулярному выражению

  25. Вывести строки файла dirlist.txt, содержащие файлы с определенным месяцем(по выбору) и записать их в файл grep_month_name.txt.
    grep -i 'июль' dirlist.txt > ~/linux_lab2/grep_month_name.txt

  26. Записать строки, не содержащие этот месяц, в файл grep_other_monthes.txt.
    grep -iv 'июль' dirlist.txt > ~/linux_lab2/grep_other_monthes.txt

  27. Создать папку grep, переместить в нее файлы, созданные в предыдущих 2 пунктах.
    mkdir grep && mv grep_month_name.txt grep && mv grep_other_monthes.txt grep

  28. Находясь в папке linux_lab2 найти все файлы в этой директории и ее поддиректориях в которых встречается подстрока root, вывести строки с указанием их номеров.
    grep -rn 'root'

    find: поиск файлов

  29. Найти все файлы в системе, содержащие в имени bash (с помощью команд find и locate).
    locate bash и find / -name "bash"

  30. Найти файлы, измененные за последний час.
    find / -mmin 60

  31. Найти символические ссылки в каталоге / (но не глубже), вывести, на что они указывают.
    find / -type l -print

  32. Поменять приглашение командной строки (переменная PS1), добавить текущее время.
    PS1="\u@\t \ w$"

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

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

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