# Linux | Max Wiki Site

# Очень полезные команды Linux на одном листе

## Системная информация

Команда | Описание
--- | ---
arch | отобразить архитектуру компьютера
uname -m | – // –
uname -r | отобразить используемую версию ядра
dmidecode -q | показать аппаратные системные компоненты - (SMBIOS / DMI)
hdparm -i /dev/hda | вывести характеристики жесткого диска
hdparm -tT /dev/sda | протестировать производительность чтения данных с жесткого диска
cat /proc/cpuinfo | отобразить информацию о процессоре
cat /proc/interrupts | показать прерывания
cat /proc/meminfo | проверить использование памяти
cat /proc/swaps | показать файл(ы) подкачки
cat /proc/version | вывести версию ядра
cat /proc/net/dev | показать сетевые интерфейсы и статистику по ним
cat /proc/mounts | отобразить смонтированные файловые системы
lspci -tv | показать в виде дерева PCI устройства
lsusb -tv | показать в виде дерева USB устройства
date | вывести системную дату
cal 2007 | вывести таблицу-календарь 2007-го года
date 041217002007.00 | установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)
clock -w | сохранить системное время в BIOS

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

| Команда | Описание |

gdoc_arrow_right_alt

# iptables

Различные настройки iptables

- Полезные примеры
  .

## MASQUERADE

    iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j MASQUERADE

## Разрешить подключения к нужным портам

    iptables -A INPUT -p tcp --dport 22 -j ACCEPT

где 22 - это порт, который надо открыть

gdoc_arrow_right_alt

# Решение разных проблем

## NetworkManager не управляет сетью по различным причинам

В случае, если интерфейсов немного. Например, как на обычном компьютере то быстро исправить проблему можно следующим образом. В файл `/etc/network/interfaces` добавить следующие настройки для нужного проводного интерфейса:

    auto eth0
    iface eth0 inet dhcp

Таким образом будет инициализировать интерфейс eth0 без участия NetworkManager.

gdoc_arrow_right_alt

# Список команд POSIX и их описание

Название | Краткое описание
--- | ---
type | Выводит тип команды (внутренняя, внешняя, alias)
set | +x - включение расширенного логирования для команд _
-x - выключение логирования для команд |
whatis | Краткое описание команды
apropos | описание команд по поиску
who am i | Информация о текущем пользователе
w | Информация о подключённых пользователях
mkdir -p | Создание вложенных директорий
stat | Информация из inode
ls -i | Показ inodes в списке
lsof | Список открытых файлов
df -i | Показывает использование inodes
touch | Изменение даты создания файла
file | Информация о файле
strings | Показывает все читаемые символы (разные операции со строками)
profile | В текущем каталоге пользователя
env _ |
export | Показ переменных окружения (и задания для последующей команды)
set | bash и системные переменные
unset | Очистка переменной
source | Выполнение из файла
tee | Перенаправление потока вывода в файл и дальше в поток вывода по pipe
wc | Подсчёт слов, строк, символов
strace | Трассировка вызова команд
sort | Сортировка строк:
| -n сортировка как чисел (-t - разделитель)
| -u вывод только уникальных значений
| h сортировка значений, представляенных в удобном для человека виде. Например, вывод команды ls -lh
tr | Замена символов
sed | Изменение символов на потоке
awk | Мощный редактор обработки строк. Например:
| -F: разделитель
paste | Объединение файлов в виде колонок
split | Разделение файлов на отдельные
comm | Сравнение сортированных файлов
diff | Сравнение файлов построчно
ps | Просмотр запущенных процессов
| -L - количество запущенных потоков
ulimit | Ограничения процессов пользователя
nice | Задание приоритета
renice | Установка приоритета для запущенного процесса
vmstat | Информацияо памяти
fuser | Процессы, использующие указанную директорию
pkill |
ldd | Показывает какие библиотеки использует программа
LD_LIBRARY_PATH | Переменная указывающая пути, в которых ищутся библиотеки
find | Поиск файлов
| -iname - регистронезависимый поиск
| -exec - выполнить команду с результатами поиска в качестве результатов
tar | Архиватор, разорхиватор
slevipt??? | Запись терминала УТОЧНИТЬ!
dd | disk dump - Утилита для работы с диском
run level |
telinit | Изменение уровня загрузки (/etc/rc.d/init.d)
chkconfig | Статус сервисов
sysctl | Настройка ядра (/etc/sysctl.config)
systemctl | Управление systemd
journalctl | Чтение журнала операционной системы
cron | Демон расписания
af | Отложенное выполнение по времени
vimtutor | Обучение Vi
Ctrl+z | Остановка процесса
bg | Перевод процесса в фоновый режим
fg | Перевод процесса обратно на консоль
nohup | Отвязка процесса от консоли
nstat | Сетевая информация
| -r - показ таблицы маршрутизации
nslookup | Определение IP по имени хоста
dig | Получение информации по домену
host | Как nslookup, только сокращённая информация

