fa
Feedback
Linux: Системный администратор

Linux: Системный администратор

رفتن به کانال در Telegram

Здесь вы найдете полезные советы, практические материалы и интересные инсайты по администрированию Linux. Погружаемся в мир команд, скриптов и серверов вместе! 🚀 Авторский канал действующего админа 👨🏼‍💻

نمایش بیشتر
1 929
مشترکین
+124 ساعت
-27 روز
-1030 روز
آرشیو پست ها
🛠️ Как быстро проверить загрузку процессора в Linux? Привет, админы! Сегодня разберём несколько команд, которые помогут моментально оценить нагрузку на CPU. Это полезно, если сервер тормозит или нужно оперативно выяснить, кто жрёт ресурсы. 📊 1️⃣ Используем top

top
В реальном времени покажет загрузку процессора, память и активные процессы. Сортировка по использованию CPU идёт автоматически. Полезные клавиши в top: - Shift + P — отсортировать по загрузке CPU. - 1 — показать загрузку по каждому ядру. - q — выйти. 📊 2️⃣ htop – удобная альтернатива

htop
Красивый интерфейс, удобное управление, фильтрация процессов. Устанавливаем:

apt install htop  # для Debian/Ubuntu  
yum install htop  # для CentOS  
dnf install htop  # для Fedora  
⚡ 3️⃣ Быстрый анализ через mpstat

mpstat -P ALL 1 5
Покажет загрузку каждого ядра за последние 5 секунд. Устанавливаем через sysstat:

apt install sysstat  # Debian/Ubuntu  
yum install sysstat  # RHEL/CentOS  
🔍 4️⃣ Кто грузит CPU?

ps -eo pid,comm,%cpu --sort=-%cpu | head -n 10
Выведет топ-10 процессов, которые больше всего нагружают процессор. 🔥 А что используете вы для мониторинга CPU? Делитесь инструментами в комментариях! 🚀 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

🛠️ Как быстро найти и удалить большие файлы в Linux? Привет, коллеги! Сегодня расскажу, как быстро найти и удалить самые тяжелые файлы в системе. Иногда место на сервере заканчивается в самый неподходящий момент, и админ вынужден срочно искать виновников. 🔍 Поиск самых больших файлов: Используем команду find, чтобы найти файлы больше 1 ГБ:

find / -type f -size +1G -exec ls -lh {} +
🔹 / – корневая директория, можно заменить на нужный путь 🔹 -type f – ищем только файлы 🔹 -size +1G – файлы больше 1 ГБ 🔹 -exec ls -lh {} + – отображаем размер и путь 🔥 Удаление больших файлов: Будьте осторожны, сначала убедитесь, что удаляете нужное!

find /var/log -type f -size +500M -delete
🔹 Здесь удаляем файлы больше 500 МБ в /var/log 📌 Дополнительно: Чтобы найти самые крупные каталоги, используйте:

du -ah / | sort -rh | head -20
Эта команда покажет 20 самых тяжелых объектов. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

🔥 Как проверить, какие процессы занимают порт в Linux? Привет, админы! Сегодня я покажу вам, как быстро проверить, какие процессы используют определенный порт в Linux. Это полезно, когда, например, веб-сервер не стартует, потому что порт уже занят. 🛠 Команда netstat (если у вас установлен пакет net-tools)

netstat -tulnp | grep :80
💡 Опция -tulnp расшифровывается так: - -t – TCP, - -u – UDP, - -l – слушающие порты, - -n – показывать номера портов, - -p – показывать процесс, который использует порт. 🛠 Команда ss (современная альтернатива netstat)

ss -tulnp | grep :80
🛠 Использование lsof Если хотите узнать, какой процесс занимает порт 80:

lsof -i :80
Если lsof не установлен, установите его:

# Debian/Ubuntu
apt install lsof  
# CentOS/RHEL
yum install lsof  
🛠 Альтернатива через fuser

fuser -v 80/tcp
🔥 Эта команда сразу покажет PID процесса, а с флагом -k можно его принудительно завершить:

fuser -k 80/tcp
Теперь вы знаете, как быстро найти и убить процессы, блокирующие нужные порты. 🚀 А вы каким методом пользуетесь чаще всего? Делитесь в комментариях! 👇 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

