# Основные команды Linux ## Основные термины - ```ctrl shift c ```, ```ctrl shift v``` - **Репозиторий** - - ## Файлы и каталоги Общее:\ **`etc`**- все кинфиг.файлы сервесов ОС(список репозиториев) ```bash cat etc/apt/sources list #(список репозиториев) ``` **`boot`**- загрузчик(графика, разрешения) **`media`**- флешки и другие накопители **`mnt`**- для самостоятельного примонтирования накопителей ```bash mount / umount #для монтажа и отключения любых файловых систем ``` **`opt`**- общие тяжелые программы (ставим сами, редко по умолчанию) **`usr`**- все проги, которыми можно пользоваться юзерам ```bash ls /usr/bin #(список прог) ls /usr/bin | grep _ввод_ # искать в списке по названиям ``` **`df`**- (Disk Free). Даёт полную информацию о свободном пространстве на диске. Анализ включает перечисление файловых систем смонтированных разделов, обзор занятого и свободного места на диске. ```df -h``` **`df`**- (Disk Usage). Позволяет определить размер файла или каталога. Применяется в вместе с дополнительными операторами: ```bash df –h #представляет данные о размере в удобном для восприятия формате; ``` ```bash df –s #даёт необходимый минимум данных; ``` ```bash df –d #задаёт глубину рекурсии для каталогов. ``` --- ### **cd** **`root`**- суперпользователь ```bash sudo -i # зайти под суперпользователем ``` ```bash sudo su # для запуска всех указанных программ под супполь ``` **`chmod`**- (Change Mode). Изменяет разрешения доступа к файлу. Под доступом имеется в виду классическая триада: - чтение r - изменение w - запуск x ```bash chmod разрешения имя_файла # Кроме того, разрешения могут включать информацию о владельце (u / g / o / a) и операции с правами (+ / — / =). ``` | Вид разрешения | Символьный код | Числовой код | ------------- | -------------: | -------------: | | Нет допуска | — | 0 | Чтение | r— | 4 | Изменение | -w- | 2 | Запуск | —x | 1 | Запуск + Изменение | -wx | 3 | Чтение + Запуск | r-x | 5 | Чтение + Изменение| rw- | 6 | Запуск + Изменение + Запуск | rwx | 7 --- **`neofetch`**- данные о компьюетере: память, версия ПО, ядро (kernel), ОС (OS), разрешение экрана и др. **`&&`**- как или , выполнение одной команды за друго ```bash sudo su # команда_№1 && команда_№2 && команда_№3 ``` ### **ls** - (List) посмотреть, что содержится в папке - Без указания конкретного пути показывает текущий каталог - Если путь указан, то в конечный каталог\ ```bash ls -l # Вывод каталога в виде списка ``` ```bash ls -a # Для показа скрытых файлов ``` ```bash ls -h # показать папки в директории в удобном формате + скрытые файлы ``` --- ### **cat** чтение файлов (Concatenate / Catenate). Показывает на экране что содержит файл или стандартный ввод. Также к «склеивает» несколько переданных подряд файлов в один. - Если нужно посмотреть содержимое одного файла, вводим: ```bash cat имя_файла ``` - Если нужно узнать содержимое нескольких файлов подряд: ```bash cat файл_№1 файл_№2 файл_№3 ``` Для «склейки» файлов, вводим: ```bash cat файл_№1 файл_№2 > файл_№3 ``` Чтобы задать нужное количество строк в показанном: ```bash cat -n ``` --- ### **cd** (Change Directory). Меняет текущий каталог, в котором работает терминал на указанный. - Когда терминал запущен, он использует по умолчанию корневой каталог (root), вернуться в который можно, набрав: ```bash cd ~ ``` Чтобы указать другую папку для работы с файлами, нужно ввести: ```bash cd адрес_папки ``` Чтобы подняться по древу каталогов на уровень вверх набираем/ чтобы вернуться к предыдущей директории: ```bash cd .. / cd - ``` --- ### **mkdir** (Make Directory). Создаёт новую **директорию**. - создать полную структуру подкаталогов, если ввести сочетание: ```bash mkdir –p ``` --- ### **cp** (Copy). Утилита, позволяющая скопировать файл или каталог. - Чтобы копирование прошло **рекурсивно,** т. е. включало все поддиректории и файлы в них, надо добавить к команде: ```bash cp -r ``` - А если надо дополнить рекурсивное копирование сохранением всех атрибутов, сведения о владельце и временный штамп, добавляем «архивную» опцию -a: ```bash cp –r –a ``` --- ### **mv** (Move). Эта команда в Linux одновременно отвечает за перемещение и переименование файла или каталога. При переименовании файл перемещается в ту же папку, но уже названную по-новому. --- ### **rm** (Remove). Отвечает за удаление папок и файлов. - нельзя восстановить ```bash rm -r ``` --- ### **ln** (Link). Создаёт программные ссылки на файлы. По функционалу это похоже на ярлыки в Windows. --- ## Справочная информация / документация ### **man** (Manual). Показывает инструкцию к программам и командам Linux. ```bash man имя_программы ``` --- Для инструкции по команде, введите: ```bash man имя_команды ``` --- ### **whatis** Выводит краткое описание программы. ```bash whatis имя_программы ``` --- ### **whereis** Показывает полный путь к исполняемому файлу и другим файлам программы. ```bash whereis имя_программы ``` ## Приложения - ищем приложение по имени с ``apt`` ```bash sudo apt search app_name ``` - ищем приложение с ``apt`` и ограничиваем поиск с ``|`` далее то что ищем ```bash sudo apt search app_name | ``` ## Навигация ```find```\ Осуществляет поиск в файловой системе, файлах и папках. Для результатов поиска можно выполнять дополнительные команды. ```pwd```\ Отображает на экране текущий каталог. ```clear```\ Команда полной очистки окна терминала удаляет все ранее выведенные сообщения. ```history```\ Показывает ранее введённые пользователем команды. Перемещаться по списку введённых команд можно, нажимая на клавиатуре «Вверх» и «Вниз». ```locate```\ Быстрый поиск файлов по базе данных updatedb для шаблонов имён файлов. Эта БД работает со снимком файловой системы, что многократно ускоряет процесс поиска. Но тут есть и существенный минус. Точность поиска зависит от того, насколько актуальны данные о файловой системе в текущей версии снимка. ```zcat / zless / zmore```\ Утилиты для просмотра сжатых файлов. С помощью zcat можно найти увидеть список сжатых файлов, zless выводит их списком постранично с возможностью листать вперёд и назад, а zmore — только вперёд. ```;```\ Точка с запятой — ещё один оператор для последовательного запуска нескольких команд в одной строке. Если нужно, чтобы команды выполнялись параллельно, используйте оператор так: ```bash (команда_№1 &); (команда_№2 &); (команда_№3 &) ``` ## Сеть ```ip```\ (Internet Protocol). Утилита выводит полный список параметров для настройки работы с сетью. Среди них: - **link** — сетевое устройство; - **address**— IP-адрес сетевого устройства; - **monitor** — мониторинг устройства; - **route** — маршрутизация; **- tunnel** — туннелированные. Каждый из выводимых объектов можно изменять при помощи дополнительных команд: `add`, `change`, `del`, `save` и т.д. ```ping```\ Команда проверяет наличие и качество интернет-подключения. ## Пользователи ```useradd / userdel / usermod```\ Команды управления учётными записями пользователей. Позволяют добавлять, удалять и редактировать пользовательские профили. ```bash useradd имя_пользователя. ``` ```passwd```\ Позволяет менять пароли учётных записей. ```bash passwd имя_пользователя ``` ## Тексты ``` sort```\ Сортировка текстовой информации по заданным показателям: - -`n` ­— сортировать строки текста по числовому значению; - `du` ­— по размеру; - `-r `­— применять обратную сортировку; - `-u `­— удалять дубликаты при сортировке. ```wc```\ (Word Count). Программа для подсчета заданных параметров в тексте. Считает такие показатели, как символы, слова, строки и байты. ```diff```\ (Difference). Производит построчное сравнение двух текстовых файлов, выводя различия между ними. ```bash diff файл файл ``` Различия между двумя версиями файлов отмечают такие символы, как: - `c `— изменённые строки; - `d` — удалённые строки; - `а` —новые строки.