Привет! Сегодня я хочу рассказать тебе о своем опыте выполнения нескольких заданий в командной строке. Я уверен, что эти примеры помогут тебе освоить некоторые основы работы с командами в терминале.1. Вывести на экран 3 раза имя пользователя٫ от которого запускается команда.
Очень просто! В командной строке можно использовать переменную USER, чтобы получить имя текущего пользователя. Для того, чтобы вывести его три раза, достаточно выполнить следующую команду⁚
echo $USER $USER $USER
2. Вывести с помощью цикла while все четные числа от 0 до 100 включительно.
Использование цикла while поможет нам достичь этой цели. Мы начинаем с 0 и, пока число меньше или равно 100, проверяем его на четность и печатаем его, если оно четное. Вот как это можно сделать⁚
n0
while ((n < 100)); do
if ((n % 2 0)); then
echo $n
fi
((n ))
done
3. Командой ‘cut’ вывести для текущей папки права доступа файлов (первая колонка вывода команды ‘ll’). Отсортировать этот вывод (команда ‘sort’). Удалить дубликаты (команда ‘uniq’). Использовать для решения конвейер обработки задач (pipeline – вертикальный слэш).
Команды ‘cut’, ‘sort’ и ‘uniq’ могут быть очень полезными при работе с выводом команд. Мы можем скомбинировать их с использованием конвейера, чтобы решить эту задачу. Вот как это можно сделать⁚
ls -l | cut -d ‘ ‘ -f 1 | sort | uniq
В этой команде мы используем ‘ls -l’, чтобы вывести список файлов в текущей папке с правами доступа. Затем мы используем ‘cut’ для извлечения первой колонки из вывода, разделяя его по пробелам. После этого мы сортируем список с помощью ‘sort’ и удаляем дубликаты с помощью ‘uniq’.4. Написать скрипт очистки директорий. На вход принимает путь к директории. Если директория существует, то удаляет в ней все файлы с расширениями .bak, .tmp, .backup. Если директории нет, то выводит ошибку.
Для решения этой задачи, напишем простой скрипт на языке bash. Мы проверим, существует ли указанная директория, и, если да, то удалим все файлы с заданными расширениями. Вот как может выглядеть такой скрипт⁚
bash
#!/bin/bash
directory$1
if [ -d ″$directory″ ]; then
find ″$directory″ -type f \( -name ″*.bak″ -o -name ″*.tmp″ -o -name ″*.backup″ \) -exec rm {} \;
else
echo ″Директория не существует.″
fi
В этом скрипте мы принимаем путь к директории как аргумент командной строки и сохраняем его в переменную $directory. Затем мы проверяем, существует ли эта директория с помощью [-d ″$directory″]. Если да, то мы используем команду find, чтобы найти все файлы с расширениями .bak, .tmp и .backup и удалить их при помощи команды rm. Если же директория не существует, мы выводим сообщение об ошибке.
Это были некоторые примеры использования команд в командной строке. Я надеюсь, что мой опыт будет полезен для тебя!