22.09.2008

Список консольных команд Linux

Список консольных команд Linux





Операции с файлами


d /home перейти в домашний каталог
cd .. перейти на уровень выше
cd ../.. перейти на 2 уровня выше
cd перейти в домашний каталог
cd – перейти в предыдущий каталог
pwd показать путь к текущей директории
ls показать файлы и директории
ls -F показать файлы и директории
ls -l показать подробности о файлах и директориях
ls -a показать скрытые файлы
mkdir dir1 создать директорию с именем dir1
mkdir dir1 dir2 создать директории dir1 и dir2
mkdir -p /tmp/dir1/dir2 создать директорию в указанном месте
rm -f file1 vудалить файл с именем file1
rmdir dir1 удалить директорию с именем dir1
rm -rf dir1 удалит директорию dir1 и всё её содержимое
rm -rf dir1 dir2 удалить директории dir1 и dir2 со всем содержимым
mv dir1 new_dir переименовать / переместить директорию
cp [что копировать] [куда копировать]
ln -s cоздать символическую ссылку. [На что сделать ссылку] [имя ссылки]

Поиск файлов и директорий



find / -name file1 2>/dev/null искать файлы или директорию начиная с "/" и не выводить ошибки доступа
find / -user user1 искать файлы и директории относящиеся к user1
find /home/user1 -name \*.bin искать файлы с расширением .bin в директории /home/user1
find /usr/bin -type f -atime +100 искать бинарные файлы, которые не запускались 100 дней
find /usr/bin -type f -mtime -10 найти файлы созданные или изменённые за 10 дней
find / -name \*.deb -exec chmod 755 '{}' \; найти файлы с расширением .deb и изменить права доступа
locate \*.ps найти файлы с расширением .ps
whereis halt показать путь к указанной программе, в данном случае halt
which halt показать полный путь к указанной программе, в данном случае halt
find / -name '*html' -print | xargs grep -l 'www.example.com' | less -O pages команда xargs принимает на вход имена файлов от find и последовательно запускает grep -l для обработки каждого файла, вне зависимости от того, сколько файлов нашлось. Команда grep -l печатает имя файла, если в нем удалось в нем обнаружить указанный фрагмент текста, а затем прекращает анализ этого файла. Утилита less позволяет вам просматривать результаты по страницам и сохранить список в файл с названием pages. Результатом работы этой команды будет список файлов, которые содержат строку "www.example.com"


Изменение прав доступа


600 Файл недоступен
644 Доступ всем для чтения (например, документы HTML)
666 Файл может прочитан и модифицирован (для файлов HTML, изменяемых посредством скриптов)
755 Файл может быть прочитан и запущен кем угодно (например, скрипты)
777 Доступен для записи и запуска кому угодно (не рекомендуется)

Перезагрузка и выключение



shutdown -h now выключить систему
init 0 выключить систему
telinit 0 выключить систему
shutdown -h hours:minutes & запланировать выключение системы
shutdown -c отменить запланированное выключение
shutdown -r now перезагрузить систему
reboot перезагрузить систему
logout завершить сессию

Общесистемные



hostname сетевое имя машины
whoami имя текущего пользователя
uname -m покажет архитектуру машины
uname -r версия ядра
sudo dmidecode -q информация об аппаратном обеспечении системы, в соответствии с SMBIOS/DMI.
cat /proc/cpuinfo информация о процесоре
cat /proc/interrupts прерывания
cat /proc/meminfo вся информация которая относится к памяти
cat /proc/swaps вся информация про swap
cat /proc/version версия ядра и другая информация
cat /proc/net/dev сетевые интерфейсы и статистика
cat /proc/mounts смонтированные устройства
cat /proc/partitions доступные разделы
cat /proc/modules загруженные модули ядра
lspci -tv PCI устройства
lsusb -tv USB устройства
date текущая дата
cal календарь и текущий месяц
cal 2008 покажет весь 2008 год
last reboot Покажет историю перезагрузок.
lsmod Отобразит список загруженных модулей ядра.
tail /var/log/dmesg Отобразит сообщения ядра полученные при последней загрузке системы.
tail /var/log/messages Покажет все сообщения о ходе загрузки системы, а также другие сообщения о статусе работающей системы.

Список наиболее важных сетевых портов



