В этой статье я собрал для себя много чего полезного для Linux Manjaro. А именно, Вы увидите много команд, ссылок, информации, которая поможет найти быстрые ответы при возникновении различных ситуаций с OS Linux Manjaro (и не только, а для всех семейств Unix System)... Данный материал может понадобиться, как новичку, так и профессионалу web-разработки, а также системным администраторам Linux.

code
chown -R user:group /home/user/dir/

где user ­— имя пользователя;
-R — значит рекурсивное выполнение команды (на все внутренние файлы и подпапки);
group — группа пользователя.

Пример:

code
chown -R user:user /home/user/dir/

$USER:$USER — также пользователь и его группа:

code
sudo chown -R $USER:$USER /etc/transmission-daemon/settings.json

Изменить права директории или файла:

code
chmod 744 /home/user/localhost/

Поиск файла:

code
find / -name 545_Multik.UseMind.ORG_kot-*

Записать список файлов папки в текстовый файл:

переходим в нужную папку:

code
cd /home/user/_ALL/Video/PINK_P/

вызываем команду записи названий всех файлов в текстовый файл:

code
ls > filenames.txt

Создать tar.gz архив со сжатием, включая все вложенные папки:

code
tar -zcvf 2020-06-12_ALL_W_DEV4.tar.gz /var/www/site.pro

При этом архив будет находится в папке /root

Распаковать архив в определенную папку:

code
tar -xvzf archive.tar.gz -C /path/to/my/folder

Поменять путь диска (disk path) в Linux с корявых таких штук [ссылка на оригинал вопроса | или такая ссылка на ArchWiki]:

code
/run/media/user/67b1220f-e04e-4d71-a6af-d5d5g4dfg0

на что-то человекопоняное:

code
/run/media/user/my-hdd

Возможно, перед тем, как выполнить эти команды, Вам придётся размонтировать раздел такой командой:

code
sudo umount /dev/sdc2

такой командой (если файловая система ext2/ext3/ext4):

code
sudo e2label /dev/sda3 my-hdd

если файловая система btrfs

code
btrfs filesystem label /dev/XXX <label>

for reiserfs:

code
reiserfstune -l <label> /dev/XXX

for jfs:

code
jfs_tune -L <label> /dev/XXX

for xfs:

code
xfs_admin -L <label> /dev/XXX

for fat/vfat (using dosfstools):

code
fatlabel /dev/XXX <label> 

OR (using mtools):

code
mlabel -i /dev/XXX ::<label>

for exfat (you might need to install exfat-utils first):

code
exfatlabel /dev/XXX <label>

for ntfs:

code
ntfslabel /dev/XXX <label>

for swap (first you need to swapoff):

code
swaplabel -L <label> /dev/XXX

перед этим можно узнать какой именно диск у Вас тот самый, который примонтирован хешем:

code
df -h

вывод такой приблизительно:

code
Файловая система Размер Использовано  Дост Использовано% Cмонтировано в 
dev                2,9G            0  2,9G            0% /dev
run                2,9G         1,4M  2,9G            1% /run
/dev/dm-0          111G          35G   74G           32% /
tmpfs              2,9G         105M  2,8G            4% /dev/shm
/dev/loop0          44M          44M     0          100% /var/lib/snapd/snap/snapd/15177
/dev/loop4          44M          44M     0          100% /var/lib/snapd/snap/snapd/14978
/dev/loop1         100M         100M     0          100% /var/lib/snapd/snap/snowflake/2
/dev/loop3          56M          56M     0          100% /var/lib/snapd/snap/core18/2344
/dev/loop2          56M          56M     0          100% /var/lib/snapd/snap/core18/2284
tmpfs              2,9G          57M  2,9G            2% /tmp
/dev/dm-0          111G          35G   74G           32% /home
/dev/dm-0          111G          35G   74G           32% /var/cache
/dev/dm-0          111G          35G   74G           32% /var/log
tmpfs              594M          76K  594M            1% /run/user/1000
/dev/sda1           96G          53G   39G           58% /run/media/user/67b1220f-e04e-4d71-adfgert4502c0
/dev/sda3          7,2T         2,7T  4,1T           40% /run/media/user/hdd
/dev/sdc2          466G         392G   75G           85% /run/media/user/03845rfgrgfAD66A

МОНТИРОВАНИЕ РАЗДЕЛОВ LINUX

ссылка на информацию (en)

Какой диск сначала можно узнать (/dev/sdc1, напр.) lsblk

mount -o defaults /dev/sdc1 /var/www/html/site.ex/4

code
mount -a

/var/www/html/site.ex/4 — это путь, куда монтировать

mount -a — это, вроде, монтировать автоматически (при перезагрузке системы)

