Консоль Linux [Часть 1]

@Snipers публиковала ссылку на linux journey. Сайт понравился. Решил попробовать что-то перевести оттуда. Этим "что-то" стала "Командная строка".

UPD: Если ставите минус - пишите за что, я хоть и ИИ, но не экстрасенс

1. Оболочка (The shell)

Мир - ваша раковина, хотя на самом деле, ваша раковина - всего лишь оболочка. Что такое оболочка? Оболочка - это программа, которая принимает команды с клавиатуры и отправляет их на выполнение в операционную систему. Если вы когда-то использовали GUI (графический интерфейс пользователя), то наверняка могли заметить такие программы как “Терминал” или “Консоль”, это программы, которые просто запускают командную оболочку для вас. В этом курсе вы сможете узнать о чудесах командной оболочки.

В этом курсе мы будем использовать командную оболочку - bash (Bourne Again shell), которую почти все Linux дистрибутивы по умолчанию в себя включают. Еще существуют такие оболочки как ksh, zsh, tsch, но их рассматривать мы не будем.

Давайте перейдем сразу к делу! В зависимости от дистрибутива командная оболочка может меняться, но большая часть будет придерживаться следующего формата:

username@hostname:current_directory
pete@icebox:/home/pete $

Заметили $ в конце строки? Разные оболочки имеют разные подсказки, в нашем случае $ обозначает обычного пользователя в оболочках Bash, Bourne или Korn, вам не нужно добавлять этот символ при вводе команды, просто имейте в виду.

Давайте начнем с простой команды, echo. Эта команда просто печатает текст на экран.

$ echo Hello World

Упражнения:

Попробуйте выполнить некоторые другие команды и посмотрите, что они выведут:

$ date
$ whoami

2. pwd (Print Working Directory / Вывести рабочую директорию)

Все в Linux - файлы, чем глубже вы будете погружаться в Linux, тем лучше вы это будете понимать, а пока просто имейте это в виду. Кажый файл организован в иерархическое древо директорий. Первая директория в файловой системе удачно названа корневой (root) директорией. Корневая директория содержит множество папок и файлов, которые могут содержать еще более папок и файлов и т.д. Вот пример того, как выглядит древо директорий:

/
|-- bin
|  |-- file1
|  |-- file2
|-- etc
|  |-- file3
|  `-- directory1
|  |-- file4
|  `-- file5
|-- home
|-- var

Расположения этих папок и директорий называются путями. Если у вас есть директория home с директорией pete в ней, которая содержит директорию Movies, то путь будет выглядеть вот так: /home/pete/Movies, довольно просто, не так ли?

Навигация по файловой системе, прямо как и в реальной жизни, очень полезна, если вы знаете где вы находитесь и куда вы идете. Чтобы увидеть где вы находитесь, вы можете использовать команду pwd, это команда означает “print working directory (напечатая рабочую директорию)”, и она покажет в какой директории вы находитесь, обратите внимание, что путь исходит из корневой директории.

$ pwd

Где вы? Где я? Попробуйте выполнить команду!

3. cd (Change Directory / Изменить директорию)

Теперь вы знаете где вы, но давайте посмотрим, можем ли мы перемещаться по файловой системе. Помчните, что мы должны проложить дорогу через пути. Есть два способа, чтобы проложить маршрут, через абсолютные и относительные пути.

Абсолютный путь: Это путь, который начинается с корневой директории. Корень - главный. Корневая директория обычно обозначается слэшем. Каждый раз, когда ваш путь начинается с  /, Это оначает, что путь начинается с корневой директории. Например, /home/pete/Desktop.

Относительный путь: Это путь, который начинается с того места, в котором вы сейчас находитесь. Если бы я был в /home/pete/Documents и хотел бы переместиться в директорию, которая находится в Documents и называется taxes, мне бы не пришлось указывать путь, начиная с корня (/home/pete/Documents/taxes), можно просто ввести taxes/

Теперь вы знаете, как пути работают, но нам нужно что-то, что поможет нам перемещаться туда, куда мы хотим. К счастью, у нас есть cd или “change directory” (изменить директорию) чтобы осуществить это.

$ cd /home/pete/Pictures

Теперь я изменил мою директорию на /home/pete/Pictures.

Сейчас в этой директории у меня имеется директория Hawaii, я могу переместиться туда так:

$ cd Hawaii

Обратили внимание, что я просто написал имя директории? Это потому что она уже находится в /home/pete/Pictures.

Перемещение с абсолютными и относительными путями все время может показаться утомительным, к счастью существуют несколько удобных сокращений, которые помогут вам:

. (текущая директория). Эта директория, в которой вы находитесь сейчас.

.. (предыдущая директория). Переносит вас в директорию, которая находится на один уровень выше.

~ (домашняя директория). Это директория по умолчанию для вашей “домашней директории”, такая как /home/pete.

- (предыдущая директория). Переносит вас в директорию, в которой вы находились до этого

$ cd .
$ cd ..
$ cd ~
$ cd -

Попробуйте выполнить их

Упражнения:

Запустите команду cd без каких либо флагов, куда она вас перенесет?

Итак, здесь я перевел первые 3 урока, мог бы больше, но у меня устали печатать пальцы, поэтому до встречи в следующих частях! Критикуйте, пишите что не так, исправлюсь

GNU/Linux

1K постов15.5K подписчиков

Добавить пост

Правила сообщества

Все дистрибутивы хороши.

Будьте людьми.

9
Автор поста оценил этот комментарий

Начинать надо было с ls, или хотя бы включить его в первый урок.

Без ls применение cd - задача не для новичка.

Посмотрел в источнике - там ls как раз следующим пунктом. Надо было все-таки включить в этот урок.

раскрыть ветку
6
Автор поста оценил этот комментарий

Что-то странное. Кортана и вдруг пишет про линупс?

раскрыть ветку
3
Автор поста оценил этот комментарий
touch -- '*'; rm *
ой
или
mkdir -- -
cd -
3
Автор поста оценил этот комментарий

хорошие видеоуроки по bash — https://ru.hexlet.io/courses/bash