Ubuntu / Debian. Команды и другие полезности.

25.04.2018


Всем привет. В преддверии выхода Ubuntu 18.04 LTS захотелось собрать всё полезное что раскидано по заметкам и сделать годный обновляемый справочник по терминальным командам и не только. Все команды протестирую на свежей beta версии Ubuntu Server 18.04. Кстати в этой версии «OpenSSH server» сразу устанавливается по умолчанию. И так поехали:

Скачать UBUNTU можно тут!

# Основные команды системы:


sudo - выполняет команду как root, что означает отсутствие ограничений из-за прав доступа.
Например:
sudo reboot - Перезагрузить машину
sudo poweroff - Выключить машину

sudo –s
Эта команда позволяет переключится на пользователя root. Так можно просто писать команды без «sudo».

uname -sr
о системе «ядро»

lsb_release -a
версия дистрибутива

uptime -p
время работы системы:

who -b
в какое время загрузилась система

whoami
информация о текущем пользователе

pwd
показывает текущее место нахождение (директория)

cd смена текущего каталога например уходим в пользовательский каталог с текущего места: cd /home/user

nano - дружелюбный к новичкам консольный текстовый редактор, использующий комбинации клавиш для эмуляции меню. найти по тексту: Ctrl+W; сохраниить: Ctrl+O; закрыть файл: Ctrl+X
пример команды: nano /etc/passwd

/etc/passwd
файл с пользователями, чтобы отредактировать (nano /etc/passwd)

/etc/shadow
файл с паролями чтобы отредактировать (nano /etc/shadow)

cat
вывод содержимого файла

cat /etc/passwd
вывод информации о всех учетных записях в системе

cat /etc/group
информация о всех группах пользователей в системе

less или more
вывод файла постранично, например, «less /var/log/syslog» или «more /var/log/syslog». Для выхода жмём «Q»

exit - выходит из текущей программы, прекращает работу текущего терминала командной строки или отсоединяет вас от Unix-сети в зависимости от обстоятельств использования.

kill - завершает выбранный выполняющийся процесс. Аналог соответствующей опции в Диспетчере задач Windows.

ls - перечисляет содержимое выбранной директории. Если директория не выбрана, используется текущая директория.

man - от слова manual и предоставляет вам детализированную информацию о командах и различных аспектах Linux.

ls -l
выдаёт размер всех файлов в текущей (.) директории

ls -li
выдаёт размер всех файлов в текущей (.) директории вместе с айнодами

ls -al /etc/ | less
Выводит содержимое каталога /etc/ постранично. Чтобы перейти к следующей странице, нажмите клавишу «Пробел»; чтобы вернуться к предыдущему экрану, нажмите «B»; чтобы выйти из режима просмотра, нажмите «Q». Можно воспользоваться клавишами со стрелками.
Чтобы осуществить поиск по выводимому командой less текстовому файлу, нажмите [/] и введите слово, которое хотите найти в тексте. Например: /udev

history
Показывает историю всех команд

df –h
Показывает информацию о разделах диска – конкретно в строчке с корневым «/» можно узнать сколько всего занято и свободно дискового пространства.

sudo fdisk –l
детальная информация о дисках

fdisk -l | grep sd
Показывает информацию о разделах.

fsck - проверка файловой системы
пример проверки устройства sdb1, при этом это устройство не должно быть смонтировано:
sudo fsck /dev/sdb1

swapon -s
информация о «swap» файле, да теперь о файле «/swap.img» а не о разделе, это нововведение в новой Ubuntu.

blkid
Эта команда позволяет выяснить «UUID» смонтированных устройств.

tail -f /var/log/syslog
Последние события системного лога в реальном времени.

free -h
статус оперативной памяти и swap.

cat /proc/cpuinfo | grep "model name" -m1 | cut -c14-
информация о процессоре

cat /proc/cpuinfo | grep processor | wc -l
Сколько ядер в системе

ps ax | grep p
запущенные процессы в системе

ftp / sftp - подключается к удаленному FTP-серверу, чтобы передать или загрузить какие-либо файлы.

wget - загружает файлы из Интернета по заданному URL на вашу систему.

