Начало работы
В этом курсе мы расскажем про командную оболочку bash: именно в bash мы будем работать в дальнейшем. На macOS и Linux bash установлен по умолчанию. Если же вы пользуетесь Windows, то вам нужно скачать Git bash и установить его.
Как открыть командную оболочку bash
На macOS или Linux запустите программу Терминал. Если у вас Windows — запускайте Git Bash.
В открывшемся окне вы увидите:
- имя вашего компьютера,
- имя, под которым вы авторизовались в компьютере
- символ доллара
$
— отображение этого символа означает, что программа ждёт ваших команд. В зависимости от операционной системы порядок и вид этой информации может немного различаться
Скопировать кодBASH# так в Windows
userName@ComputerName ~
$
# а так в MacOS
computerName:~ userName$
Комментарии в bash
Как и в других языках программирования, в bash есть возможность оставлять комментарии — текстовые пояснения к коду. Комментарии записывают после символа решётки
#
: всё, что стоит за ним, терминал проигнорирует.Мы будем пояснять примеры именно в комментариях:
Скопировать кодBASH$ pwd
# команда pwd, сокращение от print working directory
# покажет в командной строке каталог, где вы сейчас находитесь
Где я?
При
работе с браузером или офисными программами вам не требуется учитывать
структуру папок в системе. Вы просто открываете программу и работаете
(пишете текст или сёрфите в интернете).
Важное отличие командной строки в том, что при работе с ней:
- вы всегда работаете из какой-то директории, а не «просто в программе»
- вы всегда должны знать, в какой папке находитесь сейчас: все команды и запросы вы отправляете именно из этой директории.
Файловая система
Файлы
и директории организованы в иерархическую, «древовидную» структуру.
Основная директория файловой системы называется «корневой». Все файлы
операционной системы находятся в корневой директории — родительской для
других папок и файлов.
В первую очередь командная строка нужна для перемещения по файловой системе и управления файлами и каталогами.
Команда
pwd
поможет понять, в какой директории вы сейчас находитесь.Сразу
после запуска программы вы оказываетесь в домашней директории. Это
каталог, где (по умолчанию) располагаются пользовательские файлы.
Например:
Скопировать кодBASH$ pwd
/Users/Ya/
# это ваша домашняя директория в macOS
$ pwd
/c/Users/Ya
# это ваша домашняя директория в Windows
Что вокруг?
Важно знать, какие файлы и папки расположены «вокруг вас» — в каталоге, где вы находитесь.
Для этого есть команда
ls
. Это сокращение от list directory contents — «вывести список содержимого каталога». Введите ls
в терминале, нажмите Enter — и вы увидите список файлов и папок той директории, в которой сейчас находитесь.Скопировать кодBASH$ ls
# терминал покажет список папок и файлов
Ключи
Любая команда в bash
запускает какую-то утилиту, программу. И работу этой программы можно
настраивать. Для этого существуют «ключи», дополнительные «пояснения» к
команде.
От основной команды ключи отделяются пробелом. Перед ключом всегда ставится дефис.
Утилита
ls
имеет ключи для сортировки. То есть мы можем определить, в каком
порядке хотим увидеть файлы. Например, сортировать их по размеру, от
больших к меньшим: ls -lS
Можно настроить отображение:
ls -a
— будут отображены в том числе скрытые файлы и папки; ls -l
кроме имени каждого файла мы увидим информацию о нём: размер, тип файла и ваши права доступа к нему.Ключи можно комбинировать:
Скопировать кодBASH# показать скрытые файлы (-a) с подробной информацией (-l)
$ ls -al
# показать скрытые файлы (-a) и отсортировать по времени изменения (-t)
$ ls -at
# тройная комбинация
$ ls -alt
# показать скрытые файлы (-a) с подробной информацией (-l)
# отсортировать по времени изменения (-t)
Зачем нужна командная строка, почему нельзя, как раньше, работать в графическом интерфейсе?
Да, не тратится время на отрисовку сложного интерфейса, а часть последовательных действий можно выполнить одной командой.
Да, команд много, если для всего кнопки рисовать - можно утомиться, да и места на экране не хватит.
Какая команда выведет все файлы, включая скрытые, и отсортирует их по дате изменения?
Правильно: флаги можно комбинировать в любом порядке.
-a
«...включая скрытые», -l
«показать список файлов», -t
«...отсортировать по дате изменения»