Linux
2.57K subscribers
210 photos
389 videos
6 files
142 links
Все для системного администратора, новости и информация из мира Linux
Download Telegram
Полезные команды Linux. Средство управление пакетами - APT ( Debian, Ubuntu и т.д. )

# apt-cache search [ package ]
Вывести список пакетов, чье имя совпадает со строкой package

# apt-get check
Проверить зависимости

# apt-cdrom install [ package ]
Установить / обновить пакет с cdrom'а

# apt-get install [ package ]
Установить / обновить пакет

# apt-get upgrade
Обновить установленные в систему пакеты

# apt-get remove [ package ]
Удалить установленный пакет из системы, сохранив файлы конфигурации

# apt-get update
Обновить списки пакетов репозитария

# apt-get clean
Удалить загруженные архивные файлы пакетов


👉@linuxchmod
👍6
Команда curl. Синтаксис. Примеры использования

Сurl – утилита командной строки для скачивания и загрузки данных. Она выросла из проекта шведского программиста Даниэля Стенберга. Изначально в середине 90-х, на заре развития Интернета, он разрабатывал бота, который должен был загружать с веб-страницы курсы валют и сообщать пользователям IRC эквивалент шведских крон в долларах США. Со временем проект развивался, появлялась поддержка различных протоколов и новые функции. Теперь curl используется для передачи любых данных и ряда других полезных задач. Рассмотрим основные моменты работы с этим инструментом.

https://telegra.ph/Komanda-curl-Sintaksis-Primery-ispolzovaniya-09-26

👉@linuxchmod
👍6
Полезные команды Linux. Анализ файловой системы

# 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
😂

👉@linuxchmod
😁17
Полезные команды Linux. Просмотр содержимого файлов

# cat file1
Вывести все содержимое файла начиная с первой строки

# head -2 file1
Отобразить две первые строки файла

# tac file1
Отобразить содержимое файла начиная с последней строки

# tail -f /var/log/messages
В реальном времени выводить все, что добавляется в файл

# tail -2 file1
Вывести две последние строки файла

# more file1
Отобразить содержимое файла постранично

# less file1
Аналогична команде more но позволяет перемещаться по содержимому вперед и назад

👉@linuxchmod
👍5
Полезные команды Linux. Манипуляции с текстом

# 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
👍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
👍6
Полезные команды Linux. Конвертирование соодержимого текстовых файлов

# 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 ( файл подкачки )

# mkswap /dev/hda3
Создание swap-пространство на разделе hda3

# swapon /dev/hda3
Включить swap-пространство, расположенное на разделе hda3

# swapon /dev/hda2 /dev/hdb3
Активировать swap-пространства, расположенные на разделах hda2 и hdb3

👉@linuxchmod
👍3
Шпаргалка по безопасности сетей

👉@linuxchmod
👍6
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
👍5
Команды мониторинга и отладки

top отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)

ps -eafw отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)

ps -e -o pid,args --forest вывести PID’ы и процессы в виде дерева

pstree отобразить дерево процессов

kill -9 98989
kill -KILL 98989
«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)

kill -TERM 98989 Корректно завершить процесс с PID 98989

kill -1 98989
kill -HUP 98989
заставить процесс с PID 98989 перепрочитать файл конфигурации

lsof -p 98989 отобразить список файлов, открытых процессом с PID 98989

lsof /home/user1 отобразить список открытых файлов из директории /home/user1

strace -c ls > /dev/null вывести список системных вызовов, созданных и полученных процессом ls

strace -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 через SMART

smartctl -i /dev/hda проверить доступность SMART на жёстком диске /dev/hda

tail /var/log/dmesg вывести десять последних записей из журнала загрузки ядра

tail /var/log/messages вывести десять последних записей из системного журнала

👉@linuxchmod
👍9
Процесс загрузки Linux

👉@linuxchmod
👍9🔥5
Полезные команды Linux. Форматирование файловой системы

# 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 )

# 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)

# 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
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
👍6