📌 Топ команд htop, о которых ты мог не знать! Привет, админы! Сегодня я покажу вам, как выжать максимум из htop – мощного интерактивного монитора процессов. Многие пользуются им для просмотра нагрузки на систему, но знаете ли вы о его скрытых фишках? Давайте разбираться! 🔥 Полезные команды: 1️⃣ F2 (Setup) – Настройка интерфейса. Можно скрыть ненужные столбцы или поменять цветовую схему. 2️⃣ F3 (Search) – Быстрый поиск процесса по имени. 3️⃣ F4 (Filter) – Фильтрация процессов по имени или команде. 4️⃣ F5 (Tree View) – Отображение процессов в виде древовидной структуры. Очень удобно для отладки зависимостей! 5️⃣ F6 (Sort By) – Изменение сортировки (CPU, MEM, PID и т.д.). 6️⃣ F7/F8 – Изменение приоритета (nice) процессов на лету. 7️⃣ F9 (Kill) – Убийство процесса без выхода из htop. 💡 Дополнительные лайфхаки: 🔹 Shift + U – Снимает выделение всех процессов. 🔹 Shift + P / M / T – Быстро сортирует по CPU, памяти или времени выполнения. 🔹 H – Подсветка зависимых процессов (родитель-потомок). 🔹 I – Инвертирует сортировку, полезно при анализе. А вы знали про эти фишки? Делитесь в комментариях, как используете htop в повседневной работе! 👇🚀 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

📌 Как восстановить удаленные файлы в Linux? Привет, коллеги! Сегодня разберем одну из самых неприятных ситуаций – случайное удаление важных файлов. 😱 🔹 Первое правило – не паниковать! Главное – не записывать новые данные на диск, откуда был удален файл, иначе его будет сложнее восстановить. 🛠 Способы восстановления: 1️⃣ Корзина (Trash) Если файл был удален через GUI (например, Nautilus или Dolphin), проверьте ~/.local/share/Trash/. 2️⃣ Команда lsof (если файл еще открыт процессом) Иногда процесс продолжает использовать удаленный файл:

lsof | grep '(deleted)'
Можно скопировать содержимое из /proc/<PID>/fd/<FD> в новый файл. 3️⃣ Восстановление через extundelete (для ext4) Если файл был удален с раздела ext4, используем extundelete:

sudo umount /dev/sdX1  # Размонтируем раздел
sudo extundelete /dev/sdX1 --restore-all
Файлы восстанавливаются в папку RECOVERED_FILES. 4️⃣ Photorec – восстановление данных с диска Подходит для файловых систем ext4, NTFS, FAT и других:

sudo apt install testdisk  # Устанавливаем пакет
sudo photorec
Выбираем диск и начинаем поиск удаленных файлов. 5️⃣ grep в raw-данных (если знаем содержимое) Можно попробовать найти фрагменты файла прямо на диске:

grep -a -b "текст из файла" /dev/sdX
Где -a указывает, что это текст, а -b показывает смещение. 🔥 Лучший способ защиты – бэкапы! Используйте rsnapshot, borg, restic или хотя бы rsync для резервного копирования. 💬 А какие методы восстановления использовали вы? Делитесь опытом в комментариях! 👇 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

📌 Оптимизация автозапуска сервисов в Linux: избавляемся от лишнего Привет, админы! Сегодня разберём важную тему — автозапуск сервисов в Linux. Бывает, что после установки системы или пакетов в автозапуске оказываются ненужные сервисы, которые грузят память и процессор. Давайте это исправим! 🔹 Проверяем список сервисов

systemctl list-unit-files --type=service | grep enabled
Эта команда покажет все сервисы, включённые в автозапуск. 🔹 Отключаем ненужные сервисы Например, если вам не нужен Bluetooth, его можно отключить:

sudo systemctl disable bluetooth.service
А если сервис запущен, то сразу и останавливаем:

sudo systemctl stop bluetooth.service
🔹 Полностью маскируем сервис (если он не нужен совсем)

sudo systemctl mask bluetooth.service
Это запретит его запуск даже вручную. 🔹 Проверяем скорость загрузки системы Чтобы понять, какие сервисы тормозят загрузку:

systemd-analyze blame
Самые долгие процессы будут вверху списка. Зачастую можно отключить NetworkManager-wait-online.service, если сервер работает без GUI:

