Полезные команды Linux. Анализ файловой системы
Проверить раздел hda1 на наличие bad-блоков
Проверить и при необходимости попробовать восстановить целостность linux-файловой системы раздела hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext2 раздела hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы fat раздела hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы fat раздела hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext3 раздела hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы fat, раздела hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext2 раздела hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext3 раздела hda1, журнал файловой системы расположен там же
👉@linuxchmod
# badblocks -v /dev/hda1
Проверить раздел hda1 на наличие bad-блоков
# fsck /dev/hda1
Проверить и при необходимости попробовать восстановить целостность linux-файловой системы раздела hda1
# fsck.ext2 /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext2 раздела hda1
# fsck.msdos /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы fat раздела hda1
# fsck.vfat /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы fat раздела hda1
# fsck.ext3 /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext3 раздела hda1
# dosfsck /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы fat, раздела hda1
# e2fsck /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext2 раздела hda1
# e2fsck -j /dev/hda1
Проверить и при необходимости попробовать восстановить целостность файловой системы ext3 раздела hda1, журнал файловой системы расположен там же
👉@linuxchmod
👍7
Полезные команды Linux. Просмотр содержимого файлов
Вывести все содержимое файла начиная с первой строки
Отобразить две первые строки файла
Отобразить содержимое файла начиная с последней строки
В реальном времени выводить все, что добавляется в файл
Вывести две последние строки файла
Отобразить содержимое файла постранично
Аналогична команде more но позволяет перемещаться по содержимому вперед и назад
👉@linuxchmod
# cat file1
Вывести все содержимое файла начиная с первой строки
# head -2 file1
Отобразить две первые строки файла
# tac file1
Отобразить содержимое файла начиная с последней строки
# tail -f /var/log/messages
В реальном времени выводить все, что добавляется в файл
# tail -2 file1
Вывести две последние строки файла
# more file1
Отобразить содержимое файла постранично
# less file1
Аналогична команде more но позволяет перемещаться по содержимому вперед и назад
👉@linuxchmod
👍5
Полезные команды Linux. Манипуляции с текстом
#
Вывести содержимое файла, нумеруя выводимые строки
#
Вывести только не четные строки файла
#
Вывести первую и третью колонки. Разделение, по-умолчанию, по пробельным символам или символу табуляции
#
Вывести первую колонку содержимого файла. Разделение, по-умолчанию, по пробельным символам или символу табуляции
#
Сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
#
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file1
#
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file2
#
Отобрать и вывести строки содержащие цифровые символы из файла /var/log/messages
#
Отобрать и вывести строки, начинающиеся с сочетания символов "Aug", из файла /var/log/messages
#
Отобрать и вывести строки, содержащие сочетание символов "Aug" из файла /var/log/messages
#
Отобрать и вывести строки, содержащие сочетание символов "Aug", из всех файлов, расположенных в директории /var/log и ниже
#
Объединить содержимое file1 и file2 в виде таблицы с разделителем "+"
#
Объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
#
Сравнить содержимое двух файлов
#
Заменить string1 на string2 в файле example.txt и вывести содержимое
#
Удалить пустые строки и комментарии из файла example.txt
#
Удалить пустые строки и комментарии из файла example.txt
#
Удалить первую строку из файла example.txt
#
Отобразить только строки содержащие string1
#
Удалить строку string1 из текста файла example.txt не изменяя всего остального
#
Удалить пустые символы в конце каждой строки файла example.txt
#
Вывести пятую строку
#
Вывести строки со второй по пятую
#
Заменить последовательность из любого количества нулей одним нулём
#
Вывести отсортированное содержимое двух файлов
#
Вывести отсортированное содержимое двух файлов исключая повторные значения
#
Вывести уникальные значения из отсортированного содержимого двух файлов
#
Вывести только повторяющиеся значения из отсортированного содержимого двух файлов
#
Перевести символы нижнего регистра в верхний
👉@linuxchmod
#
cat -n file1
Вывести содержимое файла, нумеруя выводимые строки
#
cat example.txt | awk 'NR%2==1'
Вывести только не четные строки файла
#
echo a b c | awk '{print $1,$3}'
Вывести первую и третью колонки. Разделение, по-умолчанию, по пробельным символам или символу табуляции
#
echo a b c | awk '{print $1}'
Вывести первую колонку содержимого файла. Разделение, по-умолчанию, по пробельным символам или символу табуляции
#
comm -3 file1 file2
Сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
#
comm -1 file1 file2
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file1
#
comm -2 file1 file2
Сравнить содержимое двух файлов, не отображая строки принадлежащие файлу file2
#
grep [0-9] /var/log/messages
Отобрать и вывести строки содержащие цифровые символы из файла /var/log/messages
#
grep ^Aug /var/log/messages
Отобрать и вывести строки, начинающиеся с сочетания символов "Aug", из файла /var/log/messages
#
grep Aug /var/log/messages
Отобрать и вывести строки, содержащие сочетание символов "Aug" из файла /var/log/messages
#
grep Aug -R /var/log/*
Отобрать и вывести строки, содержащие сочетание символов "Aug", из всех файлов, расположенных в директории /var/log и ниже
#
paste -d '+' file1 file2
Объединить содержимое file1 и file2 в виде таблицы с разделителем "+"
#
paste file1 file2
Объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
#
sdiff file1 file2
Сравнить содержимое двух файлов
#
sed 's/string1/string2/g' example.txt
Заменить string1 на string2 в файле example.txt и вывести содержимое
#
sed '/ *#/d; /^$/d' example.txt
Удалить пустые строки и комментарии из файла example.txt
#
sed '/^$/d' example.txt
Удалить пустые строки и комментарии из файла example.txt
#
sed -e '1d' exampe.txt
Удалить первую строку из файла example.txt
#
sed -n '/string1/p'
Отобразить только строки содержащие string1
#
sed -e 's/string//g' example.txt
Удалить строку string1 из текста файла example.txt не изменяя всего остального
#
sed -e 's/ *$//' example.txt
Удалить пустые символы в конце каждой строки файла example.txt
#
sed -n '5p;5q' example.txt
Вывести пятую строку
#
sed -n '2,5p' example.txt
Вывести строки со второй по пятую
#
sed -e 's/00*/0/g' example.txt
Заменить последовательность из любого количества нулей одним нулём
#
sort file1 file2
Вывести отсортированное содержимое двух файлов
#
sort file1 file2 | uniq
Вывести отсортированное содержимое двух файлов исключая повторные значения
#
sort file1 file2 | uniq -u
Вывести уникальные значения из отсортированного содержимого двух файлов
#
sort file1 file2 | uniq -d
Вывести только повторяющиеся значения из отсортированного содержимого двух файлов
#
echo 'word' | tr '[:lower:]' '[:upper:]'
Перевести символы нижнего регистра в верхний
👉@linuxchmod
👍5🔥3💯1
Объединение команд - последовательное и параллельное выполнение в bash
Символы групповых операций
Мы уже изучили достаточно команд и наверняка возникал вопрос как применить данные команды сразу к группе файлов. Например, за раз скопировать несколько файлов в каталог или наоборот удалить ненужные файлы. Делать одну и ту же операцию один за другим довольно утомительное и ненужное занятие.
Поэтому в Linux имеются специальные символы, которые позволяют проводить данные операции над несколькими файлами.
https://telegra.ph/Obedinenie-komand---posledovatelnoe-i-parallelnoe-vypolnenie-v-bash-10-12
👉@linuxchmod
Символы групповых операций
Мы уже изучили достаточно команд и наверняка возникал вопрос как применить данные команды сразу к группе файлов. Например, за раз скопировать несколько файлов в каталог или наоборот удалить ненужные файлы. Делать одну и ту же операцию один за другим довольно утомительное и ненужное занятие.
Поэтому в Linux имеются специальные символы, которые позволяют проводить данные операции над несколькими файлами.
https://telegra.ph/Obedinenie-komand---posledovatelnoe-i-parallelnoe-vypolnenie-v-bash-10-12
👉@linuxchmod
👍5
Шпаргалка по VeraCrypt — бесплатной и популярной программе для шифрования дисков и создания зашифрованных контейнеров.
Основные возможности VeraCrypt:
1. Создание зашифрованных контейнеров: можно создать зашифрованный файл-образ, который будет выступать в качестве виртуального зашифрованного диска.
2. Шифрование разделов и целых дисков: можно зашифровать как отдельные разделы, так и целый жесткий диск.
3. Поддержка скрытых томов: позволяет создать скрытый зашифрованный том внутри основного тома, чтобы защитить от попыток принудительного раскрытия данных.
4. Шифрование системного диска: поддерживает шифрование разделов с операционной системой, требуя пароль при загрузке компьютера.
5. Мультиплатформенность: доступен на Windows, macOS и Linux.
Шаги по созданию зашифрованного контейнера:
1. Установка VeraCrypt:
- Скачать VeraCrypt с официального сайта и установить на свою систему.
2. Создание зашифрованного тома:
1. Откройте VeraCrypt и нажмите на кнопку "Создать том" (Create Volume).
2. Выберите "Создать зашифрованный контейнер файла" (Create an encrypted file container).
3. Укажите, что это будет "Стандартный том VeraCrypt" (Standard VeraCrypt volume) или "Скрытый том" (Hidden VeraCrypt volume) — для повышенной защиты.
4. Выберите место на диске, где будет создан файл-образ, задайте ему имя.
5. Выберите алгоритм шифрования и хэш-функцию (по умолчанию AES и SHA-512 — хорошие варианты).
6. Укажите размер тома. Он должен соответствовать объему данных, которые вы планируете хранить в контейнере.
7. Задайте надежный пароль для тома.
8. В качестве опции можно выбрать использование файлов ключей для дополнительной безопасности.
9. Выберите файловую систему (NTFS, FAT, exFAT, ext4 в зависимости от вашей ОС и целей использования).
10. Перемешайте мышью в окне для генерации ключей, затем нажмите "Форматировать".
3. Монтирование зашифрованного тома:
1. Откройте VeraCrypt и выберите пустой слот в главном окне.
2. Нажмите "Файл", выберите созданный ранее зашифрованный файл-образ.
3. Нажмите "Подключить", введите пароль, и том будет смонтирован как виртуальный диск, с которым можно работать как с обычным диском.
4. Демонтаж тома:
- Когда закончите работу, выберите том в окне VeraCrypt и нажмите "Отключить" (Dismount).
Полезные команды:
- Шифрование системного раздела: выбирайте "Шифровать системный раздел/диск" в мастере создания тома.
- Проверка тома на ошибки: выберите том и в меню "Том" выберите "Проверить на ошибки".
- Резервное копирование заголовка тома: важно сохранить заголовок в случае его повреждения. Меню "Том" → "Резервная копия заголовка тома".
Важные моменты:
- Пароль: используйте длинные пароли (не менее 20 символов), включающие символы, цифры и буквы. Простые пароли легко поддаются взлому.
- Скрытые тома: если вас принуждают к раскрытию данных, скрытый том может помочь скрыть настоящие данные внутри поддельного тома.
- Алгоритмы шифрования: VeraCrypt поддерживает несколько алгоритмов шифрования (AES, Serpent, Twofish и комбинации). AES — стандартный и быстрый, для повышенной безопасности можно использовать комбинации.
Системные требования:
- Производительность: Шифрование может снизить производительность, особенно на слабых системах. Рекомендуется использовать SSD для ускорения работы.
- Поддержка TRIM: VeraCrypt не поддерживает TRIM на зашифрованных SSD, что может привести к снижению производительности со временем.
👉@linuxchmod
Основные возможности VeraCrypt:
1. Создание зашифрованных контейнеров: можно создать зашифрованный файл-образ, который будет выступать в качестве виртуального зашифрованного диска.
2. Шифрование разделов и целых дисков: можно зашифровать как отдельные разделы, так и целый жесткий диск.
3. Поддержка скрытых томов: позволяет создать скрытый зашифрованный том внутри основного тома, чтобы защитить от попыток принудительного раскрытия данных.
4. Шифрование системного диска: поддерживает шифрование разделов с операционной системой, требуя пароль при загрузке компьютера.
5. Мультиплатформенность: доступен на Windows, macOS и Linux.
Шаги по созданию зашифрованного контейнера:
1. Установка VeraCrypt:
- Скачать VeraCrypt с официального сайта и установить на свою систему.
2. Создание зашифрованного тома:
1. Откройте VeraCrypt и нажмите на кнопку "Создать том" (Create Volume).
2. Выберите "Создать зашифрованный контейнер файла" (Create an encrypted file container).
3. Укажите, что это будет "Стандартный том VeraCrypt" (Standard VeraCrypt volume) или "Скрытый том" (Hidden VeraCrypt volume) — для повышенной защиты.
4. Выберите место на диске, где будет создан файл-образ, задайте ему имя.
5. Выберите алгоритм шифрования и хэш-функцию (по умолчанию AES и SHA-512 — хорошие варианты).
6. Укажите размер тома. Он должен соответствовать объему данных, которые вы планируете хранить в контейнере.
7. Задайте надежный пароль для тома.
8. В качестве опции можно выбрать использование файлов ключей для дополнительной безопасности.
9. Выберите файловую систему (NTFS, FAT, exFAT, ext4 в зависимости от вашей ОС и целей использования).
10. Перемешайте мышью в окне для генерации ключей, затем нажмите "Форматировать".
3. Монтирование зашифрованного тома:
1. Откройте VeraCrypt и выберите пустой слот в главном окне.
2. Нажмите "Файл", выберите созданный ранее зашифрованный файл-образ.
3. Нажмите "Подключить", введите пароль, и том будет смонтирован как виртуальный диск, с которым можно работать как с обычным диском.
4. Демонтаж тома:
- Когда закончите работу, выберите том в окне VeraCrypt и нажмите "Отключить" (Dismount).
Полезные команды:
- Шифрование системного раздела: выбирайте "Шифровать системный раздел/диск" в мастере создания тома.
- Проверка тома на ошибки: выберите том и в меню "Том" выберите "Проверить на ошибки".
- Резервное копирование заголовка тома: важно сохранить заголовок в случае его повреждения. Меню "Том" → "Резервная копия заголовка тома".
Важные моменты:
- Пароль: используйте длинные пароли (не менее 20 символов), включающие символы, цифры и буквы. Простые пароли легко поддаются взлому.
- Скрытые тома: если вас принуждают к раскрытию данных, скрытый том может помочь скрыть настоящие данные внутри поддельного тома.
- Алгоритмы шифрования: VeraCrypt поддерживает несколько алгоритмов шифрования (AES, Serpent, Twofish и комбинации). AES — стандартный и быстрый, для повышенной безопасности можно использовать комбинации.
Системные требования:
- Производительность: Шифрование может снизить производительность, особенно на слабых системах. Рекомендуется использовать SSD для ускорения работы.
- Поддержка TRIM: VeraCrypt не поддерживает TRIM на зашифрованных SSD, что может привести к снижению производительности со временем.
👉@linuxchmod
👍6
Полезные команды Linux. Конвертирование соодержимого текстовых файлов
Конвертировать содержимое текстового файла из MSDOS кодировки в UNIX кодировку (разница в символах возврата коретки)
Конвертировать содержимое текстового файла из UNIX кодировки в MSDOS кодировку (разница в символах возврата коретки)
Конвертировать содержимое тестового файла page.txt в html-файл page.html
Вывести список доступных форматов
👉@linuxchmod
# dos2unix filedos.txt fileunix.txt
Конвертировать содержимое текстового файла из MSDOS кодировки в UNIX кодировку (разница в символах возврата коретки)
# unix2dos fileunix.txt filedos.txt
Конвертировать содержимое текстового файла из UNIX кодировки в MSDOS кодировку (разница в символах возврата коретки)
# recode ..HTML < page.txt > page.html
Конвертировать содержимое тестового файла page.txt в html-файл page.html
# recode -l | more
Вывести список доступных форматов
👉@linuxchmod
👍4
Полезные команды Linux. Файловая система SWAP ( файл подкачки )
Создание swap-пространство на разделе hda3
Включить swap-пространство, расположенное на разделе hda3
Активировать swap-пространства, расположенные на разделах hda2 и hdb3
👉@linuxchmod
# mkswap /dev/hda3
Создание swap-пространство на разделе hda3
# swapon /dev/hda3
Включить swap-пространство, расположенное на разделе hda3
# swapon /dev/hda2 /dev/hdb3
Активировать swap-пространства, расположенные на разделах hda2 и hdb3
👉@linuxchmod
👍3
Media is too big
VIEW IN TELEGRAM
Основы SQL
00:00 - подготавливаем базу
04:36 - выбираем данные SELECT
08:30 - указываем текущую базу данных
09:58 - чувствительность к регистру
12:14 - выбор определенных колонок
15:28 - фильтрация с помощью WHERE
20:59 - фильтрация с И и ИЛИ
26:38 - поиск строки по шаблону
29:18 - свой среди чужих
31:26 - NULL когда данные отсутствуют
34:27 - сортировка данных в SQL
38:37 - добавление записей с помощью SQL запроса
45:36 - обновление данных с помощью SQL
52:32 - удаляем данные из базы с помощью SQL
👉@linuxchmod
00:00 - подготавливаем базу
04:36 - выбираем данные SELECT
08:30 - указываем текущую базу данных
09:58 - чувствительность к регистру
12:14 - выбор определенных колонок
15:28 - фильтрация с помощью WHERE
20:59 - фильтрация с И и ИЛИ
26:38 - поиск строки по шаблону
29:18 - свой среди чужих
31:26 - NULL когда данные отсутствуют
34:27 - сортировка данных в SQL
38:37 - добавление записей с помощью SQL запроса
45:36 - обновление данных с помощью SQL
52:32 - удаляем данные из базы с помощью SQL
👉@linuxchmod
👍5
Команды мониторинга и отладки
👉@linuxchmod
top
отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)ps -eafw
отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)ps -e -o pid,args --forest
вывести PID’ы и процессы в виде дереваpstree
отобразить дерево процессовkill -9 98989
kill -KILL 98989
«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)kill -TERM 98989
Корректно завершить процесс с PID 98989kill -1 98989
kill -HUP 98989
заставить процесс с PID 98989 перепрочитать файл конфигурацииlsof -p 98989
отобразить список файлов, открытых процессом с PID 98989lsof /home/user1
отобразить список открытых файлов из директории /home/user1strace -c ls > /dev/null
вывести список системных вызовов, созданных и полученных процессом lsstrace -f -e open ls > /dev/null
вывести вызовы бибилотекwatch -n1 ‘cat /proc/interrupts’
отображать прерывания в режиме реального времениlast reboot
отобразить историю перезагрузок системыlast user1
отобразить историю регистрации пользователя user1 в системе и время его нахождения в нейlsmod
вывести загруженные модули ядраfree -m
показать состояние оперативной памяти в мегабайтахsmartctl -A /dev/hda
контроль состояния жёсткого диска /dev/hda через SMARTsmartctl -i /dev/hda
проверить доступность SMART на жёстком диске /dev/hdatail /var/log/dmesg
вывести десять последних записей из журнала загрузки ядраtail /var/log/messages
вывести десять последних записей из системного журнала👉@linuxchmod
👍9
Полезные команды Linux. Форматирование файловой системы
Форматирование флоппи-диска без проверки
Создать файловую систему linux на разделе hda1
Создать журналируемую файловую систему ext3 на разделе hda1
Создание файловой системы ext2 на разделе hda1
Создать файловую систему FAT32 на разделе hda1
👉@linuxchmod
# fdformat -n /dev/fd0
Форматирование флоппи-диска без проверки
# mkfs /dev/hda1
Создать файловую систему linux на разделе hda1
# mke2fs -j /dev/hda1
Создать журналируемую файловую систему ext3 на разделе hda1
# mke2fs /dev/hda1
Создание файловой системы ext2 на разделе hda1
# mkfs -t vfat 32 -F /dev/hda1
Создать файловую систему FAT32 на разделе hda1
👉@linuxchmod
👍5
Полезные команды Linux. Резервное копирование ( Backup )
#
Поиск всех файлов, заканчивающихся на ".log" в директории /var/log, и упаковка их в bzip-архив
#
Поиск в директории /home/user файлов, имена которых оканчиваются на ".txt", и копирование их в другую директорию
#
Синхронизировать директории /tmp и /home
#
Синхронизировать локальную и удаленную директории через ssh туннель используя сжатие
#
Синхронизация через SSH туннель
#
Синхронизировать удалённую директорию с локальной используя ssh туннель со сжатием
#
Создать "слепок" локального диска в файл на удалённом сервере используя ssh туннель
#
Создание копии MBR ( Master Boot Record ) с /dev/hda на флоппи-диск
#
Создание резервной копии содержимого жесткого диска в файл backup
#
Восстановить MBR с флоппи-диска на /dev/hda
#
Создать полную резервную копию директории /home в файл /tmp/home0.bak
#
Создать инкрементную резервную копию директории /home в файл /tmp/home0.bak
#
Восстановить данные из резервной копии /tmp/home0.bak
#
Создать инкрементную резервную копию директории /home/user в файл backup.tar сохраняя права доступа
#
Упаковка в архив и копирование содержимого /tmp/local в директорию /home/share/ удалённого сервера, используя ssh туннель
#
Упаковка в архив и копирование содержимого /home в директорию /home/backup-home удалённого сервера, используя ssh туннель
#
Упаковка в архив и копирование одной директории в другую с сохранением прав доступа и ссылок
👉@linuxchmod
#
find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2
Поиск всех файлов, заканчивающихся на ".log" в директории /var/log, и упаковка их в bzip-архив
#
find /home/user -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents
Поиск в директории /home/user файлов, имена которых оканчиваются на ".txt", и копирование их в другую директорию
#
rsync -rogpav --delete /home /tmp
Синхронизировать директории /tmp и /home
#
rsync -az -e ssh --delete ip_addr:/home/public /home/local
Синхронизировать локальную и удаленную директории через ssh туннель используя сжатие
#
rsync -rogpav -e ssh --delete /home ip_address:/tmp
Синхронизация через SSH туннель
#
rsync -az -e ssh --delete /home/local ip_addr:/home/public
Синхронизировать удалённую директорию с локальной используя ssh туннель со сжатием
#
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'
Создать "слепок" локального диска в файл на удалённом сервере используя ssh туннель
#
dd if=/dev/hda of=/dev/fd0 bs=512 count=1
Создание копии MBR ( Master Boot Record ) с /dev/hda на флоппи-диск
#
dd if=/dev/sda of=/tmp/backup
Создание резервной копии содержимого жесткого диска в файл backup
#
dd if=/dev/fd0 of=/dev/hda bs=512 count=1
Восстановить MBR с флоппи-диска на /dev/hda
#
dump -0aj -f /tmp/home0.bak /home
Создать полную резервную копию директории /home в файл /tmp/home0.bak
#
dump -1aj -f /tmp/home0.bak /home
Создать инкрементную резервную копию директории /home в файл /tmp/home0.bak
#
restore -if /tmp/home0.bak
Восстановить данные из резервной копии /tmp/home0.bak
#
tar -Puf backup.tar /home/user
Создать инкрементную резервную копию директории /home/user в файл backup.tar сохраняя права доступа
#
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'
Упаковка в архив и копирование содержимого /tmp/local в директорию /home/share/ удалённого сервера, используя ssh туннель
#
( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'
Упаковка в архив и копирование содержимого /home в директорию /home/backup-home удалённого сервера, используя ssh туннель
#
tar cf - . | (cd /tmp/backup ; tar xf - )
Упаковка в архив и копирование одной директории в другую с сохранением прав доступа и ссылок
👉@linuxchmod
👍5
Полезные команды Linux. Сети (LAN / WiFi)
#
Включить DHCP на сетевом интерфейсе eth0
#
Вывод статистики по сетевому интерфейсу eth0
#
Вывести имя компьютера
#
Преобразовать домен www.example.org в ip-адрес и наоборот
#
Вывести настройки сетевой карты eth0
#
Переключить интерфейс eth0 в promiscuous-режим для сбора ( сниффинг ) сетевых пакетов
#
Включить сетевой интерфейс eth0
#
Отключить сетевой интерфейс eth0
#
Назначить IP адрес и маску сетевому интерфейсу eth0
#
Вывести статус связи всех сетевых интерфейсов
#
Вывести конфигурацию беспроводного сетевого интерфейса eth1
#
Сканирование и поиск беспроводных сетей и точек доступа
#
Вывести состояние связи сетевого интерфейса eth0
#
Ресольвить ( преобразовать/разрешить ) доменное имя www.example.org в ip-адрес и наоборот
#
Песать локальной таблицы маршрутизации
#
Добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
#
Назначить ip-адрес шлюза по умолчанию ( default gateway )
#
Удалить ip-адрес шлюза по умолчанию ( default gateway )
#
Выводит листинг всех установленных соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же PID'ы и имена процессов, обслуживающих данные соединения
#
Вывод списка соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же и PID'ы и имена процессов, ожидающих соединений на сетевых портах
#
Вывести таблицу маршрутизации, аналог команды route -n
#
Разрешить форвардинг ( пересылку ) пакетов
#
Отлавливать и выводить весь трафик на TCP-порт 80 (обычно - HTTP)
#
Вывести информацию о доменном имени из базы данных whois
👉@linuxchmod
#
dhclient eth0
Включить DHCP на сетевом интерфейсе eth0
#
ethtool eth0
Вывод статистики по сетевому интерфейсу eth0
#
hostname
Вывести имя компьютера
#
host www.example.com
Преобразовать домен www.example.org в ip-адрес и наоборот
#
ifconfig eth0
Вывести настройки сетевой карты eth0
#
ifconfig eth0 promisc
Переключить интерфейс eth0 в promiscuous-режим для сбора ( сниффинг ) сетевых пакетов
#
ifup eth0
Включить сетевой интерфейс eth0
#
ifdown eth0
Отключить сетевой интерфейс eth0
#
ifconfig eth0 192.168.1.1 netmask 255.255.255.0
Назначить IP адрес и маску сетевому интерфейсу eth0
#
ip link show
Вывести статус связи всех сетевых интерфейсов
#
iwconfig eth1
Вывести конфигурацию беспроводного сетевого интерфейса eth1
#
iwlist scan
Сканирование и поиск беспроводных сетей и точек доступа
#
mii-tool eth0
Вывести состояние связи сетевого интерфейса eth0
#
nslookup www.example.com
Ресольвить ( преобразовать/разрешить ) доменное имя www.example.org в ip-адрес и наоборот
#
route -n
Песать локальной таблицы маршрутизации
#
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1
Добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
#
route add -net 0/0 gw IP_Gateway
Назначить ip-адрес шлюза по умолчанию ( default gateway )
#
route del 0/0 gw IP_gateway
Удалить ip-адрес шлюза по умолчанию ( default gateway )
#
netstat -tup
Выводит листинг всех установленных соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же PID'ы и имена процессов, обслуживающих данные соединения
#
netstat -tupl
Вывод списка соединений по протоколам TCP и UDP без разрешения имён в ip-адреса а так-же и PID'ы и имена процессов, ожидающих соединений на сетевых портах
#
netstat -rn
Вывести таблицу маршрутизации, аналог команды route -n
#
echo "1" > /proc/sys/net/ipv4/ip_forward
Разрешить форвардинг ( пересылку ) пакетов
#
tcpdump tcp port 80
Отлавливать и выводить весь трафик на TCP-порт 80 (обычно - HTTP)
#
whois www.example.com
Вывести информацию о доменном имени из базы данных whois
👉@linuxchmod
👍6
Примеры типовых операций в bash-скриптах
1.Ввод-вывод, перенаправление
#!/bin/bash
# Любой shell-скрипт всегда начинается со строчки #!/bin/bash (или #!/bin/sh)
# Комментарии всегда начинаются со знака #
# Для того, чтоб вывести на экран сообщение, используем команду ECHO
# а это пример форматированного вывода... почти как в Си
printf "форматированный вывод десять=%d строка=%s float=%f шестнадцатиричное_число=0x%X\n" 10 "строка" 11.56 234
# пример чтения ввода с клавиатуры
read A
echo $A
printf "
вы только что ввели слово: %s\n" "$A"
#перенаправление, конвейеры, получение результата вывода другой программы
# пример генерации пароля из 10 букв
PASSWORD1=`cat /dev/urandom | tr -d -c 'a-zA-Z0-9' | fold -w 10 | head -1`
echo Password=$PASSWORD1
#кавычки вида `` дают результат вывода на экран того, что внутри них (т.е. выполняется
#программа или скрипт, написанные внутри таких кавычек и результат, выводимый ими на
#стандартный вывод является результатом операции "обратные кавычки"
#в данном случае результатом является вывод конвейера из нескольких программ.
#операция | обозначает конвейер. Т.е. в нашем примере:
#cat /dev/urandom выводит на стд.вывод содержимое файла /dev/urandom (спец.файл для генерации псевдослуч.чисел)
#tr осуществляет трансляцию,т.е. заменяет одни байты другими (это нужно, чтоб избежать появления в пароле непе-
#чатаемых символов)
#fold разбивает то, что ей пришло на стд.ввод на строки длиной 10 символов и выводит это на стд.вывод
#head -1 выводит первую строчку того, что ей пришло на стандартный ввод.
# или так:
Не забываем, что для того, чтоб скрипт можно было запустить, надо изменить права доступа к нему, добавив возможность исполнения файла, например командой
2.Арифметические действия, циклы по кол-ву раз
3.Разного рода проверки
#!/bin/bash
# пример проверки существования файла
# создаем файл test1
# проверяем существование файла test1
# проверяем несуществование файла test2
# краткая справка по другим опциям команды [ ]
# -d filename директория существует
# -f filename файл существует
# -L filename символьная ссылка существует
# -r, -w, -x файл доступен для чтения, записи или выполнения
# -s filename файл существует и имеет ненулевую длину
# f1 -nt f2 f1 новее чем f2
# f1 -ot f2 f1 старше чем f2
4.Работа с FTP в скрипте.
5.Работа с telnet в скрипте.
Примечание: в этом случае root логинится без пароля, если нужен пароль, то надо добавить после echo "root" еще одно эхо с паролем.
Прочее полезное.
#!/bin/bash
👉@linuxchmod
1.Ввод-вывод, перенаправление
#!/bin/bash
# Любой shell-скрипт всегда начинается со строчки #!/bin/bash (или #!/bin/sh)
# Комментарии всегда начинаются со знака #
# Для того, чтоб вывести на экран сообщение, используем команду ECHO
echo "hello, world"
# а это пример форматированного вывода... почти как в Си
printf "форматированный вывод десять=%d строка=%s float=%f шестнадцатиричное_число=0x%X\n" 10 "строка" 11.56 234
# пример чтения ввода с клавиатуры
read A
echo $A
printf "
вы только что ввели слово: %s\n" "$A"
#перенаправление, конвейеры, получение результата вывода другой программы
# пример генерации пароля из 10 букв
PASSWORD1=`cat /dev/urandom | tr -d -c 'a-zA-Z0-9' | fold -w 10 | head -1`
echo Password=$PASSWORD1
#кавычки вида `` дают результат вывода на экран того, что внутри них (т.е. выполняется
#программа или скрипт, написанные внутри таких кавычек и результат, выводимый ими на
#стандартный вывод является результатом операции "обратные кавычки"
#в данном случае результатом является вывод конвейера из нескольких программ.
#операция | обозначает конвейер. Т.е. в нашем примере:
#cat /dev/urandom выводит на стд.вывод содержимое файла /dev/urandom (спец.файл для генерации псевдослуч.чисел)
#tr осуществляет трансляцию,т.е. заменяет одни байты другими (это нужно, чтоб избежать появления в пароле непе-
#чатаемых символов)
#fold разбивает то, что ей пришло на стд.ввод на строки длиной 10 символов и выводит это на стд.вывод
#head -1 выводит первую строчку того, что ей пришло на стандартный ввод.
# или так:
PASSWORD2=`cat /dev/urandom | tr -dc _A-Z-a-z-0-9 | head -c10`
echo Password=$PASSWORD2
Не забываем, что для того, чтоб скрипт можно было запустить, надо изменить права доступа к нему, добавив возможность исполнения файла, например командой
chmod a+x script.sh
2.Арифметические действия, циклы по кол-ву раз
#!/bin/bash
A="10"
B="5"
C=`expr $A + $B`
printf "A=10 B=5 C=expr \$A + \$B C=%d \n" "$C"
# пример цикла по i
I=0
while [ $I -lt 15 ]
do
printf "0x%02x " "$I"
I=`expr $I + 1`
done
echo
3.Разного рода проверки
#!/bin/bash
# пример проверки существования файла
# создаем файл test1
touch test1
# проверяем существование файла test1
if [ -f test1 ] ; then
echo "файл test1 существует"
fi
# проверяем несуществование файла test2
if ! [ -f test2 ] ; then
echo "файл test2 не существует"
fi
# краткая справка по другим опциям команды [ ]
# -d filename директория существует
# -f filename файл существует
# -L filename символьная ссылка существует
# -r, -w, -x файл доступен для чтения, записи или выполнения
# -s filename файл существует и имеет ненулевую длину
# f1 -nt f2 f1 новее чем f2
# f1 -ot f2 f1 старше чем f2
4.Работа с FTP в скрипте.
#!/bin/bash
ADDRESS=192.168.1.150
USER=root
PASSWORD=root
ftp -n -p ADDRESS <<EoF
user USER PASSWORD
cd /usr/bin
put my_cool_program
quit
EoF
exit 0
5.Работа с telnet в скрипте.
#!/bin/bash
(
sleep 1
echo "root"
echo "cd /tmp"
echo "ls"
sleep 1
echo "quit"
) | telnet 192.168.1.150
Примечание: в этом случае root логинится без пароля, если нужен пароль, то надо добавить после echo "root" еще одно эхо с паролем.
Прочее полезное.
#!/bin/bash
# пример цикла по множеству значений
for A in раз два три четыре пять
do
echo "$A,"
done
echo "вышел заяц погулять"
echo
👉@linuxchmod
👍6🔥2
System Monitoring Center – Инструмент для мониторинга производительности и использования системы на основе GTK и Python
Оссобености:
• Мониторинг ЦП, ОЗУ, диска, сети, ГП, информации об оборудовании
• Мониторинг и управление процессами, пользователями, устройствами хранения, запускаемыми приложениями, службами (systemd) и переменными среды
• Мониторинг общей системной информации
• Параметры настройки для каждой вкладки
• Низкое использование системных ресурсов при мониторинге
• Предоставляет справочную информацию при наведении курсора мыши на несколько объектов графического интерфейса
• Адаптируется к теме системы
https://github.com/hakandundar34coding/system-monitoring-center
👉@linuxchmod
Оссобености:
• Мониторинг ЦП, ОЗУ, диска, сети, ГП, информации об оборудовании
• Мониторинг и управление процессами, пользователями, устройствами хранения, запускаемыми приложениями, службами (systemd) и переменными среды
• Мониторинг общей системной информации
• Параметры настройки для каждой вкладки
• Низкое использование системных ресурсов при мониторинге
• Предоставляет справочную информацию при наведении курсора мыши на несколько объектов графического интерфейса
• Адаптируется к теме системы
https://github.com/hakandundar34coding/system-monitoring-center
👉@linuxchmod
👍6