https://fsen.ru/linux/gpt-mbr

https://losst.ru/smotrim-spisok-diskov-linux

Как в manjaro вызвать строку поиска программ?

code
Alt+Space

Узнать версию программы:

code
nginx -v

или

code
ffmpeg -version

code
rmdir /my_folder

Пример:

code
rmdiv /home/use/folder

Другая команда, которую можно применить - это rm. Она предназначена для удаления файлов Linux, но может использоваться и для папок если ей передать опцию рекурсивного удаления -r:
Рекурсивное удаление: удалит также все подпапки и файлы внутри:

code
rm -R моя_папка

Пример:

code
rm -R /home/use/folder

Узнать, где хранятся бинарные файлы ffmpeg

code
which ffmpeg

code
rsync -avr -e ssh --progress /var/www/slagor/data/www/ slagor@91.234.35.81:/var/www/slagor/data/www

Эту команду нужно запустить по ssh на исходящем сервере (с которого мы копируем данные).
При этом утилита должна быть установлена на обеих серверах - если на каком-то она не установлена - установить ее можно командой apt-get install rsync либо yum install rsync

Так вот эта команда скопирует содержимое папки /var/www/slagor/data/www/
в папку /www пользователя slagor на сервер 91.234.35.81

Еще инфа по rsync:

Для того, чтобы синхронизировать два сервера, необходимо выполнить следующую команду в rsync НА СТАРОМ СЕРВЕРЕ (откуда все будет копироваться):

code
rsync -avr -e ssh --progress /vps/var/www/ root@11.22.33.44:/var/www/html

где, по порядку:

/vps/var/www/ – Это папка сервера ОТКУДА все будет копироваться (на нем и выполняется эта команда для rsync)
root@11.22.33.44:/var/www/html – root - имя пользователя для доступа на сервер КУДА копировать файлы
11.22.33.44 – IP адрес сервера КУДА копировать
:/var/www/html — папка на сервере КУДА БУДЕМ копировать.

После выполнения команды, необходимо будет ввести пароль от сервера НА КОТОРЫЙ копировать (11.22.33.44)

Внимание! На обоих серверах должен быть установлен rsync (команда для debian, введите свою команду для установки для нужного дистрибутива Linux):
code
apt-get install -y rsync

rsync с прогрессом:

code
rsync -avr -e ssh --progress /var/www/html root@1.2.3.4:/var/www/


code
passwd root

далее ввести НОВЫЙ пароль


code
apt install torbrowser-launcher -t buster-backports
code
apt install gnome-tweak-tool
code
apt install synaptic

code
df -h

code
curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python -
code
wget --output-document=/dev/null http://speedtest.wdc01.softlayer.com/downloads/test500.zip

cbm — утилита позволяет увидеть сетевой трафик в реальном времени:

code
apt-get install cbm

Увидим данные об объеме приема и передачи в секунду:

Interface Receive Transmit Total
lo 10.07 MB/s 10.07 MB/s 20.13 MB/s
eth0 73.15 kB/s 2.44 MB/s


старт:

code
sudo systemctl start nginx

перезапуск:

code
sudo systemctl restart nginx

стоп:

code
sudo systemctl stop nginx

тоже в Debian:

code
service php7.4-fpm restart
code
service php7.4-fpm stop
code
service php7.4-fpm start

жестко перезагрузить nginx, при этом разорвутся все соединения с освободится оперативная память:

code
service nginx restart

мягко перезагрузить nginx, при этом все открытые соединения останутся открытыми, подгрузится только обновленная конфигурация, если Вы вносили изменения; оперативная память при этом НЕ освободится:

code
service nginx reload

торрент-клиент для загрузки и отдачи файлов на Linux:

code
service transmission-daemon reload
code
service transmission-daemon stop
code
service transmission-daemon start


code
sysctl -w net.ipv4.icmp_echo_ignore_all=1

Узнать версию Linux

code
lsb_release -a

С помощью данной утилиты, Вы сможете узнать:

  • загрузку CPU;
  • загрузку RAM (оперативная память);
  • нагрузку на HDD/SSD;
  • увидеть скорость передачи данных по LAN портам (интернета прием и отдача);
  • список запущенных процессов и используемые ими ресурсы...

Покажет нагрузку из журнала, ведущегося самой утилитой:

code
atop -r 20130826 -b 02:00

Если просто ввести:

code
atop

, то информация будет выводится каждые 5 секунд, что не очень удобно. Если Вы хотите ускорить процесс:

code
atop 1

где 1 — это обновление информации каждую 1 секунду.

Чтобы выйти из режима просмотра нагрузки в режиме реального времени, нажмите клавишу Q (на En раскладке клавиатуры).

Скрин:


смотрите также статью о https, dhparam.. в nginx

