Команды Linux:
информация об устройствах.
Информация об уже установленных
устройствах (в некоторых дистрибутивах требует доставить пакет procinfo):
Показать полную информацию о модели
процессора (частота, поддерживаемые инструкции и т.д.):
cat /proc/cpuinfo
Показать расширенную информацию о занимаемой оперативной
памяти
(MemTotal, MemFree, Buffers, Cached,
SwapCached,HighTotal, HighFree, LowTotal и т. д.):
Показать размер раздела
выделенного под swap:
grep
SwapTotal /proc/meminfo
Показать информацию о
прерываниях:
watch -n1 'cat /proc/interrupts'
Информация о используемой и свободной ОЗУ
и Swap-файле (-m указывает, что отображать нужно в Мб):
Показать список всех устройств и
их параметров:
lshal
Показать все устройства в системе
(названия взяты из директории /proc/devices):
cat /proc/devices
Показать обнаруженные
PCI-устройства:
lspci -tv
Показать обнаруженные
USB-устройства:
Показать информацию о версии BIOS
компьютера:
[sudo] dmidecode
Выводит строку ModeLine для Вашего
монитора на параметрах экрана 1024x768x75Hz:
Выводит список устройств в
системе, их UUID и тип файловой системы:
Команды Linux:
жесткие диски и файловая система.
Информация о файловой
системе и жестком диске
Информация о всех подключенных
жестких и сменных дисках:
Полная информация о IDE/ATA
жестких дисках:
[sudo] hdparm -I /dev/sda
Выводит SMART-информацию о разделе
жесткого диска /dev/sda1 (необходима установка пакета smartmontools):
Выводит UUID всех доступных
накопителей информации в системе:
Производительность
жесткого диска
Показывает производительность
жесткого диска:
[sudo]
hdparm -tT /dev/sda
Монтирование разделов
жесткого диска
Показывает полную информацию о
примонтированных устройсвах:
Показывает только
примонтированные разделы жесткого диска:
Показывает свободное место на
разделах:
Монтирует раздел /dev/sda1 к
точке монтирования /mnt:
[sudo]
mount /dev/sda1 /mnt
Монтирует большинство CD-ROM`ов:
[sudo]
mount -t auto /dev/cdrom /mnt/cdrom
Монтирует IDE CD-ROM:
[sudo]
mount /dev/hdc -t iso9660 -r /cdrom
Монтирует SCSI CD-ROM:
[sudo]
mount /dev/scd0 -t iso9660 -r /cdrom
Монтирование FreeBSD разделов в
Linux:
[sudo]
mount -t ufs -o ufstype=ufs2,ro /dev/sda3 /mnt
Монтирование сетевых ресурсов
(SMB):
[sudo]
mount -t smbfs -o username=vasja,password=pupkin //pup/Video Монтирование
ISO-образов:
[sudo] mount -t iso9660 -o loop
/home/file.iso /home/iso
Монтирование раздел с файловой системой
FAT 16/32 (к примеру USBнакопитель) к точки монтирования /mnt с возможностью
записи:
[sudo]
mount /dev/sdb1 -t vfat -o rw /mnt
Отмонтирует раздел от точки
монтирования /mnt:
Команды Linux:
настройка сети.
Конфигурация сети
Показать параметры всех сетевых:
Показать параметры сетевого
интерфейса eth0:
Показывает состояние сетевого интерфейса
eth0 (для некоторых дистрибутивов требуется установка пакета ethtool). Команда
ethtool применяется только для проводных подключений, не работает с беспроводными
интерфейсами:
[sudo] ethtool eth0
Принудительно задать скорость сетевому
интерфейсу 100Mbit и режим Full duplex и отключить автоматическое определение:
[sudo]
ethtool -s eth0 speed 100 duplex full autoneg off
Задать основной IP адрес сетевому
интерфейсу eth0:
ifconfig
eth0 192.168.50.254 netmask 255.255.255.0
Задать основной IP адрес сетевому
интерфейсу eth0:
ip
addr add 192.168.50.254/24 dev eth0
Задать дополнительный IP адрес
сетевому интерфейсу eth0:
ifconfig
eth0:0 192.168.51.254 netmask 255.255.255.0
Задать дополнительный IP адрес
сетевому интерфейсу eth0:
ip
addr add 192.168.51.254/24 dev eth0 label eth0:1
Запустить сетевой интерфейс eth0:
[sudo] ifconfig eth0 up
Отключить сетевой интерфейс eth0:
[sudo]
ifconfig eth0 down
Смена MAC адреса:
ifconfig
eth0 hw ether 00:01:02:03:04:05
Перезагрузка DHCP клиента:
[sudo] /etc/init.d/dhcpd restart
Проверка сетевого соединения. Пингуется IP
адрес 192.168.0.2 (пинговать можно ya.ru):
Маршрутизация
Выводит на экран таблицу
маршрутизации:
Выводит на экран таблицу
маршрутизации:
Управление портами (брандмауэр) Показывает
список всех открытых портов:
netstat
-an | grep LISTEN
Показывает список всех открытых
портов в сеть Internet:
Активные соединения с интернетом:
Показывает все открытые сокеты:
Список приложений, которые
открывают порты:
[sudo]
netstat -anp --udp --tcp | grep LISTEN
Показывает статус firewall
(статус iptables):
Открывает доступ ко всем портам:
[sudo]
iptables -P INPUT ACCEPT
Открывает доступ ко всем портам:
[sudo]
iptables -P FORWARD ACCEPT
Открывает доступ ко всем портам:
[sudo]
iptables -P OUTPUT ACCEPT
Удаляет все цепочки:
Управление NAT
«Поднятие» NAT на интерфейсе
eth0:
[sudo]
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Перенаправление порта 20022,
который использется для ssh:
[sudo]
iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 20022 -j
DNAT
--to 192.168.16.44:22
Перенаправление диапазона портов
993-995:
[sudo] iptables -t nat -A PREROUTING -p tcp -d 78.31.70.238 --dport 993:995
-j DNAT --to 192.168.16.254:993-995
Проверка статуса NAT:
Команды Linux:
создание и запись ISO образов.
Показывает все доступные CD-ROM:
Создание ISO образов с диска
CD-ROM:
dd
if=/dev/hdc of=/tmp/mycd.iso bs=2048 conv=notrunc
Команды Linux:
пользователи и группы.
Команды Linux
необходимые для работы с пользователями и группами пользователей.
Показывает сводную информацию по текущему
пользователю (логин, UID, GID, группы):
id
Показать информацию о
пользователе UserName:
Показывает последних
зарегистрированных пользователей:
Показывает имя текущего
пользователя и время входа:
Добавление нового пользователя
UserName:
Добавление группы UserGroup:
Добавляет пользователя UserName в группу
UserGroup (для Debian-подобных дистрибутивов):
usermod
-a -G UserGroup UserName
Добавляет пользователя UserName в
группу UserGroup (SuSE):
groupmod
-A UserName UserGroup
Удаление пользователя UserName:
Удаление группы UserGroup:
groupdel UserGroup
Команды Linux: работа
с процессами.
Все запущенные процессы имеют уникальные номера — PID.
Показать все загруженные
процессы:
Показать PID определенного
процесса – sshd:
[Показать PID вашей оболочки:code]echo $$[/code]
Показать PID процесса
использующий порт 22:
Показывает PID процесса имеющего
доступ к /home:
fuser -va /home
Показывает список процессы,
которые используют /home:
Выводит на экран текущее
состояние процесса httpd:
«Убить» процесс с PID 4712:
Посылает процессу с PID`ом 4712
сигнал TERM - завершить процесс:
Посылает процессу с именем httpd
сигнал HUP - остановить процесс:
“Убить” все процессы имеющие
доступ к /home:
[sudo] fuser -k -TERM -m /home
Важные сигналы
посылаемые процессам:
•1
- HUP остановить процесс (SIGHUP — сигнал, посылаемый процессу для уведомления
о потере соединения с управляющим терминалом пользователя.)
•2
- INT прервать процесс (SIGINT — сигнал для остановки процесса пользователем с
терминала.)
•3
- QUIT выйти (SIGQUIT — сигнал, для остановки процесса пользователем,
комбинацией «quit» на терминале. Этот сигнал также указывает, что система
должна выполнить дамп памяти для процесса.)
•9
- KILL “убить” процесс (SIGKILL — сигнал, посылаемый процессам для их
немедленного завершения.)
•15
- TERM завершить процесс (SIGTERM — сигнал, для запроса завершения процесса.)
Команды 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):
Ручной вариант
настройки:
Показывает список всех скриптов с
соответствующими им Runlevels:
Показывает разрешенные Runlevels только
отдельного скрипта, в нашем случае udev:
chkconfig --list udev
Выставление скрипту udev значений
Runlevels по-умолчанию (для Debianподобных дистрибутивов):
[sudo]
update-rc.d udev defaults
Добавление скрипту udev Runlevels
3 и 5:
[sudo]
chkconfig udev --level 35 on
Изменить параметры для скрипта
udev (для Debian-подобных дистрибутивов):
[sudo]
update-rc.d udev start 20 2 3 4 5 . stop 20 0 1 6
Отключение у udev всех Runlevels:
[sudo]
chkconfig udev off
Отключение у udev всех Runlevel
(для Debian-подобных дистрибутивов):
[sudo]
update-rc.d -f udev remove
Команды Linux: Работа
с ядром и модулями.
Работа с ядром системы Показать
версию ядра Linux:
Работа с модулями
ядра
Список всех модулей загруженных в
ядро:
Загрузка модуля на примере isdn:
[sudo] modprobe isdn
Создание сжатого образа ядра
системы:
Компиляция модуля:
Установка модуля:
[sudo]
make modules_install
Установка в ядро системы:
[sudo] make install
Команды Linux: работа
с LiveCD.
смена root-окружения на /mnt. После этого
коневой раздел, примонтировнный к /mnt, будет использоваться как родной:
[sudo] chroot /mnt
Команды Linux:
конвертирование различной информации.
Конвертирование
текста
Выводит список всех доступных
кодировок:
Смена кодировки. Был файл file_cp1251.txt
с кодировкой cp1251, а в итоге получился файл file_utf8.txt с кодировкой utf8:
iconv -f cp1251 -t UTF-8 file_cp1251.txt -o file_utf8.txt
Конвертирование PDF в
JPEG
Конвертируется name.pdf в постраничные
JPEG изображения (в некоторых дистрибутивах необходимо установить пакет
imagemagick):
convert name.pdf name-%03d.jpg
Конвертируются JPEG изображения в PDF (в
некоторых дистрибутивах необходимо установить пакет imagemagick):
Конвертирование видео
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
Конвертирование аудио
Копирование треков с AudioCD в
текущую директорию wav-файлами:
Конвертирование 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
Команды Linux: печать
на принтере.
Выбор принтера по-умолчанию. В
примере выбран принтер Canon LBP-2900:
Распечатать на принтере Canon
LBP-2900 две копии файла name.txt:
Удаление всех задач с принтера
по-умолчанию:
Задание
В командной оболочке
выполнить следующие операции, фиксируя ответы операционной системы:
Знакомство с
каталогами UNIX
Получить имя текущего каталога
Перейти в корневой каталог, Отметить, как изменилось строка
приглашения
Посмотреть содержимое корневого каталога
Сравнить с использованием «раскарашенного» вывода с ключем
-F --color
Вернуться в домашний каталог
Создать директорию test
Создать поддиректорию subtest в директории test
Посмотреть содержимое домашнего каталога и его подкаталогов
с помощью ключа рекурсивного просмотра -R
Изучение типов файлов
в UNIX
Cоздать пустой файл test/first.txt
Добавить строку текста в конец файла c перенаправленим
вывода:
Посмотреть содержимое файла test/first.txt
Скопировать файл first.txt в copy1.txt
Переименовать файл first.txt в orig.txt, проверить
выполнение через просмотр директории
Создать жёсткую ссылку командой ln orig.txt copy2.txt
Создать символическую ссылку orig.lnk с файла orig.txt
Сравнить содержимое файлов orig.txt, copy2.txt, orig.lnk
при обращении к ним по имени
Поиск системных
журналов
Перейти в каталог test
Вывести список всех файлов и директорий в текущей
директории, включая содержимое поддиректорий с помощью команды find:
Найти все файлы и дериктории в текущей директории и ее
поддиректориях, которые начиняются на «o» с помощью команды find -name
"o*"
Найти все файлы и дериктории в директории /etc и ее
поддиректориях, которые начиняются на «o»
Найти все обычные файлы в директории
/var/ и ее поддиректориях, заканчивающиеся на «log»
Архивирование и
разархивирование файлов и директорий
Перейти в домашнюю директорию
Создать архив с именем test.tar.gz с применением сжатия,
содержащий директорию test
Создать новую директорию test2 для содержимого архива
Перейти в новую директорию
Развернуть содержимое архива в текущую директорию
Cоздание новых
текстовых файлов
Направить строку «On Line» в файл second.txt вывести
содержимое файла second.txt
С помощью команды cat можно создавать многострочные файлы
–, если переопределить вывод программы в файл и вводить текст до нажатия Ctrl-D
(конец ввода). Ввести команду cat >multiline.txt и набрать текст
user@desktop test $ cat
>multiline.txt
|
Simple text:
|
|
blah-blah-blah
|
|
1 2 3 4 5 6 7 8 9 0
|
|
|
bye!
|
|
|
(Ctrl+D)
|
|
user@desktop test $
|
|
|
|
|
|
|
|
|
Убедиться, что содержимое файла совпадает с введённым
текстом, включая все переводы строки.
Основным назначением команды cat является объединение
файлов, имена которых передаются как аргументы командной строки. Объединить
файлы с помощью команды cat orig.txt second.txt multiline.txt > big.txt:
user@desktop
test $ cat orig.txt second.txt multiline.txt > big.txt
Убедиться, что новый файл
содержит строки из перечисленных файлов
Разрезание и
склеивание файлов
В данном сценарии изучается, как выделять информацию,
разбитую на части с помощью специального символа-разделителя (например,
прообела или символа :), из файлов и создавать новые структурированные файлы.
Начальные условия: Командная строка.
1. Посмотреть содержимое файла /etc/passwd, в
котором содержится информация о пользователях системы, с помощью команды cat
/etc/passwd: user@desktop test $ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/bin/false
daemon:x:2:2:daemon:/sbin:/bin/false adm:x:3:4:adm:/var/adm:/bin/false
lp:x:4:7:lp:/var/spool/lpd:/bin/false sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
...
Каждая строка хранит запись об отдельном пользователе.
Запись состоит из полей, разделённых символом «:».
2. Выделить первый
столбец в каждой записи, установив разделитель в «:», с потощью команды cat
/etc/passwd | cut -f1 -d::
3. Отсортировать
список пользователей по алфавиту с помощью команды cat
/etc/passwd | cut -f1 -d: | sort: user@desktop test $ cat
/etc/passwd | cut -f1 -d: | sort
4. Выделить
седьмой столбец в каждой записи, соответствующий командной оболочке
пользователя, с помощью команды cat /etc/passwd | cut -f7 -d:
user@desktop test $ cat
/etc/passwd | cut -f7 -d:
|
/bin/bash
|
|
/bin/false
/bin/false
/bin/false
/bin/false
|
/bin/sync
|
...
|
|
|
|
|
Список содержит много повторяющихся строк.
5. Удалить
повторяющиеся строки командой cat /etc/passwd | cut -f7 -d: | uniq:
user@desktop test $ cat
/etc/passwd | cut -f7 -d: | uniq
|
/bin/bash
|
|
/bin/false
|
/bin/sync
|
/sbin/shutdown
|
|
/sbin/halt
|
|
/bin/false
|
...
|
|
|
|
|
|
Некоторые повторяющиеся строки остались, так как
сравниваются только последовательные строки.
6. Добиться полной
уникальности, предварительно отсортировав строки с помощью команды sort. Ввести
команду cat /etc/passwd | cut -f7 -d: | sort | uniq:
user@desktop test $ cat
/etc/passwd | cut -f7 -d: | sort |
uniq
|
/bin/bash
|
|
/bin/false
|
/bin/sync
|
/dev/null
|
/sbin/halt
|
/sbin/shutdown
|
|
|
|
|
7. Выделить первый
и седьмой столбец файла /etc/passwd в отдельные файлы. Для этого ввести команды
cat /etc/passwd | cut -f1 -d: > users и cat /etc/passwd | cut -f7 -d: >
shells:
user@desktop test $ cat
/etc/passwd | cut -f1 -d: > users
|
user@desktop test $ cat
/etc/passwd | cut -f7 -d: > shells
|
8. Объединить
результаты с помощью команды paste users shells:
user@desktop test $ paste users
shells
root /bin/bash
bin /bin/false daemon /bin/false adm
/bin/false lp /bin/false sync
/bin/sync
...
Быстрый анализ
текстов
В данном сценарии изучаются
команды, которые позволяют провести первичный анализ файла: с чего он
начинается, как заканчивается и каков его размер.
Начальные условия: Командная строка.
1.
Получить число строк в файле /etc/passwd с пломощью команды wc -l
/etc/passwd :
user@desktop test $ wc
-l /etc/passwd
|
44 /etc/passwd
|
|
2.
Или другим способом: посчитав число слов в созданном ранее файле
users с помощью команды cat users | wc -w:
user@desktop test $ cat
users | wc -w
|
44
|
|
3.
Посмотеть первые несколько строк длинного файла с помощью команды
headlogs/Xorg.0.log:
user@desktop test $ head logs/Xorg.0.log
X Window System Version 6.8.2
Release Date: 9 February 2005
X Protocol Version 11, Revision 0, Release 6.8.2
Build Operating System: Linux 2.6.13-gentoo i686 [ELF]
Current Operating System: Linux thinkpad
2.6.13-gentoo #1 Wed Sep 7 01:03:14
MSD 2005 i686
Build Date: 08 October 2005
Before
reporting problems, check http://wiki.X.Org to make sure
that you have the latest version.
Module Loader present
4.
Аналогично, посмотеть последние несколько строк с помощью команды
tail logs/Xorg.0.log:
user@desktop test $ tail logs/Xorg.0.log
(II) RADEON(0): [RESUME]
Attempting to re-init Radeon hardware.
(II)
RADEON(0): [agp] Mode 0x1f000201 [AGP 0x8086/0x3340;
Card
0x1002/0x4c66]
(II) Mouse1: ps2EnableDataReporting:
succeeded
SetClientVersion: 0 8
SetGrabKeysState - disabled
SetGrabKeysState - enabled
(II) 3rd Button detected: disabling
emulate3Button
SetClientVersion: 0 8
SetGrabKeysState - disabled
SetGrabKeysState - enabled
Это бывает полезно при просмотре системных журналов – в них
самые последние события содержатся в конце файлов.
Список
литературы
1 Основные
команды Linux - Справочник команд Линукс
http://itshaman.ru/articles/7/komandy-linux
2 Практическое
занятие. Работа с файлами в UNIX. http://heap.altlinux.org/modules/unix_base_admin.dralex/ch02s03.html
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.