Некоторые полезные команды по SSH

На некоторых VPS есть ограничения по количеству файлов, помимо их общего размера, и чтобы выяснить сколько же их:

покажет сколько занято всего
df -i

покажет сколько файлов в определенных папках
ls -R /var/www/*/data/mod-tmp | wc -l

удалить файлы

find /var/www/*/data/mod-tmp -name "sess_*" -type f -exec rm {} ;

информация о свободном месте на дисках
df
или (в гигабайтах)
df -h
или (в мегабайтах)
df -m

Если мы видим что жесткий забит до отказа, то нужно посмотреть в какой именно директории много файлов

cd / && du -hs *

Можно с сортировкой по размеру (в байтах)cd /var && du -sk * | sort -rn


свободная память и загрузка процессора
vmstat

различные параметры за последние сутки
sar

отобазить список папок и файлов текущего каталога
ls

сменить папку на xx_dir
cd xx_dir

показать текущее местоположение
pwd

перегрузить сервер
reboot

выйти
exit

перезагрузка apache
/etc/init.d/httpd restart
или
apachectl restart

запуск apache
apachectl startssl

остановка apache
apachectl stop

перезапуск mysql
/usr/local/etc/rc.d/mysql-server restart

посмотреть свободную память
free -m

mysqldump -u имя_пользователя_БД -pпароль_пользователя_БД имя_бд > /полный/путь/дамп.sql - создание дампа дамп.sql

mysql -u имя_пользователя_БД -pпароль_пользователя_БД -D имя_бд < /полный/путь/дамп.sql - заливка дампа дамп.sql в базу данных mysql 

cd /путь/ - перейти в каталог /путь/

wget http://www.mysite.ru/какойто_файл.zip - загрузка файла 'какойто_файл.zip' напрямую из сети, в текущий каталог VDS, не используя вашу локальную машину.

Как массово сменить права на файлы в разных папках через ssh
chmod -R xxx file
где -r — рекурсивно, т.е. включая все папки и файлы в указанной папке
ххх = набор прав для доступа к файлу/папке (0555, 0777 и пр.)
file = папка или файл. Для смены массово прав по всему домену нужно в данном случае указывать именно самую верхнуюю папку (/published/ или /www/ и т.д.)
Примеры:

проставить права 644 только на файлы:
find /path/to/dir -type f -exec chmod 0644 {} ;
проставить права 755 только на каталоги:
find /path/to/dir -type d -exec chmod 0755 {} ;

Помощь (вызов мануала)

man ИмяКоманды — помощь по работе с командой
Пример: man find — выведет информацию о команде find
Выход из мануала через ssh-клиент — клавиша «Pause/Break»

Команды с файлами

ls — список файлов и каталогов
ls -al — форматированный список со скрытыми каталогами и файлами
ls -lia — вывод списка всех файлов и папок в текущей директории отсортированных по алфавиту с отображением размеров директорий и файлов.
cd dirname — сменить директорию на dirname (cd — change directory)
cd ~ — смена директории на домашний каталог, а также команда без «~» (тильды) делает то же самое в большинстве шелов
pwd — показать текущий каталог
pwd ~ — показать каталог для текущего пользователя
mkdir dir — создать каталог dir
rm file — удалить file
rm -r dir — удалить каталог dir
rm -f file — удалить форсированно file
rm -rf dir — удалить форсированно каталог dir * (без вопросов удалит каталог и все что в нем хранится)
cp file1 file2 — скопировать file1 в file2
cp -r dir1 dir2 — скопировать dir1 в dir2; так же создаст каталог dir2, если его не существует
mv file1 file2 — переименовать или переместить file1 в file2. если file2 существующий каталог — переместить file1 в каталог file2
ln -s file link — создать символическую ссылку link к файлу file
touch file — создать file
cat > file — направить стандартный ввод в file
more file — вывести содержимое file
head file — вывести первые 10 строк file
tail file — вывести последние 10 строк file
tail -f file — вывести содержимое file по мере роста, начинает с последних 10 строк
view file — вывести файл на экран

Процессы

