Linux використання консолі. Найкращі консольні програми Linux

У Linux будь-яке адміністративне завдання можна виконати з консолі. Вміння працювати з консолі - це необхідний досвід для адміністрування Linux. Існує інструментарій, що дозволяє уникнути спілкування з консоллю, але з ним ви більш обмежені в можливостях. Підключитись до консолі просто і отримати документацію до команд теж нескладно. У цій статті описані найпростіші та необхідні команди, щоб почати роботу в консолі.

Підключення консолі

Якщо ваша система завантажується в текстовому режимі (звичайна конфігурація для серверів, щоб отримувати на консоль виведення повідомлень основних процесів), ви вже в консолі при вході в систему. Зазвичай у системі Linux можна потрапити додаткові консолі, натиснувши клавіші Ctrl + Alt + (F1 – F6). Кожна консоль - це окрема сесія в системі і може використовуватися різними користувачами в один і той же час.


Така "багатоконсольна" поведінка відрізняється від "багатодесктопової" у Windows. У Linux кожна консоль може контролюватись абсолютно різними користувачами. Наприклад, можна увійти користувачем root на першу консоль і користувачем joeuser на другу. Обидві консолі запускають різні програмиу просторі свого користувача. В тому ж дусі, різні користувачіможуть віддалено входити до Windows. У цьому випадку Linux дає можливості швидше як мейнфрейм, ніж простий сервер чи робоча станція.

