Новини високих технологій
» » Команди Unix: перелік, особливості використання, частота застосування

Команди Unix: перелік, особливості використання, частота застосування

19-11-2018, 10:47
1 120
Операційні системи UNIX широко використовуються на сучасних серверах різних процесорних архітектур, робочих станцій, мережевих і мобільних пристроях. Термін "команда UNIX" відноситься до сімейства багатокористувацьких ОС. Графічні інтерфейси ОС різноманітні. Але для користувачів Mac або Linux, які хочуть отримати максимальну віддачу від своєї операційної системи, обов'язково потрібно познайомитися з командного рядка Unix.

Історія UNIX

Перша версія UNIX була розроблена в 1969 році Кеном Томпсономом в Bell Laboratories з використанням простою PDP-7 незабаром до нього приєднався Денніс Річі. Спочатку UNIX призначався для використання всередині Bell System для програмістів. Томпсон і Річі багато років працювали над розробкою різних версій UNIX. Ritchie розробив мову C для підтримки UNIX. Третя версія була пов'язана з переписуванням ОС на C. У міру просування UNIX він став широко використовуватися в AT&T, і оскільки вихідний код доступний, він поступово приймався іншими організаціями в галузі комп'ютерних наук. Одним з найважливіших досягнень, зроблених в UNIX програмістами в Берклі, було забезпечення підтримки мережних протоколів Інтернету (TCP/IP).


У 1988 році BSD, AT&T UNIX ОС були об'єднані в UNIX System V. 4. Це нове покоління ОС об'єднало кращі функції своїх попередників, щоб стати стандартом і основою для AT&T UNIX, SUNOS Sun Microsystems, IBM AIX, і HP-UX HP. Переваги ОС: UNIX забезпечує багатокористувацьку, багатоцільову, захищену оперативну пам'ять, використовуючи мінімальний обсяг пам'яті. Забезпечує надійний захист користувача за допомогою перевірки і аутентифікації облікового запису. Спрощує операції вводу-виводу. Дуже портативний, що означає, що він може працювати на декількох різних апаратних платформах, що спрощує користувачам установку на будь-якому обладнанні, яке вони воліють використовувати.

Основні компоненти операційної системи

Основні компоненти ОС UNIX прості і не численні, взаємодія цих компонентів один з одним унікальні. Три основних компоненти системи UNX:


Ядро (KERNEL). Оболонка (SHELL). Файлова система. Ядро UNIX керує фізичним RESO urces апаратного комп'ютера, пристроїв, пам'яті, обробляє d (daemons). Керує функціями між системними програмами та обладнанням і виконує всі основні команди UNIX. Ядро керує наступними елементами: Файлова система і структури. Управління пристроями, наприклад, зберігання даних на диску. Управління процесами, наприклад, daemons. Управління пам'яттю, наприклад, простором підкачки. Оболонка - це інтерфейс між користувачем і ядром. Вона діє як командний інтерпретатор. Вона приймає основні команди UNIX, видані користувачем, інтерпретує їх, а потім відправляє виконуваний файл в ядро. Три найбільш поширені оболонки: Bourne, C і Korn. Існують також популярні open source оболонки, такі як Z і bash, обидва є розширеннями Bourne. Щоб ідентифікувати ту, яку використовують в UNIX, виконують, наприклад, для zsh, echo-команду UNIX: echo $SHELL; /bin/zsh. Файлова система являє собою ієрархію каталогів, підкаталогів і файлів, які організовані або згруповані для спеціальних цілей, всього того, що знаходиться під інтерфейсом системного виклику. Апаратне забезпечення забезпечує файлову систему, підсистему керування процесом, управління пам'яттю і ОЗ над системними викликами. Програмісти використовують виклики ядра для розгортання корисних функцій, для компіляції і маніпулювання прикладами.

Середовище розробки

