Шпаргалка по SSH

Опубликовано:

Частенько приходится работать через консоль, поэтому решил собрать здесь основные команды, которые приходится применять чаще всего. Раньше в браузере была куча закладок, на страницы сторонних сайтов, с решением той или иной задачи. Я решил, что лучше все собрать в одном месте. По мере поступления новых must-have буду обновлять. Итак, поехали:

 

Архивы

Создать архив .tar/.tar.gz

tar -cvf file.tar /full/path — создать .tar (без сжатия)

tar -czvf file.tar.gz /full/path — создать .tar.gz (архив GZip)

Распаковать архив .tar/.tar.gz

tar -xvf file.tar — распаковать обычный .tar (без сжатия)

tar -xzvf file.tar.gz — распаковать .tar.gz (запакованны GZip-ом)

Распаковать архив .gz (GZip, без TAR)

gunzip file.gz — распаковать обычный .gz (GZip, без TAR. Распаковываемый архив должен иметь права на исполнение: chmod +x file.gz)

 

Базы данных MySQL

Импорт дампа базы данных

mysql -u db_user -p -h localhost db_name < dump.sql

Импорт дампа базы данных, упакованных в gzip (*.sql.gz)

gunzip < dump.sql.gz | mysql -u db_user -p db_name

Экспорт базы данных (создание дампа)

mysqldump -u db_user -p -h localhost db_name > dump.sql

Создание архива GZip с дампом БД

mysqldump -u db_user -p -h localhost db_name | gzip > dump.tar.gz

Создание дампа нескольких баз данных одновременно

mysqldump -u db_user -p -h localhost -B db_name1 db_name2 db_name3 > databases.sql

Создание дампа всех баз данных

mysqldump -u db_user -p -h localhost -A > all-databases.sql

Сохранить только структуру БД

mysqldump —no-data -u db_user -p -h localhost db_name > schema.sql

Создание дампа только одной или нескольких таблиц БД

mysqldump -u db_user -p -h localhost db_name tbl_name1 tbl_name2 tbl_name3 > dump.sql

Дополнительные атрибуты (уменьшают размер дампа и повышают скорость работы)

mysqldump -Q -c -e -u db_user -p -h localhost db_name > /path/to/file/dump.sql

— Q — оборачивает имена обратными кавычками;

— c — делает полную вставку, включая имена колонок;

— e — делает расширенную вставку.

Если не запускается MySQL, лог ошибок можно увидеть прямо в консоли (команда для Windows)

mysqld —defaults-file=C:Program Files…my.ini —console

 

Файлы/директории

Узнать абсолютный путь до текущего каталога

pwd

Удалить папку со всем ее содержимым

rm -R /path/to/dir

Создать символьную ссылку

ln -s  /etc/apache2/sites-available/site.com.conf /etc/apache2/sites-enabled/site.com.conf

Подсчитать количество файлов в текущем каталоге (включая вложенные)

find . -type f | wc -l

Подсчитать занимаемый размер каталога

du -sh /var

Вывести на экран количество файлов в поддиректориях текущего каталога

for D in `ls -Fl | grep / | awk ‘{print $9}’` ; do echo $D `find -L $D -type f -print | wc -l` ; done

Удалить в директории все файлы старше N дней

find /home/user -type f -mtime +N -exec rm {} ;

Узнать информацию об использовании inodes (файловых дескрипторов):

df -i

Создать патч

diff -uN file.orig file.new > file.patch

Наложить патч

patch file.orig < file.patch

Найти определенные файлы и скопировать их с сохранением иерархии

find . -name «ru.po» -exec cp —parents «{}» /destination/dir/ «;»

 

Прочее

Вывести последние 10 строк из лог-файла, с автообновлением в реальном времени

tail -n10 -f /var/log/sites/your-site.ru.error.log

(путь до файлов с логами Apache у вас скорее всего будет другим)

Узнать информацию о процессоре

cat /proc/cpuinfo

или

lscpu

Показать ТОП10 медленных запросов MySQL (сортировка по времени исполнения time):

mysqldumpslow -s t -t 10 /var/log/mysql-slow.log

Показать ТОП10 запросов MySQL, в который не используются индексы (сортировка по кол-ву вызовов count):

mysqldumpslow -s c -t 10 /var/log/mysql-slow.log

Установить корректно конвертер шрифтов (Debian):

apt-get install libssl-dev build-essential zlibc zlib-bin libidn11-dev libidn11

wget http://people.mozilla.com/~jkew/woff/woff-code-latest.zip

unzip woff-code-latest.zip -d sfnt2woff && cd sfnt2woff && make && mv sfnt2woff /usr/local/bin/

Понравилась статья, расскажи о ней друзьям, нажми кнопку!