Працюємо з сайтом через SSH

25.03.2023 | Написав

SSH – протокол віддаленого адміністрування, розроблений для здійснення віддаленого керування операційними системами та тунелювання TCP-з’єднання. Використання SSH підключення має ряд переваг.
По-перше, це безпечна робота на віддаленому ПК. По-друге, безпосередньо в консолі всі дії виконуються набагато швидше, ніж якщо б ми робили це через FTP. А деякі дії через певні обмеження хостінга можна виконати тільки в самій консолі. Тому знання ціх команд наразі я вважаю обов’язковим в роботі web-програміста.
Вирішив створити певний базовий список, те, що я найчастіше використовую в своїй роботі, в подальшому буду доповнювати.

Загальні команди

Вивести останню команду – стрілка вверх. При нагоді, коли в нас кілька однакових команд.
Вивести останні 1000 команд:

history

Вивести IP машини:

hostname -I

Вивести хелп по потрібній нам команді. Приміром для ls:

man ls

Після цього жмемо q для виходу з просмотру.
Або можна визвати команду с ключем -h

ls -h

Дивимось вільне місце:

df -h

Перезавантажуємо сервер:

sudo reboot

Перезавантажуємо тільки mysql:

sudo service mysql restart

Працюємо з папками та файлами

Вивести поточне находження:

pwd

Переміщуємось в папку відносно поточної:

cd folder/

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

cd /folder-one/folder-two/

Ще один маленький секрет – можна не набирати ім’я папки до кінця, а натиснути Tab на клавіатурі, система сама його доповнить.
Переміщуємось на рівень вище:

cd ..

Переміщуємось на два (або більше) рівня вище:

cd ../..

Продивитись зміст поточної папки:

ls -la

Цій команді варто приділити уваги трохи більше. В данному прикладі використані ключи (прапори) la. Це дає нам змогу вивести всі файли, в тому числі приховані (ключ а), режим доступу, кількість посилань на файл, імена власника та групи, розмір у байтах та час останньої модифікації.
Взагалі ключів в цій команді багато, найбільш вживані:

  • R – рекурсивно обійти підкаталоги, що зустрілися;
  • a – вивести список усіх файлів (без цієї опції не виводяться приховані файли, імена яких починаються з точки);
  • d – якщо аргумент є каталогом, виводити тільки його ім’я, а не вміст. Часто використовується з прапором -l для отримання інформації про стан каталогу;
  • C – виведення в кілька колонок із сортуванням по колонках;
  • x – виведення в кілька колонок із сортуванням по рядках;
  • l – виведення у довгому форматі: перед іменами файлів видається режим доступу, кількість посилань на файл, імена власника та групи, розмір у байтах та час останньої модифікації;
  • r – змінити порядок сортування на зворотний алфавітний або, за наявності прапора -t, спочатку виводити старіші файли;
  • t – імена файлів сортуються не за алфавітом, а за часом (спочатку йдуть найсвіжіші файли). За заромовчанням використовується час останньої зміни.

Створюємо папку:

mkdir folder

Папка з’явиться в нашому поточному положенні. Також можна ввести ввести абсолютний шлях.
Створюємо файл:

touch file.txt

Редагуємо файл:

nano file.txt

Для переміщення по файлу використовуємо стрілки. Після завершення редагування файлу натисніть:

  • Ctrl+O — щоб зберегти.
  • Ctrl+X – для виходу.

Копіюємо файл:

cp file.txt /folder-one/folder-two/

Копіюємо файл з перйменуванням:

cp file.txt /folder-one/folder-two/new-name.txt

Копіюємо папку:

cp -r folder /folder-one/folder-two/

Переміщуємо файл:

mv file.txt /folder-one/folder-two/

Переміщуємо папку:

mv folder /folder-one/folder-two/

Видаляємо файл:

rm file.txt

Видаляємо всі файли в поточній папці:

rm *

Видаляємо папку:

rm -r folder

або з ключем f (force):

rm -rf folder

Міняємо власника файла:

sudo chown user:group file.txt

Міняємо власника папки:

sudo chown -R user:group folder/

Працюємо з архівами

Створюємо архів tar:

tar -zcvf folder.tar.gz folder/

Що означають ключі в цій команді:
c – створюється архів;
f – за допомогою цього ключа визначається ім’я створюваного архіву;
z – архівація відбуватиметься у вигляді архіватора gzip;
v – у консоль виводитиметься інформація про процес архівації.
Розпаковуємо архів tar:

tar -zxvf folder.tar.gz

Працюємо з базою

Робимо дамп бази:

mysqldump -u database_username -p database_name > file.sql

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

mysql -u database_username -p database_name < file.sql

Дивимость список таблиць бази:

mysqlshow -u USER -pPASSWORD DATABASE

Встановлюємо GIT та підключаємось до репозиторію

Безпосередньо встановлюємо GIT:

sudo apt-get install git-core

Створюємо SSH-ключ:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

Відкриваємо новостворений публічний SSH-ключ:

cat ~/.ssh/id_rsa.pub

Копіюємо текст ключа та зберігаємо. Тепер цей ключ ми можемо додати до акаунту на Github або Gitlub. Далі все стандартно.

Рубрика: Веброзробка
Позначки:,
Коментарі читачів статті "Працюємо з сайтом через SSH"

Немає коментарів.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься.

Цей сайт використовує Akismet для зменшення спаму. Дізнайтеся, як обробляються ваші дані коментарів.