Приступаючи до вивчення консолі Linux, не обійтися без знання консольних команд.
У цій замітці перераховані основні команди лінукс консолі, доступні як при роботі за терміналом, так і через ssh:
su, sudo, whoami, fsck, uptime, who, w, df, du, ifconfig, ping, traceroute, mtr, whois, ps, top, kill, killall, man, passwd, ls, pwd, mkdir, rmdir, rm, mv, cat, less, more, chmod, chown, tar, wget, find, locate, history, reboot, halt, shutdown
suувійти в систему під ім'ям peleh, але не завершити поточний сеанс.
запрошення знак для користувачів виглядає як $, а для суперкористувача root - #.
зазвичай команда suвикористовується для тимчасового входу суперкористувачем для виконання адміністративних робіт.
команда sudo
sudoнадає можливість користувачам виконувати команди від імені root, або інших користувачів. Правила, використовувані sudo для прийняття рішення про надання доступу, знаходяться в файлі / Etc / sudoers.
команда whoami
whoami- вивести ім'я користувача, який авторизовані в системі
команда fsck
fsck- команда UNIX, яка перевіряє і усуває помилки в файлової системі. Після запуску команди необхідно підтверджувати (y) або не підтверджується (n) виправлення тієї чи іншої помилки. Для автоматичної перевірки і виправлення помилок необхідно запустити команду з ключиком '-y': fsck -y
команда uptime
uptimeпоказує поточний час, час роботи після завантаження, кількість поточних користувачів і навантаження за останні 1, 5 і 15 хвилин.
команда who
who- показати список користувачів в системі
команда w
w- показати інформацію про працюючих в даний момент на сервері користувачів і про їх процесах, а також середнє навантаження сервера за останні 1, 5 і 15 хвилин ( uptime + who).
команда df
df(Абревіатура від disk free) - показати список всіх файлових систем по іменах пристроїв, повідомляє їх розмір, зайняте і вільний простір і точки монтування. Зручно використовувати з ключиком -h (відображається розмір в Gb):
команда du
du- показати розмір окремого файлу:
команда ifconfig
ifconfig- показати мережеві настройки (інтерфейси):
команда ping
ping- утиліта для перевірки з'єднань в мережах на основі TCP / IP:
команда traceroute
traceroute- визначити маршрут прямування даних в мережах TCP / IP:
команда mtr
mtr ya.ru - показати маршрут прямування даних в мережі Інтернет і відсоток втрат, оновлюючи постійно дані:
команда whois
whois- показати інформацію про домен (дані про реєстратора, термін продовження домену, сервера імен ...):
команда ps
ps- вивести ваші поточні активні процеси
команда top
top- показати всі запущені процеси
команда kill
kill pid - вбити процес з id pid
команда killall
killall ispmgr - вбити всі процеси з ім'ям ispmgr
команда man
man passwd - вивести на екран довідку про команду passwd
команда passwd
passwd testuser - змінити пароль для користувача testuser. За замовчуванням командою passwd без вказівки конкретного користувача зміниться пароль для користувача, який авторизовані в системі.
команда ls
ls- список файлів і каталогів (з ключиком «-lа» - список з прихованими файлами):
Команда pwd - поточна директорія
pwd- вивести повний шлях від кореневого каталогу до поточного робочого каталогу (показує директорію, в якій Ви перебуваєте):
команда mkdir
mkdir folder - створити каталог / директорію folder
команда rmdir
rmdir- видалити каталог з файлової системи. Видалення директорії і її вмісту також можна виконати командою rm -rf (ключ -r для каталогів).
команда rm
rm file - видалити файл file з підтвердженням
rm file * - видалити всі файли, які починаються з символів file з підтвердженням:
команда mv
mv(Від англ. Move) - використовується для переміщення або перейменування файлів або каталогів:
1 - перейменування директорії folder в folder00:
2 - переміщення файлу в директорію:
команда cat
cat> File - направити стандартний ввід в file (тобто створити файл з необхідним вмістом):
Щоб завершити введення інформації в цей файл, необхідно, як зазвичай, натиснути клавіші
cat file - показати вміст файлу file:
cat file file1> file22 - створити файл file22 і записати в нього дані з файлів file і file1:
Команда less, more
Переглядати вміст файлу можна також командою lessабо more.
команда chmod
chmod- змінити права доступу на файл або директорію (для директорій часто використовуються 751 (-rwxr-xr-x), а для файлів - 644 (-rw-rw-r-)), де
4 - читання (r)
2 - запис (w)
1 - виконання (x):
команда chown
chown- змінити власника для файлу
команда tar
tar file.tar file - заархівувати файл file і привласнити йому ім'я file.tar:
де опція -з (create) - створити. команда tar-xpf folder00.tar розархівуйте архів в поточну директорію зберігаючи права доступу на файл.
команда wget
wget- скопіювати на сервер файл по мережі:
команда find
find- пошук файлу:
команда locate
locate- пошук файлу:
команда history
history- показати історію команд (можна вказати кількість рядків для перегляду):
команда reboot
reboot- перезавантажити сервер
команда halt
halt- вимкнути сервер
команда shutdown
shutdown- вимкнути або перезавантажити сервер (в залежності від опцій)
pwd Вивести поточну директорію.
hostname Вивести або змінити ім'я мережі машини.
whoami Ввести ім'я під яким я зареєстрований.
date Вивести або змінити дату і час. Наприклад, щоб встановити дату і час рівну 2000-12-31 23:57, слід виконати команду:
date 123123572000
time Отримати інформацію про час, потрібного для виконання процесу + ще деяку інформацію. Не плутайте цю команду з date. Наприклад: Я можу визначити як багато часу потрібно для виведення списку файлів в директорії, набравши послідовність:
time ls
who Визначити хто з користувачів працює на машині.
rwho -a Визначення всіх користувачів, які підключилися до вашої мережі. Для виконання цієї команди потрібно, щоб був запущений процес rwho. Якщо такого немає - запустіть "setup" під суперкористувачем.
finger [ім'я користувача]Системна інформація про зареєстрованого користувача. Спробуйте: finger root
uptime Кількість часу минулого з останньої перезавантаження.
ps a Список поточних процесів.
top Інтерактивний список поточних процесів відсортованих по використанню cpu.
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, для отримання повного списку.
Робота з мережею
Netconf (як root) Дуже хороша програма настройки мережі, яка використовує для інтерактивної роботи з користуванням, текстове меню.
ping [імя_машіни] "Перевірка на вошивість". Є чи ні контакту з іншою машиною (як параметрі команді можна передавати мережеве ім'я машини або IP адреса), натисніть -C коли вся необхідна інформація буде отримана.
route -n Вивести таблицю маршрутизації (the routing table).
ipfwadm -F -p m Налаштувати firewall.
ifconfig (як root) Вивести інформацію про поточні мережеві інтерфейси (ethernet, ppp, і т.д.) Ваша перша ethernet плата плата буде показана як eth0, друга як eth1, перший ppp модем як ppp0 і так далі. "Lo" - розшифровується як "loopback only" мережевий інтерфейс, який повинен бути постійно активований. Використовуйте відповідні опції (дивіться результат виконання ifconfig --help) для настройки мережевих інтерфейсів.
ifup [імя_сетевого_інтерфейса](/ Sbin / ifup при роботі під звичайним користувачем) Активізація відповідного мережевого інтерфейсу. наприклад:
ifup eth0
ifup ppp0
Користувач може активізувати і вимкнути мережеве інтерфейс ppp тільки коли встановлені відповідні права доступу (права можна встановити в процесі настройки ppp через "netconf")
ifdown [імя_сетевого_інтерфейса](/ Sbin / ifdown при роботі під звичайним користувачем). Діактівізація відповідного мережевого інтерфейсу ..
найпростіші дії
ls Список файлів в поточній директорії. Команда виконанні команди dir виконується команда ls.
cd [директорія] Змінити директорію.
cp [що копіювати] [куди копіювати]Копіювати файли.
mcopy [що копіювати] [куди копіювати]Копіювати файли при роботі з файловою системою dos (монтувати диска dos необов'язково). Наприклад: mcopy a: \ autoexec.bat ~ / junk. Для отримання детальнішої інформації на подібним командам (mdir, mcd, mren, mmove, mdel, mmd, mrd, mformat ....) ознайомтеся з man mtools.
mv [що переміщати] [куди переміщати]Перемістити або перейменувати файл.
ln -s [на що зробити посилання] [ім'я посилання]Створити символічне посилання.
rm [файли] Видалити файли.
mkdir [директорію] Створити нову директорію.
rmdir [директорію] Видалити порожню директорію.
rm -r [файли і / або директорії](Рекурсивне видалення) Видалити файли, директорії і їх піддиректорії. Обережно з цією командою, якщо у вас права суперкористувача! Поки у Linux немає системи повного відновлення видалених файлів (якщо ви не користуєтеся спеціальними програмами для приміщення віддалений файли в спеціальний каталог - a la кошик під W95).
cat [ім'я файлу] | moreПерегляд вмісту текстового файлу по одній сторінці за раз.
less [ім'я файлу] Перегляд вмісту текстового файлу з можливістю повернутися до попередніх сторінок. Натисніть q коли захочете вийти з програми. "Less" - аналог команди DOS "more", хоча дуже часто "less" буває більш зручною ніж "more".
pico [ім'я файлу] Редагувати текстовий файл.
lynxПерегляд файлу html або WWW посилання за допомогою текстового браузера Lynx.
tar -zxvf файли] Розпакувати архів tgz або tar.gz, який ви витягли з мережі.
find / -name "ім'я файлу"Знайти файл з ім'ям "ім'я файлу". Пошук починається з директорії /. "Ім'я файлу" може містити маску для пошуку.
pine Хороша текстово - орієнтована програма для читання електронної пошти. Ще одна подібна програма називається "elm". Netscape зчитує ваші листи з вашого Internet адреси, а pine дозволяє вам переглядати "локальну" пошту - тобто ту пошту, яку посилає вам процес son або cron.
mc Запустити програму оправления файлами "Midnight Commander" (Виглядає як "Norton Commander", але за своїми можливостями ближче до far або dn).
telnet [сервер] Зв'язатися з telnet з іншою машиною. Використовуйте ім'я машини або її IP адресу. Увійдіть за допомогою вашого пароля (ви повинні бути зареєстровані на цій віддаленій машині). Це дозволить вам увійти на іншу машину і працювати на ній, як ніби ви сидите за її клавіатурою (майже ніяких відмінностей).
ftp [сервер] Зв'язатися з ftp з віддаленим комп'ютером. Цей тип зв'язку хороший для копіювання файлів з / на віддалену машину.
minicom Minicom - програма (виглядає як telix або рrocomm для Linux).
./Імя_Программи Запустити виконуваний файл в поточній директорії, яка немає в списку директорій, зазначених у змінній оточення PATH.
startx Запустити X-windows сервер і встановлений за замовчуванням віконний менеджер. Схоже на те як ви набираєте "win" під DOS з Win3.1
xterm (в X терміналі) Запустити простий термінал в графічній оболонці X-windows. Для того щоб вийти з нього наберіть "exit".
xboing (в X терміналі). Дуже класний, старий - добрий арканоїд.
gimp (в X терміналі) Дуже потужний графічний редактор (за можливостями близький до Photoshop). Вимагає деякого часу для навчання - дуже хороший для художників. Для доступу до локального меню скористайтеся правою кнопкою миші.
netscape (в X терміналі) Запустити netscape (потребує окремого встановлення цього продукту). Нормальна підтримка російської мови включена в 4.07 версію цього продукту - тому слід поставити цю версію або новішу.
Основні Команди Адміністрування
printtool (як root в X терміналі) Конфігурувати ваш принтер.
setup (як root) Конфігурувати миша, звукову карту, клавіатуру, графічну оболонку X-windows і системні служби. Дуже проста в користуванні програма.
alias ls = "ls -Fskb --color" Створити alias - псевдонім для того щоб однією командою можна було запустити більш складну комбінацію команд. Помістіть створення alias в файл / etc / bashrc якщо ви хочете, щоб ці псевдоніми були доступні всім користувачам вашої системи.
adduser [ім'я користувача] Зарегістріровать нового користувача (у вас повинні бути права суперюзера). наприклад:
adduser ivanov
Не забудьте наступним справою налаштувати пароль користувача. Директорія користувача знаходиться в каталозі / home / користувач.
useradd [ім'я користувача]Те ж, що і adduser.
userdel [ім'я користувача]Видалити користувача з системи (ви повинні зайти як root). З призначеним для користувача каталогом і не прочитаними листами віддаленого користувача потрібно розбиратися окремо.
groupadd [імя_группи]Створити нову групу користувачів на вашій системі. Не обов'язково створювати групу безпосередньо на основний машині.
passwd Змінити пароль. Якщо ви привілейований користувач, то ви можете змінити пароль будь-якого зареєстрованого користувача набравши команду:
passwd имя_пользователя
chmod [права доступу] [файл](= Change mode) Змінити права доступу файлів, чиїм власником ви є (якщо ви не root, в цьому випадку ви можете змінити права доступу для будь-якого файлу). Є три способи доступу до файлу: читання - read (r), запис - write (w), виконання - execute (x) і три типи користувачів: господар файлу - owner (u), члени тієї ж групи, що і господар файлу ( g) і всі інші (o). Повірити поточні права доступу можна в такий спосіб:
ls -l имя_файла
Якщо файл доступний усіма способами всім користувачам, то навпроти імені файлу буде наступна комбінація букв:
rwxrwxrwx
Перші три букви - це права доступу для господаря / господині файлу, другий триплет - права доступу для його / її групи, наступна трійка - права доступу для інших. Відсутність права доступу показується як "-" .;
Наприклад: Ця команда дозволить вам встановити права доступу на читання для файлу "junk" для всіх (all = user + group + others):
chmod a + r junk
Ця команда відніме право доступу на виконання файлу у всіх крім користувача і групи:
chmod o-x junk
Для отримання додаткової інформації наберіть chmod --help або man chmod або почитайте будь-яке керівництво по Linux.
Ви можете встановити права доступу за замовчуванням для створюваних вами файлів за допомогою команди "umask" (наберіть man umask).
chown [новий_хозяін] [файли]
chgrp [новая_группа] [файли]Змінити господаря і групу для файлу.
Ви можете використовувати ці дві команди, після того як зробили копію файлу для будь-кого.
su (= super user) Вхід в систему як привілейований користувач (у вас запитають ваш пароль). Набравши "exit" ви повернетеся в вашу попередню призначену для користувача оболонку. Користувач root існує для адміністрування системи та команда su дає швидкий доступ до можливостей суперкористувача, коли вам це потрібно. Ніколи не входите в систему під користувачем root, використовуйте для цієї мети команду su.
контроль процесів
Ps (= print status) Вивести список поточних процесів з їх IDs (PID) ідентифікаторами. використовуйте
ps axu
для того щоб відобразити всі процеси запущені на вашій системі, які мають вас як господаря (це стосується і процесів які відчеплені від терміналу).
fg Повернути фоновий або призупинений процес в інтерактивне (високопріоритетних) стан;
bg Зробити процес фоновим. Зворотна функція від fg. Може слідувати слідом за комбінацією z.
kill "Вбити" процес. Для початку визначте PID "убиваемого" процесу за допомогою ps.
killall [назва програми]"Вбити" всі процеси по імені програми.
xkill (в терміналі X window) "Вбити" процес, на вікно якого вкажіть курсором.
lpc (як root) Перевірити чергу принтера.
lpq Вивести список черги завдань на друк.
lprm [Номер Завдання]Видаліть завдання з черги на друк.
nice [назва програми]Запустити процес, встановивши його пріоритет.
renice Змінити пріоритет процесу.
Існує два види інтерфейсу: графічний інтерфейс користувача і інтерфейс командного рядка.
Графічний інтерфейс користувача (Англ. Graphical user interface, GUI).- управління програмами за допомогою графічних кнопок, спливаючих меню, вікон та інших елементів. Безліч дій можна виконувати за допомогою миші.
Переваги: візуальне відображення програм і їх вмісту, можливості програм можна вивчати без читання документації.
Інтерфейс командного рядка (Англ. Command Line Interface, CLI).- управління програмами за допомогою команд. Команди складаються з літер, цифр, символів, набираються через підрядник, виконуються після натискання клавіші Enter. Основний інструмент тут клавіатура.
Даний інтерфейс вбудований в ядро системи, він буде доступний, навіть якщо графічний інтерфейс не запуститься.
Переваги: невелика витрата ресурсів, гнучкість при складанні переліку дій з команд, можливість автоматичного виконання команд, можливість копіювати і вставляти команди.
Якщо порівнювати інтерфейси в різних системах, то можна помітити, що основні команди однакові у всіх дистрибутивах сімейства Linux, а ось графічні програми в кожній системі можуть дуже сильно відрізнятися.
Дістатися до командного рядка можна двома способами: через консоль або термінал.
консоль
Під час завантаження Ubuntu запускаються сім повноекранних консолей, у кожної свій незалежний сеанс, з першої по шосту з інтерфейсом командного рядка, в сьомий запускається графічний режим. Користувач під час завантаження бачить тільки графічний режим.
Переключитися на одну з віртуальних консолей можна натиснувши поєднання клавіш:
Ctrl + Alt + F1 - перша віртуальна консоль;
Ctrl + Alt + F2 - друга віртуальна консоль;
Ctrl + Alt + F3 - третя віртуальна консоль;
Ctrl + Alt + F4 - четверта віртуальна консоль;
Ctrl + Alt + F5 - п'ята віртуальна консоль;
Ctrl + Alt + F6 - шоста віртуальна консоль;
Ctrl + Alt + F7 - сьома віртуальна консоль, повернення в графічний режим.
термінал
термінал- графічна програма емулююча консоль.
Такі програми дозволяють не виходячи з графічного режиму виконувати команди.
Термінал в порівнянні з консоллю має додатковий функціонал (управління мишею, контекстне меню, смуга прокрутки, вкладки, запуск кількох вікон, головне меню, графічні настройки).
Запустити термінал можна в такий спосіб:
У Unity:
Головне меню → Набрати в пошуковому рядку слово Термінал
або натиснути комбінацію клавіш: Ctrl + Alt + T
У Gnome Fallback
Програми → Стандартні → Термінал
У Xfce (Xubuntu):
У KDE (Kubuntu):
Головне меню → Програми → Система → Термінал
У LXDE (Lubuntu):
Головне меню → Системні → LXTerminal
Після запуску терміналу ми бачимо рядок із запрошенням до введення команд, наприклад:
[Email protected]:~$
vladimir - ім'я облікового запису користувача
@ - роздільник між обліковим записом і ім'ям комп'ютера
Zotac-Zbox-Nano - ім'я комп'ютера
: - роздільник
~ - в якій папці виконується команда, ~ це домашня папка користувача, якщо виконаєте команду ls то отримаєте список файлів з цієї папки
$ - запрошення до виконання команди з правами простого користувача (# означатиме запрошення на виконання команд з правами адміністратора)
Гарячі клавіші
копіювання команд
Часто вам доведеться слідувати будь-яким інструкціям, які вимагають копіювання команд в термінал. Напевно, ви здивуєтеся, коли виявите, що текст, скопійований вами з інтернет-сторінки за допомогою комбінації клавіш Ctrl + С, не вставляється в термінал при натисканні Ctrl + V. І що, невже доведеться передруковувати всі ці команди і імена файлів вручну? Ні, розслабтеся! Вставити текст в термінал можна трьома способами: Ctrl + Shift + V, натисканням середньої кнопки миші або правої кнопки миші і вибором рядка «Вставити».
економія набору
або Ctrl + P | прокрутка недавно використаних команд вгору |
↓ або Ctrl + N | прокрутка недавно використаних команд вниз |
Enter | виконання обраної команди |
Tab | вкрай зручна можливість - автозаподстановка команд та імен файлів. Якщо з вибраних символів починається тільки одна команда, підставить саме вона, а якщо їх декілька, то по подвійному натисненню tab виведеться список всіх можливих варіантів. |
Ctrl + R | пошук по командам, які ви вводили раніше. Якщо вам потрібно повторно виконати дуже довгу і складну команду, ви можете ввести тільки її частину, а ця комбінація клавіш допоможе знайти команду цілком. |
History | команда historyвиводить список всіх команд, які ви вводили. Кожній команді буде присвоєно номер. Щоб виконати команду під номером x, просто введіть «! X». Якщо у вас вийшла дуже довга історія, можна спробувати «History I less», Це зробить список прокручується. |
зміна тексту
Тут миша не працює. Використовуйте стрілки вліво / вправо, щоб переміщатися по рядку.
Введення з клавіатури буде додавати символи. Існуючий текст віддалятися не буде.
програмна оболонка
Консоль і термінал обробляють команди за допомогою програмної оболонки.
Програмна оболонка - інтерпретатор команд, він розпізнає команди введені в командному рядку, і запускає програми для виконання команди.
В Ubuntu за замовчуванням використовується оболонка bash, він розпізнає команди на мові bash.
Bash можна замінити на іншу оболонку, їх існує кілька. Кожна оболонка має свій набір налаштувань і можливостей.
(Автовиполненіе команд при вході в оболонку, внутрішні команди оболонки, ведення історії, можна призначати скорочені команди - аліаси).
команди
Команди - це визначений набір букв, цифр, символів, які можна ввести в командному рядку і виконати натиснувши Ентер.
Команди діляться на два види:
Команди вбудовані в програмну оболонку (наприклад history)
Команди керуючі програмами, встановленими в системі
Команди для управління програмами будуються за такою схемою:
Названіе_программи-ключ значення
Назва програми- це назва файлу з каталогів записаних в змінній $ PATH (/ bin, / sbin, / usr / bin, / usr / sbin, / usr / local / bin, / usr / local / sbin і ін.) Або повний шлях до виконуваного файлу (/ opt / deadbeef / bin / deadbeef)
ключ- пишеться після назви програми, наприклад -h, у кожної програми свій набір ключів, вони перераховані в довідці до програми, ключі використовуються для вказівки які налаштування використовувати або яку дію виконати
значення- адреса, цифри, текст, спецсимволи (*, ~, \, &, «», _), змінні ($ HOME, $ USER, $ PATH)
Виконати команди можна наступним чином:
Набрати команду в командному рядку і натиснути Enter
Скопіювати команду з інструкції та вставити її в командний рядок, потім натиснути Enter
Створити скрипт і виконати подвійним натисканням миші (створити текстовий файл, в першому рядку написати #! / Bin / bash, нижче написати команди в стовпчик, зберегти, у властивостях файлу дозволити виконання, натиснути два рази по файлу для виконання всіх перерахованих команд)
Пам'ятайте, що термінал чутливий до регістру! Слова User, user і USER в Linux розрізняються!
шпаргалка команд
файлові команди
cd ../ .. | перейти в директорію двома рівнями вище |
cd | перейти в домашню директорію |
cd ~ user | перейти в домашню директорію користувача user |
cd - | перейти в директорію, в якій знаходилися до переходу в поточну директорію |
pwd | Показати поточні директорію |
mkdir dir | створити каталог dir |
mkdir dir1 | створити директорію з ім'ям "dir1" |
mkdir dir1 dir2 | створити дві директорії одночасно |
mkdir -p / tmp / dir1 / dir2 | створити дерево директорій |
rm file | видалити file |
rm -r dir | видалити каталог dir |
rm -f file | видалити форсовано file |
rm -rf dir | видалити форсовано каталог dir |
rm -f file1 | видалити файл з ім'ям "file1" |
rmdir dir1 | видалити директорію з ім'ям "dir1" |
rm -rf dir1 | видалити директорію з ім'ям "dir1" і рекурсивно все її вміст |
rm -rf dir1 dir2 | видалити дві директорії і рекурсивно їх вміст |
cp file1 file2 | скопіювати file1 в file2 |
cp -r dir1 dir2 | скопіювати dir1 в dir2; створить каталог dir2, якщо він не існує |
cp dir / | копіювати всі файли директорії dir в поточну директорію |
cp -a / tmp / dir1 | копіювати директорію dir1 з усім вмістом в поточну директорію |
cp -a dir1 dir2 | копіювати директорію dir1 в директорію dir2 |
mv dir1 new_dir | перейменувати або перемістити файл або директорію |
mv file1 file2 | перейменувати або перемістити file1 в file2. якщо file2 існуючий каталог - перемістити file1 в каталог file2 |
ln -s file1 lnk1 | створити символічне посилання на файл або директорію |
ln file1 lnk1 | створити «жорстку» (фізичну) посилання на файл або директорію |
touch file | створити file |
touch -t 0712250000 fileditest | модифікувати дату і час створення файлу, при його відсутності, створити файл із зазначеними датою і часом (YYMMDDhhmm) |
cat> file | направити стандартний ввід в file |
more file | вивести вміст file |
head file | вивести перші 10 рядків file |
tail file | вивести останні 10 рядків file |
tail -f file | вивести вміст file по мірі росту, починає з останніх 10 рядків |
архівація
tar cf file.tar files | створити tar-архів з ім'ям file.tar містить files |
tar xf file.tar | розпакувати file.tar |
tar czf file.tar.gz files | створити архів tar з стисненням Gzip |
tar xzf file.tar.gz | розпакувати tar з Gzip |
tar cjf file.tar.bz2 | створити архів tar з стисненням Bzip2 |
tar xjf file.tar.bz2 | розпакувати tar з Bzip2 |
gzip file | стиснути file і перейменувати в file.gz |
gzip -d file.gz | розтиснути file.gz в file |
bunzip2 file1.bz2 | розтискає файл "file1.gz" |
gzip -9 file1 | стиснути файл file1 з максимальним стисненням |
rar a file1.rar test_file | створити rar-архів "file1.rar" і включити в нього файл test_file |
rar a file1.rar file1 file2 dir1 | створити rar-архів "file1.rar" і включити в нього file1, file2 і dir1 |
rar x file1.rar | розпакувати rar-архів |
tar -cvf archive.tar file1 | створити tar-архів archive.tar, що містить файл file1 |
tar -cvf archive.tar file1 file2 dir1 | створити tar-архів archive.tar, що містить файл file1, file2 і dir1 |
tar -tf archive.tar | показати вміст архіву |
tar -xvf archive.tar | розпакувати архів |
tar -xvf archive.tar -C / tmp | розпакувати архів в / tmp |
tar -cvfj archive.tar.bz2 dir1 | створити архів і стиснути його за допомогою bzip2 (прім.переводчіка. ключ -j працює не у всіх * nix системах) |
tar -xvfj archive.tar.bz2 | розтиснути архів і розпакувати його (прім.переводчіка. ключ -j працює не у всіх * nix системах) |
tar -cvfz archive.tar.gz dir1 | створити архів і стиснути його за допомогою gzip |
tar -xvfz archive.tar.gz | розтиснути архів і розпакувати його |
zip file1.zip file1 | створити стиснений zip-архів |
zip -r file1.zip file1 file2 dir1 | створити стиснений zip-архів і з включенням в нього декількох файлів і / або директорій |
unzip file1.zip | розтиснути і розпакувати zip-архів |
Робота з локальними deb-пакетами (dpkg)
deb - розширення імен файлів «бінарних» пакетів для поширення і установки програмного забезпечення в ОС проекту Debian, і інших, що використовують систему управління пакетами dpkg. Deb - це частина слова Debian, в свою чергу, утвореного від слів Debra - імені подруги (згодом - дружини, нині - колишньої) засновника Дебіан Яна Мердока і Ian від його власного імені.
dpkg -i package.deb | встановити / оновити пакет |
dpkg -r package_name | видалити пакет з системи |
dpkg -l | показати всі пакети, встановлені в систему |
dpkg -l | grep httpd | серед всіх пакетів, встановлених в системі, знайти пакет містить в своєму імені «httpd» |
dpkg -s package_name | відобразити інфрмацію про конкретний пакеті |
dpkg -L package_name | вивести список файлів, що входять в пакет, встановлений в систему |
dpkg -contents package.deb | відобразити список файлів, що входять в пакет, який еше не встановлено в систему |
dpkg -S / bin / ping | знайти пакет, в який входить зазначений файл |
Використання пакетного менеджера Apt
apt (advanced packaging tool) - програма для установки, оновлення і видалення програмних пакетів в операційних системах Debian і заснованих на них (Ubuntu, Linux Mint і т. п.), іноді також використовується в дистрибутивах, заснованих на Mandrake, наприклад Mandriva, ALTLinux і PCLinuxOS. Здатна автоматично встановлювати і налаштовувати програми для UNIX-подібних операційних систем як з попередньо відкомпільованих пакетів, так і з вихідних кодів.
apt-get install package_name | встановити / оновити пакет |
apt-cdrom install package_name | встановити / оновити пакет з cdrom "а |
apt-get update | отримати оновлені списки пакетів |
apt-get upgrade | оновити пакети, встановлені в систему |
apt-get remove package_name | видалити пакет, встановлений в систему зі збереженням файлів конфігурації |
apt-get purge package_name | видалити пакет, встановлений в систему з видаленням файлів конфігурації |
apt-get check | перевірити цілісність залежностей |
apt-get clean | видалити завантажені архівні файли пакетів |
apt-get autoclean | видалити старі завантажені архівні файли пакетів |
Перегляд вмісту файлів
cat file1 | вивести вміст файлу file1 на стандартне устройсва виведення |
tac file1 | вивести вміст файлу file1 на стандартне устройсва виведення в зворотному порядку (останній рядок ставати першою і т.д.) |
more file1 | посторінковий вивід вмісту файлу file1 на стандартний пристрій виводу |
less file1 | посторінковий вивід вмісту файлу file1 на стандартний пристрій виводу, але з можливістю гортання в обидві сторони (вгору-вниз), пошуку по вмісту і т.п. |
head -2 file1 | вивести перші два рядки файлу file1 на стандартний пристрій виводу. За замовчуванням виводиться десять рядків |
tail -2 file1 | вивести останні два рядки файлу file1 на стандартний пристрій виводу. За замовчуванням виводиться десять рядків |
tail -f / var / log / messages | виводити вміст файлу / var / log / messages на стандартний пристрій виводу в міру появи в ньому тексту |
Маніпуляції з текстом
cat file_originale | > result.txt | загальний синтаксис виконання дій по обробці вмісту файлу і виведення результату в новий |
cat file_originale | »result.txt | загальний синтаксис виконання дій по обробці вмісту файлу і виведення результату в існуючий файл. Якщо файл не існує, він буде створений |
grep Aug / var / log / messages з файлу "/ var / log / messages" | відібрати і вивести на стандартний пристрій виводу рядка, що містять «Aug» |
grep ^ Aug / var / log / messages з файлу "/ var / log / messages" | відібрати і вивести на стандартний пристрій виводу рядки, що починаються на «Aug» |
grep / var / log / messages з файлу "/ var / log / messages" | відібрати і вивести на стандартний пристрій виводу рядка, що містять цифри |
grep Aug -R / var / log / * | відібрати і вивести на стандартний пристрій виводу рядка, що містять «Aug», у всіх файлах, що знаходяться в директорії / var / log і нижче |
sed "s / stringa1 / stringa2 / g" example.txt | в файлі example.txt замінити «string1» на «string2», результат вивести на стандартний пристрій виводу |
sed "/ ^ $ / d" example.txt | видалити порожні рядки з файлу example.txt |
sed "/ * # / d; / ^ $ / d" example.txt | видалити порожні рядки і коментарі з файлу example.txt |
echo "esempio" | tr "[: lower:]" "[: upper:]" | перетворити символи з нижнього регістра в верхній |
sed -e "1d" result.txt | видалити перший рядок з файлу example.txt |
sed -n "/ string1 / p" | відобразити тільки рядки содержашийся «string1» |
sed -e "s / * $ "example.txt | Видалити порожні символи в в кінці кожного рядка | | sed -e "s / string1 g "example.txt | видалити рядок «string1» з тексту не змінюючи решти |
sed -n "1,8p; 5q" example.txt | взяти з файлу з першої по восьму рядки і з них вивести перші п'ять |
sed -n "5p; 5q" example.txt | вивести п'ятий рядок |
sed -e "s / 0 * / 0 / g" example.txt | замінити послідовність з будь-якої кількості нулів одним нулем |
cat -n file1 | пронумерувати рядки при виведенні вмісту файлу |
cat example.txt | awk "NR% 2 == 1" | при виведенні вмісту файлу, не виводити парні рядки файлу |
echo a b c | awk "(print $ 1)" | вивести першу колонку. Поділ, по-замовчуванню, по проблелу / прогалин або символу / символам табуляції |
echo a b c | awk "(print $ 1, $ 3)" | вивести першу і треью колонки. Поділ, по-замовчуванню, по проблелу / прогалин або символу / символам табуляції |
paste file1 file2 | об'єднати вміст file1 і file2 у вигляді таблиці: рядок 1 з file1 = рядок 1 колонка 1-n, рядок 1 з file2 = рядок 1 колонка n + 1-m |
paste -d "+" file1 file2 | об'єднати вміст file1 і file2 у вигляді таблиці з роздільником «+» |
sort file1 file2 | впорядкувати вміст двох файлів |
sort file1 file2 | uniq | впорядкувати вміст двох файлів, що не відображаючи повторів |
sort file1 file2 | uniq -u | впорядкувати вміст двох файлів, відображаючи лише унікальні рядки (рядки, що зустрічаються в обох файлах, які не виводяться на стандартний пристрій виводу) |
sort file1 file2 | uniq -d | впорядкувати вміст двох файлів, відображаючи тільки повторювані рядки |
comm -1 file1 file2 | порівняти вміст двох файлів, що не відображаючи рядки належать файлу "file1" |
comm -2 file1 file2 | порівняти вміст двох файлів, що не відображаючи рядки належать файлу "file2" |
comm -3 file1 file2 | порівняти вміст двох файлів, видаляючи рядки зустрічаються в обох файлах |
Перетворення наборів символів і файлових форматів
Аналіз файлових систем
Монтування файлових систем
Монтування файлової системи - процес, який готує розділ диска до використання операційною системою.
Операція монтування складається з декількох етапів:
Визначення типу монтируемой системи
Перевірка цілісності монтируемой системи
Зчитування системних структур даних і ініціалізація відповідного модуля файлового менеджера (драйвера файлової системи)
Установка прапора, який повідомляє про закінчення монтування. При коректному размонтировании цей прапор скидається. Якщо при завантаженні система визначає, що прапор не скинутий, значить робота була завершена некоректно, і можливо ФС потребує лагодження
Включення нової файлової системи в загальний простір імен
mount / dev / hda2 / mnt / hda2 | монтує розділ "hda2" в точку монтування "/ mnt / hda2". Переконайтеся в наявності директорії-точки монтування "/ mnt / hda2" |
umount / dev / hda2 | размонтіруйте розділ "hda2". Перед виконанням, покиньте "/ mnt / hda2" |
fuser -km / mnt / hda2 | примусове Демонтується розділу. Застосовується в разі, коли розділ зайнятий яким-небудь користувачем |
umount -n / mnt / hda2 | виконати размонітрованіе без занесення інформації в / etc / mtab. Корисно коли файл має атрибути «тільки читання» або недостатньо місця на диску |
mount / dev / fd0 / mnt / floppy | монтувати флоппі-диск |
mount / dev / cdrom / mnt / cdrom | монтувати CD або DVD |
mount / dev / hdc / mnt / cdrecorder | монтувати CD-R / CD-RW або DVD-R / DVD-RW (+ -) |
mount -o loop file.iso / mnt / cdrom | змонтувати ISO -образ |
mount -t vfat / dev / hda5 / mnt / hda5 | монтувати файлову систему Windows FAT32 |
Форматування файлових систем
Форматування - програмний процес розмітки області зберігання даних електронних носіїв інформації, розташованої на магнітній поверхні (жорсткі диски, дискети), оптичні носії (CD / DVD / Blu-ray-диски), твердотільних накопичувачах (флеш-пам'ять - flash module, SSD) і ін. Існують різні способи цього процесу.
Саме форматування полягає в створенні (формуванні) структур доступу до даних, наприклад, структур файлової системи. При цьому можливість прямого доступу до об'єктів (що знаходилася до форматування) на носії інформації втрачається, частина її безповоротно знищується. Деякі програмні утиліти дають можливість відновити деяку частину (зазвичай - велику) інформації з відформатованих носіїв. В процесі форматування також може перевірятися і виправлятися цілісність носія.
Створення резервних копій (backup)
Створення резервних копій (англ. Backup copy) - процес створення копії даних на носії (жорсткому диску, дискеті і т. Д.), Призначеному для відновлення даних в оригінальному або новому місці їх розташування в разі їх пошкодження або руйнування.
dump -0aj -f /tmp/home0.bak / home | створити повну резервну копію директорії / home в файл /tmp/home0.bak |
dump -1aj -f /tmp/home0.bak / home | створити Інкрементальний резервну копію директорії / home в файл /tmp/home0.bak |
restore -if /tmp/home0.bak | відновити з резервної копії /tmp/home0.bak |
rsync -rogpav -delete / home / tmp | синхронізувати / tmp с / home |
rsync -rogpav -e ssh -delete / home ip_address: / tmp | синхронізувати через SSH -туннель |
rsync -az -e ssh -delete ip_addr: / home / public / home / local | синхронізувати локальну директорію з віддаленої Директорією через ssh-тунель із стисненням |
rsync -az -e ssh -delete / home / local ip_addr: / home / public | синхронізувати віддалену директорію з локальної Директорією через ssh-тунель із стисненням |
dd bs = 1M if = / dev / hda | gzip | ssh [Email protected] _addr "dd of = hda.gz" | зробити «зліпок» локального диска в файл на віддаленому комп'ютері через ssh-тунель |
tar -Puf backup.tar / home / user | створити Інкрементальний резервну копію директорії "/ home / user" в файл backup.tar зі збереженням повноважень |
(Cd / tmp / local / && tar c.) | ssh -C [Email protected] _addr "cd / home / share / && tar x -p" | копіювання вмісту / tmp / local на віддалений комп'ютер через ssh-тунель в / home / share / |
(Tar c / home) | ssh -C [Email protected] _addr "cd / home / backup-home && tar x -p" | копіювання вмісту / home на віддалений комп'ютер через ssh-тунель в / home / backup-home |
tar cf -. | (Cd / tmp / backup; tar xf -) | копіювання однієї директорії в іншу зі збереженням повноважень і лінків |
find / home / user1 -name "* .txt" | xargs cp -av -target-directory = / home / backup / -parents | пошук в / home / user1 всіх файлів, імена яких закінчуються на ".txt", і копіювання їх в іншу директорію |
find / var / log -name "* .log" | tar cv -files-from = - | bzip2> log.tar.bz2 | пошук в / var / log всіх файлів, імена яких закінчуються на ".log", і створення bzip-архіву з них |
dd if = / dev / hda of = / dev / fd0 bs = 512 count = 1 | створити копію MBR (Master Boot Record) с / dev / hda на флоппі-диск |
dd if = / dev / fd0 of = / dev / hda bs = 512 count = 1 | відновити MBR з флоппі-диска на / dev / hda |
дисковий простір
df -h | відображає інформацію про змонтованих розділах з відображенням загального, доступного і використовуваного простору (прім.переводчіка. ключ -h працює не у всіх * nix системах) |
ls -lSr | more | видає список файлів і директорій рекурсивно з сортуванням по зростанню розміру і дозволяє здійснювати посторінковий перегляд |
du -sh dir1 | підраховує і виводить розмір, займаний директорією "dir1" (прім.переводчіка. ключ -h працює не у всіх * nix системах) |
du -sk * | sort -rn | відображає розмір і імена файлів і директорій, з сорітровкой за розміром |
rpm -q -a -qf "% 10 (SIZE) t% (NAME) n" | sort -k1,1n | показує розмір використовуваного дискового простору, займане файлами rpm-пакету, з сортуванням за розміром (fedora, redhat і т.п.) |
dpkg-query -W -f = "$ (Installed-Size; 10) t $ (Package) n" | sort -k1,1n | показує розмір використовуваного дискового простору, займане файлами deb-пакету, з сортуванням за розміром (ubuntu, debian т.п.) |
CDROM
mkisofs / dev / cdrom> cd.iso | створити iso образ диска |
mkisofs / dev / cdrom | gzip> cd_iso.gz | створити стислий iso образ диска |
mkisofs -J -allow-leading-dots -R -V «Label CD» -iso-level 4 -o ./cd.iso data_cd | створити iso образ папки |
cdrecord -v dev = / dev / cdrom cd.iso | записати iso образ |
gzip -dc cd_iso.gz | cdrecord dev = / dev / cdrom | записати стислий iso образ |
mount -o loop cd.iso / mnt / iso | примонтировать iso образ |
cd-paranoia -B | вважати аудіо треки з диска в wav файли |
cd-paranoia - «-3» | вважати перші три аудіо треку з диска в wav файли |
cdrecord -scanbus | ідентифікувати канал scsi |
Користувачі і групи
groupadd group_name | створити нову групу з ім'ям group_name |
groupdel group_name | видалити групу group_name |
groupmod -n new_group_name old_group_name | перейменувати групу old_group_name в new_group_name |
useradd -c «Nome Cognome» -g admin -d / home / user1 -s / bin / bash user1 | створити користувача user1, призначити йому в якості домашнього каталогу / home / user1, як shell "а / bin / bash, включити його в групу admin і додати коментар Nome Cognome |
useradd user1 | створити користувача user1 |
userdel -r user1 | видалити користувача user1 і його домашній каталог |
usermod -c «User FTP» -g system -d / ftp / user1 -s / bin / nologin user1 | змінити атрибути користувача |
passwd | змінити пароль |
passwd user1 | змінити пароль користувача user1 (тільки root) |
chage -E 2005-12-31 user1 | встановити дату закінчення дії облікового запису користувача user1 |
pwck | перевірити коректність системних файлів облікових записів. Перевіряються файли / etc / passwd і / etc / shadow |
grpck | перевіряє коректність системних файлів облікових записів. Перевіряється файл / etc / group |
newgrp [-] group_name | змінює первинну групу поточного користувача. Якщо вказати «-», ситуація буде ідентичною тій, в якій користувач вишив з системи і знову увійшов. Якщо не вказувати групу, первинна група буде призначена з / etc / passwd |
Виставлення / зміна повноважень на файли
chmod (від англ. change mode) - програма для зміни прав доступу до файлів і тек. Назва походить від програми ОС Unix chmod, яка, власне, змінює права доступу до файлів, тек і символьних посилань.
ls -lh | перегляд повноважень на файли і директорії в поточній директорії |
ls / tmp | pr -T5 -W $ COLUMNS | вивести вміст директорії / tmp і розділити висновок на п'ять колонок |
chmod ugo + rwx directory1 | додати повноваження на директорію directory1 ugo (User Group Other) + rwx (Read Write eXecute) - всім повні права. Аналогічне можна зробити таким чином chmod 777 directory1 |
chmod go-rwx directory1 | відібрати у групи і всіх інших все повноваження на директорію directory1 |
chown user1 file1 | призначити власником файлу file1 користувача user1 |
chown -R user1 directory1 | призначити рекурсивно власником директорії directory1 користувача user1 |
chgrp group1 file1 | змінити групу-власника файлу file1 на group1 |
chown user1: group1 file1 | змінити власника і групу власника файлу file1 |
find / -perm -u + s | знайти, починаючи від кореня, всі файли з виставленим SUID |
Популярні значення
400 (-r ---) | Власник має право читання; ніхто інший не має права виконувати будь-які дії |
644 (-rw-r-r-) | Всі користувачі мають право читання; власник може редагувати |
660 (-rw-rw--) | Власник і група можуть читати і редагувати; інші не мають права виконувати ніяких дій |
664 (-rw-rw-r-) | Всі користувачі мають право читання; власник і група можуть редагувати |
666 (-rw-rw-rw-) | Всі користувачі можуть читати і редагувати |
700 (-rwx--) | Власник може читати, записувати і запускати на виконання; ніхто інший не має права виконувати будь-які дії |
744 (-rwxr-r-) | Кожен користувач може читати, власник має право редагувати і запускати на виконання |
755 (-rwxr-xr-x) | Кожен користувач має право читати і запускати на виконання; власник може редагувати |
777 (-rwxrwxrwx) | Кожен користувач може читати, редагувати і запускати на виконання |
1 555 (-r-xr-xr-t) | Кожен користувач має право читати і запускати на виконання; видалити файл може тільки власник цього файлу |
2555 (-r-xr-sr-x) | Кожен користувач має право читати і запускати на виконання з правами групи (user group) власника файлу |
4555 (-r-sr-xr-x) | Кожен користувач має право читати і запускати на виконання з правами власника файлу |
Команди Secure Shell (ssh)
SSH (англ. Secure Shell - «безпечна оболонка») - мережевий протокол прикладного рівня, що дозволяє виробляти віддалене управління операційною системою і тунелювання TCP-з'єднань (наприклад, для передачі файлів). Схожий за функціональністю з протоколами Telnet і rlogin, але, на відміну від них, шифрує весь трафік, включаючи і передаються паролі. SSH допускає вибір різних алгоритмів шифрування. SSH-клієнти і SSH-сервери доступні для більшості мережевих операційних систем.
SSH дозволяє безпечно передавати в незахищеній середовищі практично будь-який інший мережевий протокол. Таким чином, можна не тільки віддалено працювати на комп'ютері через командну оболонку, але і передавати по шифрованому каналу звуковий потік або відео (наприклад, з веб-камери). Також SSH може використовувати стиснення переданих даних для подальшого їх шифрування, що зручно, наприклад, для віддаленого запуску клієнтів X Window System.
Більшість хостинг-провайдерів за певну плату надають клієнтам доступ до їх домашнього каталогу по SSH. Це може бути зручно як для роботи в командному рядку, так і для віддаленого запуску програм (в тому числі графічних додатків).
управління процесами
Процес - програма, яка виконується в поточний момент. Стандарт ISO 9000: 2000 визначає процес як сукупність взаємозв'язаних і взаємодіючих дій, що перетворюють вхідні дані в вихідні. Комп'ютерна програма сама по собі - це лише пасивна сукупність інструкцій, в той час як процес - це безпосереднє виконання цих інструкцій. Також, процесом називають поточну програму і всі її елементи: адресний простір, глобальні змінні, регістри, стек, відкриті файли і т. Д.
top | показати всі запущені процеси |
ps | вивести ваші поточні активні процеси |
ps -eafw | відобразити запущені процеси, використовувані ними ресурси і іншу корисну інформацію (один раз) |
ps -e -o pid, args -forest | вивести PID "и і процеси у вигляді дерева |
pstree | відобразити дерево процесів |
kill -9 98989 | «Вбити» процес з PID 98989 «на смерть» (без дотримання цілісності даних) |
kill -TERM 98989 | Коректно завершити процес з PID 98989 |
kill -1 98989 | змусити процес з PID 98989 перепрочітать файл конфігурації |
lsof -p 98989 | відобразити список файлів, відкритих процесом з PID 98989 |
lsof / home / user1 | відобразити список відкритих файлів з директорії / home / user1 |
strace -c ls> / dev / null | вивести список системних викликів, створених і отриманих процесом ls |
strace -f -e open ls> / dev / null | вивести виклики бібілотека |
watch -n1 "cat / proc / interrupts" | відображати переривання в режимі реального часу |
last reboot | відобразити історію перезавантажень системи |
last user1 | відобразити історію реєстрації користувача user1 в системі і час його перебування в ній |
lsmod | вивести завантажені модулі ядра |
free -m | показати стан оперативної пам'яті в мегабайтах |
smartctl -A / dev / hda | контроль стану жорсткого диска / dev / hda через SMART |
smartctl -i / dev / hda | перевірити доступність SMART на жорсткому диску / dev / hda |
tail / var / log / dmesg | вивести десять останніх записів з журналу завантаження ядра |
tail / var / log / messages | вивести десять останніх записів з системного журналу |
Мережа (LAN і WiFi)
ifconfig eth0 | показати конфігурацію мережевого інтерфейсу eth0 |
ifup eth0 | активувати (підняти) інтерфейс eth0 |
ifdown eth0 | деактивувати (опустити) інтерфейс eth0 |
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 | виставити інтерфейсу eth0 ip-адреса і маску підмережі |
ifconfig eth0 promisc | перевести інтерфейс eth0 в promiscuous-режим для «вилову» пакетів (sniffing) |
ifconfig eth0 -promisc | відключити promiscuous-режим на інтерфейсі eth0 |
dhclient eth0 | активувати інтерфейс eth0 в dhcp-режимі |
route -n | вивести локальну таблицю маршрутизації |
route add -net 0/0 gw IP_Gateway | задати ip-адреса шлюзу (default gateway) |
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 | додати статичний маршрут в мережу 192.168.0.0/16 через шлюз з ip-адресою 192.168.1.1 |
route del 0/0 gw IP_gateway | видалити ip-адреса шлюзу (default gateway) |
echo "1"> / proc / sys / net / ipv4 / ip_forward | дозволити пересилання пакетів (forwarding) |
hostname | відобразити ім'я комп'ютера |
host www.linuxguide.it | дозволити ім'я www.linuxguide.it хоста в ip-адреса і навпаки * Host 62.149.140.85* |
ip link show* | відобразити стан всіх інтерфейсів |
mii-tool eth0 | відобразити статус і тип з'єднання для інтерфейсу eth0 |
ethtool eth0 | відображає статистику интерфеса eth0 з висновком такої інформації, як підтримувані і поточні режими з'єднання |
netstat -tupn | відображає всі встановлені мережні з'єднання за протоколами TCP і UDP без дозволу імен в ip-адреси і PID "и і імена процесів, які забезпечують ці сполуки |
netstat -tupln | відображає всі мережеві з'єднання по протоколах TCP і UDP без дозволу імен в ip-адреси і PID "и і імена процесів, які слухають порти |
tcpdump tcp port 80 | відобразити весь трафік на TCP-порт 80 (зазвичай - HTTP) |
iwlist scan | просканувати ефір на предмет, доступності бездротових точок доступу |
iwconfig eth1 | показати конфігурацію бездротового мережевого інтерфейсу eth1 |
Microsoft Windows networks (SAMBA)
IPTABLES (firewall)
iptables - утиліта командного рядка, є стандартним інтерфейсом управління роботою брандмауера (брандмауера) netfilter для ядер Linux версій 2.4, 2.6, 3.x, 4.x. Щоб мати змогу користуватися iptables потрібні повноваження супер (root).
iptables -t filter -nL | відобразити все ланцюжка правил |
iptables -t nat -L | відобразити все ланцюжка правил в NAT-таблиці |
iptables -t filter -F | очистити всі ланцюжки правил в filter-таблиці |
iptables -t nat -F | очистити всі ланцюжки правил в NAT-таблиці |
iptables -t filter -X | видалити всі призначені для користувача ланцюжка правил в filter-таблиці |
iptables -t filter -A INPUT -p tcp -dport telnet -j ACCEPT | дозволити вхідне підключення telnet "ом |
iptables -t filter -A OUTPUT -p tcp -dport http -j DROP | блокувати вихідні HTTP -соєдіненія |
iptables -t filter -A FORWARD -p tcp -dport pop3 -j ACCEPT | дозволити «прокидає» (forward) POP3 -соєдіненія |
iptables -t filter -A INPUT -j LOG -log-prefix «DROP INPUT» | включити журнал ядром пакетів, що проходять через ланцюжок INPUT, і додаванням до повідомлення префікса «DROP INPUT» |
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE | включити NAT (Network Address Translate) вихідних пакетів на інтерфейс eth0. Припустимо при використанні з динамічно виділяються ip-адресами |
iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp -dport 22 -j DNAT -to-destination 10.0.0.2:22 | перенаправлення пакетів, адресованих одному хосту, на інший хост |
системна інформація
arch | відобразити архітектуру комп'ютера |
uname -r | відобразити використовувану версію ядра |
dmidecode -q | показати апаратні системні компоненти - (SMBIOS / DMI) |
hdparm -i / dev / hda | вивести характеристики жорсткого диска |
hdparm -tT / dev / sda | протестувати продуктивність читання даних з жорсткого диска |
cat / proc / cpuinfo | відобразити інформацію про процесор |
cat / proc / interrupts | показати переривання |
cat / proc / meminfo | перевірити використання пам'яті |
cat / proc / swaps | показати файл (и) підкачки |
cat / proc / version | вивести версію ядра |
cat / proc / net / dev | показати мережеві інтерфейси і статистику по ним |
cat / proc / mounts | відобразити змонтовані файлові системи |
lspci -tv | показати у вигляді дерева PCI пристрої |
lsusb -tv | показати у вигляді дерева USB пристрої |
date | вивести системну дату |
cal 2007 | вивести таблицю-календар 2007-го року |
date 041217002007.00 | встановити системні дату і час ММДДЧЧммГГГГ.СС (МесяцДеньЧасМінутиГод.Секунди) |
clock -w | зберегти системний час в BIOS |
uptime | показати поточний аптайм |
w | показати користувачів онлайн |
whoami | ім'я, під яким ви залогінені |
finger user | показати інформацію про user |
uname -a | показати інформацію про ядро |
cat / proc / cpuinfo | інформація ЦПУ |
cat / proc / meminfo | інформація про пам'ять |
man command | показати мануал для command |
df | показати інф. про використання дисків |
du | вивести "вага" поточного каталогу |
free | використання пам'яті і swap |
whereis app | можливе розташування програми app |
which app | яка app буде запущена за замовчуванням |
зупинка системи
Інші корисні команди
apropos ... keyword | виводить список команд, які так чи інакше відносяться до ключових слів. Корисно, коли ви знаєте що робить програма, але не пам'ятаєте команду |
man ping | виклик керівництва по роботі з програмою, в даному випадку, - ping |
whatis ... keyword | відображає опис дій зазначеної програми |
ldd / usr / bin / ssh | вивести список бібліотек, необхідних для роботи ssh |
alias hh = "history" | призначити алиас hh команді history |
find. -maxdepth 1 -name * .jpg -print -exec convert | Зміна розмірів усіх зображень в папці, передача утиліті «convert» з ImageMagick для створення зменшених копій зображень (попередній перегляд) |
swapon / dev / hda3 | активувати swap-простір, розташоване на розділі hda3 |
swapon / dev / hda2 / dev / hdb3 | активувати swap-простору, розташовані на розділах hda2 і hdb3 |
Перегляд довідки і керівництва за програмою
Назви програм використовуваних в командах, які можуть стати в нагоді, потрібно вивчити або роздрукувати, а як ними користуватися можна дізнатися в будь-який момент викликавши довідку або керівництво (man) за програмою.
Для отримання короткого керівництва за програмою, потрібно виконати:
man програмаПереміщатися можна клавішами зі стрілками, а вийти з нього, натиснувши клавішу Q. Детальніше в дивіться в man man
Для отримання довідки, в якій вказані ключі, потрібно виконати:
Програма -h програма --help
Обидва варіанти мають працювати однаково, але деякі автори програм залишають один один з цих ключів, так що пробуйте обидва якщо що.
Пошук по man "ам
Якщо ви не впевнені, яка команда вам потрібна, спробуйте пошукати за текстами мінлива.
Man -k something-you-need
буде шукати те, що вам потрібно у всіх мануалах. Спробуйте:
Man -k nautilus
щоб побачити, як це працює. До речі, це те ж саме, що виконати команду apropos.
Man -f something-you-need
буде шукати тільки за назвами системних мінлива. Спробуйте:
Man -f gnome
Для прикладу виконання команди whatis призведе до такого ж результату.
Більш привабливі man "и
Користувачі робочого столу Gnome / Unity можуть скористатися утилітою yelp надає простий GUI, виконавши команду в консолі
Yelp man:<команда>
Користувачі, у яких встановлено Konqueror, можуть читати сторінки мануалом і виконувати по ним пошук в веб-браузерному контексті, прикрашеному обраними фоновими малюнками. Для цього потрібно набрати в рядку адреси Konqueror "а використовувати команду:
Man: /<команда>
Виконання команд з необмеженими привілеями
Перед більшістю команд, перерахованих нижче, необхідно писати команду:
Це тимчасово дає права суперкористувача, які необхідні для роботи з файлами і каталогами, які не належать вашого облікового запису. Для використання sudo потрібно ввести пароль. Тільки користувачі з такими адміністративними привілеями можуть використовувати цю команду.
Команди для роботи з файлами і папками
Щоб потрапити в кореневій каталог, виконайте: cd /
Щоб потрапити в домашню папку, виконайте: cd ~
Щоб переміститися на один каталог вгору, використовуйте: cd ..
Для повернення в попередню відвіданих директорію, використовуйте: cd -
Для переміщення через кілька директорій за раз, потрібно написати повний шлях папки, в яку ви хочете переміститися. Наприклад, команда: cd / var / www
перемістить вас в підкаталог / www каталогу / var /. А команда:
Cd ~ / Робочий \ стіл
перемістить вас на робочий стіл. В даному випадку «\» позначає екранування пробілу.
Символ тильда (~) позначає вашу домашню папку. Якщо ви user, То тильда (~) - це / home / user.
Команда pwd ( «print working directory») дозволяє вам дізнатися, в якій директорії ви перебуваєте в даний момент. Пам'ятайте, однак, що цю ж інформацію Gnome Terminal завжди показує в назві вікна.
Ls покаже вам всі файли в поточному каталозі. Якщо використовувати цю команду з певними опціями, можна також включити відображення розміру файлів, часу останнього зміни і прав на файли. Наприклад: ls ~
покаже все, що у вас є в домашній папці.
Команда cd змінює робочу директорію. Коли ви тільки запускаєте термінал, ви будете перебувати у вашій домашній теці. Щоб переміщатися по файлової системи, потрібно використовувати cd. приклади:
Команда cp копіює файл. Наприклад, команда: cp text new
створить точну копію файлу «text» і назве її «new», при цьому «file» нікуди не зникне. Для копіювання директорії необхідно скористатися командою:
Cp -r directory new
де опція -r позначає рекурсивне копіювання.
Команда mv переміщує файл в інше місце або просто перейменовує файл. Наприклад, команда: mv file text
перейменує «file» в «text».
Mv text ~ / Робочий \ стіл
перемістить «text» вам на робочий стіл, але не перейменують його. Щоб все-таки перейменувати файл, потрібно спеціально вказувати йому нове ім'я. Ви можете замінювати шлях до вашої домашньої папці на "~", щоб прискорює роботу. Пам'ятайте, що при використанні mv разом з sudo, термінал так само прив'язує "~" до вашої домашньої теки. Однак якщо ви включаєте сесію суперкористувача в консолі за допомогою sudo -i або sudo -s, то "~" буде посилатися на корінь диска, а не на ваш домашній каталог.
Команда rm видаляє файл.
Команда rmdir видаляє порожню папку. Щоб видалити папку разом з усіма вкладеннями, використовуйте rm -r замість цього.
Mkdir Ця команда створює директорію. Команда mkdir music створить вам папку, яка буде називатися «music».
Man спробуйте цю команду, коли ви хочете прочитати вбудований опис іншої команди. Наприклад: man man
покаже вам опис самої цієї команди.
Команди інформації про систему
команда dfпоказує обсяг зайнятого дискового простору на всіх змонтованих розділах. Найбільш корисна: df -h
Оскільки використовує для відображення Мегабайти (M) і Гігабайти (G), а не блоки. -h означає «human readable» ( «читабельний для людини»).
duвідображає обсяг дискового простору, зайнятого конкретної папкою. Вона може показувати інформацію для всіх піддиректорій окремо або для папки в цілому. .. [Email protected]: ~ $ Du / media / floppy 1 032 / media / floppy / files 1036 / media / floppy / [Email protected]: ~ $ Du -sh / media / floppy 1.1M / media / floppy /
S означає «summary» (в цілому), а -h означає «human readable» ( «читабельний для людини»).
freeвідображає обсяг вільної та використаної оперативної пам'яті. Команда: free -m
показує інформацію в Мегабайтах.
topвідображає інформацію про вашу систему, запущені процеси і системні ресурси, включаючи завантаження CPU, використання RAM і swap і кількість запущених процесів. Щоб зупинити top, натисніть Q.
Також існує ще кілька чудових і дуже потрібних утиліт, оформлених в стилі top:
htopаналог top, що набагато перевершує за можливостями
iftopінформація про активні мережевих з'єднаннях, швидкість мережевої закачування / віддачі
iotopінформація про процеси виконують активні дискові операції
unameз опцією -a виводить всю системну інформацію, включаючи ім'я машини, версію ядра і інші деталі. Найкорисніше з цього - перевірка версії ядра.
Passwd newuser
Побудова дерева каталогів (tree)
Утиліта виводить дерево каталогів в красиво отформатированном вигляді. Пакет tree знаходиться в репозиторіях Ubuntu, тому установка виконується одним рядком:
sudo apt-get install treeДля виведення дерева каталогів команда повинна мати такий вигляд:
tree -dA test- &&. Строго кажучи, це не команда. Якщо ви хочете виконати відразу кілька команд, поставте між ними подвійний амперсанд ось так: первая_команда && вторая_команда. Термінал виконає команди по порядку. Ви можете ввести стільки команд, скільки захочете.
- alias. Присвоює створені вами назви довгим командам, які ви не можете запам'ятати. Введіть alias длінная_команда короткая_команда.
- cd. Змінює поточну термінальну папку. Коли ви запускаєте термінал, він використовує вашу домашню папку. Введіть cd адрес_папкі, і термінал буде працювати з файлами, які там знаходяться.
- clear. Очищає вікно терміналу усіх активних повідомлень.
- history. Показує всі недавно введені вами команди. Крім того, ви можете перемикатися між недавніми командами за допомогою клавіш «Вгору» і «Вниз». Якщо ви не хочете, щоб введена вами команда була записана, поставте перед нею пробіл так: ваша_команда.
- man. Показує керівництво за програмами і командам. Введіть man Имя_Пакета або man ваша_команда.
- whatis. Відображає короткий опис будь-якої програми. Введіть команду і назва програми whatis Имя_Пакета.
Для виконання багатьох дій в системі, наприклад для установки і видалення програм, вам знадобляться права адміністратора, або суперкористувача root, як його називають в Linux.
- sudo. Ця команда дасть вам права суперкористувача. Введіть sudo перед потрібної командою (наприклад, sudo apt upgrade), щоб виконати її від імені адміністратора. Система запитає у вас пароль.
- sudo su. Після цієї команди всі введені вами команди будуть виконуватися від імені суперкористувача, поки ви не закриєте термінал. Використовуйте її, якщо вам потрібно виконати багато команд з правами адміністратора.
- sudo gksudo. Команда для запуску з правами адміністратора додатки з графічним інтерфейсом. Наприклад, якщо ви хочете перемістити або змінити системні файли, введіть sudo gksudo nautilus (вкажіть той файловий менеджер, яким користуєтеся).
- sudo !! . Ця команда запустить раніше введену команду з правами адміністратора. Корисно, якщо ви набрали команду без sudo.
Не об'єднуйте свій пристрій від імені суперкористувача команд, яких не розумієте.
Установку і видалення програм в Linux виконують пакетні менеджери. В Ubuntu і пакетний менеджер називається apt, в Fedora - dnf, в Arch і Manjaro - pacman. Вони завантажують додатки з мережевих репозитаріїв, джерел пакетів. Давати їм команди слід з правами суперкористувача.
apt (Debian / Ubuntu / Mint)
- sudo apt install Имя_Пакета. Встановити потрібний пакет.
- sudo apt-add-repository адрес_репозітарія. Додати сторонній репозитарій.
- sudo apt update. Оновити відомості про пакети.
- sudo apt upgrade. Оновити всі пакети до найсвіжіших (виконувати після apt update).
- sudo apt remove Имя_Пакета. Видалити непотрібний пакет.
- sudo apt purge Имя_Пакета. Видалити непотрібний пакет з усіма залежностями, якщо хочете звільнити більше місця.
- sudo apt autoremove. Видалити всі непотрібні залежності, безхазяйні пакети та інше сміття.
dnf (Red Hat / Fedora / CentOS)
- sudo dnf install Имя_Пакета. Встановити потрібний пакет.
- sudo dnf config-manager --add-repo адрес_репозітарія. Додати сторонній репозитарій.
- sudo dnf upgrade. Оновити всі пакети до найсвіжіших.
- sudo dnf remove Имя_Пакета. Видалити непотрібний пакет.
- sudo dnf autoremove. Видалити всі непотрібні залежності.
pacman (Arch / Manjaro)
- sudo pacman -S Имя_Пакета. Встановити потрібний пакет.
- sudo yaourt -S Имя_Пакета. Встановити пакет з AUR, якщо його немає в основному репозитарії.
- sudo pacman -Sy. Оновити відомості про пакети.
- sudo pacman -Syu. Оновити всі пакети до найсвіжіших.
- sudo pacman -R Имя_Пакета. Видалити непотрібний пакет.
- sudo pacman -Rs Имя_Пакета. Видалити непотрібний пакет з усіма залежностями.
Ви можете встановлювати і видаляти відразу кілька пакетів, просто перераховуючи їх через пробіл.
sudo apt install firefox clementine vlc
Якщо ви хочете встановити якийсь пакет, але не знаєте його точного назви, введіть кілька перших букв імені пакета і двічі натисніть Tab. Пакетний менеджер покаже всі пакети, назви яких починаються однаково.
- kill. Ця команда служить для примусового завершення процесів. Потрібно ввести kill PID_процесса. PID процесу можна дізнатися, ввівши top.
- xkill. Ще одна команда для завершення процесів. Введіть її, потім клацніть по тому вікну, яке потрібно закрити.
- killall. Вбиває процеси c певним ім'ям. Наприклад, killall firefox.
- top. Відображає перелік запущених процесів, сортуючи в залежності від споживання ресурсів CPU. Свого роду термінальний «Системний монітор».
Перегляд і зміна файлів
- cat. Коли команда використовується з одним текстовим файлом (ось так: cat шлях_до_файлу), вона відображає його вміст у вікні терміналу. Якщо вказати два і більше файлів, cat путь_к_файлу_1 путь_к_файлу_2, вона склеїть їх. Якщо ввести cat путь_к_файлу_1> новий_файл, вона об'єднає вміст зазначених файлів в новий файл.
- chmod. Дозволяє змінювати права доступу до файлу. Може стати в нагоді, якщо ви хочете внести зміни в системний файл.
- chown. Змінює власника файлу. Слід виконувати з правами суперкористувача.
- file. Виводить інформацію про вказаний файл.
- nano. Відкриває простий текстовий редактор. Можна створити новий текстовий файл або відкрити існуючий: nano шлях_до_файлу.
- rename. Перейменовує файл або декілька файлів. Команду можна використовувати і для файлів по масці.
- touch. Змінює дату останнього відкриття або модифікації зазначеного файлу.
- wget. Завантажує файли з інтернету в термінальну папку.
- zip. Розпаковує і стискає архіви.
Створення та видалення файлів і папок
- mkdir. Створює нову папку в поточній термінальній папці або в зазначеній папці: mkdir путь_к_папке.
- rmdir. Видаляє зазначену папку.
- rm. Видаляє файли. Може видалити як окремий файл, так і групу, відповідну певним ознаками.
Копіювання і переміщення файлів
- cp. Створює копію зазначеного файлу в папці терміналу: cp шлях_до_файлу. Або ви можете вказати призначення cp шлях_до_файлу путь_для_копіі.
- mv. Переміщує файл з однієї папки в іншу. Ви можете вказати ім'я для переміщуваного файлу. Забавно, але в Linux ця команда може використовуватися і для перейменування файлів. Просто вкажіть ту ж папку, де знаходиться файл, і інше ім'я.
Пошук файлів
- find. Пошук файлів за певними критеріями, таким як ім'я, тип, розмір, власник, дата створення і модифікації.
- grep. Пошук текстових файлів, що містять певні рядки. Критерії дуже гнучко налаштовуються.
- locate. Пошук файлів і папок, чиї назви підходять запитом, і відображення їх шляхів в файлової системі.
- lsblk. Ця команда демонструє, які диски є у вашій системі і на які розділи вони поділені. Також команда відображає імена ваших розділів і накопичувачів, в форматі sda1, sda2 і так далі.
- mount. Монтує накопичувачі, пристрої або файлові системи, щоб ви могли з ними працювати. Зазвичай пристрої підключаються автоматично, як тільки ви клацнете по ним в файловому менеджері. Але іноді може знадобитися примонтировать щось вручну. Ви можете підключати що завгодно: диски, зовнішні накопичувачі, розділи і навіть ISO-образи. Цю команду потрібно виконувати з правами суперкористувача. Щоб примонтировать наявний диск або розділ, введіть mount sdX.
- umount. Демонтує файлові системи. Команда umount sdX відключить файлову систему зовнішнього носія, щоб ви могли витягти його.
- dd. Ця команда копіює і перетворює файли і розділи. У неї безліч різних застосувань. Наприклад, dd if = / dev / sda of = / dev / sdb зробить точну копію розділу sda на розділі sdb. dd if = / dev / zero of = / dev / sdX затрёт вміст зазначеного носія нулями, щоб інформацію було неможливо відновити. А dd if = ~ / Downloads / ubuntu.iso of = / dev / sdX bs = 4M зробить завантажувальний носій з завантаженого вами образу з дистрибутивом.
Команди Linux для управління користувачами
- useradd. Реєструє нового користувача. Введіть useradd имя_пользователя, і користувач буде створений.
- userdel. Видаляє обліковий запис і файли користувача.
- usermod. Змінює обліковий запис користувача. Може перемістити домашню папку користувача або призначити дату, коли обліковий запис буде заблокована.
- passwd. Змінює паролі облікових записів. Звичайний користувач може змінити пароль тільки свого облікового запису, привілейований користувач може змінити пароль будь-облікового запису.
Команди Linux для управління мережею
- ip. Багатофункціональна команда для роботи з мережею. Команда ip address show інформує вас про мережевих адресах, ip route управляє маршрутизацією і так далі. Даючи команди ip link set ethX up, ip link set ethX down, можна включати і вимикати з'єднання. У команди ip багато застосувань, так що перед її використанням краще ознайомитися з керівництвом або ввести ip --help
- ping. Показує, підключені ви до мережі, і допомагає визначити якість зв'язку.
І ще дещо
Наостанок - головні команди Linux. Вони виводять на екран корову, яка може розмовляти з вами (не питайте, що вживають розробники).
- cowsay что_угодно. Корова скаже те, що ви їй скажете.
- fortune | cowsay. Корова видасть розумну (або не дуже) думка або цитату.
- cowsay -l. Виводить список всіх тварин, які можуть бути відображені в терміналі. Якщо ви раптом не любите корів.
- fortune | cowsay -f жівотное_із_спіска. Тварина на ваш вибір починає сипати цитатами, іноді доречними.
- sudo apt-get install fortunes fortune-mod fortunes-min fortunes-ru. Змусить весь зоопарк говорити по-російськи. Без цього тварини цитують Твена і Уайльда.
Це далеко не всі команди Linux. Якщо вам потрібно дізнатися в деталях параметри і способи застосування команд Linux, ви можете скористатися вбудованим керівництвом. Наберіть man ваша_команда або ваша_команда --help.
Алексєєв Ігор Геннадійович,
Бранцевіч Петро Юльяновіч
“ОПЕРАЦІЙНІ СИСТЕМИ і СИСТЕМНЕ ПРОГРАМУВАННЯ”
навчально-методичний посібник для студентів спеціальності
«Програмне забезпечення інформаційних технологій»
УДК 004.04 (075.8)
ББК 32.973 я 73
рецензент:
А47 Алексєєв І.Г. Навчально-методичний посібникОпераційні системи та системне програмування: для студ. спец. «Програмне забезпечення інформаційних технологій» /І.Г Алексєєв, П.Ю. Бранцевіч - Мн .: БДУІР, 2009. - 73 с.
ISBN 985-444-№
У посібнику розглянуті основні команди операційної системи UNIX, призначені для роботи з файлами і каталогами, а також для створення процесів і організації взаємодії між ними. Дано структури лабораторних робіт по курсу «ОСіСП»
УДК 004.04 (075.8)
ББК 32.973 я 73
ISBN 985-444-387-6© Алексєєв І.Г, Бранцевіч П.Ю 2009
© БГУИР 2009
1. ОСНОВНІ Команди ОС UNIX ............................................ ............. 4
2. Лабораторні роботи .............................................. ........................ 7
Лабораторна робота №1 Робота в ОС UNIX / Linux,
інтерпретатор BASH ................................................ .............................................. 7
Лабораторна робота № 2 Робота з файлами і каталогами ОС UNIX .... 12
Лабораторна робота № 3 Процеси в ОС UNIX / Linux .......................... 17
Лабораторна робота № 4 Використання сигналів в ОС UNIX / Linux ... .. 21
Лабораторна робота № 5 Використання каналів в ОС UNIX / Linux ...... 26
Лабораторна робота № 6 Потоки в ОС UNIX / Linux ........................... 33
Лабораторна робота № 7 Семафори в ОС UNIX / Linux ........................ 36
Лабораторна робота № 8 Використання загальної пам'яті в
ОС UNIX / Linux ........................................................................... 39
Література ................................................. ................................................ 42
ОСНОВНІ КОМАНДИ ОС UNIX
Операційна система ОС Linux створена на основі ОС UNIX і багато в чому має схожу структуру і систему команд. Користувач може працювати в текстовому режимі за допомогою командного рядка, або з використанням графічного інтерфейсу X Window і одного з менеджерів робочого столу (наприклад, KDE або GNOME ). Причому, одночасно в системі можуть працювати 7 користувачів (6 в текстовому режимі консолі і 1 - в графічному режимі), перемикання між користувачами здійснюється після натискання клавіш:
.
У табл. 1 наведені основні команди системи
Таблиця 1
команда | Аргументи / ключі | приклад | опис |
dir | каталог | dir dir / home | |
ls | -all і інші (див. man) | ls -all | Виводить на консоль вміст каталогу |
ps | -a -x і інші (див. man) | ps -a | |
mkdir | ім'я каталогу | mkdir stud11 | створює каталог |
rmdir | ім'я каталогу | rmdir stud11 | видаляє каталог |
rm | файл | rm myfile1 | видаляє файл |
mv | файл нове ім'я | mv myfile1 myf1 | перейменування файлу |
cat | файл | cat 1.txt | Висновок файлу на консоль |
cd | ім'я каталогу | cd home | Перехід по каталогам |
grep | (Див. Man) | grep "^ a" "words.txt" | Пошук рядка в файлі |
kill | pid процесу | kill 12045 | знищує процес |
top | Виводить на консоль список процесів | ||
htop | Виводить на консоль повний список запущених процесів | ||
su | Перехід в режим root | ||
chmod | права доступу файл | chmod 777 1.txt | Зміна прав доступу до файлів |
mount | пристрій каталог | mount / dev / cdrom / MyCD | монтування пристроїв |
dd | if = файл of =файл bs = n count = n | dd if = / dev / hda1 of = / F.bin bs = 512 count = 1 | копіювання побайтное |
ln | файл1 файл2 -l | ln файл1 файл2 ln -l файл1 файл2 | Створити жорстку або символічне посилання на файл |
uname | -a | uname -a | Інформація про систему |
find | dir файл | find / home -name a1.txt | Пошук файлів |
man | man fgetc | Довідка по системі | |
info | info fgetc | Довідка по системі |
Linux і Windows використовують різні файлові системи для зберігання і організації доступу до інформації на дисках. У Linux використовуються файлові системи- Ext2 / Ext3 ,RaiserFS, FFS та інші. Всі файлові системи мають підтримку журналирования . журнальована файлова система спочатку записує зміни, які вона буде проводити в окрему частину файлової системи ( журнал ) І тільки потім вносить необхідні зміни в іншу частину файлової системи. Після вдалого виконання всіх транзакцій, записи видаляються з журналу . Це забезпечує краще збереження цілісності системи і зменшує ймовірність втрати даних. Варто зазначити, що Linux підтримує доступ до Windows -Розділ.
файлова система Linux має лише один кореневий каталог, який позначається косою рисою ( / ). В файлової структурі Linux немає дисків A, B, C, D ...., А є тільки каталоги. В Linux розрізняються великі та малі літери в командах, іменах файлів і каталогів. В Windows у кожного файлу існує лише одне ім'я, в Linux їх може бути багато. Це - « жорсткі »Посилання, які вказують безпосередньо на індексний дескриптор файлу. Жорстка посилання - це один із принципів організації файлової системи Linux .
Структура каталогів ОС Linux представлена в табл. 1. Є також кілька корисних скорочень для імен каталогів:
- Одиночна точка ( . ) Позначає поточний робочий каталог.
- Дві точки ( .. ) Позначають батьківський каталог поточного робочого.
- Тільда ( ~ ) Позначає домашній каталог користувача (зазвичай це каталог, який є поточним робочим при запуску Bash).
Таблиця 1
/ | Кореневий каталог |
/ bin | Містить виконувані файли найнеобхідніших для роботи системи програм. Каталог / binне містить підкаталогів. |
/ boot | Тут знаходяться саме ядро системи (файл vmlinuz-...) і файли, необхідні для його завантаження. |
/ dev | Каталог / devмістить файли пристроїв (драйвери). |
/ etc | Це каталог конфігураційних файлів, т. Е. Файлів, що містять інформацію про налаштування системи (наприклад, настройки програм). |
/ home | Містить домашні каталоги користувачів системи. |
/ lib | Тут знаходяться бібліотеки (функції, необхідні багатьом програмам). |
/ media | Містить підкаталоги, які використовуються як точки монтування для змінних пристроїв (CD-ROM "ов, floppy-дисків та ін.) |
/ mnt | Даний каталог (або його підкаталоги) може служити точкою монтування для тимчасово підключаються файлових систем. |
/ proc | Містить файли з інформацією про виконуються в системі процесах. |
/ root | Це домашній каталог адміністратора системи. |
/ sbin | Містить виконувані програми, як і каталог / bin. Однак використовувати програми, що знаходяться в цьому каталозі може тільки адміністратор системи ( root). |
/ tmp | Каталог для тимчасових файлів, що зберігають проміжні дані, необхідних для роботи тих чи інших програм, і віддаляються після завершення роботи програм. |
/ usr | Каталог для більшості програм, які не мають значення для завантаження системи. Структура цього каталогу фактично дублює структуру кореневого каталогу. |
/ var | Містить дані, які були отримані в процесі роботи одних програм і повинні бути передані іншим, і файли журналів з відомостями про роботу системи. |
ЛАБОРАТОРНІ РОБОТИ