Полезные команды Linux: различия между версиями

Нет описания правки
м Фикс категории
 
(не показаны 22 промежуточные версии этого же участника)
Строка 1: Строка 1:
В данном руководстве перечислен список команд к различным Linux приложениям. Некоторые из этих команд могут быть применены и к Windows версиям программ.
В данном руководстве перечислен список команд к различным Linux приложениям. Некоторые из этих команд могут быть применены и к Windows версиям программ.
== Базовые команды ==
Включение возможности изменения раскладки клавиатуры через Alt + Shift.
<code>setxkbmap -layout us,ru -option grp:alt_shift_toggle</code>
Установить DPI для подключенного дисплея/монитора ([https://www.sven.de/dpi/ Подсчитать DPI можно тут]).
<code>xrandr --output eDP1 --dpi 135.09</code>
Удаленно запустить приложение на основном дисплее (X11).
<code>DISPLAY=:0 anydesk</code>


== Файловые операции ==
== Файловые операции ==
=== Общие команды ===
=== Базовые команды ===


Создать символическую ссылку
Создать символическую ссылку


<code>ln -s /original/path/to/file /path/to/symlink</code>
<code>ln -s /original/path/to/file /path/to/symlink</code>
=== Общие команды ===


Запустить команду pwd -P в текущем каталоге и в поддиректориях.
Запустить команду pwd -P в текущем каталоге и в поддиректориях.
Строка 54: Строка 43:
Низкоуровневое форматирование накопителя.
Низкоуровневое форматирование накопителя.


<code>sudo dd if=/dev/zero of=/dev/sdb bs=1M</code>
<code>sudo dd if=/dev/zero of=/dev/sdb bs=1M status=progress</code>


Принудительно обновить таблицу разделов.
Принудительно обновить таблицу разделов.
Строка 89: Строка 78:
Посмотреть содержимое Zip архива
Посмотреть содержимое Zip архива


<code>unzip -l Архив.zip</code>
<code>unzip -l archive.zip</code>
 
Если архив был случайно распакован не в ту папку и нужно удалить новые файлы, то можно воспользоваться списком файлов архива
 
<code>unzip -Z1 archive.zip | xargs -I {} rm -v "{}"</code>


Посмотреть содержимое Zip архива с кириллическими именами в названии файлов.
Посмотреть содержимое Zip архива с кириллическими именами в названии файлов.
Строка 107: Строка 100:


https://linuxize.com/post/how-to-create-and-extract-archives-using-the-tar-command-in-linux/
https://linuxize.com/post/how-to-create-and-extract-archives-using-the-tar-command-in-linux/
Распаковать zip архив в требуемую директорию.
<code>unzip archive.zip -d ~/folder</code>


==== Модификация архива ====
==== Модификация архива ====
Строка 242: Строка 239:


<code>mariadb -u root -p</code>
<code>mariadb -u root -p</code>
Проверка подключения к базе данных.
<code>mariadb -u db_user -p -D db_name</code>


Экспортировать базу данных.
Экспортировать базу данных.


<code>mariadb-dump -u username -p database_name > data-dump.sql</code>
<code>mariadb-dump -u db_user -p db_name > backup.sql</code>


Импортировать базу данных из резервной копии. Если при импорте будет возникать ошибка <code>ERROR at line 1: Unknown command '\-'.</code>, то требуется дополнительное действие: https://habr.com/ru/articles/824490/
Импортировать базу данных из резервной копии. Необходимо, чтобы база данных была [[Конфигурации приложений#MariaDB|создана перед импортом]].


<code>mariadb -u username -p new_database < data-dump.sql</code>
<code>mariadb -u db_user -p new_db < backup.sql</code>
 
{{Примечание|Если при импорте будет возникать ошибка ERROR at line 1: Unknown command '\-'., то требуется дополнительное действие: https://habr.com/ru/articles/824490/}}
 
==== PostgreSQL ====
Дамп всех баз данных в один файл
 
<code>postgres pg_dumpall > postgres_databases.sql</code>


== Виртуализация ==
== Виртуализация ==
Строка 294: Строка 302:
<code>sudo docker rmi $(docker images -q)</code>
<code>sudo docker rmi $(docker images -q)</code>


Автоматическое обновление требуемого образа каждые 12 часов при помощи [https://containrrr.dev/watchtower/ containrrr/watchtower].
Показать пути к файловым системам используемых контейнеров.
 
<code>sudo docker inspect $(sudo docker ps -qa) |  jq -r 'map([.Name, .GraphDriver.Data.MergedDir]) | .[] | "\(.[0])\t\(.[1])"'</code>
 
Удалить неиспользуемые элементы файловых систем неиспользуемых контейнеров.
 
<code>sudo docker system prune -a -f</code>
 
Автоматическое обновление требуемого образа каждые 12 часов при помощи [http://watchtower.nickfedor.com/ nickfedor/watchtower].


<pre>docker run -d --name watchtower-openwebui --restart=always -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower open-webui --interval 43200</pre>
<pre>docker run -d --name watchtower-openwebui --restart=always -v /var/run/docker.sock:/var/run/docker.sock nickfedor/watchtower open-webui --interval 43200</pre>


Ручное обновление требуемого образа при помощи [https://containrrr.dev/watchtower/ containrrr/watchtower] в режиме отладки.
Ручное обновление требуемого образа при помощи [http://watchtower.nickfedor.com/ nickfedor/watchtower] в режиме отладки.


<pre>docker run -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui --debug</pre>
<pre>docker run -v /var/run/docker.sock:/var/run/docker.sock nickfedor/watchtower --run-once open-webui --debug</pre>


Создание контейнера с перенаправлением портов, постоянным хранением данных и установкой требуемой переменной окружения.
Создание контейнера с перенаправлением портов, постоянным хранением данных и установкой требуемой переменной окружения.
Строка 340: Строка 356:


Отобразить пакеты установленные вручную, которые не были найдены в базе данных синхронизации. К примеру из AUR.
Отобразить пакеты установленные вручную, которые не были найдены в базе данных синхронизации. К примеру из AUR.
<code>rm /var/lib/pacman/db.lck</code>
Удалить файл блокировки базы данных pacman.


== Системы сборки ==
== Системы сборки ==
Строка 353: Строка 373:


<code>adb backup -noapk com.unciv.app -f unciv-data.ab</code>
<code>adb backup -noapk com.unciv.app -f unciv-data.ab</code>
Получить список приложений, которые могут читать последний элемент в буфере обмена.
<code>adb shell cmd appops query-op READ_CLIPBOARD allow</code>
Запретить доступ к буферу обмена.
<code>adb shell cmd appops set com.octopod.russianpost.client.android READ_CLIPBOARD ignore</code>


== Bash ==
== Bash ==
Строка 393: Строка 421:


<code>git commit -m 'Initial commit'</code>
<code>git commit -m 'Initial commit'</code>
Добавить удаленный репозиторий.
<code>git remote add origin <GIT_URL_HERE></code>
Отправить код на удаленный репозиторий и сделать main ветку основной при отправке.
<code>git push -u origin main</code>
Показать адреса удаленных репозиториев.
<code>git remote -v</code>
Изменить адрес удаленного репозитория.
<code>git remote set-url origin <NEW_GIT_URL_HERE></code>


=== Ветвление ===
=== Ветвление ===
Строка 423: Строка 467:
<code>git push gitea fork:master</code>
<code>git push gitea fork:master</code>


Для GitHub имеется возможность загрузить запрос на слияние в новую локальную ветвь.
Для GitHub имеется возможность загрузить запрос на слияние в новую локальную ветвь для тестирования нового функционала или исправления ошибки.


<code>git fetch origin pull/103781/head:pr-103781</code>
<pre>git fetch origin pull/103781/head:pr-103781
git checkout pr-103781</pre>
 
Удалить все ветви, которых больше нет на удалённом репозитории.
 
<code>git fetch --prune</code>


=== Подмодули ===
=== Подмодули ===
Строка 449: Строка 498:
Зашифровать файл.
Зашифровать файл.


<pre>sops --encrypt --age $(cat $SOPS_AGE_KEY_FILE |grep -oP "public key: \K(.*)") --encrypted-regex '^(data|stringData)$' --in-place ./secret.yaml</pre>
<pre>sops --encrypt --age $(cat $SOPS_AGE_KEY_FILE |grep -oP "public key: \K(.*)") --in-place ./secret.yaml</pre>


Расшифровать файл.
Расшифровать файл.


<pre>sops --decrypt --age $(cat $SOPS_AGE_KEY_FILE |grep -oP "public key: \K(.*)") --encrypted-regex '^(data|stringData)$' --in-place ./secret.yaml</pre>
<pre>sops --decrypt --age $(cat $SOPS_AGE_KEY_FILE |grep -oP "public key: \K(.*)") --in-place ./secret.yaml</pre>


== systemd ==
== systemd ==
Строка 460: Строка 509:


Показать все сообщения для определенного сервиса.
Показать все сообщения для определенного сервиса.
== X11-сервер ==
Включение возможности изменения раскладки клавиатуры через Alt + Shift.
<code>setxkbmap -layout us,ru -option grp:alt_shift_toggle</code>
Установить DPI для подключенного дисплея/монитора ([https://www.sven.de/dpi/ Подсчитать DPI можно тут]).
<code>xrandr --output eDP1 --dpi 135.09</code>
Удаленно запустить приложение на основном дисплее.
<code>DISPLAY=:0 anydesk</code>


[[Категория:Руководства]]
[[Категория:Руководства]]