sudo systemctl disable NetworkManager-wait-online.service
👉 Оптимизация автозапуска не только ускоряет загрузку, но и снижает нагрузку на систему. Делаете ли вы ревизию сервисов на своих серверах? Пишите в комментах! 🚀 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

Как удалить огромную папку в Linux за секунды? Удаление больших папок в Linux может занять очень много времени. Особенно, если делать это через rm -rf. 💡 Альтернативные способы удаления:Удаляем быстрее с rsync:

rsync -a --delete empty_dir/ target_dir/
Заменяем target_dir на пустую папку и мгновенно очищаем ее. ✅ Используем find и xargs:

find /bigdir -type f -delete
find /bigdir -depth -type d -delete
Сначала удаляем файлы, потом папки – так быстрее. ✅ Удаляем через inode: Если папка – это отдельный монтированный диск, можно просто отмонтировать и форматнуть:

umount /bigdir
mkfs.ext4 /dev/sdX
Какой способ используете вы? #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

🛠 Как проверить загрузку процессора в Linux? Производительность сервера – это первое, что проверяют при проблемах. Если сервер тормозит, первым делом смотрим на CPU. 📌 Вот несколько полезных команд: 🔹 top – показывает загрузку CPU в реальном времени. 🔹 htop – более удобная версия top с цветным интерфейсом. 🔹 mpstat -P ALL 1 – детальный анализ нагрузки по ядрам. 🔹 sar -u 1 10 – сбор данных о загрузке процессора в динамике. 🔹 iostat -c 1 – еще один способ посмотреть загрузку CPU. 🔎 На что смотреть? 📌 Высокий %user – процессы активно используют CPU. 📌 Высокий %iowait – узкое место в дисковой системе. 📌 %steal – возможно, вам не хватает процессорных ресурсов на виртуальной машине. А какая ваша любимая команда для мониторинга CPU? Делитесь в комментариях! #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

2️⃣ Почему kill -9 не всегда хорошая идея? Один из самых частых способов убить процесс в Linux – это команда:

kill -9 PID
Но почему её не стоит использовать бездумно? 🔸 -9 (SIGKILL) моментально завершает процесс без шанса на очистку ресурсов. Это может привести к: - Потере несохранённых данных - Оставлению зомби-процессов - Проблемам с зависимыми процессами Лучше использовать более "мягкие" сигналы: 1️⃣ kill PID (SIGTERM) – вежливо просит процесс завершиться. 2️⃣ kill -15 PID – то же самое, но явно. 3️⃣ kill -1 PID (SIGHUP) – для перезапуска демонов. 4️⃣ kill -2 PID (SIGINT) – аналог Ctrl+C. Используйте kill -9 только в крайнем случае, когда процесс завис и не отвечает на другие сигналы. #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

1️⃣ Как проверить скорость интернета в Linux через терминал? Если вам нужно быстро замерить скорость интернета на сервере или рабочей машине без браузера, используйте один из этих инструментов: 1️⃣ Speedtest CLI Установите и запустите:

   sudo apt install speedtest-cli  # для Ubuntu/Debian
   sudo yum install speedtest-cli  # для CentOS/RHEL
   speedtest
   
2️⃣ Fast CLI (от Netflix) Удобный альтернативный инструмент:

   curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3
   
или

   fast
   
3️⃣ nload – мониторинг в реальном времени

   sudo apt install nload
   nload
   
Теперь у вас есть несколько способов быстро проверить скорость соединения. Какой инструмент используете вы? 🌐 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

🛠 Как проверить нагрузку на сервер? Если сервер начал тормозить, первым делом проверяем, что его грузит. Вот полезные команды для диагностики: 🔹 top / htop – показывает загрузку процессора, памяти, активные процессы. 🔹 free -m – проверяет, сколько оперативной памяти занято и сколько доступно. 🔹 df -h – смотрит свободное место на диске. 🔹 iostat -x 1 – помогает определить проблемы с дисковым вводом-выводом. 🔹 netstat -tulnp / ss -tulnp – проверяет открытые порты и сетевые подключения. Если сервер под нагрузкой, но процессы неизвестны, попробуйте ps aux --sort=-%cpu или ps aux --sort=-%mem, чтобы найти самых "прожорливых". А какими инструментами диагностики чаще всего пользуетесь вы? #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

