#os #command #linux #DeviceTree #system ## Boot оr UBoot ## Device tree Модель платы под которую создан **device tree**: ``` bash cat /proc/device-tree/model ``` Дерево устройств, которое kernel получил от GPU ``` bash ls /proc/device-tree/ ``` Вывод устройств, которые kernel создал на основе DT ```bash ls /sys/bus/platform/devices ``` Просмотр загруженных модулей ```bash lsmod ``` --- ## System Параметры которое передает GPU при загрузке системы ``` bash vcgencmd get_config int ``` Просмотр версии системы ``` bash cat /etc/os-release ``` Просмотр всех активных физических адресов устройств в системе ``` bash cat /proc/iomem ``` --- ## Filesystem control Перемещение по директориям ``` bash cd .. cd / cd ~ ``` Вывод рабочей директории ```bash pwd ``` Вывод списка файлов директории ``` bash ls -la ls -la /home/user/diterctory ``` Создать файл ``` bash # использованием touch touch # использование редактора nano nano ``` Создание директорий ``` bash mkdir dir_name ``` Копирование файлов и директорий ```bash cp ``` Удаление файлов или директорий ``` bash # удаление без подтверждения rm -f # рекурсивное удаление rm -r ``` Перемещение файлов ``` bash # перемещение файла в директорию mv file.cpp directory/ # перемещение директорий mv dir dir2/ ``` Вывод содержимого файла ```bash cat file_name ``` Поиск "патерна" в выводе ``` bash cat file | grep error ``` --- ## SSH - control Настройка доступа по ключу с использованием файла `./ssh/config` - Сгенерировать ключ (на локальном хосте) `ssh-keygen -t ed25519` - Приватный ключ: `~/.ssh/id_ed25519` - Публичный ключ: `~/.ssh/id_ed25519.pub` Добавить `pub` ключ на сервер (_`~/.ssh/authorized_keys`_) 1. Если файл с директорией не существует - создать 2. Можно использовать `ssh-copy-id` Добавить конфигурацию в `./ssh/config` 1. **Host** my-server 2. **HostName** IP_АДРЕС_СЕРВЕРА 3. **User** ИМЯ_ПОЛЬЗОВАТЕЛЯ 4. **IdentityFile** ~/.ssh/id_ed25519 5. **IdentitiesOnly** yes 6. **Port** 22 - если порт изменент Настройка проброса портов: Синтаксис: локальный порт - целевой хост - целевой порт 1. **LocalForward** 8080 localhost:80 2. **LocalForward** 5432 10.0.0.5:5432 Порты для проброса: 1. RDP - 3389 2. VNC - 5900 3. SSH - 22 4. Telnet - 23 5. 80 / 443 (HTTP/HTTPS) Используемые команды: Генерация ssh ключа: ```bash ssh-keygen -t ed25519 ``` Проброс портов в localhost: ```bash ssh -L 5901:10.10.10.5:5900 user@192.168.10.1 ``` Копирование файлов на удаленный сервер ```bash scp file.txt root@192.168.1.1:/user/home/workspace ``` --- ## Network Проверка маршрута следования трафика. ``` bash traceroute ``` Cписок все IP адресов сетевых интерфейсов: ``` bash ip a ```