Команды Linux

Автор: Admin | 23.05.2014

Наиболее используемые команды Linux, которые надо знать


Монтирование и диски

Монтирование форточных шар:
-N - брать пароль из файла

mount -t smbfs -o username=user,password=pass //192.168.0.1/path /mnt/path
mount -t cifs //192.168.0.1/path /mnt/path -o user=user
mount_smbfs -N -I 192.168.0.1 //user@host/path /mnt/path

При возникновении ошибки mount error(5): Input/output error:

mount.cifs //192.168.0.1/path /mnt/path -o username=user,password=pass,sec=ntlm

Узнать UUID разделов:

ls -l /dev/disk/by-uuid/
blkid

Cоздать label ("метку") раздела:

e2label /dev/sda1 "метка"

Посмотреть смарт:

smartctl -a /dev/sda

Чекдиск:

fsck /dev/sda1

Симлинк для FTP:

mount --bind /path /ftp/path

Автозапуск
update-rc.d
Скопировать скрипт в /etc/init.d/, перейти туда и выполнить:

update-rc.d file_name defaults 99

Чтобы удалить скрипт из автозагрузки, перейти в /etc/init.d/ и выполнить:

update-rc.d -f file_name remove

chkconfig
Скопировать в /etc/init.d/, затем:
Добавить файл в автозагрузку

chkconfig --add  script.sh

Влючить автозагрузку для файла:

chkconfig script.sh on

Список файлов автозагрузки:

chkconfig --list

Вылючить автозагрузку для файла:

chkconfig script.sh off

Права и файлы

Сделать файл исполняемым:

chmod +x file_name

Дать права:

chmod -R 777 /home/path/

7 - rwx - читать, писать, выполнять
6 - rw- - читать, писать
5 - r-x - читать, выполнять
4 - r-- - читать
3 - -wx - писать, выполнять
2 - -w- - писать
1 - --x - выполнять
0 - --- - ничего нельзя делать
rwxrwxrwx это 777
rw-r--r-- это 644

Дать права только на файлы для чтения:

find /path -type f -exec chmod 660 {} \;

Дать права только на каталоги для просмотра подкаталогов:

find /path -type d -exec chmod 770 {} \;

Зачрутить ftp пользователя user в домашнем каталоге:

chmod a-w /home/user

Удалить не пустой каталог:

rm -rf /path/catalog

Поиск:

find /path -name file
find /path -name 'fil*'

MySQL

Создать базу test в кодировке utf8:

mysql -u root -p
CREATE DATABASE `test` CHARACTER SET utf8 COLLATE utf8_general_ci;

Дамп всех баз мускула:

mysqldump -uroot -p --all-databases > bases.sql

Дамп базы test:

mysqldump -uroot -p test > /path/test.sql

Восстановление базы test из файла:

mysql -u root -p -f test > /path/test.sql 

Пользователи и группы

Создать пользователя и добавить в группу:

adduser user group

Добавить существующего пользователя в группу:

usermod -a -G group user

Список групп пользователя:

user grep user /etc/group

Убить все процессы пользователя:

killall -u user

Сменить владельца каталога:

chown user:group -R /path/

-R - рекурсивно

Запустить скрипта от имени пользователя:

user sudo -u user '/path'

Запустить приложение от другого пользователя:

su - username -c "/path/file start" 

Сеть

Просмотр влЮченных машин подсети:

nmap -sP 192.168.0.0/24 

Сниф 25 порта на eth0:

tcpdump port 25 -i eth0

Сниф с записью в файл:

tcpdump -i eth0 -n > /path/file

Пример снифа:

tcpdump -i eth0 -n host 192.168.0.1 and not host 192.168.0.10 and not port 22

-n - не резолвить
host 192.168.0.1 - слушать только для этого IP
and not host 192.168.0.10 - исключить трафик с этого хоста
and not port 22 - исключить трафик по этому порту

Список всех открытых портов:

netstat -at

Таблица маршрутизации:

netstat -nr

Отсортировать по заданному порту:

netstat -antp | grep 80

-a - все соединения
-t - только tcp
-n - не резолвить
-p - процесс, занимающий порт

Передать файлы по SSH:

scp -P 22 /откуда/файл user@host:/path

Подключиться к нестандартному порту SSH:

ssh -p 1010 username@hostname

Проверить запись MX домена:

dig domen.ru MX

Провенить NSы:

nslookup -type=NS domen.ru

Дабвить дефлтный шлюз:

route add default gw 192.168.0.1 eth0

Добавить маршрут через IP:

route add -net 192.168.0.0/16 gw 10.0.0.1

Добавить маршрут через интерфейс:

route add -net 192.168.0.0/16 dev eth0

Маршрут до отдельного хоста:

route add -host 192.168.0.1 gw 10.0.0.1

Удалить маршрут:

route del 192.168.0.1
route del -net 192.168.0.0/24 eth0
route del -net 192.168.0.0 netmask 255.255.255.0 eth0

Время и синхронизация

Настроить часы:

date MMDDhhmmCCYY.ss

MM — месяц, DD — день месяца, hh — часы, mm — минуты, CCYY — 4 цифры года, ss — секунды

Просмотреть временя с аппаратных часов:

hwclock

Синхронизация времени с аппаратными часами:
Хардванрное время в соответствии с системным:

hwclock --systohc

Системное время в соответствии с хардварным:

hwclock --hctosys

Синхронизировать время с этим хостом:

sntp -P no -r 192.168.0.1
или
ntpdate 192.168.0.1

Сменить часовой пояс:

dpkg-reconfigure tzdata

Системные команды

Вывести из файла строку со словом "text":

grep -rnw text /path/file

Вывести все раскомментированные строки:

egrep -v '^#|^$' /path/file

Посмотреть запущен ли процесс:

ps -aux | grep squid
ps -e | grep squid

Узнать версию дистрибутива:

cat /etc/issue

Архивы и сборка

Запаролить архив:

zip -e -r name.zip name/

Распаковать архив в каталог:

tar zxvf name.tar.gz -C /path

Сборка и установка из исходников

Распаковать:

tar zxvf name.tar.gz

Собрать:

cd name
make

Установить:

make install

Бэкап

dd
Забэкапить корневой раздел:

dd if=/dev/sda1 bs=8096 | gzip -9cf > root.gz

Восстановить корневой раздел:

gunzip -c /path/root.gz | dd of=/dev/sda1 bs=8096

tar
Забэкапить корневой раздел:

tar -cvpzf /path/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/backup.tgz --exclude=/home --exclude=/mnt --exclude=/sys /

--exclude=/lost+found - исключит каталог lost+found (от каталога в котором выполняется команда)
Восстановить корневой раздел:

tar -zxvpf /path/backup.tgz -C /

Пакеты

Установить пакет:

dpkg -i name.deb

Удалить пакет:

dpkg -r name.deb

Прикрутить ключ репозитория:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 60487016493B3065

Инструменты

Включить\выключить сайт в апаче:

a2ensite site.ru
a2dissite site.ru

Включить\отключить модуль в апаче:

a2enmod module
a2dismod module

Проверить работоспособность SSH ключа:

ssh -T user@host -i /path/to/key

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *