====== Шпоргалка команд по Linux ======
===== Несколько терминов =====
* Директория, каталог, папка — одно и то же.
* Рабочая директория — текущая папка, относительно которой выполняются команды.
* Путь — адрес файла или папки. Например, /home/student/project/main.c.
* Абсолютный путь — путь от корня файловой системы; начинается с /.
* Относительный путь — путь от текущей папки. Например, project/main.c.
* Домашняя директория — личная папка пользователя. Обозначается ~.
* Терминал — окно для ввода команд и просмотра результатов.
* Аргумент — то, что передаётся команде: например, имя файла.
* Флаг (опция) — настройка поведения команды. Например, -a у ls включает показ скрытых файлов.
Обозначения путей: / — корень файловой системы, . — текущая папка, .. — родительская папка.
===== Таблица команд =====
В командах ниже <путь>, <файл> и другие обозначения нужно заменять своими значениями без угловых скобок. Например: cd ~/project.
| Команда | Что делает |
| pwd | Печатает полный путь к текущей папке. |
| ls | Показывает содержимое текущей папки. |
| ls <путь> | Показывает содержимое указанной папки. |
| ls -la | Показывает подробный список, включая скрытые файлы. |
| cd <путь> | Меняет текущую папку. |
| cd .. | Переходит в родительскую папку. |
| cd | Переходит в домашнюю папку. |
| cd - | Возвращается в предыдущую рабочую папку. |
| mkdir <папка> | Создаёт папку. |
| touch <файл> | Создаёт пустой файл; у существующего обновляет время. |
| cp <источник> <назначение> | Копирует файл. |
| cp -r <папка> <копия> | Копирует папку вместе с содержимым. |
| mv <источник> <назначение> | Перемещает или переименовывает файл либо папку. |
| rm -i <файл> | Удаляет файл с запросом подтверждения. |
| rmdir <папка> | Удаляет пустую папку. |
| cat <файл> | Печатает содержимое текстового файла. |
| less <файл> | Открывает текстовый файл для просмотра; q — выход. |
| nano <файл> | Открывает файл в текстовом редакторе Nano. |
| man <команда> | Открывает руководство по команде; q — выход. |
| <команда> --help | Показывает краткую справку у многих команд. |
| whoami | Печатает имя текущего пользователя. |
| hostname | Печатает имя компьютера. |
| sudo <команда> | Запускает команду с правами администратора, если разрешено. |
| ./<программа> | Запускает программу из текущей папки. |
| clear | Очищает видимую область терминала. |
| exit | Завершает текущую оболочку. |
===== Полезные сочетания клавиш =====
| Клавиши | Что делают |
| Tab | Дополняет имя команды, файла или папки. |
| ↑ / ↓ | Переключают ранее введённые команды. |
| Ctrl+C | Обычно прерывает текущую программу или отменяет ввод команды. |
| Ctrl+L | Очищает видимую область терминала. |
| Ctrl+O в Nano | Сохраняет файл; имя подтверждается клавишей Enter. |
| Ctrl+X в Nano | Выходит из редактора. |
Обрати внимание: **rm обычно удаляет файл без помещения в корзину**, а **cp и mv могут перезаписать файл** назначения. Для подтверждения перезаписи используй cp -i и mv -i.
Имена чувствительны к регистру: main.c и Main.c -- разные файлы. Пути с пробелами заключайте в кавычки: cd "Мои проекты" (а вообще лучше не использовать пробелы, русский язык и заглавные буквы -- называйте папки через **-** или **_**, например, **my_projects**).