
- Главная
- Каталог
- Интернет технологии
- Linux для чайника
Linux для чайника
IT аудитория. Взрослая, платежеспособная. Более 21% подписчиков с Premium аккаунтами.
Статистика канала
Полная статистикаchevron_rightfile, которая выполняет определение типа файла. она анализирует начало содержимого файла и находит в нем специальные "сигналы", характерные для определенного типа – бинарного файла, текстового, изображения и др.
Синтаксис: file <filename>
Расширение для программы file безразлично.
С помощью ключа -L мы можем узнать тип файла, на который ссылается файл-ссылка.8.8.8.8):
./check.sh
С указанием своего хоста или IP:
./check.sh 1.1.1.1
./check.sh ya.rusudo отображались звёздочки (*****), нужно включить опцию pwfeedback в настройках sudo.
Способ 1. Правильный (через visudo)
Открыть sudoers для редактирования:
sudo visudo
Добавить строку:
Defaults pwfeedback
Сохранить и выйти.
Теперь sudo будет показывать звёздочки при вводе пароля.
Способ 2. Только для текущего пользователя
Создать (или отредактировать) файл:
sudo visudo -f /etc/sudoers.d/pwfeedback
Добавить:
Defaults:<твой_пользователь> pwfeedback
Например:
Defaults:alice pwfeedback
#!/bin/bash
# -------------------------------------------
# Скрипт проходит по всем файлам в указанной
# директории, вычисляет их хэши и удаляет
# дубликаты (спрашивая подтверждение).
# -------------------------------------------
# Директория для сканирования.
# Если пользователь не передал путь, используется текущая.
dir="${1:-.}"
# Хэш-алгоритм. Можно заменить на:
# md5sum — быстрее, но менее надёжно
# sha1sum — средне
# sha256sum — медленнее, но максимально надёжно
algo="sha256sum"
# Ассоциативный массив "хэш → путь к оригиналу".
# В нём сохраняются хэши всех уже встреченных файлов.
declare -A seen
echo "-------------------------------------------"
echo " Сканирование директории: $dir"
echo " Алгоритм хеширования: $algo"
echo "-------------------------------------------"
echo
# Используем find для обхода ВСЕХ файлов.
# -type f — только обычные файлы.
# -print0 — вывод с нулевым разделителем, чтобы корректно
# обрабатывать имена с пробелами и спецсимволами.
while IFS= read -r -d '' file; do
# Вычисляем хэш файла. Команда вида:
# sha256sum file | awk '{print $1}'
# выводит только сам хэш без имени.
hash=$($algo "$file" | awk '{print $1}')
# Если этот хэш уже есть в массиве,
# значит, файл-дубликат найден.
if [[ ${seen[$hash]} ]]; then
echo "🔁 Найден дубликат:"
echo " Оригинал: ${seen[$hash]}"
echo " Дубликат: $file"
echo
# Запрашиваем подтверждение удаления.
read -p "Удалить дубликат? [y/N]: " answer
# Удаление только если ответ 'y' или 'Y'
if [[ "$answer" =~ ^[Yy]$ ]]; then
rm -v "$file" # -v — verbose, показывает что удалено
else
echo "Пропуск."
fi
echo
else
# Если хэша нет — запоминаем файл как оригинал.
seen[$hash]="$file"
fi
# Этот синтаксис < <(...) позволяет передавать результат find
# прямо в цикл while (без создания временных файлов).
done < <(find "$dir" -type f -print0)
echo "Готово!"{}
/dev.
Каждое именованное устройство в Linux однозначно характеризуется двумя (байтовыми: 0...255) номерами: старшим номером (major) — номером отвечающим за отдельный класс устройств, и младшим номером (minor) — номером конкретного устройства внутри своего класса.
Если вы введёте команду ls -l, то увидите два числа (разделённые запятой) в каждой записи файла устройства перед датой последней модификации файла, где обычно показывается длина. Эти цифры являются старшим и младшим номером устройства для каждого из них (старшие номера: 1, 4, 7 и 10, а младшие: 1, 3, 5, 64, 65 и 129).
[[ $- == *i* ]]
В переменной $- содержатся флаги текущего shell, и если там есть буква i, то оболочка интерактивная.
Допустим, у нас есть скрипт, который выводит приветствие только если его запустили интерактивно (например, вручную), но молчит, когда его запускает cron, systemd, ssh-скрипты и т.п.
#!/usr/bin/env bash
# Идиома: определение интерактивности оболочки
if [[ $- == *i* ]]; then
echo "Добро пожаловать! Скрипт запущен интерактивно."
echo "Можно показывать красивые подсказки, приглашения, меню…"
else
# Ничего не выводим или выводим очень лаконично
echo "non-interactive mode"
fi
echo "Основная работа скрипта продолжается..."{}
Cпецпеременная Bash ($-) — список текущих shell-опций.
Например: himBH Где: i → interactive (если есть — оболочка интерактивная). Остальные буквы — разные режимы (h, m, B и т.д.)
Примеры запуска:
Интерактивно (пишем в терминале)
$ ./script.sh
Добро пожаловать! Скрипт запущен интерактивно.
Можно показывать красивые подсказки, приглашения, меню…
Основная работа скрипта продолжается...{}
Неинтерактивно (через pipe)
$ echo | bash script.sh
non-interactive mode
Основная работа скрипта продолжается...{}
Через cron (эффект аналогичный)
non-interactive mode
Основная работа скрипта продолжается...{}
Отзывы канала
всего 5 отзывов
- Добавлен: Сначала новые
- Добавлен: Сначала старые
- Оценка: По убыванию
- Оценка: По возрастанию
Каталог Телеграм-каналов для нативных размещений
Linux для чайника — это Telegam канал в категории «Интернет технологии», который предлагает эффективные форматы для размещения рекламных постов в Телеграмме. Количество подписчиков канала в 20.1K и качественный контент помогают брендам привлекать внимание аудитории и увеличивать охват. Рейтинг канала составляет 5.8, количество отзывов – 5, со средней оценкой 5.0.
Вы можете запустить рекламную кампанию через сервис Telega.in, выбрав удобный формат размещения. Платформа обеспечивает прозрачные условия сотрудничества и предоставляет детальную аналитику. Стоимость размещения составляет 9788.8 ₽, а за 88 выполненных заявок канал зарекомендовал себя как надежный партнер для рекламы в TG. Размещайте интеграции уже сегодня и привлекайте новых клиентов вместе с Telega.in!
Вы снова сможете добавить каналы в корзину из каталога
Комментарий