Что такое терминал
Терминал (другие названия — командная строка, консоль) — это окно, в котором вы управляете компьютером текстовыми командами вместо кликов мышью. Git работает именно оттуда, поэтому из урока вы освоите шесть команд — pwd, ls, cd, mkdir, touch и cat — и создадите папку проекта ~/projects/portfolio.
Git уже стоит, но он принимает команды только в терминале. Если вы никогда им не пользовались — это нормально, начнём с нуля.
Представьте Проводник или Finder, только вместо кликов вы пишете словами: «покажи, что в этой папке», «перейди в папку проектов». Терминал — это окно (на Windows вы открываете Git Bash, на macOS — Терминал, на Linux — терминал). Внутри окна работает оболочка (англ. shell) — программа, которая понимает ваши команды. В Git Bash и на Linux это bash, на macOS обычно zsh; для команд курса разницы нет.
Каждая строка выглядит так: приглашение, команда, иногда флаги и аргументы.
$ ls -a projects
Разбор по строкам
$— приглашение: его печатает терминал, а не вы. В уроках оно показывает, где начинается команда. Вводить его не нужноls— команда: что сделать-a— флаг (опция): меняет поведение команды, пишется с дефисомprojects— аргумент: над чем выполнить команду
Команду запускает клавиша Enter. Запомните одно правило: если команда сработала без проблем, терминал чаще всего молчит. Тишина — это успех, а не поломка.
Где я: pwd и ls
Терминал всегда находится в какой-то папке. Узнать, в какой именно, помогает pwd (от print working directory, «показать рабочую папку»), а посмотреть содержимое папки — ls (от list, «список»).
$ pwd
/Users/alex
$ ls
Desktop Documents Downloads
Сначала вы всегда попадаете в домашнюю папку — личную папку вашего пользователя. Её сокращённо пишут знаком ~ (тильда). На macOS это /Users/alex, на Linux /home/alex, в Git Bash на Windows /c/Users/alex. У вас имя будет своё, и список файлов тоже.
Некоторые файлы скрыты: их имена начинаются с точки. Увидеть их можно флагом -a (от all, «все»):
$ ls -a
. .. .zshrc Desktop Documents Downloads
. означает «эта папка», а .. — «папка выше». Скрытые файлы нам пригодятся: Git хранит историю проекта в скрытой папке .git.
Переходы: cd
Команда cd (от change directory, «сменить папку») перемещает вас в другую папку. Это как двойной щелчок по папке в Проводнике.
$ cd Documents
$ pwd
/Users/alex/Documents
$ cd ..
$ pwd
/Users/alex
| Команда | Что делает |
|---|---|
| cd projects | Заходит в папку projects внутри текущей |
| cd .. | Поднимается на уровень выше |
| cd ~ или просто cd | Возвращает в домашнюю папку |
| cd /Users/alex/Documents | Переходит по полному пути; путь, начинающийся с /, считается от корня диска |
Пути, которые начинаются со слэша, называют абсолютными, остальные — относительными (считаются от текущей папки).
Tab и стрелка вверх
Два приёма экономят кучу времени. Начните вводить имя и нажмите Tab: терминал допишет его сам (cd Doc и Tab дают cd Documents/). Стрелка вверх возвращает прошлые команды, чтобы не набирать их заново. Если команда «зависла», остановить её можно сочетанием Ctrl+C, а очистить экран — командой clear.
Пробелы и обратные слэши в путях
Если в имени папки есть пробел, возьмите путь в кавычки: cd "my site", иначе терминал решит, что это два аргумента. В Git Bash на Windows пишите пути с прямыми слэшами (/c/Users/alex), а не C:\Users\alex: обратный слэш в bash — служебный символ.
Создать папку и файл
Папку создаёт команда mkdir (от make directory), пустой файл — touch, а содержимое файла показывает cat (от concatenate, на практике — «вывести файл на экран»).
$ mkdir -p ~/projects/portfolio
$ cd ~/projects/portfolio
$ pwd
/Users/alex/projects/portfolio
Разбор по строкам
mkdir -p ~/projects/portfolio— создаёт папку portfolio внутри projects в домашней папке. Флаг-pсоздаёт и недостающие папки по пути (если projects ещё нет) и не ругается, если папка уже существуетcd ~/projects/portfolio— заходит в созданную папкуpwd— показывает путь: вы действительно внутри portfolio
Теперь маленький файл. Команда echo печатает текст, а знак > отправляет этот текст в файл вместо экрана:
$ touch hello.txt
$ ls
hello.txt
$ echo "Hello, Git" > hello.txt
$ cat hello.txt
Hello, Git
Будьте осторожны: > стирает прежнее содержимое файла и записывает новое. Ещё одна полезная команда — code .: она открывает текущую папку в VS Code (точка снова означает «эту папку»).
Практика у себя
Повторите всё у себя. В конце у вас должна быть пустая папка ~/projects/portfolio: именно в ней мы создадим репозиторий.
Шаг 1. Откройте терминал и узнайте, где вы находитесь. Результат должен быть вашей домашней папкой:
$ pwd
/Users/alex
Шаг 2. Создайте папку проекта (команда ничего не напечатает) и проверьте, что она появилась:
$ mkdir -p ~/projects/portfolio
$ cd ~/projects
$ ls
portfolio
Шаг 3. Потренируйтесь отдельно от проекта: создайте учебную папку, файл и посмотрите его.
$ mkdir practice
$ cd practice
$ echo "Hello, Git" > hello.txt
$ cat hello.txt
Hello, Git
Шаг 4. Вернитесь в папку проекта и убедитесь, что она пока пуста (только . и ..):
$ cd ~/projects/portfolio
$ ls -a
. ..
Шаг 5. Откройте папку в VS Code и вызовите там терминал (Ctrl+`). Введите pwd: путь должен заканчиваться на /projects/portfolio.
$ code .
Папку practice можно удалить обычным способом в Проводнике или Finder — для курса она не нужна.
Проверьте себя
pwdв папке проекта заканчивается на/projects/portfolio.ls -aвportfolioпоказывает только.и...- Вы умеете подняться на уровень выше (
cd ..) и вернуться домой (cd ~). - Вы пользуетесь Tab, чтобы не набирать пути целиком.
Частые ошибки
| Что видно | Почему | Что делать |
|---|---|---|
bash: cd: projects: No such file or directory (в zsh: cd: no such file or directory: projects) | Такой папки здесь нет: вы не там, где думаете, или опечатка | Выполните pwd и ls, посмотрите, где вы; пользуйтесь Tab |
bash: $: command not found | Вы скопировали команду вместе со знаком $ в начале | Вводите только то, что стоит после $ |
cd my site не работает: too many arguments | Пробел в имени папки | Возьмите путь в кавычки: cd "my site" |
В Git Bash на Windows cd C:\Users\alex говорит No such file or directory | Обратные слэши bash съедает | Пишите cd /c/Users/alex |
Терминал «завис», нет приглашения $ | Команда ещё выполняется или ждёт ввода | Нажмите Ctrl+C |
Что важно запомнить
- Тишина терминала после команды обычно значит успех.
pwd— где я,ls(с-a— со скрытыми файлами) — что здесь,cd— перейти,mkdir— создать папку,touch— создать файл,cat— показать файл.~— домашняя папка,.— текущая,..— папка выше.- Tab дописывает имена, стрелка вверх возвращает прошлые команды, Ctrl+C останавливает команду.
Терминал знаком, папка проекта готова. Остался последний шаг подготовки: сказать Git, кто вы и как вы хотите, чтобы он работал. Настроим это в следующем уроке.