Інтерфейс програміста в UNIX визначається викликами. Більшість системних програм в UNIX написані на C, а всі дзвінки - це C-функції. Оскільки деталі викликів відомі тільки компілятор, це робить переносимість головною функцією UNIX-програм. Системні виклики для маніпулювання файлами - це, наприклад: creat, open, read, write, close, link, unlink і trunc. Новий процес створюється викликом fork. Процес являє собою копію простору процесу батьківського процесу, що викликає fork. Сигнали використовуються для обробки винятків. В UNIX існує 20 різноманітних сигналів. Наприклад, сигнал переривання використовується для переривання команди до завершення виконання, зазвичай виконується користувачем. Недоліки командного рядка: Деякі завдання важко або неможливо зробити в командному рядку. Завдання, які вимагають великого набору тексту, наприклад, довгі імена файлів, можуть дратувати і втомлювати за відсутності мінімальної підтримки вирізання. Для більшості людей навчання і запам'ятовування типізованих команд є складним, якщо вони не використовують команди весь час. Переваги функції:
Майже у всіх випадках вона набагато швидше і простіше у використанні для експертів, а не для новачків. Вона може використовуватися віддалено з більшою легкістю, ніж GUI. Віддалений GUI - це SLUGGISH. Коли потрібна абсолютна точність, миша/GUI надто неточні. Для складних завдань командний рядок може бути написана сценарієм для автоматизації процесів.

Користувальницький інтерфейс

Розробники та користувачі UNIX можуть використовувати програми, які вже склали і доступні для виконання. Ці програми можна розділити на функції, наприклад, на каталог і файлову обробку: mkdir, ls, touch, file, rm, link, unlink, команду cat UNIX, програму для sort сортування файлів, для порівняння файлів diff, для пошуку шаблонів grep і awk. Крім того, доступні текстові редактори, такі як vi, vim, sed та інші. Ці команди виконуються користувальницьким інтерпретатором або оболонкою. Стандартний ввід-висновок відноситься до трьох типів файлів, які процес може відкрити. Вони відомі як стандартний ввід (дескриптор файлу 0), стандартний висновок (1) і стандартна помилка (2). Програма може зчитувати зі стандартного вводу і відправляти висновок на екран або у файл зі стандартним виходом. Користувач може направити стандартний вивід у файл з ім'ям test1 або відправити файли test1 в якості введення в програму: [mbeuses@myserver linuxacademy]$ ls > test1; [mbeuses@myserver linuxacademy]$ lpr < test1. У UNIX є три основні категорії вводу-виводу: блокувальні пристрої; символьні пристрої; сокети для мережевого зв'язку. Блокові пристрої, в цю категорію входять диски та стрічки. Блочний пристрій має велике значення для ізоляції деталей диска від іншої частини ядра. Блокові пристрої доступні через системний файл. Приклад: /dev/sda the first scsi drive on the first scsi bus, перший диск scsi на першій scsi-шині.

Символьні пристрої, ця категорія включає в себе принтери, термінали. Приклад команди ідентифікації термінала UNIX: /dev/null a bit bucket or bottomless sink for data. Щоб відобразити блок і символьні пристрої в системі, виконують наступну команду в оболонці. Усічений висновок показує деякі /dev пристрою на сервері UNIX.

Традиційні команди ОС