code
openssl dhparam -out /etc/nginx/crt/dhparam.pem 4096

при этом Вы должны указать путь к папке, где лежат файлы сертификатов certificate.crt (в нем должна быть цепочка сертификатов [сам сертификат и цепочка сертификатов]), private.key.

Цепочка сертификата должна идти сразу после самого сертификата:


code
echo | openssl s_client -alpn h2 -connect your-host:443 | grep ALPN

Информация о пакетном менеджере Linux Mangaro на русском

Узнать список всех установленных пакетов, без зависимостей:

code
pacman -Qe

Базовые операции:

Команды Arch Red Hat
Fedora
Debian
Ubuntu
SLES
openSUSE
Gentoo
Установить пакет по имени pacman -S dnf install apt install zypper install or zypper in emerge [-a]
Удалить пакет по имени pacman -Rs dnf remove apt remove zypper remove or zypper rm emerge -vc
Поиск пакета(-ов), выполнив поиск по названию, описанию, короткому описанию. Какие именно поля ищутся по умолчанию, зависит от каждого инструмента pacman -Ss dnf search apt search zypper search or zypper se [-s] emerge -S
Пакеты обновления - установите пакеты, в которых уже установлена более старая версия pacman -Syu dnf upgrade apt update and then apt upgrade zypper update or zypper up emerge -uDN @world
Пакеты обновления - еще одна форма команды обновления, которая может выполнять более сложные обновления, такие как обновления дистрибутива. Когда обычная команда update пропускает обновления пакетов, которые включают изменения в зависимостях, эта команда может выполнять эти обновления pacman -Syu dnf distro-sync apt update and then apt dist-upgrade zypper dup emerge -uDN @world
Очистить все локальные кэши. Параметры могут ограничивать то, что на самом деле очищается. autoclean удаляет только ненужную устаревшую информацию pacman -Sc or pacman -Scc dnf clean all apt autoclean or apt clean zypper clean eclean distfiles
Удаляет зависимости, которые больше не нужны, потому что, например, пакет, который нуждался в зависимостях, был удален pacman -Qdtq | pacman -Rs - dnf autoremove apt autoremove zypper rm -u emerge --depclean
Удалить пакеты, больше не включенные ни в какие репозитории pacman -Qmq | pacman -Rs - dnf repoquery --extras aptitude purge '~o'    
Отметить пакет, ранее установленный как зависимость, как явное требование pacman -D --asexplicit dnf mark install apt-mark manual   emerge --select
Установить пакет (-ы) как зависимость / без специальной пометки «требуется» (required) pacman -S --asdeps dnf install and then dnf mark remove apt-mark auto   emerge -1
Загружает только данный пакет (ы), не распаковывая и не устанавливая их pacman -Sw dnf download apt install --download-only (into the package cache) or apt download (bypass the package cache) zypper --download-only emerge --fetchonly
Запустите оболочку для ввода нескольких команд за один сеанс     apt-config shell zypper shell  
Показать журнал действий, предпринятых руководством программного обеспечения. read /var/log/pacman.log dnf history read /var/log/dpkg.log read /var/log/zypp/history read /var/log/portage
Получите дамп всей системной информации - Prints, Saves или подробное текущее состояние системы управления пакетами. Предпочтительным выводом является текст или XML. (Примечание: почему - или здесь? Ни один инструмент не предлагает возможность выбрать выходной формат.) see /var/lib/pacman/local see /var/lib/rpm/Packages apt-cache stats   emerge --info
электронная почта доставки пакетов изменений     apt install apt-listchanges    

Запрос конкретных пакетов

Команды Arch Red Hat
Fedora
Debian
Ubuntu
SLES
openSUSE
Gentoo
Показать всю или большую информацию о пакете. Детальность инструментов для команды по умолчанию варьируется. Но с опциями инструменты находятся на одном уровне друг с другом. pacman -Si or pacman -Qi dnf list or dnf info apt show or apt-cache policy zypper info or zypper if emerge -S, emerge -pv or eix
Отображение информации о локальном пакете: имя, версия, описание и т.д. pacman -Qi rpm -qi / dnf info installed dpkg -s or aptitude show zypper info or rpm -qi emerge -pv or emerge -S
Показать информацию об удаленном пакете: имя, версия, описание и т.д. pacman -Si dnf info apt-cache show or aptitude show zypper info emerge -pv and emerge -S or equery meta
Показать файлы, предоставленные локальным пакетом pacman -Ql rpm -ql dpkg -L rpm -ql equery files or qlist
Показать файлы, предоставленные удаленным пакетом pacman -Fl dnf repoquery -l or repoquery -l (from package yum-utils) apt-file list   pfl
Запросить пакет, который предоставляет ФАЙЛ pacman -Qo rpm -qf (installed only) or dnf provides (everything) or repoquery -f (from package yum-utils) dpkg -S or dlocate zypper search -f equery belongs or qfile
Перечислите файлы, которые содержит пакет. Опять же, эта функциональность может быть имитирована другими более сложными командами pacman -Ql or pacman -Fl dnf repoquery -l dpkg-query -L rpm -ql equery files or qlist
Отображает пакеты. В основном это ярлык для поиска определенного поля. Другие инструменты могут предлагать эту функцию через команду поиска pacman -F dnf provides apt-file search zypper what-provides or zypper wp equery belongs (only installed packages) or pfl
Поиск по всем пакетам. auto-apt использует эту функцию pacman -F dnf provides apt-file search zypper search -f equery belongs or qfile
Показать список изменений пакета pacman -Qc rpm -q --changelog apt-get changelog rpm -q --changelog equery changes -f

