На даному уроці ми познайомимося з базовими командами роботи в ОС Linux в теорії та на практиці, потім викладемо сайт на хостинг A-Level, і в третій частині уроку попрактикуємося в навичках роботи з контролем версій GIT.
За виданими вам логінами, паролем та адресою сервера за допомогою програми Putty ви потрапите в консоль сервера Helium, на якому нам доведеться практикуватися в Linux.
Найголовніші команди, які необхідно знати:
- ls з різними опціями - перегляд вмісту поточної або вказаної папки
- cd - команда для зміни поточної папки
- pwd - переглянути поточну папку
- passwd - змінити пароль
- mkdir - створити папку
Далі докладніше)
Команди бувають внутрішні (їх реалізує безпосередньо програма-оболонка) або інші програми, що існують у файловій системі.
Клавіатурні комбінації:
TAB - "Чарівна" кнопка, яка доповнює ваш текст. Не треба писати все, треба натискати TAB. Іноді двічі. CTRL-W - стерти слово до курсору CTRL-R - пошук з історії команд. Достатньо ввести будь-яку частину іншої команди, щоб її висмикнути для використання зараз. СТРЕЛКА ВВЕРХ - історія Alt-B - слово назад.
Команда виводить історію ваших команд.
Нижче наведено джентльменський набір файлових операцій, що реалізуються командами:
pwd - (present working directory) показує де ми зараз знаходимося
cd - (change directory) змінити директорію
mkdir - (make dir) створити директорію
rmdir - (remove dir) видалити директорію
cp - (copy) копіювати що-небудь
mv - (move) перемістити що-небудь
rm - (remove) - видалити
cd ~/tmp # change directory: зайти до папки tmp у домашній папці поточного користувача
cd # йдемо в домашню папку
cd ./ # зайти в цю ж папку
cd ../ # вийти на папку вище.
ls -la # list докладно та з правами
ls # list неподробно
ls -lah # list докладно та зі зрозумілими розмірами файлів
Ви можете використовувати символ * для заміни частини імені файлу на будь-які:
ls -la *php # показати всі файли php у директорії
При цьому команда ls отримає як параметри всі файли в папці, які закінчуються на php.
touch filename # створює порожній файл filename, або оновлює час доступу до файлу ("торкається" його)
mkdir ~/newFolder # створюємо папку в домашньому каталозі
mkdir newFolder # створюємо папку у поточному каталозі
mkdir ../newFolder # створюємо папку поруч із поточним (тобто рівень вище)
mkdir -p ~/newFolder/1/2/3/4/5/6 # створимо відразу кілька папок один в одному
mv ~/newFolder/1/2/3/4/5/6 ~/newFolder # перенесемо папку 6 з папки 5 до папки ~/newFolder
mv filename otherFilename # перейменуємо файл на інше ім'я файлу.
cp otherFilename filename # копіюємо один файл з otherFilename в filename
cp -vrf ~/newFolder/1/2/ ~/newFolder # copy verbose recursive force папку ~/newFolder/1/2 у ~/newFolder
rm otherFilename # remove file otherFilename
rm -rf ~/newFolder/1 # remove files and directories recursively forced.
cat /etc/resolv.conf # conCAT /etc/resolv.conf
Усі ми тією чи іншою мірою знайомі з редакторами тексту. Однак у світі UNIX редактори спочатку більш потужні та гнучкі, орієнтовані працювати з кодом чи конфігураційними файлами.
ViM - (vi i__m__proved) - потужний редактор, побудований не на ідеї редагування тексту, а на ідеї програмування редагування тексту. Завдяки цьому ви під час редагування оперуєте не окремими символами, а сутностями, що мають відношення до структури програмного коду (слова, параметри, парні теги/дужки тощо)
- Нормальний. Це режим, в якому відбувається програмування тексту
Кожна клавіша на клавіатурі в цьому режимі відповідає за ту чи іншу дію: переміщення, зміну, видалення, вставку, копіювання текстового блоку і так далі.
Esc:q!- вийти не зберігаючисьEsc:wqa- вийти, зберігши всі файлиZZ- вихід із збереженням.Esc:x- еквівалентEsc:wq
Шляхи бувають абсолютні та відносні, а також щодо домашньої папки (/home/username). Для цього використовується наступний синтаксис:
/etc/ - Шлях, що починається зі слєшу - абсолютний
tmp - Шлях без слішу означає шлях щодо поточної папки. Іноді треба поставити ./ перед ім'ям папки або файлу (./tmp)
~/ - домашню папку. Зазвичай /home/username
~username - домашню папку користувача
.., ../ - папка уровнем выше
./ - поточна папка
Кожен файл або папка в UNIX ОС мають права доступу, які побиті на 3 вісімкові цифри (3 біти x 3 блоки).
- `r`- read
- `w`- write
- `x` - eXecute/доступ до папки
Кожен із цих трьох прав доступу призначаються:
- Власнику
- Групі
- Іншим Для завдання власника використовується команда chown (__CH__ange __OWN__er):
chown username filename # міняємо власника
chown -R username:groupname ~/newFolder # міняємо власника та групу для папки ~/newFolder рекурсивно
Для завдання прав доступу використовується команда chmod
chmod 700 filename # повний доступ для власника, нуль доступу групі та іншим
chmod -R a+x ~/newFolder # додати всім доступ на запуск всім (власнику, групі та іншим) рекурсивно
У файловій системі є посилання двох типів - текстові файли за допомогою інших файлів. Це симлінки. Також є копії файлових записів, які посилаються на контент файлів. Це хардлінки
Перші працюють у різних файлових системах, проте якщо файл, на який зроблено посилання, видаліться - посилання стане битим. Другі працюють тільки в одній файловій системі, однак усі посилання на контент файлу рівноправні та файлова система веде підрахунок цих посилань, звільняючи місце тільки після видалення останнього посилання.
для роботи з цими посиланнями використовується команда ln.
Так як Лінукс це розрахована на багато користувачів ОС то і повинні бути певні обмеження для користувачів
Таким обмеженням є відсутність прав root.
root це окрім як корінь ще й користувач системи
Користувачеві root дозволено все: видаляти, копіювати або записувати або запускати будь-який файл, який знаходиться в системі
Користувач root має найвищі привілеї на все.
Тобто root це повноцінний адміністратор машини (комп'ютера).
Якщо вам потрібно встановити програму або виправити конфігурації, вам потрібно зайти під цим користувачем в систему.
Але це НЕ РЕКОМЕНДУЄТЬСЯ!!!
Сидіти під рутом частково небезпечно так як ви можете випадково зробити щось і ви можете попрощатися з системою.
sudo -- substitute user and do, дослівно «підмінити користувача та виконати»
Спеціальна програма яка дозволяє запускати невеликі сесії під рутом від звичайного користувача, щоб поліпшити загальний стан безпеки і дати вам другий шанс, якщо ви раптом чогось недодивилися.
Для того щоб мати такі права вам все одно доведеться раз зайти під рутом
Правила, що використовуються sudo для ухвалення рішення про надання доступу, знаходяться у файлі /etc/sudoers (для редагування файлу можна використовувати спеціальний редактор visudo, який запускається з командного рядка без параметрів, у тому числі без вказівки шляху до файлу); мова їх написання та приклади використання докладно викладені у man sudoers(5).
У bash та інших лінуксових консолях існує безліч цікавих команд, і ще більша кількість варіантів їх використання, кожен користувач, що цікавиться, поступово дізнається для себе цікаві команди та їх варіанти.
Для зацікавлених цією темою рекомендуємо ознайомитися з можливостями командного рядка в цілому, оскільки складно уявити собі потужніший інструмент для програміста та системного адміністратора.