Как быстро узнать, какие процессы грузят систему? Если сервер вдруг начал тормозить, первым делом проверяем загрузку CPU и памяти. Вот мои любимые команды: 🔹 top — классика, показывает активные процессы в реальном времени. 🔹 htop — улучшенная версия top с удобным интерфейсом. 🔹 ps aux --sort=-%cpu | head — топ 10 процессов по загрузке CPU. 🔹 ps aux --sort=-%mem | head — топ 10 процессов по потреблению памяти. А если хотите найти, какая конкретно команда грузит диск: iotop -o или iostat -dx 1 Какие инструменты используете вы, когда сервер внезапно начинает «тупить»? 🚀 #Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

Как проверить, что процесс слушает нужный порт? Бывало такое, что сервис не отвечает, и непонятно, слушает ли он вообще нужный порт? Давайте разберёмся, как это проверить. 📡 Способы проверки: 1️⃣ ss (современный вариант netstat):

ss -tulnp
- -t — TCP; - -u — UDP; - -l — только слушающие сокеты; - -n — не резолвить имена; - -p — показать процессы. 2️⃣ lsof (список открытых файлов, включая порты):

lsof -i :80
Покажет, какой процесс слушает 80-й порт. 3️⃣ netstat (старый, но работает):

netstat -tulnp
4️⃣ Сокетный тест с nc:

nc -zv 127.0.0.1 80
Если порт открыт, увидим сообщение succeeded. 💡 Пример реального кейса: Apache не запускается, потому что другой процесс уже занял порт 80. Как быстро его прибить?

fuser -k 80/tcp
или

kill $(lsof -t -i :80)
#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin 👉 @linux_odmin

Как найти и удалить старые файлы в Linux? 🗑️ Привет, админы! Сегодня разберёмся, как быстро находить и удалять старые файлы в Linux. Это полезно для очистки логов, временных файлов и других ненужных данных. 🔍 Поиск файлов старше 30 дней:

find /path/to/directory -type f -mtime +30
- -type f — ищем только файлы; - -mtime +30 — файлы старше 30 дней. 🗑️ Удаление этих файлов:

find /path/to/directory -type f -mtime +30 -delete
Осторожно! Удаление без подтверждения. ✅ Безопасный вариант с подтверждением:

find /path/to/directory -type f -mtime +30 -exec rm -i {} \;
Будет запрашиваться подтверждение перед удалением. 🔥 Автоматизация через cron: Добавляем в crontab -e:

0 3 * * * find /var/log -type f -mtime +30 -delete
Очистка логов каждую ночь в 03:00. #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

