1. Общие команды.
Показать сетевое имя компьютера:
# hostname
Узнать текущую версию ядра Linux:
# uname -a
Вывести сообщение на все терминалы пользователей:
# wall Hello
Описание иерархии файловой системы Linux:
# man hier
Очищение экрана терминала:
#clear
Сбросить настройки терминала и очистить его:
#reset
Вывести текущую дату и время:
# date
Консольный календарь:
# cal
Показать текущее время и работу системы без перезагрузки и выключения:
# uptime
Узнать информацию о домене:
# whois
Указать для работы прокси сервер:
# export http_proxy=http://your.proxy:port
Скачать файл из интернета в текущую папку:
# wget http://example.com/photo.jpg
Создание и настройка Dial-Up соединения для выхода в Интернет по модему:
# pppconfig
Создание и настройка выхода в Интернет через ADSL-модем:
# pppoeconf
Выполнить последнюю команду:
# !!
Показать последние 10 набранных команд:
# history | tail -10
Завершить сеанс текущего пользователя:
# exit
Изменить пароль пользователя:
# passwd
Выход из системы:
# shutdown -h now
Выключить питание в 20:00 :
# shutdown -h 20:00
Выключить питание через 10 мин :
# shutdown -h +10
Выключение питания:
# poweroff
Перезагрузка системы:
# reboot
Cтатистика перезагрузок:
# last reboot
Настройка Wine:
# winecfg
2. Пользователи и группы.
Команды Linux необходимые для работы с пользователями и группами пользователей.
Показывает сводную информацию по пользователю (логин, UID, GID, группы):
# id USERNAME
Показать список последних зарегистрированных пользователей:
# last
Показывает имя текущего пользователя и время входа:
# who
Добавить нового пользователя USER:
# useradd USER
Добавить группу GROUP:
# groupadd GRUOP
Добавить пользователя USER в группу GROUP:
# usermod -a -G GROUP USER
Добавить пользователя USER в группу GROUP (SuSE):
#groupmod -A USER GROUP
Удаление пользователя USER:
# userdel USER
Удаление группы GROUP:
# groupdel GROUP
3. Команды Linux для работы с файлами и директориями
3.1 Директории и файлы
Просмотр содержимого текущей дериктории:
# ls
Просмотр содержимого дериктории, в том числе и скрытые файлы:
# ls -al
Переход в директорию /var:
# cd /var
Создание пустого файла /var/test:
# touch /var/test
Вывести на экран содержимое файла /home/test:
# cat /home/test
Вывести на экран конец файла. Удобно при работе с логами и большими файлами:
# tail /var/log/messages
Редактирование файла /home/test:
# nano /home/primer2
Добавить текст в конец файла:
# echo «end» >> /home/test
Копирует test в test2:
# cp /home/test /home/test2
Cоздать символическую ссылку /home/new к файлу /home/test:
# ln -s /home/test /home/new
Создание директории с именем user:
# mkdir /home/user
Удаление директории с именем shaman:
# rmdir /home/user
Удаление директории с вложенными фалами:
# rm -rf /home/user
Копирование директорий:
# cp -la /dir1 /dir2
Переименование директории:
# mv /dir1 /dir2
Узнать обьём директории:
# du -sh /home/user
Поиск всех файлов с именем test:
#find / -name «test»
Вернуться в домашнюю дерикторию:
# cd
3.2 Права доступа
Доступ для всех к дериктори /home с правами чтение/запись/исполнение:
#chmod 0777 /home/
Рекурсивное изменение прав доступа к директории /home и всехе на чтение/запись/исполнение для всех групп. Все вложенные директории и файлы будут иметь права 0777:
# chmod -R 0777 /home/
Изменение владельца и группы только для файла /home/test.txt:
# chown username:groupname /home/test.txt
Изменение владельца для всего содержимого директории /home:
# chown -R username/home/
3.3. Архивирование файлов и директорий:
Создать tar-архив с именем arch.tar содержащий /home/test.txt:
# tar -cf arch.tar /home/test.txt
Распаковать архив arch.tar в текущую папку:
# tar -xf arch.tar
Cоздание архива с именем arch.tar.gz использую сжатие gzip:
# tar -czf arch.tar.gz /home/test.txt
Распаковать tar-архив использующий сжатие gzip:
# tar -xzf arch.tar.gz
Cоздать tar-архив с именем arch.tar.bz использую сжатие bzip2:
# tar -cjf arch.tar.bz2 /home/test.txt
Распаковать tar-архив использующий сжатие bzip2:
# tar -xjf arch.tar.bz
Cоздать tar-архив с именем arch.tar.bz использую сжатие pbzip2 (необходимо отдельно установить это архиватор):
# tar -cf arch.tar.bz2 /home/test.txt –use-compress-program pbzip2
Распаковывается архив также как и bzip2.
4. Команды Linux: установка программ
4.1 Просмотр установленных пакетов
Показать список установленных пакетов в GENTOO:
#equery list
Показать список установленных пакетов RPM в системе:
# rpm -qa
Показать список установленных пакетов DEB в системе:
# dpkg -l |more
4.2 Установка и удаление пакетов
RPM дистрибутивы
Установка RPM пакета pkgname.rpm:
#rpm -i pkgname.rpm
Удаление RPM пакета pkgname:
# rpm -e pkgname
Установка всех пакетов в директории:
# dpkg -i *.rpm
DEB – дистрибутивы
Обновление списка доступных пакетов из Internet:
# apt-get update
Обновление доступной версии установленных пакетов в системе:
# apt-get upgrade
Установка DEB пакета pkgname:
# apt-get install pkgname
Удаление DEB пакета pkgname:
# apt-get remove pkgname
Установка всех пакетов в директории:
# dpkg -i *.deb
Поиск пакета pkgname:
# dpkg -S pkgname
5. Анализ работы системы.
Информация в реальном времени о загрузки системы (процессор, память и пр.):
# top
Графически оформленная команда top:
# htop
Просмотр информации о ходе загрузки системы:
# dmesg
Посмотреть расширенную статистику потребления ресурсов системы в процентах ( в некоторых дистрибутивов необходима установка пакета sysstat):
# mpstat 1
Посмотреть информацию по использованию виртуальной памяти:
# vmstat 2
Посмотреть статистику прерываний по устройствам:
# iostat 2
6. Команды Linux: информация об устройствах.
Узнать информация об уже установленных устройствах (в некоторых дистрибутивах требует доставить пакет procinfo):
# lsdev
Показать полную информацию о модели процессора (частота, поддерживаемые инструкции и т.д.):
# cat /proc/cpuinfo
Показать информацию о прерываниях:
# watch -n1 ‘cat /proc/interrupts’
Информация о используемой и свободной ОЗУ и Swap-файле (-m указывает, что отображать нужно в Мб):
# free -m
Показать список всех устройств и их параметров:
# lshal
Показать обнаруженные PCI-устройства:
# lspci -tv
Показать обнаруженные USB-устройства:
# lsusb -tv
Показать информацию о системе взятую из BIOS компьютера (процессор, память, слоты и пр.):
# dmidecode
Программа для получения информации о начинки компьютера:
# lshw
7. Команды Linux: жесткие диски и файловая система.
7.1 Информация о файловой системе и жестком диске
Информация о всех подключенных жестких и сменных дисках:
# fdisk -l
Полная информация о IDE/ATA жестких дисках:
# hdparm -I /dev/sda
Выводит SMART-информацию о разделе жесткого диска /dev/sda1 (необходима установка пакета smartmontools):
# smartctl -a /dev/sda1
7.2 Производительность жесткого диска
Показывает производительность жесткого диска:
# hdparm -tT /dev/sda
7.3 Монтирование разделов жесткого диска
Узнать полную информацию о примонтированных устройсвах:
# mount
Посмотреть только примонтированные разделы жесткого диска:
# cat /proc/partitions
Узнать свободное место на разделах:
# df
Примонтировать раздел /dev/sda1 к точке монтирования /mnt:
# mount /dev/sda1 /mnt
Примонтировать большинство CD-ROM`ов:
# mount -t auto /dev/cdrom /mnt/cdrom
Примонтировать IDE CD-ROM:
# mount /dev/hdc -t iso9660 -r /cdrom
Примонтировать SCSI CD-ROM:
# mount /dev/scd0 -t iso9660 -r /cdrom
Монтирование ISO-образов:
# mount -t iso9660 -o loop /home/disc.iso /mnt/cdrom
Монтирование FreeBSD разделов в Linux:
# mount -t ufs -o ufstype=ufs2,ro /dev/sda2 /mnt
Монтирование сетевых ресурсов (SMB):
# mount -t smbfs -o username=user,password=123 //net/docs
Отмонтирует раздел от точки монтирования /mnt:
# umount /mnt
8. Команды Linux: настройка сети.
8.1 Конфигурация сети
Показать параметры всех сетевых карт:
# ifconfig -a
Показать параметры сетевого интерфейса eth0:
# ifconfig eth0
Задать основной IP адрес сетевому интерфейсу eth0:
# ifconfig eth0 192.168.0.1 netmask 255.255.255.0
Узнать состояние сетевого интерфейса eth0 (для некоторых дистрибутивов требуется установка пакета ethtool). Команда ethtool применяется только для проводных подключений, не работает с беспроводными интерфейсами:
# ethtool eth0
Принудительно задать скорость сетевому интерфейсу 100Mbit и режим Full duplex и отключить автоматическое определение:
# ethtool -s eth0 speed 100 duplex full autoneg off
Задать дополнительный IP адрес сетевому интерфейсу eth0:
# ifconfig eth0:0 192.168.0.1 netmask 255.255.255.0
Запустить сетевой интерфейс eth0:
# ifconfig eth0 up
Отключить сетевой интерфейс eth0:
# ifconfig eth0 down
Смена MAC адреса:
# ifconfig eth0 hw ether 00:01:02:03:04:05
Перезагрузка DHCP клиента:
# /etc/init.d/dhcpd restart
Проверка сетевого соединения. Пингуется IP адрес 192.168.0.1:
# ping 192.168.0.1
8.2 Маршрутизация
Выводит на экран таблицу маршрутизации:
# route -n
# netstat -rn
# Выводит на экран таблицу маршрутизации:
8.3 Управление портами (брандмауэр)
Показывает список всех открытых портов:
# netstat -an | grep LISTEN
Показать список всех открытых портов в сеть Internet:
# lsof -i
Узнать все активные соединения с интернетом:
# netstat -tup
Посмотреть все открытые сокеты:
# socklist
Посмотреть список приложений, которые открывают порты:
# netstat -anp -udp -tcp | grep LISTEN
Узнать статус IPTABLES:
# iptables -L -n -v
Открыть доступ ко всем портам:
# iptables -P INPUT ACCEPT
# iptables -P FORWARD ACCEPT
# iptables -P OUTPUT ACCEPT
# Открывает доступ ко всем портам:
Удалить все цепочки:
# iptables -X
8.4 Управление NAT
Установить NAT на интерфейсе eth0:
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Перенаправление порта 22022, который использется для ssh:
#iptables -t nat -A PREROUTING -p tcp -d 99.99.99.99 -dport 22022 -j DNAT -to 192.168.0.2:22
Перенаправление диапазона портов 900-1000:
# iptables -t nat -A PREROUTING -p tcp -d 99.99.99.99 -dport 900:1000 -j DNAT -to 192.168.0.2:900-1000
Проверка статуса NAT:
# iptables -L -t nat
9. Команды Linux: создание и запись ISO образов.
Посмотреть все доступные CD-ROM:
# cdrecord -scanbus
Создание ISO образов с диска CD-ROM:
# dd if=/dev/hdb of=/tmp/mycd.iso bs=2048 conv=notrunc
11. Команды Linux: работа с процессами.
Все запущенные процессы имеют уникальные номера – PID.
Показать все загруженные процессы:
# ps axjf
# ps auxw (like FreeBSD)
Показать PID определенного процесса – sshd:
# pgrep -l sshd
Показать PID вашей оболочки:
# echo $
Показать PID процесса использующий порт 22:
# fuser -va 22/tcp
Показывает PID процесса имеющего доступ к /home:
# fuser -va /home
Показывает список процессы, которые используют /home:
# lsof /home
Послать процессу с PID`ом 7777 сигнал TERM – завершить процесс:
# killall TERM 7777
Послать процессу с именем httpd сигнал HUP – остановить процесс:
# killall HUP httpd
«Убить» все процессы имеющие доступ к /home:
# fuser -k -TERM -m /home
Важные сигналы посылаемые процессам:
1 – HUP остановить процесс
2 – INT прервать процесс
3 – QUIT выйти
9 – KILL «убить» процесс
15 – TERM завершить процесс
12. Команды Linux: Runlevels.
После загрузки ядра Linux начинают загружаться различные демоны и программы, такие как NetworkManager, Evolution и т. д., результат которых мы видим у себя после загрузки на рабочем столе. Загрузка каждой службы осуществляется скриптом. Все скрипты лежат в /etc/init.d.
Runlevels – это целое число, которое определяет «уровень загрузки».
«Уровни загрузки» бывают:
* Runlevels=0 Выключение компьютера
* Runlevels=1 режим Single-User
* Runlevels=2 Текстовый режим без поддержки сети
* Runlevels=3 Текстовый режим с поддержкой сети
* Runlevels=4
* Runlevels=5 Графический режим
* Runlevels=6 Перезагрузка компьютера.
То есть скрипты, которые должны загружаться только в текстовом режиме с поддержкой сети, имеют Runlevels равный 3.
Более простой вариант настройки:
Очень удобная настройка Runlevels (необходима установка пакета sysv-rc-conf):
# sysv-rc-conf
Показать список всех скриптов с соответствующими им Runlevels:
# chkconfig -list
# rc-status -a (Gentoo)
Показать разрешенные Runlevels только отдельного скрипта, в нашем случае sshd:
# chkconfig -list sshd
Выставление скрипту sshd значений Runlevels по-умолчанию:
# update-rc.d sshd defaults (Debian)
# rc-update add sshd default
Добавление скрипту udev Runlevels 3 и 5:
# chkconfig udev -level 35 on
Изменить параметры для скрипта sshd (для Debian-подобных дистрибутивов):
# update-rc.d sshd start 20 2 3 4 5 . stop 20 0 1 6
Отключение у sshd всех Runlevels:
# chkconfig sshd off
Отключение у sshd всех Runlevel (для Debian-подобных дистрибутивов):
# update-rc.d -f udev remove
13. Команды Linux: Работа с ядром и модулями.
13.1 Работа с ядром системы
Показать версию ядра Linux:
# uname -a
13.2 Работа с модулями ядра
Список всех модулей загруженных в ядро:
# lsmod
Загрузка модуля на примере isdn:
# modprobe isdn
Создание сжатого образа ядра системы:
# make
Компиляция модуля:
# make modules
Установка модуля:
# make modules_install
Установка в ядро системы:
# make install
15. Конвертирование различной информации.
15.1 Конвертирование текста
Выводит список всех доступных кодировок:
# iconv -l
Смена кодировки. Был файл file_cp1251.txt с кодировкой cp1251, а в итоге получился файл file_utf8.txt с кодировкой utf8:
# iconv -f cp1251 -t UTF-8 -o file_cp1251.txt > file_utf8.txt
15.2 Конвертирование PDF в JPEG
Конвертируется name.pdf в постраничные JPEG изображения (в некоторых дистрибутивах необходимо установить пакет imagemagick):
# convert name.pdf name-%03d.jpg
Конвертируются JPEG изображения в PDF (в некоторых дистрибутивах необходимо установить пакет imagemagick):
# convert *.jpeg name.pdf
15.3 Конвертирование видео
# mencoder -o videoout.avi -oac mp3lame -ovc lavc -srate 11025 -channels 1 -af-adv force=1 -lameopts preset=medium -lavcopts vcodec=msmpeg4v2:vbitrate=600 -mc 0 vidoein.AVI
15.4 Конвертирование аудио
Копирование треков с AudioCD в текущую директорию wav-файлами:
# cdparanoia -B
Конвертирование wav-файлов в mp3 с качеством 256 kb/s:
# lame -b 256 in.wav out.mp3
Конвертирование wav-файлов в Ogg Vorbis с качеством 256 kb/s:
# oggenc in.wav -b 256 out.ogg
16. Печать на принтере.
Выбор принтера по-умолчанию ( Canon LBP-2900:
# export PRINTER=lbp2900
Распечатать на принтере Canon LBP-2900 две копии файла name.txt:
# lpr #2 name.txt
Удаление всех задач с принтера по-умолчанию:
# lprm —
Оригинал статьи: http://admins.tk/centos__/103-centos_team3.html
Как завершить все процессы для конкретного пользователя
Для Linux/FreeBSD/Solaris:
kill -9 `ps -U username -o pid | grep [0-9] | xargs`
—-
В качестве альтернативы:
pkill -u UID
ls -lShr /var/log/