Відмінності між версіями «Командна оболонка Unix»

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
[неперевірена версія][перевірена версія]
м (робот змінив: ja:シェルja:Unixシェル)
м (+ див. також)
 
(Не показані 8 проміжних версій 7 користувачів)
Рядок 1: Рядок 1:
  +
{{Otheruses|Shell (значення)}}
  +
 
[[Файл:Bash screenshot.png|thumb|300px|Знімок екрану '''bash''']]
 
[[Файл:Bash screenshot.png|thumb|300px|Знімок екрану '''bash''']]
'''Командна оболонка в [[UNIX]]''' є [[Інтерфейс командного рядка|інтерфейсом командного рядка]] в [[Unix]]-подібних [[операційна система|операційних системах]], тобто виконує команди, які подає користувач, або які читаються з [[файл]]ів. Такі файли з ''командами оболонки'' називаються [[сценарій|сценаріями]] (скриптами, програмами) оболонки. Ці сценарії не [[компіляція|компілюються]], а [[інтерпретатор|інтерпретуються]] оболонкою. Це означає, що оболонка прочитує сценарій від початку до кінця, рядок за рядком, шукаючи зазначені там команди й виконуючи їх; на відміну від цього підходу, [[компілятор]] перетворює цілу програму до вигляду, придатного до виконання машиною — потім файл з таким кодом можна використати в сценарії оболонки. Характерна особливість мови оболонки — багато операцій, які в традиційних мовах програмування є вбудованими, виконуються з допомогою виклику зовнішніх програм.
 
  +
  +
'''Командна оболонка в [[UNIX]]''' є [[Інтерфейс командного рядка|інтерфейсом командного рядка]] в [[Unix]]-подібних [[операційна система|операційних системах]], тобто виконує команди, які подає користувач, або які читаються з [[файл]]ів. Такі файли з ''командами оболонки'' називаються [[сценарій|сценаріями]] (скриптами, програмами) оболонки. Ці сценарії не [[Компілятор|компілюються]], а [[інтерпретатор|інтерпретуються]] оболонкою. Це означає, що оболонка прочитує сценарій від початку до кінця, рядок за рядком, шукаючи зазначені там команди й виконуючи їх; на відміну від цього підходу, [[компілятор]] перетворює цілу програму до вигляду, придатного до виконання машиною — потім файл з таким кодом можна використати в сценарії оболонки. Характерна особливість мови оболонки — багато операцій, які в традиційних мовах програмування є вбудованими, виконуються з допомогою виклику зовнішніх програм.
   
 
Одним з завдань оболонки є забезпечення користувацького середовища, яке можна налаштувати за допомогою конфігураційних файлів.
 
Одним з завдань оболонки є забезпечення користувацького середовища, яке можна налаштувати за допомогою конфігураційних файлів.
Рядок 11: Рядок 14:
 
; [[csh]], або [[C (мова програмування)|C]]-орієнтована оболонка (''C Shell''): синтаксис цієї оболонки схожий із мовою програмування C. Зазвичай, цією оболонкою користуються [[програміст]]и.
 
; [[csh]], або [[C (мова програмування)|C]]-орієнтована оболонка (''C Shell''): синтаксис цієї оболонки схожий із мовою програмування C. Зазвичай, цією оболонкою користуються [[програміст]]и.
 
; [[tcsh]], або покращена C-орієнтована оболонка (''Turbo C Shell''): надбудова над '''csh'''.
 
; [[tcsh]], або покращена C-орієнтована оболонка (''Turbo C Shell''): надбудова над '''csh'''.
; [[Korn-shell|ksh]], або оболонка Корна (''[[Korn-shell|Korn Shell]]'') : Була написана у початку 1980-х років та отримала кращі на той час можливості оболонки Борна та csh. Є надбудовою над оболонкою Борна та гарантує виконання скриптів написаних для оболонки Борна. Стандартом [[POSIX]] є оболонка Корна з обмеженими можливостями.
+
; [[Korn-shell|ksh]], або оболонка Корна (''[[Korn-shell|Korn Shell]]'') : Була написана у початку 1980-х років та отримала найкращі на той час можливості оболонки Борна та csh. Є надбудовою над оболонкою Борна та гарантує виконання скриптів написаних для оболонки Борна. Стандартом [[POSIX]] є оболонка Корна з обмеженими можливостями.
  +
; [[zsh]] сучасна оболонка, [[Зворотна сумісність|зворотно сумісна]] із bash.
   
 
У файлі <tt>/etc/shells</tt> знаходиться інформація про оболонки, присутні у системі:
 
У файлі <tt>/etc/shells</tt> знаходиться інформація про оболонки, присутні у системі:
Рядок 31: Рядок 34:
   
 
Для повернення під управління '''bash''' потрібно набрати команду exit.
 
Для повернення під управління '''bash''' потрібно набрати команду exit.
  +
  +