ps — вывести ваши текущие активные процессы
ps -aux — вывести все процессы (от рута)
top — показать все запущенные процессы
kill pid — убить процесс с id pid
killall proc — убить все процессы с именем proc
bg — список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фоне
fg — выносит на передний план последние задачи
fg n — вынести задачу n на передний план

Права доступа на файлы

chown root /filename — смена владельца файла/директории /filename на root
chown root:group /filename смена владельца файла/директории /filename на root и смена группы на group
chown -hR root /filename смена владельца файла/директории /filename на root и всех находящихся в ней файлов на root
Дополнительные опции: man chown.
chmod user file — сменить права file на user, раздельно для пользователя, группы и для всех добавлением:
? 4 — чтение (r)
? 2 — запись (w)
? 1 — исполнение (x) Примеры:
chmod 777 — чтение, запись, исполнение для всех (потенциальная угроза безопасности)
chmod 755 — rwx для владельца, rx для группы и остальных.
Дополнительные опции: man chmod.

SSH

ssh user@host — подключится к host как user
ssh -p port user@host — подключится к host на порт port как user
ssh-copy-id user@host — добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам

Поиск

grep pattern files — искать pattern в files
grep -r pattern dir — искать рекурсивно pattern в dir
command | grep pattern — искать pattern в выводе command
locate file — найти все файлы с именем file
find | grep text — найти текст text во всех файлах текущей директории
find / -name vasy* — найти файлы и папки с названием vasy*

grep -rl ‘что_ищем’ /путь — найти файлы в теле которых ‘что_ищем’

Системная информация

date — вывести текущую дату и время
cal — вывести календарь на текущий месяц
uptime — показать текущий аптайм
w — показать пользователей онлайн
whoami — имя, под которым вы залогинены
finger user — показать информацию о user
cat /proc/cpuinfo — информация ЦПУ
cat /proc/meminfo — информация о памяти
man command — показать мануал для command
df — показать инф. о использовании дисков
du — вывести «вес» текущего каталога
du -sh cколько весит папка?
free — использование памяти и swap
unamе -a — информация о ядре
whereis app — возможное расположение программы app
which app — какая app будет запущена по умолчанию

Архивация

tar cf file.tar files — создать tar-архив с именем file.tar содержащий files
tar xf file.tar — распаковать file.tar
tar czf file.tar.gz files — создать архив tar с сжатием Gzip
tar xzf file.tar.gz — распаковать tar с Gzip
tar cjf file.tar.bz2 — создать архив tar с сжатием Bzip2
tar xjf file.tar.bz2 — распаковать tar с Bzip2
gzip file — сжать file и переименовать в file.gz
gzip -d file.gz — разжать file.gz в file

Сеть

ping host — пропинговать host и вывести результат
traceroute google.com — трассировка маршрута к серверу google.com
whois domain — получить информацию whois для domain
dig domain — получить DNS информацию domain
dig -x host — реверсивно искать host
wgеt file — скачать file
wgеt -c file — продолжить остановленную закачку
ifconfig — вывод сетевых интерфейсов и подключений
ifconfig -a — Отображение всех интерфейсов, включая отключенные
ifconfig eth0 down — выключаем интерфейс eth0
ifconfig eth0 up — поднимаем (включаем) интерфейс eth0

Установка пакетов

Установка из исходников:
./configure
make
make install
Установка собранных пакетов:
dpkg -i pkg.deb — установить пакет (Debian, Ubuntu)
rpm -Uvh pkg.rpm — установить пакет (RPM RedHatm CentOS)

Автоматизация работы

cron — выполнение заданной команды в определенное время
ps aux |grep 'part_of_the_name_of_your_script'|awk '{print $2}' |xargs kill -9 {} - убить все процессы скрипта, где part_of_the_name_of_your_script - часть его имени

Ctrl+C — завершить текущую команду
Ctrl+Z — остановить текущую команду, продолжть с fg на переднем плане или bg в фоне
Ctrl+D — разлогиниться, тоже самое, что и exit
Ctrl+W — удалить одно слово в текущей строке
Ctrl+U — удалить строку
!! — повторить последнюю команду
exit — выход


Для работы с EXIM

/etc/init.d/exim4 stop - для остановки, по письма прекращает слать после перезагрузки

/etc/init.d/exim4 restart

/etc/init.d/exim4 start