10 консольных команд, которые каждый Junior SE должен знать

Как ни странно, но вопросам работы с командной строкой часто не уделяется достаточно внимания. При изучении программирования часто можно увидеть те или иные команды без объяснения их сути. Тем не менее, умение работать с консолью (CLI), является неотъемлемой частью работы инженера-программиста. Необходимо помнить, что технологии не работают сами по себе, они всегда ждут команды от разработчика. Это значит, что разработчик контролирует поведение компьютерных систем, задавая команды в командной строке.

Терминал CLI на Mac OS

Как только вы освоите ключевые команды, всё будет в ваших руках. Или, по крайней мере, терминал.

Что такое CLI?

CLI обозначает интерфейс командной строки (command line interface). Интерфейс командной строки принимает текстовые команды и выполняет соответствующие функции операционной системы.

Изначально использование интерфейса командной строки было единственным способом, которым человек мог управлять компьютером. В настоящее же время пользователи в основном взаимодействуют с компьютерами через графический интерфейс пользователя (GUI). Например, щелкая по папкам на рабочем столе.

При этом использование графического интерфейса накладывает ряд ограничений, т.к. ориентирован прежде всего на рядовых пользователей. Разработчики же к ним не относятся. По этой причине, разработчики программного обеспечения используют CLI для управления поведением компьютера на более высоком уровне.

Далее я предлагаю ознакомится с рядом наиболее частых команд для командной строки. Приведенные ниже команды актуальны для использования на системах Linux/Mac/Unix. В Windows их можно выполнить через Power Shell или альтернативный вариант консоли – Git Bash.

pwd (print working directory) – печать рабочего каталога

$ pwd 

Ваш каталог по умолчанию при входе в систему является вашим домашним каталогом. В какой-то момент, когда вы перемещаетесь по файловой системе через CLI, может возникнуть необходимость узнать ваш текущий рабочий каталог. Чтобы увидеть, в каком каталоге вы сейчас, используйте команду pwd.

cd (change directory) – изменить директорию

$ cd

Команда cd используется для пермещения между каталогами (директориями). Адрес необходимого каталога задается в качестве аргумента к команде, например, $ cd /codebase/project/. Путь указывается либо от корня файловой системы, либо от текущего каталога. Таким образом, если выполнить указанную команду, то в текущем каталоге долже быть каталог codebase внутри которого будет подкаталог project. В противном случае команда завершиться ошибкой.

Чтобы перейти на уровень выше текущего каталога, т.е. в родительский каталог необходимо выполнить команду $ cd .. , а для перехода в домашнюю папку пользователя достаточно просто выполнить cd .

ls (list files and directories) – отобратить файлы и директории в текущем каталоге

$ ls

Перейдя в определенный каталог, вы можете захотеть увидеть список всех файлов и папок, которые существуют в этом каталоге. Для этого используйте команду ls. Вы также можете передать ls конкретный каталог в качестве аргумента, чтобы увидеть все файлы и папки в этом каталоге, например: $ ls movies/action.

touch – создать пустой файт

$ touch

Команда touch принимает имя в качестве аргумента и создает новый файл с этим именем в рабочем каталоге. Созданный файл будет пустым.

mkdir (make directory) – создать каталог

$ mkdir

Если вы хотите создать новую папку, используйте команду mkdir. Команда $ mkdir принимает имя в качестве аргумента, а затем создает новую папку с этим именем в каталоге, в котором вы сейчас находитесь.

rm (remove) – удаление файлов

$ rm 

Команда rm принимает имя файла в качестве аргумента и удаляет этот файл. Если вы хотите удалить каталог вместе с любыми подкаталогами или файлами, которые он может содержать, используйте команду $ rm -r.
Обратите внимание, что после того, как вы запустите файл, действие не может быть отменено. Принимайте меры предосторожности по мере необходимости.

mv (move) – переместить, переименовать файлы или каталоги

$ mv

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

$ mv oldname.ext newname.ext

Будьте осторожны, если существует уже существующий файл с тем же именем, что и новое имя, которое вы используете, вы перезапишите этот файл.

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

$ mv file.txt new_location/

cp (copy) – копирование файлов и каталогов

$ cp 

Чтобы скопировать файл или каталог, используйте команду cp указав первым аргументом файл, который вы хотите скопировать (readme.txt), и вторым аргументом пункт назначения, в который вы хотите скопировать этот файл или каталог:

$ cp  readme.txt  Destination_Directory/

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

clear – очистить окно CLI

$ clear

После выполнения цикла команд в командной строке может быть неудобно отслеживать результаты новых команд. Чтобы очистить экране от излишком информации долстаточно выполнить команду clear и весь текущий экран терминала очиститься.

man (manual) – cправка по команде

$ man

Команда man выводит справочную информацию по любой команде CLI. Например, если вы хотите лучше разобраться в любой из вышеперечисленных команд, вы можете сделать это, прочитав справочные материалы. Результатом команды будет вывод информации о назначении команды, её синтаксисе и дополнительных аргументах, которые могут менять поведение команды. Часто справочная инфорация занимает более одной страницы, поэтому для перемещенияпо ней используйте клавиши навигации, а для выхода нажмите q.

* * *

Предложенные 10 команд всего лишь наиболее часто используемые на практике. Опробуйте их на деле и переходите к изучению дополнительных полезных команд CLI. Не бойтесь применять CLI. Всё в ваших руках и под вашим контролем. Умение работать в консоли является важным нывыком успешного програмиста.

2 комментария

  1. Сталкер:

    Перечисленные команды необходимо знать еще до того, как вы только начинаете учится на разработчика. Это такой себе мастхэв любого продвинутого пользователя ПК.

    • IgorOsa:

      Согласен полностью. Вопрос же в том, что без знания этих и ряда других консольных команд вообще сложно представить работу разработчика. Она будет жутко неэффективной.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.