Працюємо з сайтом через SSH
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. Далі все стандартно.
Немає коментарів.