Незалежно від того, яку оболонку використовує юзер, завжди, коли буде вводитися команда, він буде запускати програму UNIX. Простий приклад для підрахунку кількості файлів в каталозі /etc: IDG. Ця послідовність команд ілюструє два важливих поняття: команда ls UNIX еквівалентна dir в Windows, показує вміст каталогу; кількість слів wc. В UNIX параметри традиційно мають префікс з одним тире «-». Ці параметри командного рядка змінюють поведінку програми. Часто вони зумовлюють значення за замовчуванням, задані в середовищі. Якщо потрібно змінити спосіб ведення команди на постійній основі, автоматично встановлюють змінну оточення при вході в систему. Багато команд дозволяють комбінувати параметри в одному рядку, наприклад, ls–la, але інші-ні. Можна дізнатися про всіх варіантах команди, перевіривши її керівництво або довідкові сторінки.
Вивчення і використання параметрів рядка - велика частина ефективності UNIX. Деякі команди мають дуже багато варіантів, але зазвичай достатньо всього лише кілька варіантів виконання заданої задачі, а більшість параметрів використовуються тільки при написання програм на мові оболонки. Існує безліч команд, пов'язаних з файловою системою, оскільки вона є основною для ОС. Команда ls використовується найчастіше, і у неї є багато варіантів для налаштування виводу. Точкові файли або каталоги), імена яких починаються з крапки або періоду за замовчуванням приховані. Ці файли або каталоги зазвичай містять інформацію про конфігурації або журнали для UNIX. Наприклад, файл .bash_history записує всі команди, які вводяться в рядку. Інша команда, яка знадобиться відразу, - cd, її використовують для зміни каталогів. Вона схожа на аналогічну в Windows, але із суттєвою різницею. В UNIX всі диски відображаються як один диск. Якщо в Windows можна мати свої знімки на зовнішньому жорсткому диску, який відображається E:, Unix, цей диск може бути /home/user/pictures. Команда pwd друкує робочий каталог. Оскільки в зростаючій файловій системі існує багато місць, які можна втратити, вона дозволяє швидко визначити, де користувач знаходиться.

Дисковий простір

Завантаження дискового простору - це поступовий процес, який може зайняти роки. Є дві команди, які потрібно використовувати, щоб перевірити вільний простір і визначити, які файли забивають диск: du з використанням диска і df без диска. Вони обидва вибирають h варіант. Щоб зрозуміти, наскільки повний диск, використовують df-команду фільтра UNIX.
Для того щоб дізнатися, як використовується простір, набирають du і обмежують виведення результату на перші 10 рядків. В іншому випадку він буде відображатися в кожному каталозі на машині, що може бути занадто складним для розуміння. З цього списку можна побачити, скільки місця споживається кожним каталогом. Об'єднавши кілька команд разом, збирають сценарій, який буде перераховувати 10 кращих каталогів по використанню простору. Команда, необхідна для сортування виводу - sort. Оскільки версія MacOS не може обробляти дані du для читання людиною, використовують m-опцію для du-відображення використання диска в мегабайтах, параметр g або k відображає дані в гігабайтах або кілобайтах відповідно. Параметри n і r застосовуються для sort (сортування висновку) у прямому та зворотному порядку, тому найбільші каталоги з'являться у верхній частині списку.

Досвідчені користувачі su та sudo

Ряд команд відноситься до системного адміністрування. Головна команда для системного адміністрування - su. Це означає суперкористувач і відноситься до облікового запису адміністратора або користувача root. Всі файли, що належать системі, належать користувачу. Пов'язана з нею sudo дозволяє стати root для однієї команди. Навіщо використовувати sudo замість su? Практика показує, що це необхідно для того, щоб користувач не застосовував часто root, через можливість завдати непоправної шкоди системі. Краще робити все можливе (в статусі звичайного користувача) і стає root тільки тоді, коли це вкрай необхідно. Отримання привілеї root, буде залежати від дистрибутива UNIX. Іноді поточний користувач не має дозволу su. У деяких wheel-системах - це означає, що користувач повинен знаходитися в групі, а в інших ОС, включаючи MacOS, користувач повинен знаходитися в sudoers-файлі. Природно, для додавання користувача в sudoers файл вимагає привілеїв адміністратора. Для цього потрібно вийти з облікового запису і увійти в обліковий запис адміністратора. Потім запустити sudo nano/etc/sudoers в командному рядку, Nano відкриє sudoer-файл у вікні терміналу, готовий до редагування. Переміщаються по файлу в Nano за допомогою клавіш зі стрілками. Щоб зробити nunez, потрібно прокрутити вниз до розділу Специфікацію привілеїв користувача» і ввести рядок: nunez ALL=(ALL) ALL, для користувачів root і min користувачів. При введенні Ctrl+x вводять «Так», щоб зберегти зміни і вийти з Nano.

