основи linux

Про це керівництві

Введення в bash

Якщо ви вже використовували Linux раніше, то напевно знаєте, що після входу в систему вас вітає запрошення, яке виглядає приблизно так:

На практиці запрошення, яке ви бачите, може трохи відрізнятися. Наприклад, воно може містити ім'я хоста, ім'я поточної робочої директорії, або все разом. Не залежно від того, як виглядає ваше запрошення, є одна безперечна річ: програма, яка виводить це запрошення, називається оболонка інтерпретатора команд (від англ. Shell - оболонка, він же командний рядок або термінал - прим. Пер.), І, найімовірніше за все, вашій командною оболонкою буде 'bash'.

А у вас запущений bash?

Ви можете переконатися, що використовуєте bash, набравши:

$ Echo $ SHELL
/ Bin / bash

Якщо рядок вище видає помилку, або відповідь не відповідає, можливо, що ви запустили іншу оболонку. У цьому випадку велика частина цього керівництва все ще буде корисна, але було б значно краще для вас переключитися на bash, заради підготовки до іспиту 101.

Bash - це акронім від Bourne-again-shell, від англ. «Ще-одна-командна-оболонка-Борна» або «народжена-знову-командна оболонка» (тут гра слів Bourne / born - прим. Пер.), І є оболонкою за замовчуванням для більшості Linux-систем. Завдання оболонки отримувати від вас команди, через які ви взаємодієте з Linux-системою. Після того, як ви закінчили введення команд, ви можете вийти з оболонки (exit) або закінчити сеанс (logout), в цьому випадку ви побачите запрошення входу в систему.

До речі, ви також можете вийти з оболонки bash натиснувши control-D в запрошенні.

Ви, можливо, вже виявили, що витріщатися на запрошення bash - не вражаюче заняття в світі. Ну що ж, давайте дізнаємося як подорожувати по нашій файлової системи. У запрошенні введіть будь ласка наступну команду (без $):

Ви тільки що повідомили bash, що хочете працювати в директорії /, також відомої, як коренева; всі директорії в системі мають форму дерева, і / є його вершиною, тобто коренем (в інформатиці дерева ростуть навпаки, корінь вгорі, а гілки спускаються вниз - прим. пер.). cd встановлює директорію, в якій ви в даний момент працюєте, також відому як «поточна робоча директорія».

Щоб дізнатися поточну робочу директорію в bash потрібно набрати:

У прикладі з cd, аргумент / називається шлях. Він повідомляє cd куди ми хочемо відправитися. Зокрема, аргумент / це абсолютний шлях, що означає, що він задає розташування щодо кореня дерева файлової системи.

Нижче кілька з них:

/ dev
/ usr
/ Usr / bin
/ Usr / local / bin

Як можна помітити, у всіх абсолютних шляхів є одна спільна риса, вони починаються з /. Вказуючи, припустимо, / usr / local / bin як аргумент для cd, ми повідомляємо, що хочемо потрапити в / директорію, потім в usr директорію всередині неї, і так далі в local і bin, вниз по дереву. Абсолютні шляхи завжди відраховуються починаючи від / спершу.

Інший тип шляху називається «відносний шлях». bash, cd, і інші команди завжди інтерпретують їх відносно поточної директорії. Відносні шляхи НІКОЛИ не починаються з /. Так, якщо ми спочатку перемістимося в / usr:

Те, потім ми можемо використовувати відносний шлях local / bin, щоб потрапити в директорію / usr / local / bin:

$ Cd local / bin
$ pwd
/ Usr / local / bin

Відносні шляхи можуть також містити одну або більше ".." директорії. Директорія ".." спеціальна; вона вказує на батьківську директорію. Так, продовжуючи з прикладу вище:

$ pwd
/ Usr / local / bin
$ Cd.
$ pwd
/ Usr / local

Як видно, наша поточна директорія тепер / usr / local. Ми змогли переміститися «назад» на одну директорію щодо поточної, де були до того.

Крім того, ми також можемо використовувати ".." в існуючому відносному шляху, що дозволяє нам переміститися в директорію «поруч» з тієї, в якій перебуваємо:

$ pwd
/ Usr / local
$ Cd. / share
$ pwd
/ Usr / share

Приклади відносних шляхів

Відносні шляхи можуть бути трішки більше складними. Нижче кілька прикладів, спробуйте самостійно здогадатися, де ви опинитеся після набору кожної з цих команд.

$ Cd / bin
$ Cd. / Usr / share / zoneinfo

$ Cd / usr / X11R6 / bin
$ Cd. / Lib / X11

$ Cd / usr / bin
$ Cd. /bin/../bin

А тепер наберіть їх і перевірте свої припущення. ;)

Перед тим як ми закінчимо вивчення cd, є кілька моментів, які необхідно прояснити. По-перше, є ще одна спеціальна директорія ".", Яка означає «поточна директорія». Хоча вона і не використовується з командою cd, але часто використовується для виконання програми з поточної директорії, як в наступному прикладі:

В даному випадку буде запущена програма, що виконується myprog, що знаходиться в поточній робочій директорії.

cd і домашня директорія

Якби ми хотіли переміститися в нашу домашню директорію, то могли б набрати:

Без будь-яких аргументів cd перемістить в вашу домашню директорію, яка буде / root для суперкористувача, або зазвичай / home / username (де username - ім'я користувача в системі - прім.пер.) Для будь-якого іншого користувача. Але, що якщо ми хочемо вказати файл в нашій домашній директорії? Може бути ми хочемо передати шлях до файлу в якості аргументу нашій програмі myprog. Якщо файл розташований в нашій домашній директорії, ми можемо набрати:

Однак, використання абсолютного шляху на зразок цього, не завжди зручно. На щастя, ми можемо використовувати символ

(Тильда), щоб виконати те ж саме:

Інші домашні директорії користувачів

Bash сприйме одиночну

як покажчик на вашу домашню директорію, але ви також можете використовувати її для вказівки на домашні директорії інших користувачів. Наприклад, якщо ми хотіли послатися на файл під назвою fredsfile.txt в домашній директорії користувача fred, то могли б набрати:

Схожі статті