Blog — by Andrii Dykhlin

Трошки більше базових команд

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

В першу чергу давайте перевіримо версію системи у базовому вигляді. У цьому нам допоможе дуже просто команда:

Код:

$ uname -a

Аргумент -a допоможе побачити всі параметри системи разом та він працює у всіх UNIX-системах. З нього можна почерпнути, наприклад, архітектуру ОС та версія ядра Linux.

Код:

$ lsb_release -d

Взагалі, тут також можна вживати аргумент -a, проте поле Description (-d) об'єднує у собі значення всіх полів.

А ось команд для перевірки заліза досить багато: lscpu, lshw, lsusb, hwinfo тощо. До них ми ще повернемось.

Також можу запропонувати записати вивід деяких команд у файл. Найбільш простий спосіб базового запису тексту у файл такий:

Код:

$ echo 'test' > 1.txt

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

Код:

$ uname -a >>  myinfo.txt && lsb_release -d >> myinfo.txt

Так, у UNIX можна прописати кілька команд разом, розділивши їх за допомогою '&&'. Це показує, що команд декілька і буде виконувати їх у порядку черги, починаючи з лівої сторони.

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

Наступна важлива команда - shutdown. У міркуваннях безпеки для неї досить тривалий час потрібні були root-права, проте в останніх версіях ви, набравши reboot (ця команда присутня не у кожній системі), надсилаєте сигнал на перезапуск системи.

Ми ж поговоримо про основну команду shutdown, хоча ще є й halt та poweroff. Але shutdown об'єднує їх усі наче кільце Саурона.

Код:

$ sudo shutdown -[Hpr]

Нам зараз важливі параметри -H, -p та -r. Кожен з яких, відповідно, виконує зупинку системи (-H), вимкнення (-p) та перезапуск (-r).

Не можна не згадати й про команду для перевірки останнього запуску. Це робиться дуже просто і для цього є команда uptime:

Код:

$ uptime

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

Код:

$ uptime -p

Останнє на цей пост - можливість запуску файлу. Треба взяти приклад з першого мануалу. Там ми записали скрипт для того, щоб виводити картинки з текстом. Отже, треба створити файл. Скрипти термінальні ліпше тримати у .sh-файлах. Для зручності створимо файл 1.sh (можна й без "sh", проте формат файлу допоможе швидко зрозуміти що може бути всередині:

Код:

$ vim 1.sh

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

Код:

fortune | cowsay -f `ls /usr/share/cowsay/cows/ | shuf -n 1`

Зберігаємо (F3) та закриваємо файл (F2). Тут нам у нагоді стане чудова команда chmod. Про неї я також окремо напишу, зараз нам потрібно лише додати можливість запуску для 1.sh, тому ми пишемо наступне:

Код:

$ chmod +x 1.sh

У цієї команди є 3 основні права доступу: read, write, execute. Читати файл, проводити запис та виконувати. Відповідно, кожному файлу можна задати права доступу для власника, його групи та інших. Параметр read = 4, write = 2, execute = 1, тобто, у сумі може бути від 0 до 7. Якщо ввести chmod 777 для файлу, то це дасть йому повні права для всіх користувачів на повний доступ.

Після того, як ми додали можливість запуску файлу, ми можемо протестувати це:

Код:

$ ./1.sh

Відмічу новий синтаксис для вас, проте у ньому нічого нема страшного.

На цьому на сьогодні ми закінчимо. Можете погратися з рандомом та читати вивід нашого маленького скрипту. До нових зустрічей, друзі!




Прокоментуйте!