18 KiB
Linux useful
- Linux useful
- Текущая директория сервера в браузере по адресу
http://server_ip:8000/
- Запустить графическое приложение через ssh соединение
-Y
- Отобразить все группы пользователя**
- SSH соединение через промежуточный хост**
- SSH соединение без проверки подлинности ключа и его сохранения
- Изменить первичную группу пользователя в текщем сеансе
- Сохранить man в pdf
- Прервать выполнение команды через 5 секунд
- Инфо об ОС
- Выполнить команду несколько раз в цикле
- Конвертировать изоражения heic в jpg
- Конвертировать jpg в pdf
- получить UUID диска для монтирования
- Сброс пароля root
- Проверить доступность диапазона хостов
- Конвертировать pdf в png
- Узнать загрузку процессора определённым процессом
- Определить страну, город и др. детали по IP
- Отобразить файл без комментариев и путых строк
- Изменить консольный редактор по-умолчанию
- Перенос строк в nano
- Генератор паролей
- Импорт ssh ключа из Интернет
- Текущая директория сервера в браузере по адресу
Текущая директория сервера в браузере по адресу http://server_ip:8000/
python -m SimpleHTTPServer
Запустить графическое приложение через ssh соединение -Y
для текущей сессии
ssh -Y pi@server_ip
для всех подключений
ForwardX11 yes
в файле /etc/ssh/ssh_config
Отобразить все группы пользователя**
da2001@Metromint:~$ groups da2001
da2001 : da2001 adm cdrom sudo dip plugdev kvm lpadmin sambashare wireshark libvirt
SSH соединение через промежуточный хост**
ssh -t pi@192.168.89.2 ssh da2001@192.168.1.8
сначала будет запрошен пароль от 192.168.89.2, затем от 192.168.1.8
SSH соединение без проверки подлинности ключа и его сохранения
ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no admin@192.168.2.1
Изменить первичную группу пользователя в текщем сеансе
[lisa@server1 ~]$ groups
lisa account sales
[lisa@server1 ~]$ newgrp sales
[lisa@server1 ~]$ groups
sales lisa account
[lisa@server1 ~]$ touch file1
[lisa@server1 ~]$ ls -l
total 0
-rw-r--r--. 1 lisa sales 0 Feb 6 10:06 file1
теперь все новые файлы будут принадлежать группе sales
Сохранить man в pdf
man -t <программа> | ps2pdf - <filename>.pdf
man -t tar | ps2pdf - tar_man.pdf
Прервать выполнение команды через 5 секунд
timeout 5s command
Инфо об ОС
cat /etc/*release
cat /etc/issue
uname -a
cat /etc/lsb-release
da2001@Metromint:~$ neofetch
...-:::::-... da2001@Metromint
.-MMMMMMMMMMMMMMM-. ----------------
.-MMMM`..-:::::::-..`MMMM-. OS: Linux Mint 20.1 x86_64
.:MMMM.:MMMMMMMMMMMMMMM:.MMMM:. Host: VivoBook_ASUSLaptop X570DD_M570DD 1.0
-MMM-M---MMMMMMMMMMMMMMMMMMM.MMM- Kernel: 5.8.0-59-generic
`:MMM:MM` :MMMM:....::-...-MMMM:MMM:` Uptime: 1 day, 1 hour, 41 mins
:MMM:MMM` :MM:` `` `` `:MMM:MMM: Packages: 2750 (dpkg)
.MMM.MMMM` :MM. -MM. .MM- `MMMM.MMM. Shell: bash 5.0.17
:MMM:MMMM` :MM. -MM- .MM: `MMMM-MMM: Resolution: 1920x1080
:MMM:MMMM` :MM. -MM- .MM: `MMMM:MMM: DE: Cinnamon
:MMM:MMMM` :MM. -MM- .MM: `MMMM-MMM: WM: Mutter (Muffin)
.MMM.MMMM` :MM:--:MM:--:MM: `MMMM.MMM. WM Theme: Mint-Y-Dark (Mint-Y-Dark)
:MMM:MMM- `-MMMMMMMMMMMM-` -MMM-MMM: Theme: Mint-Y-Darker [GTK2/3]
:MMM:MMM:` `:MMM:MMM: Icons: Papirus-Dark [GTK2/3]
.MMM.MMMM:--------------:MMMM.MMM. Terminal: gnome-terminal
'-MMMM.-MMMMMMMMMMMMMMM-.MMMM-' CPU: AMD Ryzen 5 3500U with Radeon Vega Mobile Gfx (8) @ 2.100GHz
'.-MMMM``--:::::--``MMMM-.' GPU: NVIDIA GeForce GTX 1050 Mobile
'-MMMMMMMMMMMMM-' GPU: AMD ATI 05:00.0 Picasso
``-:::::-`` Memory: 4924MiB / 5952MiB
Выполнить команду несколько раз в цикле
da2001@Metromint:~$ for i in {1..5}; do echo $i; done
1
2
3
4
5
выполнение скрипта с параметрами в цикле
for i in {1..20}; do ./wlt_start.py -c config_m716.cfg; done
Конвертировать изоражения heic в jpg
sudo apt-get install libheif-examples
для конвертации одного изображения
heif-convert IMG_1234.HEIC IMG_1234.jpg
для конвертации всех изображений в папке
mkdir jpg
for file in *.heic; do heif-convert $file ./jpg/${file/%.heic/.jpg}; done
Конвертировать jpg в pdf
необходим установленный ImageMagick
sudo apt install imagemagick
для конвертации одного изображения
convert image.jpg out.pdf
для конвертации нескольких изображений
convert image1.jpg image2.jpg image3.jpg out.pdf
если в процессе конвертации будет получено сообщение об ошибке
convert: attempt to perform an operation not allowed by the security policy `PDF' @ error/constitute.c/IsCoderAuthorized/408.
в файле /etc/ImageMagick-7/policy.xml
необходимо изменить директиву доступа
название папки ImageMagick-7 может отличаться в зависимости от установленной версии
между тегами <policymap>
и </policymap>
добавить/отредактировать
<policy domain="coder" rights="read | write" pattern="PDF" />
получить UUID диска для монтирования
Вариант 1
lsblk -n -o uuid /dev/sda1
-n - не выводить заголовки
-o - отображаемое поле
таким образом, для раздела с ФС ext4, запись в fstab можно добавить таким образом
mkdir /mntdir
UUID=`lsblk -n -o uuid /dev/sda1`
sudo bash -c 'echo "UUID=$UUID /mntdir ext4 defaults 0 0" >> /etc/fstab'
Вариант 2
[root@server1 ~]# blkid -o export /dev/sda2 | grep '^UUID'
UUID=d056212f-b1ea-4bc5-ba4e-99d036e5531e
таким образом, можно перенаправить вывод в /etc/fstab
и руками дополнить параметры монтирования
blkid -o export /dev/sda2 | grep '^UUID' >> /etc/fstab
Сброс пароля root
CentOS/RedHat Linux
- В самом начале загрузки системы, когда появляется меню GRUB, необходимо нажать
e
, чтобы попасть в настройку загрузки - В строке загрузки ядра, которая начинается со слова
linux
в конец добавитьrd.break
, затем нажать Ctrl+x, для применения сделанных настроек и загрузки системы (внесенные изменения действуют только в текущей сессии загрузки) - После появления приглашения консоли необходимо получить доступ к образу системы
mount -o remount,rw /sysroot
- Изменить корневой каталог
chroot /sysroot
- Теперь можно изменить пароль root
passwd
будет предложено ввести новый пароль дважды.
Поскольку на ранней стадии загрузки SELinux еще не был активирован, тип контекста в /etc/shadow
будет перепутан. Если сейчас перезагрузиться, никто не сможет войти в систему. Поэтому необходимо убедиться, что тип контекста установлен правильно. Для этого на этом этапе нужно загрузить политику SELinux с помощью команды
load_policy -i
- Теперь нужно вручную установить правильный тип контекста в
/etc/shadow
.
chcon -t shadow_t /etc/shadow
вместо 6,7 пунктов можно просто в корне создать файл .autorelabel
touch /.autorelabel
Всё, после перезагрузки, у root будет новый пароль.
для перезагрузки в данном режиме необходимо дважды ввести reboot -f
или Ctrl+d
reboot -f
Debian
- В самом начале загрузки системы, когда появляется меню GRUB, необходимо нажать
e
, чтобы попасть в настройку загрузки - В строке загрузки ядра, которая начинается со слова
linux
в конец добавитьrd.break
, затем нажать Ctrl+x, для применения сделанных настроек и загрузки системы (внесенные изменения действуют только в текущей сессии загрузки) - После появления приглашения консоли необходимо получить доступ к образу системы
mount -o remount,rw /
Теперь можно изменить пароль root
passwd
будет предложено ввести новый пароль дважды.
Всё, после перезагрузки, у root будет новый пароль.
для перезагрузки в данном режиме необходимо дважды ввести reboot -f
или Ctrl+d
reboot -f
Проверить доступность диапазона хостов
for i in {10..13}; do ping -c 2 192.168.1.$i > /dev/null && echo 192.168.1.$i - доступен || echo 192.168.1.$i - НЕ доступен; done
[da2001@co1 ~]$ for i in {10..13}; do ping -c 2 192.168.1.$i > /dev/null && echo 192.168.1.$i - доступен || echo 192.168.1.$i - НЕ доступен; done
192.168.1.10 - доступен
192.168.1.11 - доступен
192.168.1.12 - доступен
192.168.1.13 - НЕ доступен
Конвертировать pdf в png
pdftoppm input.pdf outputname -png
в результате каждая страница в PDF будет сохранена в формате outputname-01.png, где 01 будет номером страницы
Конвертировать одну страницу или диапазон
pdftoppm input.pdf outputname -png -f {page} -singlefile
Измените {page}
на номер страницы. Он проиндексирован как 1, поэтому -f 1
будет первой страницей.
Если вы хотите работать с диапазоном страниц, вы также можете указать номер для флага -l
(последняя страница), поэтому при использовании -f 1 -l 30
будут указаны страницы от 1 до 30.
Указать разрешение преобразованного изображения
Разрешение по умолчанию для этой команды составляет 150 точек на дюйм.
Чтобы увеличить разрешение преобразованного PDF-файла, добавьте параметры -rx
{разрешение} и -ry
{разрешение}.
pdftoppm input.pdf outputname -png -rx 300 -ry 300
Узнать загрузку процессора определённым процессом
ps
по имени процесса
ps -C iperf -o %cpu=
по номеру процесса
ps -p 23635 -o %cpu=
или
ps -p $(pgrep iperf) -o %cpu=
top
top -b -n 2 -d 0.2 -p PID_ID | tail -1 | awk '{print $9}'
Нагрузить процессор для проверки
cat /dev/zero > /dev/null
Определить страну, город и др. детали по IP
curl -s "https://ifconfig.co/json?ip=$1" | jq -r '.country, .city, .hostname, .asn_org'
или функция
getip() {
curl -s "https://ifconfig.co/json?ip=$1" | jq -r '.country, .city, .hostname, .asn_org'
}
Отобразить файл без комментариев и путых строк
grep -vE '(^[[:space:]]*([#;!].*)?$)' file
Изменить консольный редактор по-умолчанию
which nano
/usr/bin/nano
export EDITOR=/usr/bin/nano
Перенос строк в nano
Для включения переноса строк в текщум редакторе необходимо нажать Esc
+ $
.
обозначение Esc
+ $
означает нажатие и отпускание Esc
, а затем нажатие $
.
Тогда полная последовательность нажатий клавиш будет Esc
, Shift+4
Генератор паролей
В качестве простого генератора паролей удобно использовать pwqgen
. Он генерирует легкозапоминаемые пароли.
Импорт ssh ключа из Интернет
wget -qO- https://da2001.ru/ssh.pub >> ~/.ssh/authorized_keys
или
curl https://da2001.ru/ssh.pub >> ~/.ssh/authorized_keys