SSH ( Secure Shell — «безопасная оболочка»)
Для выполнения некоторых операций (администрирование БД, компиляция программ e.t.c.) нужно воспользоваться так называемым shell-доступом по протоколу ssh. Это «терминальный доступ», т.е. с помощью специального программного обеспечения ваш компьютер становится удаленным терминалом другого компьютера и можно запускать программы с компьютера, к которому вы подключились.
С помощью этого протокола можно осуществлять работу с удаленным сервером в консоли — отлаживать, запускать программы. Кроме того, этот протокол позволяет осуществлять передачу файлов
SSH позволяет безопасно передавать в незащищенной среде практически любой другой сетевой протокол. Весь трафик, передаваемый по этому протоколу, шифруется
Для работы по SSH нужен SSH-сервер и SSH-клиент. Сервер прослушивает соединения от клиентских машин и при установлении связи производит аутентификацию, после чего начинает обслуживание клиента. Клиент используется для входа на удаленную машину и выполнения команд.
PuTTY — свободно распространяемый клиент для протоколов SSH, Telnet, rlogin и чистого TCP.
Нужно знать логин и пароль для ssh доступа и дальше в терминальном режиме вводить команды:
Команды работы с файлами и директориями
mkdir — команда служит для создания директории. Пример: mkdir test, создаст директорию test в текущей.
rmdir — команда служит для удаления пустой директории (для удаления непустых директорий надо использовать rm -rf directory).
rm filename — удалить файл или директорию.
cd directory — команда служит для навигации по каталогам, пример: «cd ~/public_html» произведет заход в директорию public_html вашего домашнего каталога.
pwd — показывает абсолютный путь до каталога, в котором вы находитесь.
cp ~/from/ ~/to/ — скопировать файл или директорию. Чтобы скопировать каталог из одной директории в другую, используйте данную команду с ключами -rf, например cp -rf ~/from/directory/ ~/to/directory.
scp -r ./* new_login@new_host:~/ — защищенное копирование файлов из текущей директории на новую машину (используйте при переносе вашего сайта, например, с виртуального хостинга на VPS).
rsync -avH —progress * new_login@new_host:~/ — синхронизация данных. Файлы заменяются более новыми. Главное отличие от scp, то что при обрыве rsync начинает синхронизировать с места разъединения.
wget -c -m —passive-ftp -nH ftp://login:pass@host/ — копирование по ftp. Параметр «-с» позволяет докачивать файлы. Может пригодиться, когда rsync не в состоянии синхронизировать большой файл.
mv ~/from/ ~/to/ — переместить файл или директорию (также можно использовать для переименования файлов).
ls -al — показывает все файлы в текущем каталоге. При помощи нее вы можете также посмотреть права на файлы и директории, а также владельца и группу, рассмотрим на конкретном примере:
-rw-r—r— 1 username group — 851 Jul 8 17:40 .profile
-rw-r—r— это права, которые установлены на текущий файл. В цифровом эквиваленте 644.
username — это имя владельца текущего файла.
group — это имя группы текущего файла.
851 — размер файла в байтах.
Jul 8 17:40 — время последнего редактирования файла.
.profile — имя файла.
ln -s — создает символическую ссылку. Пример: ln -s /home/test/html WWW — cоздаст в текущем каталоге ссылку на /home/test/html, имя ссылки WWW.
du -h — вычисляет место, занятое папками и файлами на диске, при этом выводится размер каждой папки. Если набрать с ключем -s будет показана только сумма.
find ./ -name ‘filename‘ — осуществляет рекурсивный поиск файлов/директорий с именем filename во всех папках, начиная с текущей.
chmod 755 filename — изменить права на filename. На все файлы страниц и php-скрипты рекомендуется ставить 644, а на perl скрипты — 755.
Команды просмотра/редактирования файлов
cat filename — открывает filename на чтение, выводится все содержимое файла.
cat > filename — открывает/создаёт файл для перезаписи. Если файл существует, он обнулится!
cat >> filename — открывает файл для записи в конец файла.
less filename — открывает filename на чтение, поэкранный вывод содержимого.
tail -n 10 filename — вывод последних 10 строк файла filename.
ee filename — текстовый консольный редактор файлов.
vi filename — текстовый консольный редактор файлов.
mcedit filename — текстовый редактор midnight commander’a.
grep ‘text’ filename — поиск подстроки ‘text’ в файле filename. При указании * вместо filename, поиск будет во всех файлах данной директории.
iconv -f cp1251 -t utf-8 file — перекодирование файла из cp1251 в UTF8.
Команды просмотра процессов
top — просмотр собственных процессов в реальном времени.
ps auxwj — показывает много полезной информации по текущим процессам, их id, приложения, их вызывающие и тд.
Команды работы с архивами
tar -zxf archive_name.tgz — разархивировать файл в текущий каталог.
tar -zcf archive_name.tgz filename — создать архив, вместо filename можно также указывать имя директории, тогда она будет тоже заархивирована. Архив создается в текущем каталоге.
Команды работы с базами MySQL
mysqldump —opt -Q -u username -ppassword database_name > filename.sql — сделать dump базы данных database_name в файл filename.sql, username — имя пользователя к базе данных, dump которой вы хотите сделать.
mysql -u username -ppassword database_name < filename.sql — распаковать dump из файла filename.sql в базу данных database_name, username — имя пользователя к базе данных, в которую вы хотите распаковать dump.
mysql -u username -ppassword database_name — работа с базой database_name через командную строку. В этом режиме можно выполнять команды MySQL. Обратите внимание на то, что команда обязательно должна заканчиваться символом «;», иначе выполнена она не будет.