Ориентир: современные Debian/Ubuntu (и частично RHEL/CentOS через yum/dnf). Ниже — сжатые актуальные команды и приложение в конце: туда перенесены по возможности полные ручные сценарии из старого Linux.txt (без реальных паролей и PSK из Wi‑Fi; где было неверно — помечено). Внутренние URL и хосты при необходимости подставьте свои.
- Д. Колисниченко — Linux. Полное руководство
- М. Уэлш — Запускаем Linux
- William Shotts — The Linux Command Line
- Федорчук — ruslinux.net
- База по CLI: Ubuntu tutorial — command line
Поиск пакета:
apt-cache search <имя>Установка / удаление:
sudo apt update
sudo apt install <пакет>
sudo apt remove <пакет>Локальный .deb:
sudo dpkg -i package_name.deb
sudo dpkg -r <краткое_имя_пакета>Если зависимости «сломались»: sudo apt -f install.
Зависший dpkg / «Unable to lock…»: дождаться окончания другого apt, при необходимости снять блокировку и восстановить — см. Ask Ubuntu (в заметках не смешивать с посторонними командами вроде deluser).
sudo apt install maven
mvn -versionДополнительно: Installing Maven (статья; версии в репозитории могут отставать). В старых Ubuntu пакет мог называться maven2.
sudo apt install git
git --versionРаньше метапакет часто назывался git-core — сейчас обычно достаточно git.
Официальная установка меняется; актуальные шаги: Jenkins — Linux.
Как было в ручных заметках (старый репозиторий pkg.jenkins-ci.org) — сейчас URL и ключи могут не работать, оставлено для воспроизведения легаси-окружения:
wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
sudo apt-get update && sudo apt-get install jenkins
В заметках были свои URL веб-UI Jenkins и APEX — подставьте актуальные хосты.
Обновление после подключения репозитория:
sudo apt update
sudo apt install jenkinssudo systemctl restart jenkins
# раньше: service jenkins restartПорт и параметры (в т.ч. свой порт вроде 8180): /etc/default/jenkins или unit-файл systemd — сверяйте с версией пакета.
sudo apt install udisks2 # имя пакета в современных дистрибутивах часто udisks2
udisksctl status
# или классика:
sudo fdisk -l
lsblk
blkid
df -hНа очень старых системах встречалось sudo apt-get install udisks и сведения так: udisks --show-info /dev/sda1 (udisks1; в udisks2 — другой CLI).
Пакет smbfs устарел; используйте CIFS:
sudo apt install cifs-utilssudo apt install sysinfo # по желанию
sudo apt install memtester # тест ОЗУ: memtester <МБ> <прогоны>Список смонтированного:
mount
df -hПримеры:
sudo mount /dev/sdb1 /mnt/video
sudo mount -t ext4 /dev/sdb1 /mnt/videoИз ручных заметок (пути и ext3 могли быть именно такими):
sudo mount /dev/sdb1 /home/user/Видео
sudo mount -t ext3 /dev/sdb1 /home/user/Видео
sudo mount -t ext3 -o rw,iocharset=utf8,codepage=866 /dev/sdb1 /home/user/ВидеоТипы ФС: ntfs, ntfs-3g, vfat, iso9660 и т.д. Права: -o rw / -o ro. Для проблем иногда -o force.
Кодировки (старые сценарии с FAT/NTFS):
sudo mount -t ntfs-3g -o rw,iocharset=utf8,codepage=866 /dev/sdb1 /mnt/videoОтмонтировать:
sudo umount /dev/sdb1
# или по точке монтированияCD-ROM и ISO:
sudo mount -t iso9660 -o ro /dev/cdrom /mnt/cd
sudo mount -t iso9660 -o loop /path/file.iso /mnt/isoСетевая шара CIFS (не использовать устаревший тип smbfs):
sudo mount -t cifs -o username=USER,password=PASS //server/share /mnt/mountpointРаньше в заметках был тип smbfs и шара вида //pupkin_v/oracle10g-binary → точка монтирования /home/user/oracle-binaries — сейчас только CIFS (cifs-utils), команда та же по смыслу с -t cifs.
Безопаснее — учётные данные в файле с правами 600 и опция credentials=.
mkdir -p /home/user/dev
cd /home/user/dev
git init
ls
ls -l
ls -R
ls -lR
pwd
file <filename>
mv источник назначениеПоиск каталога:
find / -name '<dir_name>' -type d 2>/dev/nullОбзор find: losst.ru — find.
Удаление по маске (сначала без -delete — проверка):
find . -name "*.versionsBackup" -type f
find . -name "*.versionsBackup" -type f -delete
find . -name 'build.gradle' -deleteЗамена строки в .txt рекурсивно:
find . -type f -name "*.txt" -exec sed -i 's/string1/string2/g' {} +sudo -s
# или
sudo bash
su -
# ввод пароля root (если настроен)
chown -R user:group /path
chown -R pi /home/pi
sudo usermod -a -G pi root
id -a
id username
who
w
lastДобавить пользователя в группу:
sudo usermod -aG groupname usernameПример: пользователь в группе docker (после — перелогиниться или newgrp docker):
sudo usermod -aG docker "$USER"
grep docker /etc/group # в заметках: проверить, что пользователь в строке группы
sudo systemctl restart docker
# или: sudo service docker restartПосле добавления в группу — выход/вход в сессию или newgrp docker (иногда нужна перезагрузка).
Установка Docker Engine, daemon.json, Compose и прочая настройка демона — в Docker.md.
/etc/passwd, /etc/shadow, /etc/group — учётные записи (пароли в shadow).
hostname -I
ip addr
ip route
ping 8.8.8.8
nc -zv host portСтатический адрес (пример классики ifupdown; на современных системах часто Netplan или NetworkManager — сверяйте дистрибутив):
/etc/network/interfaces — пример:
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
Raspberry Pi / Netplan: используйте актуальную документацию вашего образа.
SSH-ключ:
ssh-keygen -t rsa -b 4096 # или ed25519: ssh-keygen -t ed25519
ssh-keygen -t rsa -C "your_email@example.com"
ssh-copy-id -i ~/.ssh/id_rsa.pub user@hostКопирование с удалённого хоста:
scp user@host:/path/to/file .
scp -r user@host:/remote/dir ./local-dirТуннель через промежуточный хост:
ssh -L local_port:target_host:target_port user@gateway_hostС Windows: PuTTY / plink — в Windows.md (раздел про PuTTY и plink).
Проверка SOAP/WSDL:
wget 'http://host:port/Service?wsdl' -q -O -Пример из заметок (подставьте свой хост):
wget 'http://adcosgiq3:9009/BookerDomainService?wsdl' --quiet -O -На десктопе чаще NetworkManager (nmcli, GUI). Ниже — полная последовательность из ручных заметок (адаптер wlx…, SSID в примере замените на свой; реальные пароли и hex PSK не воспроизводятся — заново сгенерируйте через wpa_passphrase). См. также linuxcommando — WPA/WPA2.
iw dev
ip link show wlxXXXXXXXXXXXX
# при необходимости: sudo ip link set wlxXXXXXXXXXXXX up
iw wlxXXXXXXXXXXXX link
sudo iw wlxXXXXXXXXXXXX scan | less
sudo -s
wpa_passphrase "YOUR_SSID" >> /etc/wpa_supplicant.conf
# ввести пароль; в файле останутся ssid и psk=...
exit
sudo wpa_supplicant -B -i wlxXXXXXXXXXXXX -c /etc/wpa_supplicant.conf
iw wlxXXXXXXXXXXXX link
sudo dhclient wlxXXXXXXXXXXXX
ip addr show wlxXXXXXXXXXXXXМаршрут по умолчанию — через шлюз сети (часто 192.168.1.1), а не через IP, выданный интерфейсу. В черновике заметок ошибочно фигурировал via на адрес самого клиента — используйте:
sudo ip route add default via 192.168.1.1 dev wlxXXXXXXXXXXXX
ping 8.8.8.8Проверка SMB соседа: smbclient -L 192.168.0.100 -U%.
Драйверы USB (пример TP‑Link T2U Plus / rtl8814au): Ask Ubuntu, форум TP‑Link.
Диагностика:
dmesg
journalctl -b
lspci
lsusbСтарые логи: /var/log/dmesg; про udev на старых системах смотрели /var/log/udev.
Репозиторий и пакеты могут быть мёртвы; шаги ниже — как в ваших ручных заметках, для архива / легаси.
- В
/etc/apt/sources.list(осторожно):deb http://oss.oracle.com/debian unstable main non-free - Ключ:
wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle -O- | sudo apt-key add - sudo apt-get updatesudo aptitude install oracle-xe oracle-xe-clientилиsudo apt-get install oracle-xesudo /etc/init.d/oracle-xe configure(пароли sys/system)- Веб:
http://127.0.0.1:8080/apex
Установка из скачанного .deb (как в заметках: расшарили каталог, смонтировали сеть):
cd <каталог_с_deb>
sudo dpkg -i oracle-xe_10.2.0.1-1.1_i386.deb
sudo /etc/init.d/oracle-xe configurePATH для Oracle в ~/.profile (в заметках была опечатка):
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/
export PATH="$PATH:$ORACLE_HOME/bin"Было неверно: export $PATH=$PATH:....
Вариант из заметок (файл /swpfs1, ~1 ГиБ):
sudo dd if=/dev/zero of=/swpfs1 bs=1M count=1000
sudo mkswap /swpfs1
sudo swapon /swpfs1Современный вариант — отдельный /swapfile с chmod 600 и запись в /etc/fstab по документации дистрибутива.
Как в ручных заметках (Raspberry / pi):
sudo apt-get update
sudo apt-get install vim mc cups samba samba-common-bin
sudo usermod -aG lpadmin pi
sudo /etc/init.d/cups start
sudo /etc/init.d/samba restart
# сейчас чаще: sudo systemctl enable --now cups smbdФрагменты, которые правили в /etc/cups/cupsd.conf (проверьте актуальность для вашей версии CUPS):
<Location />
Order allow,deny
Allow @LOCAL
</Location>
<Location /admin>
Order allow,deny
Allow @local
</Location>
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @local
</Location>В /etc/samba/smb.conf в секции [printers]: browseable = yes.
Дальше по заметкам: веб CUPS http://<IP_малины>:631, добавили принтер Samsung ML-2010. Подключение с Windows к такому принтеру — в Windows.md (IPP / клиент интернет-печати).
Общая шпаргалка по шаре: Ubuntu community — Samba CLI.
sudo systemctl restart smbd
testparmsnap changes
sudo snap abort <ID>
sudo snap install <имя>Подробнее: Ask Ubuntu (RU).
ps aux | grep java
ps -ef | grep java
pgrep -a java
pidof <имя>
kill -9 "$(pgrep -f pattern)" # осторожно с шаблономУбить процесс по имени, не зацепив grep (трюк с квадратными скобками в шаблоне):
kill -9 $(ps -ef | grep '[t]arantool' | awk '{print $2}')Время работы процесса:
ps -o etime= -p PID
ps -o etime= -p "$(pidof tarantool)"Порты:
ss -lntu
ss -tulpn
netstat -tulpn # пакет net-tools
netstat -a -nКакой процесс слушает порт (Linux):
sudo ss -tulpn | grep ':PORT'
# или
sudo lsof -i :PORTНа Windows проверка порта через CMD: Windows.md.
sudo apt install openjdk-17-jdk # или 11, 21 — по задаче
sudo apt install openjdk-8-jdk # если нужен именно 8
sudo update-alternatives --config java
sudo update-alternatives --config javac
whereis java
readlink -f "$(which java)"Несколько JDK: Ask Ubuntu — switch Java versions.
Проверка срока / цепочки (подставьте имя хоста в -servername, не URL):
echo | openssl s_client -servername www.google.com -connect www.google.com:443 2>/dev/null | openssl x509 -noout -datesКастомный хост и порт (пример из заметок — подставьте свой SNI и порт):
echo | openssl s_client -servername int-paymentauthapi-qvc-de-v1.qvcdev.qvc.net -connect localhost:8989 2>/dev/nullОбзоры: ShellHacks (RU), Habr.
Проверка срока сертификата из вывода s_client: можно добавить | openssl x509 -noout -dates.
echo -n "your_secret" | base64
base64 -w 0 client.keystore.jks
base64 -w 0 client.truststore.jks
echo '<строка_base64>' | base64 -dПросмотр/анализ ключей: KeyStore Explorer.
Как в ручных заметках (rsautl; в OpenSSL 3 может понадобиться pkeyutl):
ssh-keygen -f ~/.ssh/id_rsa.pub -e -m PKCS8 > ~/.ssh/id_rsa.pub.pem
echo "String to Encrypt" \
| openssl rsautl -pubin -inkey ~/.ssh/id_rsa.pub.pem -encrypt -pkcs \
| openssl enc -base64 \
> string.txt
openssl enc -base64 -d -in string.txt \
| openssl rsautl -inkey ~/.ssh/id_rsa -decryptСовременный вариант:
echo "String" | openssl pkeyutl -encrypt -pubin -inkey ~/.ssh/id_rsa.pub.pem | openssl base64 -A
openssl base64 -d -in string.b64 | openssl pkeyutl -decrypt -inkey ~/.ssh/id_rsaИнтерактивная история (history, !n), export / unset, nohup, crontab, heredoc, nano, стартовый cd в ~/.bashrc — в Bash.md.
Системное время в консоли:
dateАвтозапуск при загрузке ОС: systemd (unit-файлы) или @reboot в crontab пользователя/рута.
Из заметок — правка /etc/rc.local (команды до строки exit 0). На многих дистрибутивах сервис rc-local нужно включить явно; иначе файл не выполняется.
zless file.log.gz
zless rules.2.log.zip
mail -s "Script for web server" user@example.com < ~/app.py # подставьте свой адрес; логи exim4: /var/log/exim4/mainlog
speaker-testcat /proc/version
cat /etc/os-release
cat /etc/issueiperf3
speedtest-cli # пакет отдельно; см. [addictivetips](https://www.addictivetips.com/ubuntu-linux-tips/run-speedtest-from-linux-terminal/)
sudo dmidecode -t 2
glxgears # пакет mesa-utils
glmark2Ошибка gitk с emoji / X11: Unix.SE. Из заметок: снять цветные emoji-шрифты Noto, если мешают X11:
sudo apt remove --purge fonts-noto-color-emoji- Загрузка с live CD/USB (например Ubuntu).
sudo apt-get install testdisk; если пакета нет —sudo add-apt-repository universe,sudo apt update.sudo testdisk→ создать log → выбрать диск → Proceed.- Тип таблицы (часто Intel, если раздел был под Windows).
- Analyze → Quick Search → выделить удалённый раздел (стрелки, тип
Tпри необходимости). - Enter → Write → перезагрузка.
pm2 start "serve -s ./" --name my-app
pm2 ls
pm2 logsИсторическая страница: jmxsh (Google Code, архив). Ищите живой форк на GitHub или используйте jconsole / jmxterm.
Пример из заметок:
java -jar jmxsh.jar br_fix_quartz_jobs.jmxsh| Задача | Команда |
|---|---|
| алиас / тип команды | type ls |
| очистить экран | Ctrl+L или clear |
| терминал (GUI) | Ctrl+Alt+T |
| дисплей / масштаб | xrandr, gnome-tweaks |
| резолвер DNS | /etc/resolv.conf (часто управляется systemd-resolved) |
| просмотр / редактор / heredoc | less, nano, heredoc — в Bash.md; кратко: в less выход q, v → $EDITOR |
сокращение для ls -l |
ll (если задан алиас в shell) |
| локальные бинарники для пользователя | ~/bin или /usr/local/bin |
EC2 / Ubuntu и PuTTYgen с машины Windows: Windows.md.
Samba: см. ссылку Ubuntu community выше; после правок sudo systemctl restart smbd.
Форматирование флешки: losst.ru, GParted.
NVIDIA: гайды сильно зависят от дистрибутива и ядра, например gist с шагами — сверяйте дату и версию ОС.
Клавиатура в GNOME: sudo apt install gnome-tweaks.
UNIX basics (Stanford): mally.stanford.edu
Глобальный PATH для всех пользователей (из заметок):
echo 'export PATH=$PATH:/folder_name/' | sudo tee -a /etc/bash.bashrcscp (синтаксис и пример с losst.ru): losst.ru — scp; пример: scp -r /home/user/photos root@host:/root/.
Группы пользователя (из заметок): pingvinus — добавление в группу — sudo usermod -a -G editorsgroup pingvinus.
Переименование расширений файлов в Windows (в т.ч. .bat с циклом): Windows.md.
sudo yum install <пакет>
sudo yum remove <пакет>
sudo rpm -i package.rpm
sudo rpm -e <имя>
# современнее на Fedora/RHEL: dnf вместо yum