Fast Site Engine

Высокопроизводительная CMS для сайтов.

Сделать сайт

Карта сайта
Переходим на Линукс
Политика конфиденциальности
Сделать сайт на основе Fast Site Engine

Установка
Документация
Список изменений
Лицензионное соглашение

Скачать
О движкеПроизводительностьБезопасностьТехнические требованияSEOКонтакты

Консоль Linux

Консоль Linux абсолютно волшебный и удобный инструмент, позволяющий управлять всей системой короткими командами, причём можно сотворять абсолютно что угодно - от установки программ, до изменения оболочки. Это экономит кучу времени и это главная причина, почему стоит пользоваться консолью.. В Windows чтоб установить программу необходимо прошёлкать сколько-то окон и поснимать галочки, чтоб лишнее не поставилось, здесь же одна команда и получаешь необходимое, тоже можно получить и при установки deb пакетов или из центра программ, или вообще собрать программу из исходников прям в системе - куча возможностей на любой вкус.

Запустить консоль Linux можно запустив терминал (Ctrl+Alt+T зависит от сборки), находится он в
KDE: Пуск (Kickoff) → Система → Konsole (Терминал).
В других: Пуск (Меню) → Администрирование → Терминал
(Или слева при раскрытии меню, зависит от оболочки..)

В файловом менеджере Dolphin и текстовом редакторе Kate консоль (терминал) всегда под рукой, горячая клавиша F4.

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

Например перейдём в директорию и напишем ./start-tor-browser

В Линуксе расширение файла может не быть, исполняемым может быть любой файл у которого стоят разрешения на выполнение (можно выставить правой клавишей в свойствах или chmod +x ./start-tor-browser) в Виндовс обычно исполняемые только .exe и ещё некоторые файлы.

Консоль Линукс

Управление консолью Linux

Часто понадобиться запрашивать привилегии суперпользователя root для многих действий связанных с установкой, изменением файлов итп. Для этого предусмотрен механизм предоставления необходимого количества привилегий, но не более - sudo. Эта команда вводится перед другими и вводится пароль пользователя для разрешения на запуск. В Линуксе везде где производятся существенные изменения - запрашивается пароль.

Имейте ввиду, в целях безопасности консоль Линукс не отображает вводимые пароли, но по факту они вводятся.

В редких случаях и это не советуется, можно запросить права суперпользователя и что-то сделать под ним не вводя каждый раз sudo, если поставить Debian или разные серверные дистрибутивы, в консоли необходимо прописать su, но поскольку в сборках пароль суперпользователя не задан, то можно получить доступ к суперпользователю написав sudo su и свой пароль.

Если ввести любую команду, напрмиер, apt, то можно увидеть описание. Или apt и 2 раза TAB и увидеть только список функций. Если написать man apt попадаем в описание (мануал) к текущей функции. Ещё помощь можно получить в утилитах, к примеру если ввести ls --help

При работе в консоли (терминале) в текстовым редактором nano, чтоб сохранить изменения нажмите закрыть Ctrl+X и подтвердите сохранение, отмена Ctrl+C (во многих случаях прервать любое действие эта команды Ctrl+C или q).

Ctrl+D отключиться (отлогиниться) от текущего пользователя, сервера. Повторное нажатие закрывает консоль.

В любой ситуации не теряйтесь, обычно есть подсказки на экране, что жать..

Для копирования используется сочетание Ctrl+Shift+C, для вставки Ctrl+Shift+V (альтернатива: правая кнопка мышки или Ctrl+Insert с Shift+Insert).

Можно ещё не мучить себя и использовать любой текстовой редактор с графическим режимом:

# Решётка/диезик означает, что всё что дальше не выполнять - это комментарий
kate ~/.config/pulse

# Открыть под суперпользователем
kate sudoedit /var/log/auth.log

Kate умеет сохранять системные файлы по факту сохранения, т.е. просто открывайте в нём любые интересующие файлы и при сохранении вводите пароль и в дамках, без консоли...

Историю команд можно посмотреть введя history, если нажимать стрелки вверх вниз, будут подставляться прошлые введённые команды. Повторить команду можно введя !! (два восклицательных знака, но стрелку вверх и энтер(ввод) быстрее..)

Команды консоли Linux

Никогда не выполняйте команд, назначения которых не понимаете. Команды консоли Linux, дают огромную власть, в том числе и удалить все файлы одной командой..

sudo rm -rf /
# Равноценно
echo "text" | perl -e '$??s:;s:s;;$?::s;;=]=>%-{<-|}<&|`{;;y; -/:-@[-`{-};`-{/" -;;s;;$_;see'

Линукс загружен в память и скорее всего будет работать не смотря на удаление системы, до момента перезагрузки. Кстати, это ещё одно отличие позволяющее обновлять систему на горячую - нет блокировки файлов системой, не требуется постоянных перезагрузок как в Windows.

Типичное использование консоли:

Было несколько раз на старых сборках, после обновления заглючивало оболочку и компьютер отказывался перезагружаться или выключаться, но из консоли подчинился:

# Выключить компьютер
sudo halt

или
sudo init 0

или
telinit 0

или
shutdown -h now


# Перезагрузить
sudo reboot