21 порт => FTP
22 порт => SSH
23 порт => Telnet
25 порт => Порт SMTP отвечающий за передачу почты
43 порт => Порт клиента WHOIS
53 порт => Система преобразования имени хоста
80 порт => Стандартный порт HTTP Веб севрера
110 порт => Порт POP отвечает за приём почты
995 порт => Защищённое SSL/TLS соединение POP
143 порт => IMAP Протокол приёма почты
993 порт => Защищённое соединение IMAP
443 порт => Защищённое HTTP соединение (SSL для https:// )
3306 порт => Mys QL? Сервер
631 порт => Протоколы сетевой печати
5900 порт => Система удаленного доступа к компьютеру VNC (Virtual Network Computing)

Сеть



iptraf монитор локальной сети с интерфейсом ncurses
ifconfig Показать конфигурацию всех сетевых интерфейсов
ifconfig eth0 Показать конфигурацию сетевого интерфейса eth0
ifup eth0 Активировать сетевой интерфейс eth0
ifdown eth0 Отключить сетевой интерфейс eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0 Задать конфигурацию IP адреса
ifconfig eth0 promisc Позволяет получать все пакеты, независимо от того были ли они предназначены для хоста или нет. (Это позволяет анализировать сетевой трафик.)
dhclient eth0 Включить на интерфейсе eth0 режим dhcp
route -n Показать таблицу роутинга
route add -net 0/0 gw IP_адрес_шлюза Задать шлюз
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 настроить статический маршрут для сети 192 .168.0.0/16
route del 0/0 gw IP_адрес_шлюз удалить статический маршрут
echo “1” > /proc/sys/net/ipv4/ip_forward активировать ip маршрутизацию
hostname Показать имя хоста
host www.it-talk.ru Получить IP адрес от хоста и наоборот
whois www.it-talk.ru Опросить WHOIS
nslookup www.it-talk.ru Получить IP адрес от хоста и наоборот через проверку DNS-сервера
ip link show Показать информацию о всех сетевых интерфейсах
ip link show eth0 Показать информацию интерфейса eth0
mii-tool eth0 Показать параметры интерфейса eth0
ethtool eth0 Показать статистику интерфейса eth0
netstat -p --inet Показать активные соединения
netstat -lp --inet Показать прослушиваемые порты в системе (и кто их слушает)

Мониторинг за системными процессами


Узнать, что запущено.
top Отобразит постоянно обновляющийся список работающих процессов.
ps aux Отобразит список работающих в системе процессов и из владельцев.
pstree Отобразит иерархический список запущенных процессов.
free Отобразит информацию об использовании памяти.
free -m Отобразит информацию об использовании памяти в мегабайтах.

Убить процесс.
kill номер_процесса.
Файлы и процессы.
lsof -p $$ Отобразит какой процесс работает с файлом или каталогом.
lsof /home/user1 Отобразит какой процесс работает с файлом или каталогом в конкретной директории.

Работа с дисками



df -h Показать все смонтированные устройства хранения данных
ls -lSr |more покажет все файлы в текущей директории в отсортированном по размеру списке
du -sh dir1 Покажет сколько дискового пространства занимает конкретная директория “dir1″
smartctl -A /dev/hda Вывод информации, поддерживает ли диск SMART.
smartctl -s on /dev/hda Включаем SMART, если выключен.
smartctl -c /dev/hda Проверяем какие возможности SMART поддерживает диск и какие установлены параметры.
smartctl -H /dev/hda Статус состояния диска и список атрибутов проверок.
smartctl -A /dev/hda Статус состояния диска и список атрибутов проверок.
smartctl -t offline /dev/hda Запускаем offline тест.
smartctl -l selftest /dev/hda Смотрим, есть ли ошибки.
smartctl -r ioctl -i /dev/hda Смотрим более детально.
badblocks -v /dev/hda Проводит проверку поверхности диска на читаемость и записываемость.
fsck /dev/hda Проводит проверку диска и пытается по возможности восстановить работоспособность дисковой подсистемы.

Планирование заданий



CronTab – это утилита позволяющая в определенный день и час автоматически запускать различные программы или скрипты.
crontab -e Изменит Ваш crontab файл или создаст новый.
crontab -l Отобразит содержимое существующего crontab файла.
crontab -r Удалит Ваш crontab файл.
crontab -v Отобразит когда в последний раз Вы изменяли свой crontab файла.
Структура файла с заданиями для CronTab.

* * * * * command
- - - - -
| | | | |
| | | | +—– День недели (0 - 6) (Sunday=0)
| | | +——- Месяц года (1 - 12)
| | +——— День месяца (1 - 31)
| +———– Час дня запуска (0 - 23)
+————- Минута часа для запуска (0 - 59)

command запускаемая программа или скрипт.

Значок * задаёт параметр (день, год, месяц, час).

Пример

01 * * * * command запуск программы или скрипта каждый час в одну минуту.

* 6 * * * command запуск программы или скрипта каждый день в 6 часов утра.

Значения могут быть числом, трех-буквенным названием, а так же диапазоном например запись «1-5» в поле day будет означать «с понедельника по пятницу». Значения могут отделяться запятыми: «1,15,31» в поле day будет запускать указанную команду 1-го, 15-го и 31-го числа каждого месяца.
Все пять полей времени допускают использование символа звездочка – «*», который обозначает «использовать любое допустимое значение» для этого поля.
Файлы с заданиями можно найти тут:
/usr/lib/cron
Основной каталог команд, связанных со временем.
/usr/spool/cron/crontabs
Каталог файлов регулярных действий.
/usr/lib/cron/log
Учетная информация.
/usr/lib/cron/cron.allow
Список пользователей, которым разрешено выполнять команду crontab.
/usr/lib/cron/cron.deny
Список пользователей, которым запрещено выполнять команду crontab.

Резервное копирование



Создание полной копии любого каталога, включая символические ссылки, используя команду tar:

tar cf - /path/to/original | (mkdir -p /path/to/copy; cd /path/to/copy; tar xvf -)
Сначала tar архивирует указанный каталог /path/to/original и выводит содержимое архива в stdout, знак переноса (-), используемый с параметром с (создать), направляет вывод в stdout. Команда в круглых скобках - это вложенная оболочка, команды во вложенных оболочках не влияют на работу основной оболочки. Команда mkdir -p создает указанный каталог, включая все промежуточные каталоги, и команда cd переводит оболочку в новый каталог. Вторая команда tar считывает содержимое архива из stdin и извлекает его содержимое в указанный каталог, знак переноса (-) с параметром х (извлечь) заставляет считывать входные данные из stdin.