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 для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.