================================================================================
# ПОЛЕЗНЫЕ КОМАНДЫ ДЛЯ РАБОТЫ В ТЕРМИНАЛЕ (SSH КОНСОЛЬ)
================================================================================
Краткий список команд (см. подробное описание в подразделах)
--------------------------------------------------------------------------------
# Навигация:
--------------------------------------------------------------------------------
pwd — показать текущий путь
cd dir1 — перейти в каталог dir1
cd .. — перейти в каталог на уровень выше
cd ~ — перейти в домашний каталог текущего пользователя
ls -l — показать все файлы в текущем каталоге (расширенный вид)
ls -la — показать все файлы (в том числе скрытые с ГРУППАМИ И ПРАВАМИ на файлы и каталоги)
--------------------------------------------------------------------------------
# Основные файловые операции
--------------------------------------------------------------------------------
> file1.txt — создать файл file1.txt
"text" > file.txt — записать текст в файл (файл будет перезаписан)
"text2" >> file.txt — дозаписать текст в файл (файл не будет перезаписан)
cp file1 dir1 — скопировать файл file1 в каталог dir1
mkdir dir1 — создать каталог dir1
cp -R cat/src new/dir — скопировать каталог "src" в каталог "dir" (рекурсивно)
mv file1.txt newfile.txt — переименовать файл file1.txt в файл newfile.txt
mv file.txt dir1 — перенести файл file.txt в каталог dir1
mv file.txt .. — перенос файла на уровень выше
mv file.txt ~/dir — перенос файла в каталог dir домашнего каталога
rm file1.txt — Удалить файл "file1.txt"
rm -r dir — Удалить каталог "dir"
rm -Rf htdocs/ - Удаление всех файлов в каталоге htdocs и подкаталогах
(никаких уведомлений не высвечивается)
--------------------------------------------------------------------------------
# Информация о размерах
--------------------------------------------------------------------------------
df - Инфморация о занятом месте на диске
du -sh * - Размер файлов в текущем каталоге
du -sh [путь] - Размер файлов в каталоге, указанном в [пути] к нему
du file.txt - размеры файла file.txt в байтах
du -k file.txt - В килобайтах
du -m file.txt - В мегабайтах
du -g file.txt - В гигайбайтах
du -h file.txt - В удобочитаемом виде (единица измерения подстраивается)
#Список файлов с указанием размеров:
ls -la --block-size=M - размер файлов в Мегабайтах
$ find images/ -type f | wc -l # Кол-во файлов-1 (с учетом вложенных)
$ find images/ -type d | wc -l # Кол-во каталогов-1 (с учетом вложенных)
$ find images/ -name '*.jpg' | wc -l # Кол-во файлов ".jpg"
$ find images/ -name '*.png' | wc -l # Кол-во файлов ".png"
--------------------------------------------------------------------------------
# Архивация
--------------------------------------------------------------------------------
zip -r dir.zip dir – архивация каталога "dir"
zip -r dir.zip ./ - архивация файлов в текущем каталоге
unzip archive.zip – Извлечение данных из архива "archive.zip
--------------------------------------------------------------------------------
# Поиск
--------------------------------------------------------------------------------
find ./ -name shadow.gif - Поиск ПО ИМЕНАМ ФАЙЛОВ (рекурсивный поиск по текущему каталогу)
find . -type f -name '*.php' - Поиск файлов ПО РАСШИРЕНИЮ (аналогично по маске)
grep -r "find text" ./ - Поиск ПО ТЕКСТУ В ФАЙЛАХ в текущем каталоге (-r - рекурсивный)
# Поиск файлов в текущем каталоге по маске и запись в лог файл:
find ./ -type f -name "*.jpg" > log_jpg.txt
--------------------------------------------------------------------------------
# Загрузка файлов
--------------------------------------------------------------------------------
# Утилита CURL (Windows, Mac OS, Linux)
# Скачать и сохранить файл под оригинальным именем file.tar.gz
curl -O https://testdomain.com/file.tar.gz
# Скачать и сохранить файл под новым именем download_file.tar.gz
curl -o download_file.tar.gz https://testdomain.com/file.tar.gz
# Утилита WGET (Mac OS, Linux)
# Скачать файл c сайта (показать статус загрузки)
wget --progress=bar https://www.site.ru/backup/file.tar.gz
--------------------------------------------------------------------------------
# Пользователи и группы
--------------------------------------------------------------------------------
whoami - Имя текущего пользователя
id - Информация о текущем пользователе
id -Gn - Список имен групп текущего пользователя
id -Gn USER - Группы определенного пользователя
groups - Группы текущего пользователя (аналог предыдущей команды)
---------------------------------------------------------------------------------
# Бэкапы Баз Данных (MySql)
---------------------------------------------------------------------------------
mysql> SHOW DATABASES; - показать все базы данных
mysqldump -uDBUSER -pDBPASS DBNAME > DBNAME.sql - выгрузка в файл
mysql -uDBUSER -pDBPASS DBNAME < DBNAME.sql - заливка в базу из файла
---------------------------------------------------------------------------------
# Получение информации о сайтах
---------------------------------------------------------------------------------
curl -I https://www.google.com - получение заголовков HTTP
whois site.ru — получение информации о сайте с помощью сервиса whois
host site.ru — получение информации о DNS сайта
host -a site.ru — получение расширенную информацию о DNS сайта