grep
С помощью grep очень удобно просматривать конфигурационные файлы, например команда
grep ^[^#]. /boot/grub/menu.lst - покажет все опции без закомментированных строк (начинающихся со значка "#") в конфигурационном файле загрузки.
А команда
grep ^#. /boot/grub/menu.lst - напротив, покажет одни закомментированные строки (начинающиеся со значка "#").
####


# Сеть


hostname
Узнать имя компьютера

hostname -I
Узнать свой IP адрес

ifconfig
или
ip addr
информация о сетевых настройках

ip link
информация о всех сетевых интерфейсах, даже которые «down»

*******
Узнать IP адрес ресурса по DNS имени:

host vk.com
nslookup vk.com
dig vk.com

Про SSH:

ssh user@host – подключится к host как user
ssh -p port user@host – подключится к host на порт port как user
ssh-copy-id user@host – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Смена порта:
/etc/ssh/sshd_config

****************************************
/var/log/auth.log - лог входов
/var/log/audit.log. Здесь фиксируются все неудачные попытки входа в систему, и в том числе по ssh

***********************
Немного про безопасность SSH и PUTTY:

Для установки удаленного подключения к нашему серверу с вашего компьютера из локальной сети, а при желании и из интернета с вашего домашнего компьютера, настроим ssh. Основной файл настроек ssh, /etc/ssh/sshd_config. Для обеспечения контролируемого доступа к нашему серверу давайте немного отредактируем этот файл: Прежде всего, изменим порт, на котором слушает ssh (по умолчанию 22) на любой другой, кроме 80,443,445,25,8080,3128,3129, так как они используются другими сервисами. Пусть, к примеру, это будет 1972. Ищем строку:


#Port 22

Удаляем знак решетки (#), если он присутствует, и приводим к такому виду:

Port 1972

Protocol 2 - запрещаем использование устаревшего и менее безопасного протокола SSH1, разрешив только вторую версию протокола
PermitRootLogin no – добавляем эту опцию для запрета авторизации под пользователем root.

Остальные настройки оставляем без изменений.
После внесения изменений, сохраняем файл и перезапускаем службу ssh.

sudo service ssh restart

Прежде чем отключать наш сервер от клавиатуры и монитора, проверим работоспособность удаленного подключения.

Немного полезности о команде netstat

Если мы хотим узнать какой процесс какой занял порт и на какой внешний IP делает запросы, то мы можем воспользоваться командой netstat, которая входит в пакет net-tools. netstat выполняется от имени супер пользователя (sudo).

Сначала установим этот самый пакет
sudo apt install net-tools

Простое выполнение команды netstat выдаёт слишком много данных, поэтому нужно сразу задаться конкретной целью выборки, например:

Выбрать TCP и UDP соединения:
sudo netstat –tup

Если мы хотим отображение внешних адресов только в виде IP то:
sudo netstat –tupn

Если нам надо в реальном времени наблюдать, то можно так:
sudo watch –n 0.5 sudo netstat -tupn
или так, если надо видеть буквенный адрес
sudo watch –n 0.5 sudo netstat –tup

Теперь представим, что нам нужно вести лог результатов этой команды:
Сначала создадим файл лога:
sudo touch /var/log/watchnet.log
затем команда:
sudo watch –n 0.5 "sudo netstat -tup | tee -a /var/log/watchnet.log"
а теперь глянем на лог:
less /var/log/watchnet.log


# Выключение / перезагрузка

грамотное выключение: sudo shutdown -P now
грамотный reboot: sudo shutdown -r now
sudo shutdown -h +5 "Компьютер будет выключен через 5 минут"
точное время выключение, например в девять вечера:
sudo shutdown -h 21:00
shutdown [опции][время] [сообщение]
Опции:

--help - вывести справку по программе-H,
--halt - отключить питание, не завершая процессы и не перемонтируя файловые системы
-P, --poweroff - нормальное выключение
-r, --reboot - перезагрузка
-k - не выполнять реальных действий, а только вывести сообщение
--no-wall - выключить компьютер, но не выводить сообщение
-c - отменить запланированное выключение linux

# Работа с процессами

Выполнение консольных команд в фоне:

Важный момент: если в SSH сеансе запустить задачу в фоне и затем выйти из SSH сеанса, то задача остановится, чтобы не останавливалась нужна команда nohup, пример:

nohup apt-get upgrade &

Амперсанд (&) в конце отправит выполнение команды сразу в фон (либо нажмём CTR+Z и затем bg)

jobs = посмотреть список фоновых задач (только в текущем сеансе консоли, те после exit он забудет все задачи)

fg = достать программу из фона (в jobs узнаём номер) (вернуть задачу из фонового режима)
fg № = достать задачу №

bg = продолжить выполнение в фоне (в jobs узнаём номер) (вернуть задачу в фоновый режим)

Ctrl-z = увести программу в бэкграунд
также можно просто дописать в конце амперсант &

bg = продолжить её выполение в фоне

********************************

screen - оконный менеджер терминала, несколько окон в пределах одного терминала. (Но как вариант можно просто запустить несколько окон PUTTY)

Пишем screen - команда открывает новый отдельный экран, запускаем какой-либо процесс или команду затем жмём CTRL+A и D, что вернёт нас в предыдущий активный терминал.
screen -r - вернёт нас в скриновый сеанс терминала
exit - завершает скриновое окошко терминала.

Чтобы запустить несколько скринов:
screen -S ПСЕВДОНИМ команда.
CTRL+A затем D
screen -S НОВЫЙПСЕВДОНИМ команда.
CTRL+A затем D

screen -ls - список запущенных скринов.

screen -r ПСЕВДОНИМ - вернуться к какому-либо скрину


# Пользователи и группы

# Создать пользователя с каталогом в /home:
sudo useradd ЮЗЕР -m

# Переименовать пользователя:
usermod -l НОВОЕИМЯ ЮЗЕР

# Создать пользователя с заданием названия группы:
sudo useradd ЮЗЕР -m -g ГРУППА

# Задание пароля для пользователя:
sudo passwd ЮЗЕР

# Удалить пароль пользователя (установка пустого пароля ключ -e):
sudo passwd -d ЮЗЕР

# Удалить пользователя:
# ключ -f Принудительно удалить пользователя, даже если он сейчас работает в системе.
# ключ -r Удалить домашний каталог пользователя.
sudo userdel ЮЗЕР

# Сменить пользователя (после su тире или минус):
su - ИМЯ ПОЛЬЗОВАТЕЛЯ

# Создание новой группы:
sudo groupadd ГРУППА

# Сменить название группы:
sudo groupmod -n НОВОЕНАЗВАНИЕ ГРУППА

# Удаление группы (не забываем сначала убрать из неё всех пользователей):
sudo groupdel ГРУППА

# Cоздать пользователя без возможности взаимодействовать с shell и без домашнего каталога:
# При этом нужна добавленная строка /bin/false в файле /etc/shells

useradd ЮЗЕР -d /dev/null -s /bin/false

# Добавить существующего пользователя в существующую группу:
sudo usermod -a -G ГРУППА ЮЗЕР

# Удалить существующего пользователя из группы:
sudo gpasswd -d ЮЗЕР ГРУППА

# Заблокировать пользователя:
sudo passwd ЮЗЕР -l

# Разблокировать пользователя:
sudo passwd ЮЗЕР -u

вывести всех "созданных" пользователей в сокращённом виде:

grep home /etc/passwd | cut -d: -f1

инфа о пользователе:
id ПОЛЬЗОВАТЕЛЬ

# Файлы и каталоги

# Создать файл сразу в консоли:
cat > ФАЙЛ

- вводим текст
- нажимаем Ctrl+D (EOF)

# Создать файл:
touch ФАЙЛ
- затем через редактор (например nano) заполняем его
nano ФАЙЛ

КАК СДЕЛАТЬ ФАЙЛ ИСПОЛНИТЕЛЬНЫМ!
chmod u+x ПУТЬФАЙЛ

если мы хотим, чтобы файл могли выполнять и другие пользователи, нужно указать также категории: g и o:
chmod ugo+x ПУТЬФАЙЛ

Снять флаг исполняемого файла: chmod u-x ПУТЬФАЙЛ

# Найти файл (find или locate):
find ФАЙЛ

или например найти все файлы в конце которых .gz
find . -name "*.gz"
# Удалить файл:
rm ФАЙЛ

# Удалить файл без вопросов:
rm -f /home/ЮЗЕР/ФАЙЛ

инфа о правах на файле/каталоге:
stat ФАЙЛ

изменить владельца файла:
sudo chown НОВЫЙЮЗЕР ФАЙЛ

изменить владельца на каталоге:
sudo chown -R НОВЫЙЮЗЕР КАТАЛОГ

изменить группу файла:
sudo chown :НОВАЯГРУППА ФАЙЛ

изменить сразу и владельца и группу файла:
sudo chown НОВЫЙЮЗЕР:НОВАЯГРУППА ФАЙЛ

длбавить владельцу права на запись:
chmod u+w ФАЙЛ

отнять у всех (владелец, группа, остальные)(ugo - user,group,other) право на исполнение (x):
chmod ugo-x ФАЙЛ

Как сделать чтобы были права на запись в каталог но удалить какой-либо файл или каталог было нельзя!
При этом вносить изменения в файл можно! (666 права на файле) а удалить нельзя.
sudo chmod o+t КАТАЛОГ

где:
o - означает что действие распространяется на other, т.е. пользователей которые не входят в группу назначенную этому каталогу и не являются владельцами.
Также есть биты позволяющие запускать кому угодно файл от имени его владельца, или от имени группы (suid бит и sgid бит)
например:
chmod u+s ФАЙЛ
где: u - означает что мы хотим чтобы запускалось от имени владельца, а
s - прописываем для этих целей suid бит.

или
chmod ug+s ФАЙЛ - в таком случае файл будет выполнятся и от имени пользователя и от имени группы одновременно, при том что эти действия делает ни владелец и даже не входящий в разрешенную группу пользователь!

Смена пользователя (в данном случае меняю пользователя на mradmin):
sudo chown -R mradmin:mradmin /путь_к_папке

# Создать каталог:
mkdir КАТАЛОГ

# Создать каталог сразу с путём:
mkdir -p /home/ЮЗЕР/КАТАЛОГ1/КАТАЛОГ2/

# Рекурсивно скопировать каталог (т.е. с подкаталогами):
cp -R /home/ЮЗЕР/КАТАЛОГ1 /home/ДРУГОЙЮЗЕР/

# Не рекурсивно скопировать каталог (т.е. без поддиректорий):
cp -a /home/ЮЗЕР/КАТАЛОГ1 /home/ДРУГОЙЮЗЕР/

# Переместить каталог:
mv /home/ЮЗЕР/КАТАЛОГ1 /home/ДРУГОЙЮЗЕР/

# Переименовать каталог:
mv /home/ЮЗЕР/КАТАЛОГ1 /home/ЮЗЕР/КАТАЛОГ2

# Удалить каталог:
rm -rf /home/ЮЗЕР/КАТАЛОГ1/КАТАЛОГ2/

Смена владельца и права
# Для того чтобы проверить права набираем:
ls -la

# Рекурсивная смена владельца директории:
sudo chown -R ЮЗЕР:ГРУППА /путь_к_папке

# Рекурсивная смена прав на директорию 777:
# При этом: владелец, его группа и все остальные имеют полные права.
sudo chmod -R 777 /путь_к_папке

chmod ugo+rwx РАВНОСИЛЬНО chmod 777

# Рекурсивная смена прав на директорию 774:
# При этом: владелец и его группа имеют полные права, а остальные только читают.
sudo chmod -R 774 /путь_к_папке

# Рекурсивная смена прав на директорию: 744
# При этом: владелец имеет полные права, его группа и все остальные имеют права только на чтение.
sudo chmod -R 744 /путь_к_папке

chown - установка владельца на файле или каталоге
chgrp - смена группы на файле или каталоге
chmod - установка прав доступа на файле или каталоге

stat КАТАЛОГ - посмотреть права на папку

Посмотреть тип файла:
file ИМЯФАЙЛА

cat > file
- вводим текст
- нажимаем Ctrl+D (EOF)

ls folder > result.txt
вывести список файлов из каталога folder в текстовый файл result.txt

ls folder > result.txt 2> error.txt
вывести список файлов из каталога folder в текстовый файл result.txt и если будет ошибка то вписать её в error.txt

touch - создать файл
===============
создать каталог = mkdir
создать каталог с путём= mkdir -p /home/admin/dir1/dir2/
удалить каталог = rm -rf /путь
=============
копирование
cp
-v = подробный вывод
-r = с подкаталогами рекурсивно
-p = сохранять разрешения (например 755)

===================
перемещения по каталогам
cd
сразу домой
cd ..
на уровень выше
cd –
перейти в предыдущий каталог
===========

Важно: чтобы попасть внутрь папки на ней должны стоять права x (на исполнение)!

Отображение через ls -l
-rwxrwxrwx - полный шаринг на файл для всех (666)
drwxrwxrwx - полный шаринг на каталог для всех (777)

# Разное

подогнать разметку диска в системе под размер вашей SD карточки. Пригодится при использовании на микрокомпьютерах.
sudo fs_resize

# Дата и время:

Важно: Аппаратное время система берёт только при старте а после загрузки идёт синхронизация с интернетом. Т.е. могут быть постоянные расхождения.

Для смены часового пояса воспользуемся пакетом tzdata. Для начала обновим нашу систему, чтобы обновился в том числе и сам пакет tzdata, так как он периодически обновляется в случае обновления часовых поясов в разных странах!
apt update && apt upgrade -y

узнаём текущее время в терминале:
date

также можно узнать и сам текущий часовой пояс:
cat /etc/timezone

Меняем часовой пояс:
dpkg-reconfigure tzdata

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

apt install ntpdate
sudo ntpdate 0.ubuntu.pool.ntp.org

И если мы в основной операционной системе, а не в виртуалке, то запишем скорректированное время в биос:

sudo hwclock -w

После этого стрелкой вверх возвращаем команду date из удостоверимся в правильности настроек нашего времени!

сервера:
server 0.ru.pool.ntp.org
server 1.ru.pool.ntp.org
server 2.ru.pool.ntp.org
server 3.ru.pool.ntp.org

# Основные команды новой apt:

list - список пакетов
search - поиск пакетов по имени
show - показать подробную информацию о пакете
update - обновить списки доступных пакетов
install - установить пакет
remove - удалить пакет
upgrade - установить доступные новые версии пакетов
full-upgrade - полное обновление системы
edit-sources - редактировать файл источников программного обеспечения

Обновление системы:

sudo apt update && sudo apt upgrade -y

sudo apt update && sudo apt full-upgrade -y

sudo apt update && sudo apt dist-upgrade -y && sudo apt-get autoremove -y && sudo apt-get autoclean

до следующего релиза:
$ sudo update-manager -d

Подчистить пакеты:
sudo dpkg-reconfigure -a

Для удаления пакета вместе с его конфигурационными файлами, выполните:
$ sudo apt-get remove имя_пакета

А чтобы, также удалить зависимости, установленные вместе с пакетом, нужно после одной из предыдущих команд выполнить:
$ sudo apt-get purge имя_пакета

Так будут удаленны не только явно указанные зависимости, но и программы, установленные как рекомендованные:
$ sudo apt-get autoremove

Удалить не используемые пакеты из кэша:
$ sudo apt-get autoclean

Очистка кэша Ubuntu, утилиты apt:
$ sudo apt clean

# поиск

find - точный поиск
locate - содержащий искомые символы (ищет далеко не везде)

например найти все файлы в конце которых .gz
$ find . -name "*.gz"

# Архивация

ЕСЛИ ПАКУЕМ ТОЛЬКО ОДИН ФАЙЛ:

запаковка зипом (*.gz):
gzip имяфайла

распаковка (при этом файл.gz исчезает):
gunzip имяфайла.gz

запаковка bzip2 (*.bz2) (более мощное сжатие):
bzip2 имяфайла
распаковка (при этом файл.bz2 исчезает):
bunzip2 имяфайла.bz2

ЕСЛИ ПАКУЕМ Несколько файлов (tar):

Запаковать папку folder в текущей папке в archive.tar
tar cvf archive.tar folder

Запаковать с использованием gzip папку folder в текущей папке в archive.tar.gz
tar cvfz archive.tar.gz folder

распаковка для обоиз случаев:
tar xvf archive.tar

Или ещё вот так
tar cf file.tar files – создать tar-архив с именем file.tar содержащий files
tar xf file.tar – распаковать file.tar
tar czf file.tar.gz files – создать архив tar с сжатием Gzip
tar xzf file.tar.gz – распаковать tar с Gzip
tar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 – распаковать tar с Bzip2
gzip file – сжать file и переименовать в file.gz
gzip -d file.gz – разжать file.gz в file

# Диспетчер задач

apt install htop

затем запускаем его
htop

где:

PID - идентификатор процесса
USER - пользователь, от которого был запущен процесс
PRI - приоритет процесса linux на уровне ядра (обычно NI+20)
NI - приоритет выполнения процесса от -20 до 19
S - состояние процесса
CPU - используемые ресурсы процессора
MEM - использованная память
TIME - время работы процесса
///////////
Для поиска процессов в htop можно использовать также фильтр htop. Нажмите F4, введите слово и будут выведены только процессы linux, имя которых включает это слово.
///////////////
Если процесс завис и не отвечает, его необходимо завершить. В htop, чтобы убить процесс Linux, просто установите курсор на процесс и нажмите F9

***************

# Великая dd

Сначала смотрим на буквы разделов
df -h

Заливаем образ на SSD или HDD диск
dd if=/home/user/ваш_образ.iso of=/dev/sdx bs=10М status=progress

снимаем образ с оптического диска:
dd if=/dev/cdrom of=/home/user/image.img
или в iso:
dd if=/dev/cdrom of=/home/user/image.iso

Монтирование образа «file.iso» в каталог «/mnt»:
mount /home/user/file.iso /mnt

принудительное размонтирование:
sudo umount -l /mnt
******************************

Залить образ на флешку

$ dd if=/home/user/ubuntu-server-16.04_amd64.iso of=/dev/sdb1
или

$ dd if=/home/user/ваш_образ.iso of=/dev/sdx bs=5M

sudo dd if=image_name.img of=/dev/sdx bs=4M
####
снять образ с флешки
sudo dd if=/dev/sdx of=image_name.img bs=4M

Другие варианты:
sudo dd if=image_name.img of=/dev/sdX bs=1M oflag=direct
#####
dd bs=1M if=image_name.img iflag=fullblock | pv | dd bs=1M of=/dev/sdX oflag=direct

***************
Хотим заменить жесткий диск? Нет ничего проще, копируем содержимое одного файла блочного устройства в файл другого блочного устройства:
dd if=/dev/sda of=/dev/sdb
И не нужно никаких Partition Magic.
*************************

# Великая tasksel


Позволяет выбрать пакет для установки, например, можно на сервер поставить графическую оболочку. Вы можете выбрать требуемые группы нажав пробел.
tasksel --list-tasks Покажет доступные роли для системы.

apt install tasksel
tasksel



# scp - копирование файлов через ssh

Утилита для передачи файлов через ssh.

Например:
Скопировать локальный файл на сервер:
scp file.gz root@server.my:/home/dir

Скопировать всё содержимое папки на сервере (рекурсивно) в локальную папку (с подробным выводом):
scp -r root@server.my:/home/dir/ /home/local/my/

Между серверами:
scp -r root@server1.my:/home/dir/ root@server2.my:/home/dir/

С указанием порта:
scp -P 9999 file.zip user@server.my:~/

Дополнительные флаги

-r - рекурсивное копирование (для директорий)
-C - использовать сжатие при передачи
-P - порт ssh
-P большая! и -P указывает перед ssh хостом.
-p - сохранить информацию о времени создания, модификации файла.
Для передачи файлов часто бывает лучше использовать утилиту rsync.

# жёсткие ссылки

Как создать у себя в домашнем каталоге каталог где будут лежать СИНХРОННЫЕ КЛОНЫ всех конфигов в одном месте! А сделать это можно через жёсткие ссылки:

например жёсткая ссылка на конфиг самбы:

ln /home/myuser/konfigi/samba_clone /etc/samba/smb.conf

ещё можно создать простой ярлык:

ln -s /home/myuser/konfigi/samba_clone /etc/samba/smb.conf

Важно: С одной файловой системы в другую жёсткую ссылку сделать нельзя

# Структура файловой системы

/ -корневая файловая система, самый большой раздел;
/bin - базовые бинарники команд;
/sbin - основные программы настройки системы;
/boot -загрузочный раздел;
/dev - устройства
/home -домашние папки;
/root - домашняя папка суперпользователя;
/etc - конфигурация нашей системы и её компонентов;
/lib - библиотеки и модули ядра;
/opt - папка для ПО от третьих поставщиков;
/var - часто меняющиеся данные;
/usr - все установленные пакеты программ, документация, исходный код ядра;
/srv - данные для системных служб;
/proc - информация о работающей системе;
/media - по правилам хорошего тона туда монтируем съёмные носители (flash, cdrom)
/mnt -по правилам хорошего тона туда монтируем жёсткие диски или сетевые диски.
/tmp - временные файлы.

# Консольные команды для Desktop версии


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

sudo apt install ubuntu-restricted-extras libavcodec-extra libdvd-pkg
или
sudo apt install ubuntu-restricted-extras
sudo apt –no-install-recommends install libdvd-pkg
sudo dpkg-reconfigure libdvd-pkd

Архиваторы
sudo apt-get install p7zip-rar rar unrar unace arj cabextract

Установка flash
sudo apt install adobe-flashplugin

Удаление AMAZON
sudo apt purge ubuntu-web-launchers

Удобные менеджеры пакетов
sudo apt install synaptic gdebi

VLC
sudo apt install vlc




------------------------------------------------------- --------------------------------------------------------------------------
счетчик посещений