🎥 Вебинар по Linux: Процессы в Linux: как работает система изнутри Разбираемся, что такое процессы в Linux, как их контролир
🎥 Вебинар по Linux: Процессы в Linux: как работает система изнутри Разбираемся, что такое процессы в Linux, как их контролировать и что делать с зомби и сиротами. На вебинаре вы узнаете: - Что такое процесс в Linux и чем он отличается от программы. - Как устроен жизненный цикл процесса — от создания до завершения. - Что такое состояния процессов и как их отследить с помощью системных утилит. - Как управлять процессами: приоритеты, фоновые задания, остановка и завершение. В результате вебинара вы: - Научитесь находить и анализировать процессы с помощью ps, top, htop и других инструментов. - Разберётесь, кто такие “зомби” и “сироты” и как их «убить» корректно. - Поймёте, как Linux управляет процессами и что происходит при системных вызовах к ядру. - Сможете уверенно контролировать работу процессов и решать проблемы зависших приложений.. 🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Basic" 👉 Для участия зарегистрируйтесь: https://vk.cc/cREaKs Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Как работает HTTPS? Безопасный протокол передачи гипертекста (HTTPS) - это расширение протокола передачи гипертекста (HTTP).
Как работает HTTPS? Безопасный протокол передачи гипертекста (HTTPS) - это расширение протокола передачи гипертекста (HTTP). HTTPS передает зашифрованные данные с использованием транспортного уровня безопасности (TLS). Если данные будут перехвачены в Интернете, все, что получит угонщик, - это двоичный код. Как шифруются и дешифруются данные? Шаг 1 - Клиент (браузер) и сервер устанавливают TCP-соединение. Шаг 2 - Клиент отправляет серверу " client hello". Сообщение содержит набор необходимых алгоритмов шифрования (наборов шифров) и последнюю версию TLS, которую он может поддерживать. Сервер отвечает " server hello", чтобы браузер знал, может ли он поддерживать алгоритмы и версию TLS. Затем сервер отправляет SSL-сертификат клиенту. Сертификат содержит открытый ключ, имя хоста, дату истечения срока действия и т. д. Клиент проверяет сертификат. Шаг 3. После проверки SSL-сертификата клиент генерирует ключ сессии и шифрует его с помощью открытого ключа. Сервер получает зашифрованный ключ сеанса и расшифровывает его с помощью закрытого ключа. Шаг 4 - Теперь, когда клиент и сервер владеют одним и тем же сеансовым ключом (симметричное шифрование), зашифрованные данные передаются по защищенному двунаправленному каналу. Почему HTTPS переключается на симметричное шифрование при передаче данных? Есть две основные причины: 1. Безопасность: Асимметричное шифрование работает только в одну сторону. Это означает, что если сервер попытается отправить зашифрованные данные обратно клиенту, любой сможет расшифровать их с помощью открытого ключа. 2. Ресурсы сервера: Асимметричное шифрование добавляет довольно много математических накладных расходов. Оно не подходит для передачи данных в длительных сессиях. #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Nginx-Lua-Anti-DDoS Этот репозиторий предоставляет Lua-скрипт для защиты серверов на базе Nginx от DDoS-атак. Он использует в
Nginx-Lua-Anti-DDoS Этот репозиторий предоставляет Lua-скрипт для защиты серверов на базе Nginx от DDoS-атак. Он использует возможности OpenResty и модуля ngx_lua для фильтрации трафика, ограничения запросов и обнаружения подозрительных IP. 🔹 Основные функции: - Проверка и блокировка подозрительных клиентов. - Ограничение количества запросов (rate limiting). - Обнаружение автоматизированных атак и ботов. - Интеграция с Cloudflare, iptables и другими системами. 🔹 Требования: - Nginx с поддержкой Lua (через OpenResty или сборку с модулем `ngx_http_lua_module`). - Возможность редактирования конфигурации сервера. https://github.com/C0nw0nk/Nginx-Lua-Anti-DDoS #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

🎥 Вебинар по Linux: Введение в Docker: контейнеры, изоляция и первые шаги. На вебинаре вы узнаете: - Чем контейнеризация отл
🎥 Вебинар по Linux: Введение в Docker: контейнеры, изоляция и первые шаги. На вебинаре вы узнаете: - Чем контейнеризация отличается от виртуализации и почему Docker стал стандартом. - Как устроены контейнер, образ и Docker Engine. - Как запустить и управлять контейнерами с помощью базовых команд docker run, ps, exec, stop). - Как использовать Docker Hub и скачивать готовые образы. В результате вебинара вы: - Разберётесь в ключевых понятиях Docker. - Научитесь запускать и управлять контейнерами. - Сможете использовать готовые образы для своих тестовых окружений. - Поймёте, куда двигаться дальше в изучении контейнерных технологий. 🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional" 👉 Для участия зарегистрируйтесь: https://vk.cc/cRv5gv Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Шпаргалка по PostgreSQL -- *********************************** -- Редактирование таблиц, расширенные возможности SELECT, функции -- *********************************** -- Добавление поля в таблицу ALTER TABLE table_name ADD COLUMN new_field BOOLEAN NOT NULL DEFAULT TRUE; -- добавление поля с автоинкрементом и primary key в таблицу ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY; -- Удаление поля из таблицы ALTER TABLE table_name DROP COLUMN new_field; -- переименовать поле ALTER TABLE table_name RENAME old_field TO new_field; -- сменить тип данных ALTER TABLE table_name ALTER COLUMN any_field SET DATA TYPE VARCHAR(255); -- изменить значение по умолчанию ALTER TABLE table_name ALTER COLUMN any_field SET DEFAULT 'new value'; -- добавить/удалить constraint NOT NULL ALTER TABLE table_name ALTER COLUMN any_field SET|DROP NOT NULL; -- переименовать таблицу ALTER TABLE table_name RENAME TO new_table_name; -- Расширенные возможности SELECT SELECT * FROM table WHERE field1 LIKE 'value'; -- field1 = 'value' SELECT * FROM table WHERE field1 LIKE 'val%'; -- field1 начинается с 'val' SELECT * FROM table WHERE field1 LIKE '%lue'; -- field1 заканчивается на 'lue' SELECT * FROM table WHERE field1 LIKE '%e%'; -- field1 содержит 'e' -- несколько условий SELECT * FROM table WHERE field1 = 'value' AND field2 > 'value2'; SELECT * FROM table WHERE field1 = 'value' OR field2 > 'value2'; -- вывод уникальных записей SELECT DISTINCT field1 FROM table; -- группирование записей SELECT field1, COUNT(field1) FROM table GROUP BY field1; -- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений SELECT field1, COUNT(field1) FROM table GROUP BY field1 HAVING COUNT(field) > 3; -- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений, где количество повторений больше 3 #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin

Шпаргалка по PostgreSQL Перенес в my-mans -- подключиться к postgres (утилита psql) psql -U postgres -- команды помощи help \h -- помощь по командам SQL \? -- помощь по командам psql -- выход из консоли postgres \q -- создать базу CREATE DATABASE my_database; -- подключиться к базе \connect my_database; -- создать таблицу my_table с полями field1 (тип целочисленный, обязательное для заполнения), field2 (тип строка 255 символов) CREATE TABLE my_table (field1 INT NOT NULL, field2 VARCHAR(255)); -- вывести все таблицы \d -- удалить таблицу my_table DROP TABLE my_table; -- внести в таблицу запись INSERT INTO my_table(field1, field2) VALUES(1,'Any text value'); -- вывести записи SELECT * FROM my_table; -- все записи SELECT * FROM my_table WHERE field1 = 1; -- все, где field1 = 1 SELECT * FROM my_table WHERE field1 != 1; -- и т д SELECT * FROM my_table WHERE field1 > 1; SELECT * FROM my_table LIMIT 100; -- первые 100 записей; SELECT * FROM my_table LIMIT 100 OFFSET 200; -- запись с 201 по 300; -- сортировка при выводе SELECT * FROM my_table ORDER BY field1 ASC; -- вывести отсортировав в возрастающем порядке SELECT * FROM my_table ORDER BY field1 DESC; -- вывести отсортировав в убывающем порядке -- изменить запись таблицы (поле field2 строки, где field1 = 1); UPDATE my_table SET field2 = 'Other text value' WHERE field1 = 1; -- удаление данных DELETE FROM my_table; -- удалить все записи; DELETE FROM my_table WHERE field1 = 1; -- удалить запись где field1 = 1; -- *********************************** -- нормализация (разбиение таблиц на несколько) -- *********************************** -- Constraints - ограничения типов данных CREATE TABLE my_table ( field1 INT NOT NULL, -- запись обязательна field2 VARCHAR(255) NOT NULL UNIQUE, -- запись должна быть уникальной field3 BOOLEAN NOT NULL DEFAULT TRUE -- значение по умолчанию - true ... ); -- Первичный и внешние ключи -- при создании записи таблицы с отсутствующим внешним ключом выведется запись об ошибке. будут выводится ошибки и в иных случаях, когда будут нарушаться связи. CREATE TABLE IF NOT EXISTS my_table ( -- ключ IF NOT EXISTS проверяет, существует ли таблица. field1 SERIAL INT PRIMARY KEY, -- при добавлении PRIMARY KEY поле автоматически наследует ограничения NOT NULL и UNIQUE, и создается индекс. SERIAL тип данных являющийся автоматически увеличивающимся счетчиком (аналог ключа AUTOINCREMENT в Sqlite) field2 VARCHAR(255) NOT NULL UNIQUE, field3 INT NOT NULL, FOREIGN KEY(field3) REFERENCES other_table(field_name) -- поле ссылается на внешнюю таблицу other_table на поле field_name, которое обязательно должно быть с PRIMARY KEY ); -- вывод данных из нескольких таблиц со связанными полями SELECT * FROM table_1 LEFT JOIN table_2 ON (table_2.field = table_1.field); -- алиасы, нужны для удобства. Также, при выводе наименование таблиц или полей выводится алиасом, при его наличии. SELECT * FROM table_1 as tab1 LEFT JOIN table_2 as tab2 ON (tab1.field = tab2.field); #Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin 👉 @linux_odmin