Розширені системні оператори

Розширені команди UNIX дозволять виконувати різні завдання в UNIX, надаючи більше можливостей для управління даними і виконання дій. Операції з файлами: chmod; chown; basename; ln – створювати посилання і символічні посилання на файли і каталоги; find – пошук файлів і каталогів; Команди стану системи: last; w; who –r; uname; lsb_release – знайти інформацію про базової базі Linux (LSB). Привілейований доступ: su; sudo - запускати команди з підвищеними кореневими привілеями; visudo - безпечно редагувати файл /etc/sudoers. Розширене управління процесами: ps –aef; ptree; kill; nice; renice; pmap; pfiles. Команди маніпулювання текстом: Awk; Egrep; Sed; Tr. Команди файлових систем: Fstyp; Df; du. Управління файловою системою: Mount; Umount; Fsck; Growfs; tune2fs – налаштування параметрів настроюється файлової системи ext2/ext3); mkfs; Networking; iptables – керувати правилами брандмауера на сервері Linux; netstat; traceroute.

Команда відображення файлів cat

Команда cat Linux використовується для відображення вмісту текстових файлів і об'єднання декількох файлів в один файл, на відміну від команди ls UNIX, в якій перераховано вміст каталогів, файлів і каталогів. Потрібно враховувати, що кіт не приймає каталоги. Параметри cat представлені в таблиці.

Варіант



Опис



cat -b



додати номери рядків в непусті рядка



cat -n



додавати номери рядків у всі рядки



cat -s



стискати порожні рядки на один рядок



cat -E



показати $ в кінці рядка



cat -T



show ^ I замість вкладок

Приклади команд cat UNIX. Перегляд текстового файлу: $ cat list1.txt; milk; bread; apples; $ cat list2.txt; house; car; $. Об'єднати 2 текстових файлу: $ cat list1.txt list2.txt; milk; bread; apples; house; car; $. Об'єднати 2 текстового файлу в інший файл: $ cat list1.txt list2.txt > todo.txt; $.

Основні приклади пошуку

У першому find-прикладі Linux виконується пошук через кореневу файлову систему (/) для файлу з ім'ям Chapter1. Якщо він знаходить файл, він друкує розташування на екрані: find/-name Chapter1-type f -print. У системах Linux і UNIX більше не потрібен print-параметр в кінці find-команди, тому можна його отримати наступним чином: find/-name Chapter1-type f; -type f. Цей варіант запускає команду пошуку, щоб повернути тільки файли. Якщо його не використовувати, він поверне файли, каталоги і інші елементи, такі як іменовані канали і файли пристроїв, які відповідають вказаному шаблону імені. Якщо це не потрібно, просто залишають опцію з командою: type f. Наступна find виконує пошук тільки з каталогами /usr /home для будь-якого файлу з ім'ям Chapter1.txt: find/usr/home -name Chapter1.txt -type f. Щоб виконати пошук у поточному каталозі та у всіх підкаталогах, просто використовують символ для посилання на поточний каталог в find команді UNIX, наприклад: name Chapter1 -type f. У наступному прикладі виконується пошук в каталозі /usr для всіх файлів, що починаються з літери Chapter. Ім'я файлу може закінчуватися будь-який інший комбінацією символів. Він буде відповідати іменам файлів, таких як Chapter, Chapter1 Chapter1.bad, Chapter in the life: find /usr -name "Chapter *" -type f. Наступна команда виконує пошук в каталозі /usr/local для файлів, що закінчуються розширенням .html. Ці розташування файлів виводяться на екран: find/usr/local -name "* .html-type f.

WC для підрахунку кількості рядків, слів, символів

