- HackWare.ru
- Этичный хакинг и тестирование на проникновение, информационная безопасность
- Азы работы в командной строке Linux (часть 1)
- Командная строка Linux
- TAB для автодополнения
- ENTER для запуска выполнения команд
- CTRL + c для прерывания выполнения программы
- ↑ (курсорная клавиша вверх) для просмотра истории команд
- Азы файловой системы Linux
- Базовые команды Linux
- pwd для показа текущей рабочей директории
- mkdir для создания новых директорий
- ls для просмотра содержимого каталогов
- cd для перехода по папкам (смены текущей рабочей директории)
- cp для копирования файлов
- mv для переименования и перемещения файлов.
- rm для удаления файлов и папок
- Как копировать текст в командной строке и как вставлять в командную строку Linux
- Ошибка «команда не найдена»
- Ещё несколько полезных сочетаний клавиш для командной строки Linux
- Командная строка в Linux
- Что это такое
- Как открыть командную строку
- Оболочка Bash
- Горячие клавиши
HackWare.ru
Этичный хакинг и тестирование на проникновение, информационная безопасность
Азы работы в командной строке Linux (часть 1)
Возникло желание написать мануал о консоли, базовых командах и азах файловой системы Linux. Когда я начинал своё знакомство с Linux именно такой инструкции мне не хватало. Надеюсь, абсолютным новичкам, которых пугают консольные команды, она поможет «влиться» в число умеющих использовать командную строку Linux.
Командная строка Linux
В зависимости от вашего Linux, ярлык для открытия консоли может быть вынесен на рабочий стол,
добавлен в избранные команды,
доступен в контекстном меню при клике правой кнопкой мыши в области рабочего стола.
Либо вы для вызова эмулятора терминала вы можете воспользоваться сочетанием клавиш CTRL + ALT + t.
В приглашении командной строки отображается имя пользователя и имя хоста. Перед областью ввода команд может быть символ решётки (#) или символ доллара ($). Символ доллара означает, что вы работаете под обычным пользователем, а символ решётки – что под суперпользователем (root).
На скриншоте видно, что я открыл консоль как обычный пользователь (символ $), а затем вошёл как root (символ сменился на #).
В некоторых инструкциях перед командами пишут $ или # и новички, пытаясь выполнить команды копированием-вставкой, получают разнообразные ошибки. Если перед командной вы видите $ или #, то их не нужно печатать – они написаны только для информирования вас о том, нужны ли дополнительные привилегии для выполнения данной команды.
TAB для автодополнения
При вводе команды или имени файла, обязательно используйте клавишу TAB – она автоматически допишет для вас команду или имя файла. Если при нажатии на TAB ничего не происходит, то быстро нажмите TAB два раза, чтобы увидеть все доступные варианты. Если варианты не выводятся, то это верный признак того, что: 1) вы неправильно начали вводить имя команды, 2) программа, которую вы намереваетесь запустить, ещё не установлена.
ENTER для запуска выполнения команд
Набрав команду, нажмите ENTER и после этого она запустится.
CTRL + c для прерывания выполнения программы
Если вы хотите оборвать выполнение команды, то используйте для этого сочетание клавиш CTRL + c. Если вы ввели команду, но передумали её запускать, то вместо удаления строки, можете также нажать CTRL + c.
↑ (курсорная клавиша вверх) для просмотра истории команд
Если вы хотите повторить выполнение команды, то клавишами ↑ и ↓ вы можете пролистать историю ранее введённых команд, выбрать любую из них для повторного выполнения, отредактировать перед запуском.
Азы файловой системы Linux
Если нужно прочитать какие-то данные или сохранить информацию в файл из консоли, нужно уметь указывать путь до файла. В файловой система Linux нет такого понятия как буквы дисков. Там используется понятие «корень». Обозначается корень символом /
После корня указываются папки (в Linux они называются директориями) и файлы. Одни папки могут быть вложены в другие – точно также как в Windows. Вложенные папки и файлы разделяются символом / (точно таким же как корень).
Пример указания пути до файла:
Эта запись означает, что файл book.txt находится в папке mial, а папка mial находится в папке home.
Базовые команды Linux
pwd для показа текущей рабочей директории
Откройте консоль и введите туда
Здесь / (первый слеш) – это корень, home – это название папки (директории), далее / (второй слеш) – отделяет название вложенной папки, mial – название второй вложенной папки.
Команда pwd показывает «текущую рабочую директорию». Текущую рабочую директорию нужно знать при указании относительных путей до файлов и папок, также некоторые программы сохраняют результаты своего выполнения в текущую директорию.
mkdir для создания новых директорий
После mkdir укажите название папки, которую вы хотите создать. Если вы укажите относительный путь, например, так:
То будет создана новая папка test1 в текущей рабочей директории, т.е. в моём случае путь до неё будет
Также можно указать абсолютный путь до папки:
ls для просмотра содержимого каталогов
Команда ls используется для вывода списка файлов и папок текущей рабочей директории:
ls test1 test2 test.sh Видео Документы Загрузки Изображения Музыка Общедоступные Рабочий стол Шаблоны
Теперь мы можем убедиться, что папки test1 и test2 действительно были созданы.
Чтобы список выглядел лучше, можно использовать команду ls с опцией -l
После команды и опций можно указать путь до папки, содержимое которой вы хотим посмотреть. Чтобы увидеть содержимое директории /var/log нужно ввести:
Для просмотра содержимого корневой директории:
cd для перехода по папкам (смены текущей рабочей директории)
Для перехода по папкам используется команда cd после которой пишется директория, в которую вы хотите перейти. Можно указывать относительный путь или абсолютный:
cd test1 cd /home/mial/test2
Символ . (одна точка) означает текущую директорию, а символ .. (две точки) означаете родительскую директорию. Следовательно, для перехода на один уровень вверх нужно набрать
cp для копирования файлов
Если вам нужно скопировать файл в другую директорию, то используется команда cp. После неё указывается файл, который нужно скопировать и затем через пробел директория, куда вы хотите поместить файл, например:
Этой командой я скопировал файл test.sh в директорию test1. Проверим
ls -l test1 итого 4 -rw-r--r-- 1 mial mial 84 дек 11 15:48 test.sh
mv для переименования и перемещения файлов.
После команды mv указывается имя файла, который вы хотите переименовать или переместить. Затем через пробел пишется директория, куда вы хотите переместить файл (тогда файл будет перемещён в неё с исходным именем), или директория и новое имя файла (тогда файл будет перемещён и переименован), или только новое имя файла (тогда файл будет переименован).
Файл test.sh из каталога test1 я переместил в каталог test2:
Файл test.sh в каталоге test2 я переименовал в test2.sh:
mv test2/test.sh test2/test2.sh
Файл test2.sh в каталоге test2 я переместил в каталог test1 и присвоил ему имя new.txt:
mv test2/test2.sh test1/new.txt
rm для удаления файлов и папок
Чтобы удалить наши тестовые директории, воспользуемся командой rm. После этой команды укажите путь до файла или папки, которые нужно удалить. Если вы собираетесь удалить директорию, то используйте также опцию -r, она означает рекурсивно удалять каталоги и их содержимое. Можно указать сразу несколько файлов и (или) каталогов:
Для понимания иерархии файловой системы рекомендуется ещё одна статья для новичков «Структура директорий Linux. Важные файлы Linux».
Как копировать текст в командной строке и как вставлять в командную строку Linux
Привычные сочетания клавиш Ctrl+c и Ctrl+v в терминале имеют другое действие. Для копирования нужно использовать Ctrl+Insert, а для вставки Shift+Insert.
Ошибка «команда не найдена»
Причиной данной ошибки могут быть:
- неправильно набрано имя команды
- программа не установлена
- данную команду может выполнять только root
Ещё несколько полезных сочетаний клавиш для командной строки Linux
- Ctrl+l для очистки экрана
- Ctrl+a для перехода в начало введённой команды
- Ctrl+e для перехода в конец введённой команды
- Ctrl+u для удаления всего, что стоит до курсора
- Ctrl+k для удаления всего, что стоит после курсора
- Ctrl+d для завершения текущего сеанса, закрытия консоли
Одна из самых часто используемых:
- Ctrl+R: Поиск по ранее запущенным командам, начните писать искомую и вам будут предлагаться самые подходящие варианты. Для запуска нажмите ENTER.
Имеется функционал копи-пастинга:
- Ctrl+W: Вырезать слово перед курсором, добавить его в буфер обмена.
- Ctrl+K: Вырезать часть строки после курсора, добавить её в буфер обмена.
- Ctrl+U: Вырезать часть строки перед курсором, добавить её в буфер обмена.
- Ctrl+Y: Вставить из буфера обмена последнее, что вы вырезали.
Командная строка в Linux
Если раньше вы не имели дел с командной строкой, она может показаться немного сложной. Но не волнуйтесь: немного практики, и вы поймете, что терминал — на самом деле ваш друг.
Командную строку можно использовать сразу в нескольких окнах, и в этом наше преимущество. Например, можно открыть 3 терминала: первый — для работы, второй — чтобы «поднимать» вспомогательные данные, третий — для просмотра справочных страниц (об этом мы поговорим позже).
Что это такое
Командная строка (она же консоль или терминал) – это специальная программа, с помощью которой можно управлять компьютером текстовыми командами, вводимыми с клавиатуры.
Обычно командная строка «встречает» пользователя приглашением (в английском — promt) — это короткая фраза, которая означает, что программа готова выполнять команды. Они будут отображаться после приглашения.
Давайте разберем пример. Наш терминал выглядит вот так:
1. [email protected]: ls -l /home/ryan
2. total 3
3. drwxr-xr-x 2 ryan users 4096 Mar 23 13:34 bin
4. drwxr-xr-x 18 ryan users 4096 Feb 17 09:12 Documents
5. drwxr-xr-x 2 ryan users 4096 May 05 17:25 public_html
6. [email protected]:
- В строке 1 содержится приглашение ( [email protected] ). После него мы ввели команду ls . Обычно первое, что вы вводите, — это команда. После нее идут аргументы командной строки -l/home/karpaff . Заметьте, аргументы разделены пробелами. Между командной и первым аргументом тоже должен быть пробел. Первый аргумент командной строки -l иначе называется опцией или параметром. Параметры обычно изменяют поведения команды, они указываются перед другими аргументами и обычно начинаются с прочерка — .
- Строки 2–5 выводятся при выполнении команды. Большинство команд производят вывод, результат записывается сразу после команды. Другие же команды просто выполняют свою задачу и не отображают что-то на экране, только если произошла ошибка.
- В строке 6 снова содержится приглашение. Оно выводится, когда терминал выполнил предыдущую команду и готов к вводу другой. Если приглашение не отображается, значит, команда все еще выполняется (позже вы узнаете, как с этим бороться).
Примечание. В вашем терминале не будет номеров строк. Здесь они нужны, чтобы было легче ссылаться на разные части.
Как открыть командную строку
Это достаточно просто. В каждой ОС командная строка открывается по-разному, попробуйте поискать в этих местах:
- На Mac. Терминал можно найти по этому пути: Приложения → Утилиты. Или нажмите Command + Пробел и введите в Spotlight слово «терминал».
- На Linux. Терминал можно найти по одному из этих путей: Приложения → Система или Приложения → Утилиты. Еще можете попробовать щелкнуть ПКМ на рабочем столе и выбрать «Открыть в терминале».
- На Windows. Чтобы открыть терминал, понадобится SSH-клиент. Например, Putty (он бесплатный).
Оболочка Bash
Внутри терминала есть так называемая оболочка или шелл (от англ. shell). Это часть ОС, которая определяет поведение командной строки и следит за выполнением команд. Существуют разные оболочки, но наиболее распространена так называемая bash, сокращение от Bourne Again Shell. В наших статьях мы будем использовать только Bash.
Если вы не знаете, какая оболочка у вас, введите echo $ SHELL .
Примечание. Команда echo выводит на экран строку текста.
1. [email protected]: echo $ SHELL
2. /bin/bash
3. [email protected]:
Если вывод оканчивается на bash, все в порядке.
Горячие клавиши
В Linux много горячих клавиш, которые облегчат вам жизнь. В этой серии статей мы разберем некоторые из них.
- ↑ (стрелка вверх) или Ctrl + P — переход к предыдущей команде.
- ↓ (стрелка вниз) или Ctrl + N — переход к следующей команде.
СodeСhick.io — простой и эффективный способ изучения программирования.
2023 © ООО «Алгоритмы и практика»