
Довідка по найважливіших спеціальних символах bash
І при введенні команд, і при програмуванні оболонки для виконання різних дій застосовується безліч спеціальних символів. Нижче у таблиці наведені важливі спеціальні символи.
Спеціальні символи, що використовуються в bash
Символ |
Значення |
; |
Відділення команд одна від одної |
: |
Команда оболонки, нічого не виконує |
. |
Запуск оболонки без власного командного підпроцессора (.file відповідає вихідному файлу) |
# |
Ввід коментаря |
#!/bin/sh |
Ідентифікація оболонки, в якій буде виконуватись програма |
& |
Виконання команди в фоновому режимі (com &) |
&& |
Виконання одної команди в залежності від результату іншої (com1 && com2) |
&> |
Переадресація стандартного вивода і помилок (відповідає >&) |
| |
Створення програмних каналів (com1 | com2) |
|| |
Виконання одної команди в залежності від результату іншої (com1 || com2) |
* |
Джокерний символ для імен файлів (будь-яка кількість символів) |
? |
Джокерний символ для імен файлів (будь-який символ) |
[abc] |
Джокерний символ для імен файлів (будь-який символ із abc) |
[ expression ] |
Скорочений варіант запису test expression |
(...) |
Виконання команд в тій самій оболонці ((сom1; сom2)) |
{...} |
Групування команд |
{ , , } |
Об’єднання декількох послідовностей символів (a{1,2,3} → a1 a2 a3) |
{a . .b} |
Об’єднання декількох послідовностей символів (b{4..6} → b4 b5 b6) |
~ |
Скорочене позначення домашнього каталогу |
> |
Переадресація виводу в файл (com > file) |
>> |
Переадресація виводу і додавання його в існуючий файл |
>& |
Переадресація стандартного виводу и помилок (відповідає &>) |
2> |
Переадресація стандартного виводу помилок |
< |
Переадресація вводу із файлу (com < file) |
<< end |
Переадресація вводу із активного файлу до завершення |
$ |
Позначення змінних(echo $var) |
$! |
Номер PID останнього процесу, запущеного в фоновому режимі |
$$ |
PID актуальної оболонки |
$0 |
Імя виконуваного в даний момент сценарного файлу оболонки |
$1–$9 |
Перші 9 параметрів, переданих команді |
$# |
Кількість параметрів, переданих програмі оболонки |
Символ |
Значення |
$* або $@ |
Сукупність всіх переданих параметрів |
$? |
Значення, що повертається останньою командою (0=OK або номер помилки) |
$(...) |
Підстановка команд (echo $(ls)) |
${...} |
Різні спеціальні функції для обробки послідовностей символів |
$[ . . .] |
Арифметичні розрахунки (echo $[2+3]) |
"..." |
Запобігання інтерпретації більшості спеціальних символів |
'...' |
Запобігання інтерпретації всіх спеціальних символів |
` . . .` |
Підстановка команд (echo `ls`) |
Додаткова інформація
По-перше, обов'язково зверніться до man bash. По-друге, короткий список командам, які вам можуть знадобитися: pwd – вивести поточну директорію. hostname - вивести або змінити мережеве ім'я машини. whoami - ввести ім'я під яким я зареєстрований. date - Вивести або змінити дату і час. Наприклад, щоб встановити дату і час рівну 2000-12-31 23:57, слід виконати команду: date 123123572000 time - Отримати інформацію про час, потрібний для виконання процесу + ще деяку інформацію. Не плутайте цю команду з датою. Наприклад: ви можете визначити як багато часу потрібно для виведення списку файлів в директорії, набравши послідовність: time ls. who - Визначити хто з користувачів працює на машині. rwho –a - Визначення всіх користувачів, які підключилися до вашої мережі. Для виконання цієї команди потрібно, щоб був запущений процес rwho. Якщо такого немає - запустіть setup " setup" під суперкористувачем. finger [имя_пользователя]- Системна інформація про зареєстрованого користувача. Спробуйте: finger root uptime - Кількість часу, що пройшов з останнього перезавантаження. ps –a - Список поточних процесів. top - Інтерактивний список поточних процесів відсортованих по використанню центрального процесора. uname - Вивести системну інформацію. free - Вивести інформацію про пам'ять. df –h - (= Місце на диску) Вивести інформацію про вільний і використовуваний простір на дисках (в читабельному вигляді). du / -bh | more - (= Хто скільки зайняв) Вивід детальної інформації про розмір файлів по директоріях починаючи з кореневої (в читабельному вигляді). cat /proc/cpuinfo - Системна інформація про процесор. Зауважте, що файли в /proc директорії - не справжні файли. Вони використовуються для отримання інформації, відомої системі. cat /proc/interrupts - Використовувані переривання. cat /proc/version - Версія ядра Linux та інша інформація cat /proc/filesystems - Вивести використовувані в даний момент типи файлових систем. cat /etc/printcap - Вивести налаштування принтера. lsmod - (Як root) Вивести інформацію про завантажені в даний момент модулі ядра. set | more - Вивести поточні значення змінних оточення. echo $PATH - Вивести значення змінної оточення "PATH" Ця команда може використовуватися для виведення значень інших змінних оточення. Скористайтеся командою set, для одержання повного списку. grep … - Пошук входження регулярного виразу в рядки заданого файлу (потоку).