WC-команда UNIX і Linux використовується , щоб дізнатися кількість підрахунку нового рядка, кількість слів, байти і символи підрахунку в файлах, зазначених аргументами файлів. Синтаксис команди wc: # wc[опции]імена файлів Нижче наведені параметри та використання, які надаються командою. wc -l: друкує кількість рядків у файлі. wc -w: друкує кількість слів у файлі. wc -c: відображає кількість байтів у файлі. wc -m: друкує кількість символів з файлу. wc -L: друкує тільки довжину найдовшої рядки у файлі. Основний приклад wc: Команда wc без передачі якого-небудь параметра відображає основний результат файлу tecmint.txt. Три наведених нижче числа: 12 (кількість рядків), 16 (кількість слів) і 112 (кількість байтів) файлу. [root @ tecmint ~]# wc tecmint.txt 1216112 tecmint.txt. Щоб підрахувати кількість рядків у файлі, використовують параметр l, який друкує кількість рядків з файлу. Скажімо, наступна команда UNIX покаже кількість рядків у файлі. У висновку перше ім'я, присвоєне як count, і друге поле є ім'ям файлу. [root @ tecmint ~]# wc -l tecmint.txt 12 tecmint.txt. Для підрахунку слів у файлі вводять наступну команду: [root @ tecmint ~]# wc -w tecmint.txt 16 tecmint.txt. При використанні опцій c і m з командою wc буде надруковано загальна кількість байтів і символів в файлі: [root @ tecmint ~]# wc -c tecmint.txt 112 tecmint.txt. [root @ tecmint ~]# wc -m tecmint.txt 112 tecmint.txt. Команда wc UNIX дозволяє використовувати аргумент L, його можна використовувати для друку довжини кількості символів в файлі. Найдовша символьний рядок Scientific Linux у файлі. [root @ tecmint ~]# wc -L tecmint.txt 16 tecmint.txt.

Відображення рядка тексту echo

Echo - фундаментальна команди системи UNIX, яка використовується також в більшості інших ОС, які пропонують рядок. Вона часто використовується в скриптах, файли та в складі окремих команд, коли може знадобитися вставити текст. Багато оболонки, такі як bash, ksh та csh реалізують відлуння в якості вбудованої команди.

Тег



Опис



-n



Не виводити кінцеву новий рядок



-e



Включити інтерпретацію escape-послідовностей риски (див. Нижче список)



-E



Відключити інтерпретацію escape-послідовностей риски (це значення за замовчуванням)



--help



Відобразити довідкове повідомлення і вийдіть



--version



Вивести інформацію про вихід і вийти







Литеральный символ зворотної косої риски ()



a



Попередження (символ BELL)



b



Повернення на одну позицію.



c



Після цього не створюйте ніяких додаткових результатів.

Щоб надрукувати рядок «Привіт, світ!», прописують команду консолі UNIX: $ echo «Привіт, світ!». output: Привіт, світ!.

Виконання команд оболонки з vi

Можна запускати команди UNIX і переглядати їх висновок, не виходячи з vi, і також можна вставити виведення її у файл, який редагують. Запускають і використовують оболонку її так само, як і звичайне середовище UNIX, а потім виходять з оболонки і повертаються до vi. Тип запуску оболонки визначається змінної $ SHELL команди UNIX. Для запуску іншого необхідно встановити опцію vi shell. Повертаються до використання vi, ввівши exit або Ctrl-D. Щоб вставити вивід в файл, відразу після курсору: r!command Команда vi UNIX цікава при використанні для документування, коли необхідно включити приклади виведення. UNIX робить відмінну платформу для таких службових серверів, як Domain Name System або DNS, Dynamic Host Configuration Protocol або DHCP і Web-серверів. Його архітектура зберігає ресурси для реальних додатків, які потрібно використовувати не тільки для завантаження операційної системи. UNIX також забезпечує стабільну і безпечну платформу для додатків, які не вимагають прямої взаємодії з операційною системою.