Якщо ви працюєте в графічному режимі, то можете відкрити термінал, щоб отримати доступ до вікна з консоллю. Зазвичай на панелі завдань робочого стола є кнопка терміналу або його можна знайти в меню Program System Tools. Термінал також можна відкрити з контекстного меню(з'являється по клацанню правою кнопкоюмиші на робочому столі).

Команди

З консолі є багато додаткових команд. Деякі з них дійсно корисні лише при написанні скриптів. Тут наведені деякі з тих, які, ймовірно, вам знадобляться. Не забувайте, що всі команди та ключі чутливі до регістру. -R не те саме, що -r і, швидше за все, приведе до іншого результату. Консольні команди майже завжди пишуться у нижньому регістрі.

cd
Для переміщення каталогами використовується знайома команда cd. Головне - запам'ятати, що там, де ви звикли до зворотного слешу (\), у системі Linux використовується прямий (/). Зворотний слеш теж зустрічається, але з іншого приводу - він вказує, що команда буде продовжена на наступному рядку. Це іноді робиться для кращого читання при наборі дуже довгих команд.
ls
Список файлів у каталозі викликається командою ls. Є кілька ключів, за допомогою яких можна змінювати вигляд списку:

ls -l Показує розширений висновок, що включає розміри файлів, дату і час останньої зміни та атрибути
ls -t Сортує файли за часом
ls -S Сортує файли за розміром
ls -r При використанні разом із одним із ключів для сортування змінює порядок виведення. ls -lt показує нові файли в самому верху списку. ls -lrt показує нові файли в самому низу.
ls -h Удобочитаний. Використовує дружні індикатори k, M та G, які показують розмір файлу у зрозумілих людині одиницях, а не відображають його у байтах.
ls -a Показує всі файли в каталозі, навіть приховані

cp
Копіюються файли за допомогою cp. Основні ключі:

mv
За допомогою команди mv переміщують та перейменовують файли.

cat
Переглядати файли можна за допомогою команди cat. Ця команда видасть вміст файлу в інший файл або на екран або на вхід іншої команди. cat - це скорочення від "concatenate" (об'єднувати), так що можна використовувати її для об'єднання декількох файлів в один більший розмір.

more
Командою more можна переглядати інформацію посторінково.

less
Для того, щоб переглянути текстовий файлз можливістю прокручування вгору-вниз та пошуку за зразком, використовуйте команду less.

vi
Тестовий редактор vi є майже в будь-якому UNIX-подібному оточенні. Для версії, встановленої в Linux, є вбудований підручник, і одного разу навчившись, ви зможете робити деякі воістину неймовірні речі натисканням кількох кнопок. Дуже зручний vi для редагування файлів із паролями та конфігураціями.

man
Документацію з тієї чи іншої команди можна побачити за допомогою команди man. Man - це скорочення від manual(). Документація зазвичай є повною. Дізнатися більше про команду man можна, надрукувавши:

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

Який shell?

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

Shell за промовчанням – це свій параметр у кожного користувача. Зазвичай в Linux це /bin/bash, але може бути і якийсь інший. Документація man для кожного shell"а дійсно дуже хороша, в ній детально розглянуті shell" і як вони працюють. Виберіть shell зі списку, наведеного нижче, та перегляньте його довідкову інформацію(Man page).

bash
Оболонка bash вільна версія Bourne shell, першої Unix оболонки плюс безліч додаткових властивостей. Bash має командні рядки, що редагуються, прокручується історію команд і дописування кнопкою tab, щоб не доводилося набирати довгі назви файлів.

csh
C shell використовує C-подібний синтаксис і запозичує багато властивостей із Bourne shell, проте використовує інший набір внутрішніх shell команд.

ksh
Korn shell використовує той же синтаксис, що і Bourne shell, і включає дружність до користувача від C shell. ksh використовується в багатьох настановних скриптах, тому ймовірно має бути в системі, навіть якщо не є основною оболонкою.

tcsh
TC shell - покращена версія C shell і на 100% сумісна з нею.

zsh
Z shell - покращена версія Korn shell з багатьма властивостями bash shell.

Одна приваблива можливість файлової системи Linux- Посилання на файли. Завдяки ним файл може бути видно у кількох місцях файлової системи. Однак, у Linux посиланняможе розглядатись як вихідний файл. Посилання можна виконувати, редагувати, звертатися до неї, не роблячи нічого незвичайного. Деякі програми в системі є лінком до якогось файлу. При внесенні змін до файлу за посиланням ви насправді редагуєте оригінал. Посилання – це не копія. Існує два види посилань: жорстка та символьна.

Жорстке посиланняможе вказувати на файли тільки в тій же файловій системі. Вона забезпечує зв'язок із фізичним індексом файлу (інакше inode) у файловій системі. Жорсткі посилання не розриваються при переміщеннях оригіналу, оскільки всі вони вказують швидше на фізичні дані файлу, ніж його місцезнаходження у файлової структурі. Файл із жорстким посиланням не вимагає від користувача прав доступу до вихідного файлу і не показує його розташування, що дає деякі переваги безпеки. Якщо ви видалите файл, до якого є жорсткі посилання, він все одно залишиться доти, доки не будуть видалені та всі посилання на нього.

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

Обидва види посилань можна створити за допомогою команди ln.

Вихід із оболонки

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

Залишіть свій коментар!

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

Навіщо ж існують у Linuxкоманди консолі? Вводячи їх у консоль, користувач може оперативно здійснювати масу дій: відкриття, переміщення та копіювання файлів, перегляд різної інформаціїта статистики, моніторинг та налагодження, отримання детальної інформаціїпро систему, видозміну програмної та візуальної частини системи. І це лише частина можливостей, які ви отримуєте завдяки цим командам.

Багато хто має Додаткові параметри, а деякі взагалі без них не працюють. Для початку спробуйте просто вводити команди в консоль та вивчати їхню дію.

Можливість видозмінювати систему командами робить Linux дуже універсальною оперативною системою. Ви можете налаштувати її під себе, змінивши в ній все, що завгодно. Спочатку команди можуть здатися складними, але добре вивчивши їх, ви значно прискорите роботу з комп'ютером і почнете отримувати справжнє задоволення, розуміючи, що все в ній налаштоване під ваші потреби.

Пам'ятайте, що для повноцінної роботи з консоллю вам потрібні права адміністратора. Нижче наведено список основних команд у консолі Linux та їх розшифровка.

1. Найпростіші дії

ls— Виберіть список файлів у поточному каталозі.

cd[каталог] — змінити поточний каталог. Якщо ім'я каталогу не вказується, то поточним стає домашній каталогкористувача.

cp<что_копировать> <куда_копировать>- Копіювати файли.

mv<что_перемещать> <куда_перемещать>- Перемістити або перейменувати файл.

rm<файлы>- Видалити файли.

mkdir<каталог>- Створити новий каталог.

rmdir<каталог>- Видалити порожній каталог.

rm -r<файлы и/или каталоги>(Рекурсивне видалення) - видалити файли або каталоги та їх підкаталоги. ОБЕРЕЖНІШЕ з цією командою, оскільки поки у Linux немає системи повного відновлення віддалених файлів(якщо ви не користуєтеся спеціальними програмамидля розміщення віддалених файлів у спеціальний каталог, щось на зразок «кошика» в ОС Windows).

cat<имя_файла>- Виведення вмісту файлу на стандартний висновок(за замовчуванням – на екран).
Можна записати текст, що вводиться на екран, за допомогою наступної послідовностідій:

cat ><имя_файла>
.
.
.
CTRL/d

more<имя_файла>— Перегляд довгого текстового файлу на сторінках.

less<имя_файла>— Перегляд вмісту текстового файлу, щоб повернутися до попередніх сторінок. Натисніть q, коли ви захочете вийти з програми. "less" - аналог команди DOS"more", хоча дуже часто "less" буває зручнішою ніж "more".

pico<имя_файла>редагувати текстовий файл за допомогою текстового редактора pico.

tar-zxvf<файл>- Розпакувати архів tgz або tar.gz

find<каталог>- name имя_файла - знайти файл з ім'ям "ім'я файлу" і відобразити результат пошуку на екрані. Пошук починається з каталогу<каталог>; Ім'я_файлу може містити маску для пошуку.

pine- хороша текстово-орієнтована програма для читання електронної пошти.

mc— запустити програму керування файлами «Midnight Commander» (виглядає як «Norton Commander», але за своїми можливостями ближче до far).

./ Ім'я_Програми - запустити на виконання виконуваний файлу поточному каталозі, якщо поточного каталогу немає у списку каталогів, зазначених у змінному оточенні PATH.

xterm(в X терміналі) - запустити простий термінал у графічній оболонці X-windows. Для того, щоб вийти з нього, наберіть exit.

2. Стандартні команди та команди, що дають інформацію по системі команд (завжди набираються в одному рядку)

pwd- вивести ім'я поточного каталогу.

whoami— вивести ім'я, під яким Ви зареєстровані.

date- Вивести дату і час.

time<имя программы>- Виконати програму і отримати інформацію про час, необхідний для її виконання. Не плутайте цю команду з date. Наприклад: Я можу визначити виконати команду ls і дізнатися, скільки часу потрібно для виведення списку файлів у каталозі, набравши послідовність: time ls

who- Визначити хто з користувачів працює на машині.

rwho -a— Визначення всіх користувачів, які підключилися до мережі. Для виконання цієї команди потрібно, щоб було запущено процес rwho.

ruptime— які машини працюють у мережі та які зупинені.

finger<имя_пользователя>- Системна інформація про зареєстрованого користувача. Спробувати:<ваш login-name>

uptime- Кількість часу, що минув з останнього перезавантаження операційної системи.

ps a- Вивести список поточних процесів у Вашому сеансі роботи.

topінтерактивний списокпоточних процесів, відсортованих використання центрального процесора.

uname -a- Вивести інформацію про версію операційної системи.

free— вивести інформацію щодо використання пам'яті.

df -h— вивести інформацію про вільне та використовуване місце на дисках.

du. -bh | more— вивести на екран інформацію про розмір файлів та каталогів, починаючи з поточного каталогу.

set|more- Вивести поточні значення змінних оточення. (Не всім shell. Для csh/tcsh — printenv | more, хоча set теж покаже корисну інформацію.)

echo $PATH— вивести значення змінної оточення PATH Команда echo може використовуватися для виведення значень будь-яких змінних оточення. Скористайтеся командами set або printenv для отримання повного списку.

3. Робота з мережею

ssh- забезпечує безпечне входження у віддалений сеанс роботи з іншою машиною, а також дозволяє виконати задану команду на віддаленій машині без входження до сеансу роботи:

ssh[-l Ваше_ім'я_користувача_на_віддаленій_машині]<имя_удаленной_машины>- Входження в сеанс на віддаленій машині. Використовуйте ім'я машини або її IP-адресу. (Ви повинні бути зареєстровані на цій віддаленій машині). Якщо Ваше_ім'я_користувача однаково на локальній та віддаленій машинах, то його можна не набирати, тобто: ssh<имя_удаленной_машины>- дозволить Вам увійти в сеанс на віддаленій машині

ssh<Ваше_имя_пользователя_на удаленной машине@><имя_удаленной_машины> <команда>- Виконає на віддаленому комп'ютері задану команду і передасть Вам на екран результат її виконання (При встановленні з'єднання з ssh Ви повинні ввести пароль, який Ви маєте на віддаленому комп'ютері; при цьому пароль буде переданий по мережі в зашифрованому вигляді, тобто безпечним чином.)

scp— забезпечує безпечне копіювання файлів у мережі:

scp<имя_файла_на_локальном_компьютере> <Ваше_имя_пользователя_на удаленной машине>@<имя_удаленной_машины>: — скопіює файл з локального комп'ютерау Вашу кореневу директорію на віддаленому комп'ютері (наявність «:» наприкінці команди обов'язково).

telnet<имя_удаленной_машины>зв'язатися по telnet з іншою машиною. Увійдіть у сеанс роботи після встановлення зв'язку за допомогою пароля.

ftp<имя_удаленной_машины>— зв'язатися з ftp з віддаленим комп'ютером. Цей тип зв'язку хороший для копіювання файлів з/на віддалену машину.

Переважно не користуватися командами telnetі ftp, а використовувати тільки ssh та scp, оскільки вони забезпечують безпеку мережного з'єднання!

hostname -i— показує IP-адресу комп'ютера, на якому Ви працюєте.

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

alias ls="ls-Fskb-color"— створити або-псевдонім для того, щоб однією командою можна було запустити складнішу комбінацію команд. Помістіть створення або у файл /etc/bashrc якщо ви хочете, щоб ці псевдоніми були доступні всім користувачам вашої системи.

Для tcsh - формат визначення або інший:

alias la 'ls -AF —color=none'

kapasswd— команда, щоб змінити пароль для доступу до файлової системи AFS. При роботі на базовому Linux-кластері ЛІТ слід користуватися лише цією командою (а не командою passwd!) для зміни пароля для входження до кластера.

passwd— змінити пароль на будь-якому локальному комп'ютері.

chmod<права доступа> <файл>— Змінити права доступу до файлу, власником якого ви є.
Є три способи доступу до файлу:
читання - 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<новая_группа> <файлы>- Змінити групу для файлу.

Ви можете використовувати дві останні команди після того, як зробили копію файлу для будь-кого.

5. Контроль процесів

ps axu | grep<Ваше_имя_пользователя>- Відобразити всі процеси, запущені в системі від Вашого імені користувача.

kill- Вбити процес. Для початку визначте PID Вашого процесу, що «вбивається», за допомогою ps.

killall<имя_программы>- Вбити всі процеси на ім'я програми.

xkill(В терміналі X window) - «вбити» процес, на вікно якого вкажіть курсором.

6. Вбудовані в Linux програмні утиліти та мови

emacs(У X терміналі) – редактор emacs. Дуже багатофукціональний, але дуже складний для недосвідчених користувачів.

gcc - GNU C компілятор. У мережі є дуже хороші керівництваз використання.

g++ - GNU C ++ компілятор.

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

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

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

Як і у випадку з клавіатурою, неприйняття командного рядка найчастіше має не технічний, а психологічний характер. Робота в консолі - не вимушений захід, викликаний відсутністю "нормальних" коштів, і не бравада "просунутих" користувачів, а найшвидший і зручний інтерфейсна вирішення низки задач.

У чому ж її переваги? Насамперед - в універсальності. Незалежно від того, який дистрибутив ви використовуєте, базові командибудуть одні й ті самі. Не можна забувати і про те, що текстовий режим стійкіший за графічний. Згадайте хоча б знаменитий BSoD (“ синій екрансмерті”) у Windows. Напис чомусь відображається саме в консолі, а не в мальовничому вікні.

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

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

Перейти в режим командного рядка можна двома способами. Перший – активація текстової консолі. Для цього натисніть комбінацію клавіш Ctrl+Alt+F[номер консолі]. З'явиться рядок запрошення на реєстрацію у системі, де потрібно послідовно набрати логін та пароль. Другий спосіб – відкриття консолі безпосередньо у віконному менеджері. При цьому користувач продовжує працювати у графічному режимі. Важливо розуміти, що й у першому, й у другому випадках все запущені програмипродовжуватимуть нормально функціонувати.



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

Як правило, за промовчанням є шість текстових консолей. Оскільки підтримка кожної вимагає приблизно 4 Мб пам'яті, то на слабких машинахїх кількість бажано зменшити. Для цього слід відкрити файл /etc/inittab з правами адміністратора системи, знайти секцію, що складається із записів виду "2:2345:respawn:/sbin/mingetty tty2", кожна з яких відповідає одній консолі, і поставити знак коментаря (#) навпаки зайвих. Кількість рядків у цій секції дорівнює кількості текстових консолей. Причому у більшості дистрибутивів одна з них служить не для реєстрації користувача, а для системних повідомлень. Чи не правда, дуже зручно у разі будь-яких неполадок: історія хвороби завжди доступна.

Кількість віртуальних консолей задається у файлі /etc/inittab

Перша цифра у рядку – це номер консолі і відповідно номер функціональної клавіші, яку треба використовувати у комбінації для її виклику. Для перемикання текстових консолей потрібно натискати не Ctrl+Alt+F[номер консолі], а просто Alt+F[номер консолі] - клавіша Ctrlзастосовується лише у графічному режимі.

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

Під час роботи в текстовому режимі візуальний маркер початку рядка може бути двох видів: знак дієза (#) та знак долара ($). Перший вказує на те, що користувач працює під ім'ям root, і йому відкриті всі файли системи. У цьому випадку необхідно виявляти особливу обережність - необдумані дії загрожують серйозними наслідками.

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

З іншого боку, хто шукає додаткову інформаціюзавжди її знайде. Одна з найголовніших і найчастіше використовуваних команд - man [ім'я]. Вона виведе на екран довідкове керівництво, присвячене якомусь об'єкту системи, назва якого вказується як аргумент. Зрозуміло, інформація береться не з повітря, а з файлу, для чого він повинен бути фізично присутній на диску. Зверніть на це увагу - деякі розробники намагаються зменшити обсяг дистрибутива, не включаючи до нього сторінки допомоги. І тут треба встановити окремо.


Команда man видасть на екран довідковий посібник до будь-якого об'єкта системи

Оскільки man - такий самий об'єкт системи, як і всі інші, довідку по ньому можна отримати, набравши команду man man. Очевидно, користувачеві, що вперше завантажив Linux, слід почати саме з неї.

Кожен посібник складається з розділів, званих полями. Поле NAME призначене для короткої інформаціїпро об'єкт. У полі SYNOPSIS міститься інформація про способи запуску програми. І нарешті, поле DESCRIPTION – це докладний опис.

Але що робити користувачеві, якщо він поки що не знає, яка програма може виконати його завдання? Скористайтеся командами apropos або whatis. Вони призначені для пошуку інформації в посібниках. Відмінність між ними полягає в тому, що перша здійснює пошук по всій базі, а друга - тільки за іменами об'єктів, що містяться у полі NAME. Очевидно, що одна працює повільніше, але видає більше інформації, ніж інша.

Найчастіше в текстовому режимі виконуються операції з налаштування системи. Чи означає це для користувача, що доведеться активувати нову консоль комбінацією Ctrl+Alt+F[номер консолі]? Зовсім ні: здебільшого графічний режимзалишати необов'язково.

Щоб запустити будь-яку програму з правами адміністратора, потрібно відкрити термінал і набрати команду su без параметрів, потім система попросить ввести пароль користувача root- і повний доступдо файлів вам забезпечено.

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

Допустимо, вам потрібно розбити файл на кілька частин, щоб відправити його електронною поштою ( вихідний розмірнастільки великий, що сервер не пропускає). Для цього необхідно використати команду split. Вона копіює файл, розбиваючи його на окремі фрагменти заданого розміру(за замовчуванням – 1 Мб). Як аргументи слід використовувати два імені: вихідного об'єктуі префікс того, що виходить на виході.

Наприклад, є великий відеоролик name.avi. Потрібно розбити його на частини розміром 10 Мб. Команда буде виглядати так: split -b1000k name.avi name. Перший аргумент вказує обсяг одержуваного об'єкта, другий – ім'я вихідного, третій – префікс імені результату. Таким чином, в результаті операції будуть отримані файли name.aa, name.ab, name.ac і т. д. Зібрати шматочки разом допоможе команда cat name.* > name.avi.


За допомогою команди catможна швидко ознайомитись із вмістом файлу

Нерідко у користувача виникає необхідність порівняти два файли. Найпростіший спосіб – скористатися командою cmp [ім'я першого файлу] [ім'я другого файлу]. Якщо об'єкти повністю збігаються, програма мовчки завершить роботу, бо повідомити їй нічого. Якщо вона виявить якусь відмінність, то видасть користувачеві номер відповідного рядка.

Якщо потрібно повний список невідповідностей, слід скористатися командою diff [ім'я першого файлу] [ім'я другого файла] При цьому програма видасть на екран повний звіт.

У ряді випадків буває зручно, щоб інформація про відмінності не з'являлася на екрані, а одразу зберігалася в будь-якому файлі. Для цього можна вдатися до функції перенаправлення виводу, і команда виглядатиме так: diff [ім'я першого файлу] [ім'я другого файлу] > [ім'я файлу звіту].

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

За перегляд вмісту директорії відповідає програма ls. Щоб результат її роботи зберігався у файлі, необхідно використовувати вже відому нам можливість і набрати в консолі ls [ім'я каталогу] > [ім'я файлу, куди буде записано інформацію].


Вміст директорії можна переглянути, набравши в консолі команду ls

Зрештою, останнє зауваження. Користувачі часто нарікають на те, що робота в командному рядку пов'язана з підвищеним навантаженням на згадку. Мовляв, доводиться пам'ятати всі назви службових утиліт. Це не зовсім так - здебільшого достатньо знати лише кілька перших символів. Після натискання клавіші Tabоболонка сама спробує дописати повну назву (або запропонувати варіанти, якщо такі є). ка

Linux консольніпрограми

Як уже неодноразово говорилося, для роботи в Linux зовсім не обов'язковий графічний інтерфейс. До речі, деякі дистрибутиви досі не укомплектовані системою XWindow. І, слід зауважити, це не робить їх менш популярними.

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

Наприклад, система встановлена ​​на сервер. Для того, щоб раз на місяць (а то й рідше) відредагувати будь-який файл конфігурації, навряд чи розумно витрачати ресурси системи на підтримку абсолютно зайвого в даному випадку графічного інтерфейсу.

Консольних додатків існує безліч, але ми швидко розглянемо тільки чотири найбільш популярних і часто використовуються на практиці. Це текстовий редактор vim, браузер links, файловий менеджер Midnight Commander та FTP-клієнт lftp.

У сучасних версіяхОС вже всі дії можна зробити через графічний інтерфейс, а термінал використовувати зовсім необов'язково. Але в старих комп'ютерах або серверах може бути недостатньо ресурсів для запуску складних графічних інтерфейсів і додатків. Тоді на допомогу приходять термінальні програми linux.

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

Не завжди достатньо одного запущеного терміналу, який доступний нам при підключенні через ssh або в одному з інтерфейсів TTY. Іноді потрібно керувати кількома сесіями одночасно, але немає можливості запустити графічний інтерфейс та кілька емуляторів терміналу.

У таких випадках на допомогу приходить утиліта screen. Вона дозволяє дуже легко керувати кількома терміналами в одному TTY. Ви можете відкривати нові вікна терміналу, перемикатися між ними, копіювати інформацію та багато іншого. Навіть якщо сесія буде несподівано розірвана через розрив з'єднання ssh, програми не будуть завершені і продовжать виконуватися, а ви зможете відновити з'єднання.

2. MidnightCommander – файловий менеджер

MidnightCommander або mc - це двопанельний файловий менеджер для операційних систем Linux. Він дуже схожий на файловий менеджер FAR, відомий користувачам Windows. Весь робочий простір розділений на чотири частини - це дві панелі, командний рядок і рядок, що позначає призначення функціональних клавіш:

Для всіх команд терміналу поточною папкоювважається активна панельі ви можете виконувати будь-які команди Linux. Для зручної навігаціїтут є багато гарячих клавіш, які дуже схожі на Emacs. Для встановлення в Ubuntu наберіть команду:

sudo apt install mc

3. Lynx – браузер

Lynx – це повнофункціональний консольний браузер. За допомогою нього ви можете переглядати веб-сторінки. Це один із найперших браузерів. Він виглядає дуже просто, не підтримує таблиць, css, javascript та інших технологій. Але сторінки завантажуються дуже швидко.

Навігація виконується за допомогою гарячих клавіш, що дозволяє використовувати програму дуже ефективно. Підтримуються протоколи HTTP, FTP, Gopher, WAIS, NNTP.

4. Elinks – ще один браузер

Elinks - більше новий браузер, він заснований на Lynx, але підтримує більше функцій, тут є початкова підтримка стилів, підтримка JavaScript, таблиць, фрейомв. Є навіть підтримка палітри кольорів до 256 кольорів.

Крім того, підтримується Велика кількістьпротоколів: HTTP, HTTPS, FTP, IRC, mailto, telnet, nntp та Gopher. Робота з посиланнями та гарячі клавіші трохи відрізняються від lynx, але користуватися браузером досить зручно. Для встановлення elinks в Ubuntu виконайте команду:

sudo apt install elinks

5. Vim – текстовий редактор

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

Ви можете переміщатися по тексту за допомогою клавіш h,j,k,lу командному режимі, а також виконувати швидку замінуза допомогою r. Для перемикання командного режимута режиму редагування використовується клавіша Esc. Докладніше в окремій статті.

6. Moc – аудіоплеєр

Moc або Music on Console - це аудіоплеєр для термінала Linux, дуже проста програмаяка дозволяє тільки слухати музику. Інтерфейс дуже простий і нагадує інтерфейс Midnight Commander.

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

7. RTorrent – ​​торрент клієнт

Як випливає з назви, rtorrent - це простий torrent клієнт, який, як і інші програми командного рядка, працює тільки через термінал. Програма невимоглива до ресурсів має не дуже зручний інтерфейс, але працює досить швидко та стабільно.

Також підтримується дуже гнучка настройка програми через файл rtorrent.rc. Але синтаксис файлу є досить складним.

8. Newsbeuter - RSS рідер

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

Програма може запам'ятовувати прочитані записи. Для встановлення в Ubuntu використовуйте таку команду:

sudo apt install newsbeuter

9. Mutt – клієнт електронної пошти

Mutt – це клієнт електронної пошти для операційної системи Linux. Він підтримує багато форматів створення повідомлень, серед яких MBox і Maildr, а також протоколи, наприклад: IMAP, POP3, ви можете переглядати пошту з різних сервісів, наприклад, mail.ru, gmail.com, yandex.ru та багатьох інших за доступними протоколами.

Програма має дуже простий, але в той же час зручний інтерфейс, а також підтримує шифрування та електронні підписи.

10. WeeChat – месенджер

WeeChat – це відмінний IRC клієнт для операційних систем на базі ядра Linux. Крім консольного інтерфейсу, тут є графічний та веб-інтерфейс. Програма підтримує роботу через проксі, ipv6, ssl, пошук тексту та повідомлень, а також перевірку орфографії.

За допомогою зручних комбінацій клавіш ви можете виконати будь-які дії дуже швидко. Також підтримуються різні розширенняна Python, Ruby та Perl, що дозволяють дуже розширити можливості програми. Щоб встановити в Ubuntu виконайте:

sudo apt install wee-chat

11. Calcurse – календар

Консольні програми Linuxтакож не обходяться без інструментів планування часу та календарів. Calcurse – це дуже простий, але в той же час функціональний календар та список завдань для Linux.

За допомогою цієї програми ви зможете відстежувати свої справи, які потрібно зробити, а також певні події та зустрічі. Також тут є система нагадувань, за допомогою якої ви зможете отримати повідомлення з термінів виконання завдань та подій.

12. Taskwarrior - перелік справ

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

У зв'язці з утилітою Timewarrior від того ж розробника, ви зможете засікати час, що йде на виконання кожного завдання. Для встановлення taskwarrior в Ubuntu виконайте:

sudo apt install taskwarrior

13. cacaview - перегляд зображень

Cacaview - це дуже простий браузер зображень з консольним інтерфейсом. Малюнок виводиться за допомогою символів ASCII. На повноцінний перегляд зображень тягне важко, зате приблизно оцінити що зображено на картинці можна:

Для встановлення необхідно встановити пакет caca-utils:

sudo apt install caca-utils

14. htop – монітор

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

За допомогою програми можна змінювати пріоритети процесів, завершувати їх, виконувати пошук, фільтрувати процеси за певними параметрами, сортувати, а також дивитися потоки кожного процесу.

15. BitlBee

Це месенджер із відкритим вихідним кодом, що дозволяє користувачам спілкуватися в таких сервісах, як IRC, чат-мережах, AIM, ICQ, NET Messenger, Yahoo!, XMPP, Google Talk, Twitter та Identica. Користувачі цих сервісів відображаються у вигляді каналів, після чого з ними можна спілкуватися як із звичайними користувачами IRC мережі.

Можливе навіть створення конференцій. Програма виконана у вигляді сервера та для підключення до неї необхідно використовувати будь-який клієнт IRC. Для встановлення наберіть:

sudo apt install bitlbee

Висновки

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

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

Взагалі, консольних утиліт існує безліч, але тут ми в кратце, як приклад, розглянемо лише дві з них, але дуже важливі і часто використовувані. Утиліта Apt-get, призначена для роботи з програмними пакетами. Для тих, хто зовсім не визнає консоль, може скористатися чудовою графічною оболонкоюдля Apt-get, під назвою Synaptic(є в офіційному репозиторії).

Як користуватись утилітою?

//основна формула

sudo apt-get команда

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

sudo apt-get upgrade

Основні команди apt-getпід час роботи з пакетами.

apt-get update / / Оновлення інф. про пакети з репозитаріїв
apt-get upgrade //оновлення всіх пакетів
apt-get dist-upgrade //оновлення системи загалом
apt-get clean // Чистить лок. сховище, крім файлів кешу
apt-get autoclean //теж, що й cleanз видалено. кеш-файлів
apt-get check //оновлює кеш та перевір. незадовл. залежності
apt-get autoremove //видалення раніше завантажених, але непотрібних пакетів
apt-get remove //Видалення пакета з сохран. конфігурації. файлів
apt-get purge //Видалення пакета з усіма залежностями
apt-get install //Установка пакета
apt-get build-dep / / Встанов. все для збирання вихідних пакетів
apt-get source //завантажує пакети з вихідними джерелами

Параметри:

-h, --help //довідка
-q, --quiet //сховати індикатор процесу
-qq //Не показувати нічого крім помилок
-d, --download-only //Тільки отримати пакети і вийти
-s, --simulate //виконати симуляцію подій
-y, --yes //автом. відповідати "Так" на всі питання
--reinstall //перевстановити пакети
-f, --fix-broken //виправити порушені залежності
-m, --ignore-missing //ігнорувати відсутні пакети
-u, --show-upgraded //показати оновлені пакети
--no-upgrade //не проводити оновлення пакетів
-b, --compile, --build //збирати пакет після отримання
-D //При видаленні, видалити залежні компоненти
-V //Детально показувати номери версій пакетів
--no-remove //якщо пакети отмеч. до видалений., то apt-getвимк.
--force-yes //Примусове виконання заданої операції

Прикол.

apt-get moo

Повинні побачити корову, яка питає: "Ви мукали сьогодні?"

Утиліта "aptitude".

Розглянемо ще одну дуже гарну утилітупід назвою " aptitude", фактично це те саме, що і " apt-get", але вважається краще, а також має псевдо-графічний інтерфейс. Принцип роботи такий самий, тільки замість " apt-get", потрібно вводити значення" aptitude". Спочатку встановимо саму утиліту:

sudo apt-get aptitude

Тепер, якщо набрати: aptitudeто потрапите в інтерфейс програми.

Розглянемо деякі команди:

// Встановлення пакета.

sudo aptitude пакет1 пакет2 пакет3

Як бачите, можна встановлювати відразу необмежену кількість пакетів одночасно. Скільки б ви їх не встановлювали, aptitudeавтоматично дозволить усі залежності, вам залишиться тільки погодиться (y)та натиснути (enter). Також, за аналогією можна видаляти пакети:

sudo aptitude remove имя_пакета1
або
sudo aptitude purge имя_пакета1

Перша команда видаляє лише файли пакета, не чіпаючи налаштування, друга видаляє повністю все. Переглянути опис пакету можна так:

aptitude show ім'я_пакету

Втім, ця утиліта абсолютний аналог. apt-get", але при встановленні та видаленні пакетів, бажано використовувати її, ніж " apt-get". У всякому разі, на офіційному сайті Ubuntuдають саме такі рекомендації.

Інші команди консолі.

Список команд, які стосуються інформації.

hostname //Мережне ім'я машини
whoami //ім'я поточного користувача
uname -m //покаже архітектуру машини
uname -r //версія ядра
sudo dmidecode -q //інформ. про апарат. забезпеченні системи
cat /proc/cpuinfo //інформація про процесор
cat /proc/interrupts //переривання
cat /proc/meminfo //Уся інформація про пам'ять
cat /proc/swaps //вся інформація про swap
cat /proc/version //версія ядра та інша інформація
cat /proc/net/dev //мережеві інтерфейси та статистика
cat /proc/mounts //змонтовані пристрої
cat /proc/partitions //Доступні розділи
cat /proc/modules //Завантажені модулі ядра
lspci -tv //PCIпристрої
lsusb -tv //USBпристрої
date //Поточна дата
cal //Календар та поточний місяць
cal 2012 //покаже весь 201х рік

Команди, що відносяться до процесів перезавантаження та вимкнення.

shutdown -h now //Вимкнути систему
init 0 //Вимкнути систему
telinit 0 //Вимкнути систему
shutdown -h hours:minutes & //запланувати вимкнення системи
shutdown -c //скасувати заплановане вимкнення
shutdown -r now //перезавантажити систему
reboot //перезавантажити систему
logout //завершити сесію

Операції з файлами і не лише...

cd /home //перейти до домашнього каталогу
cd .. //перейти до рівня вище
cd ../.. //перейти на 2 рівні вище
cd - //перейти до попереднього каталогу
pwd //Показати шлях до поточної директорії
ls
ls -F //показати файли та директорії
ls -l //Показ. подробиці про файли, директорії
ls -a //Показати приховані файли
mkdir dir1 //створити директорію з ім'ям dir1
mkdir dir1 dir2 //створити директорії dir1і dir2
mkdir -p /tmp/dir1/dir2 //створити директорію у зазначеному місці
rm -f file1 //Видалити файл з ім'ям file1
rmdir dir1 //видалити директорію з ім'ям dir1
rm -rf dir1 //видале директорію dir1і весь її вміст
rm -rf dir1 dir2 //видалити директорії dir1\dir2та вміст
mv dir1 new_dir //перейменувати/перемістити директорію
cp //Копіювання файлів/папок
ln -s //створити символічне посилання
chmod //Присвоєння прав файлам

Пошук файлів та директорій.

Забули, куди зберігали? Не біда! У консолі знайдеться все.

find/-name file1 //Шукати файли, дірек. почин. з /
find / -user user1 //Шукати файли, директ. зuser1
find /home/user1 -name \*.bin //Шукати файли .binв / home/ user1
find /usr/bin -type f -atime +100 //позов. бін. файли, незап. 100 дн.
find /usr/bin -type f -mtime -10 //позов. файли створ./змін. за 10 днів.
find/-name \*.deb -exec chmod 755 "()" \; //позов. файли ( .deb)та зрад. права
locate \*.ps //Знайти файли з розширенням.ps
whereis halt //Показати шлях до програмиhalt
which halt //Показ. повн. шлях до програм.halt

На перший погляд, все це може виглядати дещо жахливо, але це тільки на перший погляд. Не варто відразу кидатися в паніку і відразу ж повертатися до Windows(У). Сучасні дистрибутиви Ubuntuособливо, цілком дозволяє вам обходитися без командного рядка. Проте командний рядок в окремих випадках набагато буває зручнішим, ніж графічний інтерфейс. Також, зовсім необов'язково заучувати всі ці команди напам'ять, достатньо буде створити текстовий файл, скопіювати в нього весь вміст і тримати його поблизу, як шпаргалку, якою за необхідності можна скористатися.

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

Довідники команд Linux: http://books.tr200.ru/v.php?id=278389