Обновление системы и пакетов Debian:

обновление списка доступных пакетов:

code
apt update

запуск команды обновления пакетов:

code
apt upgrade

обновление дистрибутива

code
apt dist-upgrade

Список файлов директории папки [windows] вывести в текстовый файл:

code
cd /d D:\folder && dir /b /s > D:\folder\filelist.txt

где cd /d — переместиться в каталог | D:\folder - путь к каталогу | && — заодно выполнить следующую команду: /b /s > куда сохранить файл (путь D:\folder\название файла.txt)

Список файлов директории Linux:

code
cd /run/media/user/D/downloads/555_Elena-printsessa-avalora && ls -R > all_files.txt

где cd — переход в необходимую директорию, && ls -R > название_файла.txt — создание файла с нужным названием


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

code
ln -s /etc/nginx/sites-available/site.org.conf /etc/nginx/sites-enabled/

Manjaro:

конфигурация Wine:

code
winecfg

Напрочь удалить все следы пакета (программы):

code
sudo pacman -Rs название пакета && sudo pacman -Scc && sudo pacman -Rsn $(pacman -Qtdq)

Посмотреть системный журнал:

code
journalctl -xe

Обновление ключей

code
pacman-key --refresh-keys

Посмотреть список пакетов

code
pacman -Qdt

Получить информацию о пакете

code
pacman -Qi название_пакета

Обновить ключи

code
sudo pacman-key --init
code
sudo pacman-key --populate archlinux
code
sudo pacman-key --refresh-key
code
sudo pacman -Syy

Аккуратно удалить пакеты, без проверки и удаления всех зависимостей:

code
pacman -Rdd название_пакета

Убрать программу из автозапуска:

code
autostart pulseaudio-alsa

Проверить статус:

code
systemctl --user status название_пакета

Остановить:

code
systemctl --user stop название_пакета
code
systemctl --user stop название_пакета.socket

Отключить:

code
systemctl --user disable название_пакета
code
systemctl --user disable название_пакета.socket

Смотреть как установить PHP 7.4 на Debian 10.


MySQL (MariaDB).

MySQL удалить полностью папку, так как при удалении она может не удалиться:

code
rm -rf /var/lib/mysql/*

Сначала войти через SSH под root или Вашим пользователем, затем войти в MySQL (MariaDB):

code
mysql

Далее команды выполняются ИСКЛЮЧИТЕЛЬНО в среде исполнения команд MySQL (MariaDB)!

Удалить базу данных:

code
DROP {DATABASE | SCHEMA} [IF EXISTS] db-name

Сохранить резервную копию базы данных на диск:

code
mysql -u user_name -p db_name < /usr/local/file.sql;

Узнать какой пользователь сейчас активен:

code
SELECT CURRENT_USER();

Результат:

code
+----------------+
| CURRENT_USER() |
+----------------+
| root@localhost |
+----------------+
1 row in set (0.016 sec)

Создать базу данных MySQL (или MariaDB аналогично):

code
CREATE DATABASE db_name;

Добавить пользователя:

code
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'tap_user_password';

Дать ему привилегии:

code
GRANT ALL ON db_name.* TO 'user_name'@'localhost' IDENTIFIED BY 'tap_user_password' WITH GRANT OPTION;

Сохранить привилегии:

code
FLUSH PRIVILEGES;

Изменить пароль для конкретного пользователя MySQL (MariaDB) [выполнить после "mysql"]:

code
SET PASSWORD FOR 'USER'@'localhost' = PASSWORD('NEW_PASSWORD');

Например:

code
SET PASSWORD FOR 'user0001'@'localhost' = PASSWORD('zxc098sdf45');


Чтобы выйти из управления MySQL (MariaDB), введите:

code
exit;
Linux: Manjaro, Debian — различные команды с примерами и справка