# -------------------------------------------------------------------
# Linux (семейство Unix-подобных ОС-систем, многозадачность, многопользовательность)
# Дистрибутив Ubuntu – это оболочка
# -------------------------------------------------------------------
1) Ставим VirtualBox
2) Скачиваем Ubunty Linux Desctop
3) Запускаем установку
# -------------------------------------------------------------------
# Сочетания клавиш
# -------------------------------------------------------------------
CTRL + A // курсор в начало
CTRL + E // курсор к концу
CTRL + U || K || W // удаление от начала и до конца, обратное
CTRL + С // отменить выполнение процесса
ALT + SPACE // сменить язык
ALT + SHIFT + SPACE // сменить язык на предыдущий
CTRL + ALT + T // открыть терминал
CTRL + H // показать скрытые папки в проводнике
# -------------------------------------------------------------------
# Структура папок
# -------------------------------------------------------------------
- /etc/apt/sourses.list // список репозиториев
- /var/log/ // все лог-файлы
> denis >> dmesq // логи в памяти
# -------------------------------------------------------------------
# История команд
# -------------------------------------------------------------------
$ history -с (clear)
$ history (список выполненных комманд)
# -------------------------------------------------------------------
# Общие команды
# -------------------------------------------------------------------
https://www.hostinger.com/tutorials/linux-commands
>> clear // очистить окно
>> dpdk // версия системы
>> free -h // свободная память
>> top // список работающих программ; сортировка: SHFIT+P || SHIFT+M; выход: q
>> service --status-all
>> ps -aux // список запущенных процессов (ID), кто их запустил (все пользователи)
>> ps -aux | grep bush
>> ps -u
>> ps -u
>> which и whereis // найти путь к команде в Linux Ubuntu
# -------------------------------------------------------------------
# Работа с пользователями, группами, правами
# ID 0 - это root пользователь
# ID 1000+(user) это новый созданный пользователь
# -------------------------------------------------------------------
>> sudo … // выполнить команду от имени супер-администратора
>> sudo su // перейти в режим администратора
>> sudo su// переключиться на пользователя
>> sudo chown <группа:пользователь> <файл> // сменить владельца
>> sudo chmod 664 <файл> -R (для папок) // поменять права
>> sudo chmod -R 775 storage:www-data storage
>> sudo chown -R $USER
# -------------------------------------------------------------------
# Удаленный репозиторий
# -------------------------------------------------------------------
>> sudo apt-get update || upgrade // обновить пакеты
>> sudo apt-get install vim // установить пакет
>> sudo apt-get remove vim // удалить пакет
>> firefox // запустить приложение (пакет)
>> apt-cache policy vim // поиск программы на компе
>> apt-cache search vim // поиск программы по стандартным репозиториям)
# -------------------------------------------------------------------
# Просмотр папок
# -------------------------------------------------------------------
>> ls // покажет содержимое папки
>> ls -f // покажет папки и файлы в т.ч. без имени
>> ls -l // покажет информацию о правах
>> ls -a // покажет скрытые файлы и папки
>> tree // показать в древовидном представлении каталог
# -------------------------------------------------------------------
# Перемещение между папками
# -------------------------------------------------------------------
>> pwd // текущий путь
>> cd…
>> cd /home
>> cd ~ // домашняя директория пользователя
>> cd ~/desktop
>> cd / // корневая директория
>> cd d:
>> cd ‘папки с пробелами берем в кавычки’
>> du -sh fileadmin/ (размер папки)
# -------------------------------------------------------------------
# Создание и удаление папок (файлов)
# -------------------------------------------------------------------
>> touch// создать файл (если файл существует, изменит дату создания)
>> rm// удалить файл
>> mkdir -p < dirname/dirname/dirname> // рекурсивно создать папки
>> mkdir// создать несколько папок
>> rmdir -r// удалить не пустую папку
>> ln -s public public_html // создание символических ссылок
# -------------------------------------------------------------------
# Копирование/перемещение
# -------------------------------------------------------------------
>> cp app/* . // скопировать все файлы в текущую директорию
>> cp <что> <куда> // перемещение
>> mv <что> <куда или во что> // перемещение, переименование
// флаг -v покажет процесс
# -------------------------------------------------------------------
# Просмотр файлов
# -------------------------------------------------------------------
>> cat index.php // открыть файл // “/” поиск в файле
>> more index.php
>> less index.php
>> nano index.html // открыть файл для редактирования - nano-встроенный редактор Linux
# -------------------------------------------------------------------
# Поиск по файлам, в файлах, сортировка
# -------------------------------------------------------------------
>> find // поиск по названию файла
>> find . // в текущей папке
>> find ~ // в корневой папке
>> find <где> -type d || f // что ищем директорию или файл
>> find <где> -name “название файла *.txt“ // по названию
>> find <где> -perm 0644 // по правам
>> find <где> -size +1M +100K // размер файла больше чем
>> find <где> -not // противоположное
>> diff // сравнение файлов
>> grep “<что ищем>” <где> // поиск информации в файлах
>> grep -n // выводит №-строк
>> grep -i // регистронезависимый вариант поиска
>> find … -exec grep … {}+ || \; // выполнить команду после, символы в конце указывают на завершение команды (два варианта)
>> sort// выводит отсортированный результат (не изменяет файл)
>> sort> // выводит данные в файл
>> sort -n // сортировка числовых данных
>> sort -r // реверсивная сортировка
# -------------------------------------------------------------------
# Архивирование (из нескольких файлов сделать 1 файл)
# -------------------------------------------------------------------
# -------------------------------------------------------------------
# Работа с сетью TCP/IP
# -------------------------------------------------------------------
>> ping www.google.com // протестировать подключение к адресу (CTRL+C выход)
>> ping -c 10 www.google.com // выполнить 10 запросов
>> host www.google.com // показать хост
>> dig www.google.com // аналог host
// О моем компьютере
>> netstart | gred localhost // показать текущие сетевые подключения
>> ifconfig // сетевые устройства
>> ipaddr // IP-адрес
>> route // какие роутеры (куда передаются пакеты)
>> uname -a // о моем компьютере
// SSH (подключение к удаленному компьютеру-серверу)
// Нужно разрешить 22 порт
>> ssh// подключение к другому удаленноум Linux
>> ssh root@127.0.0.1 -p2410
>> sudo ufw allow 22 // разрешить 22 порт, необходимый для работы SSH
>> w // список подключенных пользователей
# -------------------------------------------------------------------
# Bush-скрипт (содержит список команд
# для автоматизации действий)
# -------------------------------------------------------------------
--
# -------------------------------------------------------------------
# CRON (задачи по расписанию)
# -------------------------------------------------------------------
>> crontab -l // посмотреть все события кронтаба
>> crontab -e // ?
>> service cron start // запустить, если cron остановился
# -------------------------------------------------------------------
# TODO
# -------------------------------------------------------------------
-- Эмуляция браузера через Telnet
-- zip -r project.19.10.2022.zip project
/interactive/content_wiki/soft || linux.txt
STIFT + CMD + SPACE сменить раскладку
sudo chmod -R 777 .
df -h
df - hs
Что делают следующие команды и как вы из будете использовать?
tee
awk
tr
cut
tac
curl
wget
watch
head
tail
Что делает & в конце команды?
Какая разница между символическими и жесткими ссылками? Что произойдет если удалить символическую/жесткую ссылку?
Что такое inode и какая информация хранится в inode?
Что такое SNMP и для чего он используется?
Опишите как работает 'ps'.
Что случиться, если процесс-потомок умрет и не будет процесса-родителя, ожидающего его и что в этом плохого?
Объясните кратко каждое из состояний процесса.
Как узнать какой процесс слушает указанный порт?
Что такое зомби-процесс и какова его причина возникновения?
Можно ли создать несколько HTTPS виртуальных хостов, используя один IP?
Что такое wildcard сертификат?
В чем разница между процессом и потоком? И родительским и потомком процессами после системного вызова fork?
Вам необходимо обновить ядро на 100-1000 серверах, как вы будете это делать?
Сервер
passwd - сменить пароль
на папку publuc сделать sudo chmod 755 <site_top_folder public>
выставить порт 80
установить нано, mc
sudo add-apt-repository universe
sudo apt install mc