Bash для начинающих: Урок первый
Содержание
Основы
При переходе с операционной системы Windows на Linux (о Линуксе я писала тут) многих пользователей пугает тот факт, что несколько повседневных задач и абсолютно все проблемы приходится решать через терминал. На самом деле его не стоит бояться. Большинство сложных вещей кажутся сложными только на первый взгляд, и это как раз такой случай. Терминал в линуксе представляет собой эмулятор командной строки, связанный напрямую со всей операционной системой и ее ядром. Можно провести параллель с командной строкой в операционной системе Windows. Однако в терминале Windows вы работаете с системой с помощью языка batch, в то же время в Linux вам придется работать с помощью языка bash. Также в обеих системах вы можете упаковывать команды терминала в исполняемые файлы. В Windows это “.bat”, а в Linux это “.sh”. Данная информация позволит вам не путаться, это – базовые знания.
Как открыть терминал
Если у вашего линукса есть рабочий стол и графический элементы, напоминающие элементы в Windows, такие, как навигационное меню в левой нижней части экрана, то значок терминала должен быть на рабочем столе или в меню приложений. Если у вас нет графического окружения, то весь ваш линукс будет представлять один большой терминал. Чаще всего такой терминальный интерфейс называют CLI-interface. Большинство программ в процессе разработки имеют только cli-интерфейс, и только после устранения всех ошибок разрабатывается графическая часть программы.
Первая команда
Так как вы по сути изучаете язык программирования, то первый код обязательно должен выводить “привет мир”. Откройте терминал и напишите echo привет мир. Результат можете видеть на экране:
Сейчас сразу стоит разобрать некоторые обозначения: jar@jar это имя компьютера и пользователя, разделенные символом собачки; ~ это папка в которой мы находимся, об этом я расскажу подробнее в следующем разделе; $ это статус пользователя. Если вы видите $ — это значит, что пользователь является стандартным. Если же вы увидите # — это значит, что пользователь является администратором. Об этом также чуть позже.
Навигация
Чаще всего в терминале производится переход из папки в папку. В отличие от Windows, где первый диск начинается с символов “C:\\”, первый диск в линуксе начинается с символа “/”. Домашняя директория пользователя, где находятся такие папки, как “Загрузки”, “Документы” и другие, находится по пути “/home/имя_пользователя/”, где / это корневая папка диска, home папка на диске и так далее. Для простоты навигации в bash можно переместиться в эту директорию, заменив весь этот путь на знак ~
Чтобы перейти в какую то папку, введите cd “путь/до/папки”, где наклонный символ будет прямым, а не обратным, как у Windows. Я перейду в папку Documents. Как можно видеть на экране, директория в скобках поменялась.
Теперь надо посмотреть, что за данные хранятся в папке Documents. Для этого надо выполнить команду ls. Она отобразит список данных и происходит от слова list (список).
В строчку вывелись все файлы и папки в нашей директории. Заметьте, что файлы и папки содержащие пробелы помещены в одинарные кавычки. Также стоит сделать и с командой cd, если потребуется, например: cd ‘Documents and other’/Music/ .
Теперь давайте вернемся обратно в нашу домашнюю директорию. Это можно сделать и командой cd ~, однако я покажу вам еще один способ. Введя cd .. вы вернетесь на одну директорию назад.
Если вы хотите вернуться обратно в папку Documents, можно не вводить команду снова, а просмотреть предыдущие команды, покрутив колёсико мыши вверх, или нажав на клавиатуре стрелку “вверх”.
Если вы хотите посмотреть полный путь папки, в которой вы находитесь, введите pwd:
Теперь не плохо было бы очистить терминал от старой информации. Для этого введите clear.
Работа с файлами
Давайте зайдем в директорию Music. Теперь надо создать папку Submusic. Мы можем сделать это с помощью команды mkdir (от английского make directory – создать папку).
Как можно видеть, ничего не произошло. В Linux системах, на этапе их создания 30 с лишним лет назад было принято ничего не выводить в случае успешного завершения команды, чтобы сэкономить память, так как в те времена памяти у компьютеров действительно было мало. С помощью команды ls мы можем удостровериться, что папка создалась. Теперь давайте создадим текстовый файл с именем “dog.txt”. Для этого введите команду touch dog.txt
Давайте запишем в этот файл немного слов. Для этого используйте команду nano
После нажатия enter, можно увидеть другой вид терминала.
Написав свое предложение, я нажимаю Ctrl + S для сохранения изменений в файле и Ctrl + X для выхода в прежнее меню.
Далее использую команду cat dog.txt для обычного чтения этого файла без возможности редактирования.
Как же удалять файлы и папки? Чтобы удалить файл dog.txt надо ввести rm dog.txt (от аглийского remove – убрать). Чтобы удалить папку надо ввести также команду rm но с добавлением ключа -r, это показывает команде, что удалить надо папку, а не файл с таким именем.
Доступ к файлам и папкам
В операционных системах семейства Linux файлы имеют три разрешения: на чтение, запись и изменение со стороны пользователя. Есть достаточно много способов изменения свойств файлов, но я покажу только самый удобный.
Для изменения свойств файла на доступность используют команду chmod.
Немного теории: сначала задаются свойства доступности файла для его создателя, затем для пользователей той же группы, что и создатель и, наконец, для всех остальных пользователей. Также важно понимать, что разрешение на чтение (read) = 4, на запись (write) = 2, а на выполнение (execute) = 1, отсутствие разрешения равняется нулю. Тогда, если вы добавим полную доступность файла для создателя и оставим другим пользователям файл только на чтение, получится:
для создателя rwx = 4+2+1=7, для остальных r— = 4+0+0=4. То есть команда будет выглядеть следующим образом: chmod 744 имя_файла. Если же вы не хотите запоминать всю эту схему, просто запомните – если вы не можете работать с файлом, выполните chmod 777 имя_файла.
Суперпользователь
Некоторые команды, речь о которых пойдет в следующих абзацах, требуют от вас их выполнение от лица суперпользователя или root-пользователя. Если проводить параллель с Windows, то это равносильно правам администратора. Некоторые команды не выполнятся от лица обычного пользователя, сделано это в целях безопасности, чтобы вы или злоумышленник не навредили компьютеру. Права суперпользователя требуют ввода пароля, который не отображается в терминале, сделано это опять же ради безопасности. Чтобы выполнить команду как суперпользователь, добавьте перед командой частицу sudo с пробелом. Если же вы хотите полностью перейти в режим суперпользователя в терминале, введите sudo su. После ввода пароля, знак $ в командной строке поменяется на #, это значит у вас теперь есть root-доступ.
Установка и удаление программ
Перед тем, как приступить к установке программы, надо узнать ее полное название, а также обязательно узнать название вашего пакетного менеджера. У каждого дистрибутива Linux он отличается. Если ваш дистрибутив основан на Linux Debian, то работать с программами вам придется через команду apt. У меня дистрибутив линукса основан на Arch, поэтому я использую pacman, но подавляющее большинство пользователей линукса используют Debian-based дистрибутивы, а это, например: сам Debian, Ubuntu, Tails, Mint, Kali и много других. Поэтому сначала я покажу, как работать с программами именно на этих дистрибутивах.
Перед установкой любой программы надо обновить все компоненты системы, заметьте, действие выполняется от суперпользователя: sudo apt-get update -y
Ключ -у означает, что мы согласны с обновлением некоторых спорных или тяжеловесных элементов. Иначе вам придется около 10 раз нажать на клавишу “у”.
Чтобы установить программу, для начала узнайте, как она полностью называется sudo apt search имя_программы, а после установите программу по тому названию, которое вам выдало: sudo apt-get install конечное_имя. Весь процесс установки будет показан на экране, иногда вам придется отвечать клавишами Yes/No. Чтобы удалить программу, впишите sudo apt uninstall имя_программы.
Второй урок доступен по ссылке →