`/etc/resolv.conf` - настройка DNS.

gdoc_arrow_right_alt

# Установка проприетарных драйверов NVidia

1. Добавить этот
   репозиторий.

       sudo add-apt-repository ppa:graphics-drivers/ppa
       sudo apt-get update

2. Поставить родные драйверы от NVIDIA:

       sudo apt-get install nvidia-<actual_number>

3. Удалить свободные драйвера для NVIDIA:

       sudo apt-get purge nouveau

4. Перегрузиться. Проверить, что в меню настроек появились настройки NVIDIA. Открыть, проверить, что видеокарта определилась нормально.

> Если после этого blender не определил видеокарту, нужно будет доставить `nvidia-cuda-toolkit`:

>     sudo apt-get install nvidia-cuda-toolkit

> После этого должно всё заработать.

gdoc_arrow_right_alt

# Настройка swap

## Процент, при котором информация из памяти скидывается в swap

Информация взята отсюда

Обычно рано или поздно у всех возникает вопрос: “Почему начинает заполнятся swap, когда у меня ещё много свободной оперативной памяти?”. И вот тут нам приходит в помощь такой параметр, как `vm.swappiness`. Для начала в консоли выполним команду:

gdoc_arrow_right_alt

# Оптимизация KDE5

Оптимизация KDE 5

## Решение проблем кривой табуляции в консоли

Если в приложении Konsole съехала табуляция (например расстояние между курсором и последним символом увеличивается по мере набора), то, скорее всего проблема в шрифте. Чтобы исправить ситуацию нужно поменять шрифт. Для этого в меню открываем Настройка/Настроить профиль…. Далее:

gdoc_arrow_right_alt

# Полезные установки

## Установка Oracle Java

Про разные способы установки написано здесь
. Чтобы установить родную Oracle Java необходимо добавить репозиторий ppa:webupd8team/java со скриптом установки:

gdoc_arrow_right_alt

# Настройка hibernate на linux без использования swap раздела

Взято отсюда
.

Для начала надо проверить поддержку спящего режима:

    systemctl hibernate

Если выдаётся ошибка типа `Failed to hibernate system via logind: Sleep verb “hibernate” not supported”`, то, скорее всего, в BIOS включён secure boot. Необходимо его отключить.

Современные дистрибутивы, как правило, используют swap файл, а не swap раздел.

## Настройка файла swap

### 1. Создать файл нужного раздела

    sudo dd if=/dev/zero of=/swapfile count=16384 bs=1MiB

где:

gdoc_arrow_right_alt

# Установка Firefox из репозитория

## От самой Mozilla

Установка .deb-пакета Firefox для основанных на Debian дистрибутивов

Чтобы установить пакет .deb из репозитория APT, сделайте следующее:

1. Создайте директорию для хранения ключей репозитория APT, если её ещё нет:

       sudo install -d -m 0755 /etc/apt/keyrings

2. Импортируйте подписанные ключи APT-репозитория Mozilla:

gdoc_arrow_right_alt