Находим файлы, измененные за последние 7 дней
Напишем команду, которая найдет все файлы в директории
Пример:
Опция
Напишем команду, которая найдет все файлы в директории
/var/log, измененные за последние 7 дней.Пример:
find /var/log -type f -mtime -7Опция
-mtime -7 указывает на файлы, измененные в течение последних 7 дней. -type f ограничивает поиск только файлами.Символические и жесткие ссылки
В Linux вы можете создавать ссылки на файлы.
Жесткие ссылки указывают на тот же inode, что и оригинальный файл, в то время как символические ссылки (symlink) — это указатели на путь к файлу.
Пример:
Создаемсимволическую ссылку:
Создаем жесткую ссылку:
Можно проверить, что обе ссылки указывают на один и тот же inode с помощью команды
В Linux вы можете создавать ссылки на файлы.
Жесткие ссылки указывают на тот же inode, что и оригинальный файл, в то время как символические ссылки (symlink) — это указатели на путь к файлу.
Пример:
Создаемсимволическую ссылку:
ln -s /path/to/original/file.txt /path/to/symlink.txtСоздаем жесткую ссылку:
ln /path/to/original/file.txt /path/to/hardlink.txtМожно проверить, что обе ссылки указывают на один и тот же inode с помощью команды
ls -li.Создаем cron-задачу
Напишем команду для создания cron-задачи, которая будет выполнять скрипт
Пример:
Затем добавляем строку:
Напишем команду для создания cron-задачи, которая будет выполнять скрипт
/home/user/script.sh каждый день в 2:30 ночи.Пример:
crontab -eЗатем добавляем строку:
30 2 * * * /home/user/script.shcrontab -e открывает редактор для редактирования задач cron. Строка в формате минуты часы день_месяца месяц день_недели команда указывает, когда выполнять скрипт.Находим и удаляем пустые файлы
Найдем и удалим все пустые файлы в директории
Пример:
Команда
Найдем и удалим все пустые файлы в директории
/path/to/directory.Пример:
find /path/to/directory -type f -empty -deleteКоманда
find ищет пустые файлы (-empty) и удаляет их с помощью опции -delete.Копирование файлов с фильтрацией
Скопируем все файлы из каталога
Пример:
•
•
Скопируем все файлы из каталога
/source в /destination, исключая файлы с расширением .log.Пример:
rsync -av --exclude='*.log' /source/ /destination/•
rsync -av — копирует файлы с сохранением атрибутов.•
--exclude='*.log' — исключает файлы с указанным расширением.Получаем размер директории
Выведим общий размер директории
Пример:
Команда
Выведим общий размер директории
/home/user/data в человекочитаемом формате.Пример:
du -sh /home/user/dataКоманда
du используется для оценки дискового пространства. Опция -s выводит только общий размер, а -h делает вывод человекочитаемым.Мониторинг процессов
Создаем скрипт, который будет выводить список процессов, использующих более
Пример:
Команда
Создаем скрипт, который будет выводить список процессов, использующих более
50% CPU, и сохранять его в файл high_cpu_processes.txt.Пример:
#!/bin/bash
ps -eo pid,comm,%cpu --sort=-%cpu | awk '\$3 > 50' > high_cpu_processes.txt
Команда
ps выводит PID, имя команды и использование CPU, awk фильтрует процессы с использованием более 50%.Создание пользовательского скрипта с параметрами
Напишем скрипт
Пример:
Скрипт использует
Напишем скрипт
file_info.sh, который принимает имя файла как аргумент и выводит его размер, дату последнего изменения и количество строк.Пример:
#!/bin/bash
file="\$1"
echo "Размер: $(stat -c%s "$file") байт"
echo "Дата последнего изменения: $(stat -c%y "$file")"
echo "Количество строк: $(wc -l < "$file")"
Скрипт использует
stat для получения информации о файле и wc для подсчета строк.Проверка доступности серверов
Создадим скрипт, который проверяет доступность серверов из
Пример:
•
•
•
Создадим скрипт, который проверяет доступность серверов из
servers.txt и выводит результаты в ping_results.txt.Пример:
#!/bin/bash
while read -r server; do
ping -c 1 "$server" &>/dev/null && echo "$server is up" || echo "$server is down"
done < servers.txt > ping_results.txt
•
ping -c 1 — отправляет один пакет.•
&>/dev/null — подавляет вывод команды.•
&& и || — условные операторы для обработки результатов.Пакетное переименование файлов
Переименуем все файлы с расширением
Пример:
•Цикл
•
Переименуем все файлы с расширением
.jpg в каталоге /images, добавив префикс photo_.Пример:
#!/bin/bash
for file in /images/*.jpg; do
mv "$file" "$(dirname "$file")/photo_$(basename "$file")"
done
•Цикл
for перебирает все файлы с расширением .jpg.•
mv переименовывает файлы, добавляя префикс.Мониторинг процессов
Выведем список всех процессов, запущенных пользователем, и отсортируем их по использованию памяти.
Пример:
•
•
Выведем список всех процессов, запущенных пользователем, и отсортируем их по использованию памяти.
Пример:
ps -u $USER --sort=-%mem•
ps -u $USER — показывает процессы текущего пользователя.•
--sort=-%mem — сортирует по использованию памяти в порядке убывания.Поиск больших файлов
Найдем все файлы в каталоге
Пример:
•
•
Найдем все файлы в каталоге
/home размером более 100 МБ и сохраните результаты в large_files.txt.Пример:
find /home -type f -size +100M > large_files.txt•
-type f — ищет только файлы.•
-size +100M — ищет файлы больше 100 МБ.Проверка доступности URL
Создадим скрипт, который проверяет доступность URL из файла
Пример:
•
•
Создадим скрипт, который проверяет доступность URL из файла
urls.txt и сохраняет результаты в url_check_results.txt.Пример:
#!/bin/bash
while read -r url; do
if curl -s --head "$url" | grep "200 OK" > /dev/null; then
echo "$url доступен" >> url_check_results.txt
else
echo "$url недоступен" >> url_check_results.txt
fi
done < urls.txt
•
curl -s --head — делает запрос к URL.•
grep "200 OK" — проверяет статус ответа.awk — инструмент для обработки текстовых файлов и анализа данных, который используется в Unix-подобных операционных системах.
Название awk происходит от первых букв фамилий его создателей: Алфреда В. Ахо, Питера Дж. Уайнбергера и Бенжамена Кернигана.
Основные особенности awk:
• awk позволяет легко обрабатывать текстовые файлы, разбивая строки на поля и выполняя различные операции с этими полями.
• awk можно использовать как скриптовый язык для написания более сложных программ, что делает его гибким инструментом для анализа данных.
• awk поддерживает регулярные выражения, что позволяет эффективно фильтровать и обрабатывать текст.
• awk предлагает множество встроенных функций для работы с числами, строками и массивами, что упрощает выполнение различных операций.
• Синтаксис awk интуитивно понятен, что делает его доступным даже для тех, кто не является программистом.
Название awk происходит от первых букв фамилий его создателей: Алфреда В. Ахо, Питера Дж. Уайнбергера и Бенжамена Кернигана.
Основные особенности awk:
• awk позволяет легко обрабатывать текстовые файлы, разбивая строки на поля и выполняя различные операции с этими полями.
• awk можно использовать как скриптовый язык для написания более сложных программ, что делает его гибким инструментом для анализа данных.
• awk поддерживает регулярные выражения, что позволяет эффективно фильтровать и обрабатывать текст.
• awk предлагает множество встроенных функций для работы с числами, строками и массивами, что упрощает выполнение различных операций.
• Синтаксис awk интуитивно понятен, что делает его доступным даже для тех, кто не является программистом.
Несколько ключевых примеров использования awk, которые помогут понять его возможности и применение в обработке текстовых данных:
1. Подсчет строк в файле
Подсчитывает общее количество строк в файле.
2. Вывод определенных полей
Выводит первое и третье поля из каждой строки файла.
3. Фильтрация строк по условию
Выводит строки, где значение во втором поле больше 100.
4. Подсчет уникальных значений
Подсчитывает количество уникальных значений в первом поле и выводит их.
5. Суммирование значений
Суммирует значения во втором поле и выводит общую сумму.
6. Замена текста
Заменяет все вхождения старое_слово на новое_слово и выводит измененные строки.
7. Форматированный вывод
Выводит данные в формате таблицы с выравниванием по левому краю.
8. Объединение файлов
Объединяет два файла и выводит только уникальные строки.
9. Подсчет слов
Подсчитывает общее количество слов в файле.
10. Выбор строк с определенной длиной
Выводит строки, длина которых превышает 50 символов.
1. Подсчет строк в файле
awk 'END {print NR}' имя_файла.txtПодсчитывает общее количество строк в файле.
2. Вывод определенных полей
awk '{print \$1, \$3}' имя_файла.txtВыводит первое и третье поля из каждой строки файла.
3. Фильтрация строк по условию
awk '\$2 > 100' имя_файла.txtВыводит строки, где значение во втором поле больше 100.
4. Подсчет уникальных значений
awk '{count[\$1]++} END {for (i in count) print i, count[i]}' имя_файла.txtПодсчитывает количество уникальных значений в первом поле и выводит их.
5. Суммирование значений
awk '{sum += \$2} END {print sum}' имя_файла.txtСуммирует значения во втором поле и выводит общую сумму.
6. Замена текста
awk '{gsub(/старое_слово/, "новое_слово"); print}' имя_файла.txtЗаменяет все вхождения старое_слово на новое_слово и выводит измененные строки.
7. Форматированный вывод
awk '{printf "%-10s %-10s %-10s\n", \$1, \$2, \$3}' имя_файла.txtВыводит данные в формате таблицы с выравниванием по левому краю.
8. Объединение файлов
awk 'FNR==1 {print ""} {print}' файл1.txt файл2.txt | sort | uniqОбъединяет два файла и выводит только уникальные строки.
9. Подсчет слов
awk '{ total += NF } END { print total }' имя_файла.txtПодсчитывает общее количество слов в файле.
10. Выбор строк с определенной длиной
awk 'length(\$0) > 50' имя_файла.txtВыводит строки, длина которых превышает 50 символов.
Управляем Bluetooth-устройствами в Linux с помощью утилиты bluetoothctl
1. Запуск bluetoothctl
Открываем терминал и запускаем утилиту:
2. Включение Bluetooth
Если Bluetooth выключен, включаем его с помощью следующей команды:
3. Поиск устройств
Для поиска доступных Bluetooth-устройств используем команду:
После выполнения этой команды мы увидим список обнаруженных устройств с их MAC-адресами и именами.
4. Подключение к устройству
Когда найдем нужное устройство, то можем подключиться к нему, используя его MAC-адрес:
5. Сопряжение с устройством
Если устройство требует сопряжения, используем команду:
После этого понадобиться ввести код сопряжения, если он требуется.
6. Проверка состояния подключенных устройств
Чтобы увидеть список подключенных устройств, используем:
7. Отключение от устройства
Чтобы отключиться от устройства, выполняем:
8. Завершение работы с bluetoothctl
Чтобы выйти из bluetoothctl, просто вводим:
1. Запуск bluetoothctl
Открываем терминал и запускаем утилиту:
bluetoothctl2. Включение Bluetooth
Если Bluetooth выключен, включаем его с помощью следующей команды:
power on3. Поиск устройств
Для поиска доступных Bluetooth-устройств используем команду:
scan onПосле выполнения этой команды мы увидим список обнаруженных устройств с их MAC-адресами и именами.
4. Подключение к устройству
Когда найдем нужное устройство, то можем подключиться к нему, используя его MAC-адрес:
connect XX:XX:XX:XX:XX:XX5. Сопряжение с устройством
Если устройство требует сопряжения, используем команду:
pair XX:XX:XX:XX:XX:XXПосле этого понадобиться ввести код сопряжения, если он требуется.
6. Проверка состояния подключенных устройств
Чтобы увидеть список подключенных устройств, используем:
devices7. Отключение от устройства
Чтобы отключиться от устройства, выполняем:
disconnect XX:XX:XX:XX:XX:XX8. Завершение работы с bluetoothctl
Чтобы выйти из bluetoothctl, просто вводим:
exitИщем и удаляем дубликаты файлов в директории
fdupes -r /path/to/directoryfdupes сканирует директорию и находит дубликаты. Используйте -d для удаления.Используем lsof для поиска открытых файлов определенного процесса
lsof -p <PID>lsof показывает открытые файлы и сетевые соединения для указанного процесса.Используем tcpdump для анализа сетевого трафика
sudo tcpdump -i eth0 -w capture.pcaptcpdump захватывает пакеты на интерфейсе eth0 и сохраняет их в файл для последующего анализа.Cписок основных горячих клавиш терминала в Linux
🔹 Редактирование командной строки
Ctrl + C Прервать текущую команду
Ctrl + Z Приостановить выполнение (в фон)
🔹 История команд
🔹 Управление задачами и экранами
🔹 Работа с вкладками (в терминалах типа GNOME Terminal, Konsole и др.)
🔹 Редактирование командной строки
Ctrl + A Переместиться в начало строкиCtrl + E Переместиться в конец строкиAlt + B Перейти на одно слово назадAlt + F Перейти на одно слово вперёдCtrl + U Удалить всё от курсора до начала строкиCtrl + K Удалить всё от курсора до конца строкиCtrl + W Удалить слово перед курсоромCtrl + Y Вставить (вставка последнего вырезанного)Ctrl + L Очистить экран (аналог clear)Ctrl + D Завершить терминал / выйти (если строка пуста)Ctrl + C Прервать текущую команду
Ctrl + Z Приостановить выполнение (в фон)
🔹 История команд
Ctrl + R Поиск по истории команд↑ / ↓ Перемещение по истории команд!! Повтор последней команды!n Выполнить команду под номером n!имя Выполнить последнюю команду, начинающуюся с имя🔹 Управление задачами и экранами
Ctrl + Z Приостановить текущий процессfg Вернуть задачу из фона на передний планbg Продолжить выполнение задачи в фоновом режимеjobs Показать список задач🔹 Работа с вкладками (в терминалах типа GNOME Terminal, Konsole и др.)
Ctrl + Shift + T Открыть новую вкладкуCtrl + Shift + W Закрыть текущую вкладкуCtrl + PageUp/PageDown Переключение между вкладками