или
shutdown -r now

Изменение прав и/или владельца можно осуществить через Действия root (Root Actions Servicemenu, не факт что оно есть в системе). Подробнее права Линукс chmod описаны в соседней статье.. (-R рекурсивно пройти по всем файлам/каталогам внутри)

sudo chown -R $USER:$USER /path/to/dir

# Корректней, но группа может отдаваться пустой и она совпадает с пользователем 
sudo chown -R $USER:$GROUP /path/to/dir

# Права 
sudo chmod 755 /path/to/dir

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

cat /etc/*release

# Посмотреть архитектуру
arch

# или 
uname -m

Посмотреть диски в системе:

# Покажет названия с отказом в доступе
fdisk -l

# Выведет полную информацию
sudo fdisk -l

Установка, удаление программ

# Установить пакет/программу
sudo apt install -y name


# Удалить пакет/программу
sudo apt remove -y name


# Удалить пакет/программу вместе с его конфигурационными файлами
sudo apt purge -y name


# Ещё можно явно указанные неиспользуемые зависимости удалить
sudo apt -y autoremove

-y - соглашаться со всеми вопросами установщика, он обычно сообщает всякие глупости, мол необходимо дополнительно будет поставить связанные библиотеки или приложение займёт столько-то места на диске.. В основном используются install и remove. Можно перечислить сразу несколько пакетов для установки sudo apt install -y name1 name2... (если будет сбой в одном из пакетов, то это отменит операции далее)

Посомтреть список недавно установленных/удалённых пакетов/программ

grep " install " /var/log/dpkg.log

grep " remove " /var/log/dpkg.log

grep " purge " /var/log/dpkg.log

Дописать в конец файла

echo -e 'my \n text \n info \n' >> ~/.config/my.conf

Если вместо >> поставить >, то файл перезапишется.

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

# Перезаписать файл
echo "значение" | sudo tee /путь/к/файлу/файл.sh

# Дописать в конец
echo "значение" | sudo tee -a /путь/к/файлу/файл.sh

# Параметр -i игнорировать ошибки.
# Eщё вариант
sudo sh -c 'echo 127.0.0.1 localhost >> /etc/hosts'

echo может иметь иметь опции/параметры:

-e - включить поддержку вывода Escape последовательностей
-E - отключить интерпретацию Escape последовательностей
-n - не выводить перевод строки

Если включена -e, Escape последовательности для вставки специальных символов:

\b - удалить предыдущий символ
\c - удалить перевод строки
\n - перевод строки
\r - символ возврата каретки в начало строки
\t - горизонтальная табуляция
\v - вертикальная табуляция

Внутри bash или .sh скрипта во флаге echo -e нет необходимости, если указан интерпретатор для исполнения сценария(скрипта) #!/bin/sh, консоль использует более новый #!/bin/bash. Есть проблема - обработчик при #!/bin/sh может быть разным и его иногда меняют, следствием скрипты могут давать сбой, поэтому использую только #!/bin/bash !!!

Скопировать фалы rsync:

Как-то словил проблему при копировании на диск с 5900 оборотов и меньшей максимальной скоростью диска, на 7200 оборотов (он на порядок быстрее), видимо переполнение буферов идёт или ещё что-то, винт разгоняет копирование свыше 120-160мб/с и принимающий начинает щёлкать головкой, в то время как на 5900 скоростей свыше 90мб/с не замечал. В итоге помогло ограничение скорости копирования. Выставил чуть меньше 90мб/с и вуаля никаких щелчков. Утилита очень полезна если необходимо передать файл на другой сервер или для передачи файлов с ломающегося диска.

# rsync [опции] [источник] [приемник]
sudo rsync -a --progress /from/ /to/

sudo rsync -aPv --bwlimit=90000 /media/$USER/disk1/Music/ /media/$USER/disk2/Music/

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

sudo rsync -aPv --delete --bwlimit=140000 "/media/$USER/disk1/Подборка книг/" "/media/$USER/disk2/Подборка книг/"

-a, --archive - работа в режиме архивирования, сохраняются права доступа и информация о владельцах.
--partial - сохранять частично переданные файлы.
--progress - показать % выполнения во время передачи.
-P - эквивалент для --partial --progress (сохранять недокаченные файлы, показывать прогресс).
--ignore-existing - пропускать уже существующие на приёмнике disc2 (так можно немного ускорить, например для видео, они точно не меняются).
--delete - удалять те, которых нет на источнике disc1.
--bwlimit=KBPS - ограничение скорости копирования.
-v - показывать подробности.
-c - сравнивать файлы при помощи подсчёта контрольных сумм (по умолчанию по дате и размеру). Выполняется очень долго..
-n - ничего не делать, только показать что будет скопировано.

Линукс постоянно радует такими мелочами, в системе по умолчанию есть большинство необходимого, а Виндовс беги ищи, устанавливай - трать время..

Навигация и операции с файлами

Возможно пригодится и знание базовых команд для перемещения и управления файлами..

Специальные обозначения в консоли

Клавиша TAB во время набора текста - автозаполнение..

Поздравляю, с этого момента ты продвинутый пользователь Linux : )



© Все права защищены 2004 - 2024