== Див. також ==
  +
[[DEV Challenge]]
   
 
== Джерела ==
 
== Джерела ==
Рядок 40: Рядок 46:
 
[[Категорія:UNIX]]
 
[[Категорія:UNIX]]
 
[[Категорія:Програмування]]
 
[[Категорія:Програмування]]
[[Категорія:Інтерфейс]]
+
[[Категорія:Командні оболонки]]
 
[[Категорія:Скриптові мови]]
 
[[Категорія:Скриптові мови]]
 
[[Категорія:Командні оболонки Unix| ]]
 
[[Категорія:Командні оболонки Unix| ]]
 
[[Категорія:POSIX]]
 
[[Категорія:POSIX]]
 
[[bn:ইউনিক্স শেল]]
 
[[ca:Shell d'Unix]]
 
[[cs:Unixový shell]]
 
[[da:Unix-skal]]
 
[[de:Unix-Shell]]
 
[[en:Unix shell]]
 
[[es:Shell de UNIX]]
 
[[fr:Shell Unix]]
 
[[hu:Unix rendszerhéj]]
 
[[ja:Unixシェル]]
 
[[ko:유닉스 셸]]
 
[[nn:Unix-skal]]
 
[[no:Unix-skall]]
 
[[ru:Командная оболочка UNIX]]
 
[[simple:Unix shell]]
 
[[sr:Juniks ljuska]]
 
[[sv:Unixskal]]
 
[[th:เชลล์ยูนิกซ์]]
 
[[zh:Unix shell]]
 

Поточна версія на 06:38, 28 березня 2017

Знімок екрану bash

Командна оболонка в UNIX є інтерфейсом командного рядка в Unix-подібних операційних системах, тобто виконує команди, які подає користувач, або які читаються з файлів. Такі файли з командами оболонки називаються сценаріями (скриптами, програмами) оболонки. Ці сценарії не компілюються, а інтерпретуються оболонкою. Це означає, що оболонка прочитує сценарій від початку до кінця, рядок за рядком, шукаючи зазначені там команди й виконуючи їх; на відміну від цього підходу, компілятор перетворює цілу програму до вигляду, придатного до виконання машиною — потім файл з таким кодом можна використати в сценарії оболонки. Характерна особливість мови оболонки — багато операцій, які в традиційних мовах програмування є вбудованими, виконуються з допомогою виклику зовнішніх програм.

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

Види оболонок[ред.ред. код]

UNIX надає на вибір декілька різних оболонок:

sh, або оболонка Борна (Bourne Shell)
одна з перших оболонок, яка була використана у UNIX-подібних середовищах. Це базова оболонка, маленька та з невеликим набором можливостей. Вона є де-факто стандартною оболонкою, та присутня на кожній системі із UNIX. На Лінукс /bin/sh може бути символьним лінком на bash. Це зроблено для того, щоб забезпечити сумісність з програмами UNIX.
bash, або нова оболонка Борна (Bourne Again Shell)
стандартна оболонка Лінукс. У більшості користувачів Лінукс стандартною оболонкою встановлено саме bash. У деякому сенсі bash — це надбудова над sh, набір доповнень та додаткових модулів. Таким чином, нова оболонка Борна сумісна зі звичайною оболонкою Борна: команди, що працюють у sh, будуть працювати і у bash, але не обов'язково навпаки.
csh, або C-орієнтована оболонка (C Shell)
синтаксис цієї оболонки схожий із мовою програмування C. Зазвичай, цією оболонкою користуються програмісти.
tcsh, або покращена C-орієнтована оболонка (Turbo C Shell)
надбудова над csh.
ksh, або оболонка Корна (Korn Shell
Була написана у початку 1980-х років та отримала найкращі на той час можливості оболонки Борна та csh. Є надбудовою над оболонкою Борна та гарантує виконання скриптів написаних для оболонки Борна. Стандартом POSIX є оболонка Корна з обмеженими можливостями.
zsh сучасна оболонка, зворотно сумісна із bash.

У файлі /etc/shells знаходиться інформація про оболонки, присутні у системі:

mia:~> cat /etc/shells
/bin/bash
/bin/sh
/bin/tcsh
/bin/csh

Оболонка користувача встановлюється у файлі /etc/passwd. Наприклад, рядок користувача mia, який має встановлену оболонку bash:

mia:L2NOfqdlPrHwE:504:504:Mia Maya:/home/mia:/bin/bash

Перемикання між оболонками[ред.ред. код]

Користувач може в будь-який момент запустити іншу оболонку. Наприклад, якщо він за дефолтом працює під управліннями bash, а йому зручніше виконати якісь дії під оболонкою csh, він запускає цю оболонку

mia:~>csh

Для повернення під управління bash потрібно набрати команду exit.

Див. також[ред.ред. код]

DEV Challenge

Джерела[ред.ред. код]