# Научитесь пользоваться командной строкой

(В оригинале - Know How to Use Command-line Tools)

Сегодня множество инструментов разработки запакованы в Интегрированную Среду Разработки (IDE). Visual Studio и Eclipse – два популярных примера, хотя их конечно же намного больше. В IDE много хорошего. И это не только удобство использования. IDE помогает программисту не думать о множестве деталей, вовлеченных в процесс сборки.

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

Работая с командной строкой, вы узнаете гораздо больше о том, что происходит во время сборки. Написание собственных make-файлов поможет вам понять все шаги (компиляция, ассемблирование, линковка и т.п.) сборки проекта в исполняемый файл. Экспериментирование с различными опциями этих шагов – не менее ценный опыт. Чтобы начать работу с командной строкой, можете взять open-source GCC или же то, что поставляется с вашим специфическим IDE. В конце концов, хорошо спроектированный IDE – это всего лишь графический интерфейс к набору утилит командной строки.

К тому же, некоторые вещи гораздо проще делать именно из командной строки. Например, поиск и замена при помощи grep и sed предоставляет гораздо больше возможностей, чем обычно присутствует в IDE. Командная строка также поддерживает скрипты, что позволяет автоматизировать задачи из серии ежедневной сборки по расписанию, создания нескольких версий проекта и запуск тестов. При помощи IDE такая автоматизация практически невозможна (или как минимум гораздо сложнее). Если вы никогда не заглядывали за границы IDE, вы могли и не догадаться о возможности подобной автоматизации.

Однако подождите… Разве IDE не предназначены для облегчения жизни разработчикам и повышения их продуктивности? Да, конечно. Предложение поработать с командной строкой не означает, что необходимо отказаться от IDE. Предполагается лишь заглянуть за завесу, чтобы понять, что именно делает IDE для вас. И лучший способ для этого – это изучить командную строку. Потом, когда вы опять вернетесь к IDE, вы будете гораздо лучше понимать, что именно происходит и как вы можете контролировать процесс сборки. С другой стороны, научившись работать с командной строкой, возможно вы и сами не захотите возвращаться к IDE, прельстившись мощью и гибкостью командной строки.

Автор оригинала - [Carroll Robinson](http://programmer.97things.oreilly.com/wiki/index.php/Carroll_Robinson)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://97-things-every-x-should-know.gitbook.io/97-things-every-programmer-should-know/ru/thing_32.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
