Популярні приколи

відео

хочу сюди!
 

Alisa

39 років, водолій, познайомиться з хлопцем у віці 34-46 років

Подборка полезных shell команд для Solaris

  • 04.02.10, 01:01


Отладка
cat -v -t -e [file]Показать неотображаемые символы
dumpadm -d swapСконфигурировать swap устройство как dump устройство
ld -l Проверка наличия библиотеки
truss -f -p Использование нескольких окон. Это может использоваться при отслеживании setuid/setgid программ
truss executableОтслеживание команды (полезно при отладке)

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

/bin/mount -F hsfs -o ro /dev/sr0 /cdromМонтирование ISO 9660 CDROM
/usr/bin/iostat -EОтображение статистики дисков
du -ad /var | sort -nrОтчет об использовании /var сортированный в обратном порядке
du -k .Отчет об использовании диска в килобайтах
du -sk * | sort -nr | headПоказать 10 самых больших файлов/каталогов
du -sk *|sort -k1,1nОтчет об использованном пространстве в текущем каталоге
du -sk .Отчет об общем использовании диска в килобайтах
fdformat -d -UФорматирование дискеты
newfs -Nv /dev/rdsk/c0t0d0s1Просмотр доступных суперблоков
prtvtoc /dev/rdsk/c0t0d0s2Информация о геометрии и разделах диска
prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2Копировать таблицу разделов с одного диска на другой
quot -afСколько дискового пространства используется пользователем
volrmmount -i floppyМонтирование дисковода или другого устройства просто по его имени

Параметры ядра

ndd /dev/ip ip_forwardingПоказать переменную ip_forwarding в ядре
ndd /dev/ip ip_forwarding 1Установить переменную ip_forwarding в ядре
ndd /dev/ip \?Показать все IP переменные в ядре

Управление файлами

dos2unix | -ascii Конвертировать файлы формата DOS в формат Unix
fold -w 180Удалить строки с больше чем 180 символов
split [-linecount] [file]Разбить файл на части
[vi] : %s/existing/new/gПоиск и замена текста в vi
[vi] :set listПоказать неотображаемые символы в vi
[vi] :set nuПронумеровать строки в vi
[vi] :set ts=[num]Установить значение табуляции в vi

Файловая система

/sbin/uadmin x xСинхронизация файловых систем и быстрая перезагрузка
awk ' END {print NR}' file_nameВывести количество строк в файле
cat /dev/null > filenameНулевой вывод в файл без прерывания пайпа
dd if=/dev/rdsk/... of=/dev/rdsk/... bs=4096Сделать зеркало загрузочного диска
df -k | grep dg| awk '{print $6}' |xargs -n 1 umountОтмонтировать все файловые системы в группе дисков dg
fsck -F ufs -o b=97472 /dev/rdsk/c0t0d0s0Проверить и восстановить файловую систему UFS на c0t0d0s0 используя альтернативные суперблоки
fsck -F ufs -y /dev/rdsk/c0t0d0s0Восстановить файловую систему UFS на c0t0d0s0 без подтверждения
fsck -F ufs /dev/rdsk/c0t0d0s0Проверить файловую систему UFS на c0t0d0s0
gzip -d -c tarball.tgz | (cd /[dir];tar xf - ) &Распаковка архива в указанное место
gzip -dc file1.tar.gz | tar xf -Распаковка архива
ln [-fhns] Создать жесткую или мягкую ссылку
ls -al | awk '$3 == "oracle" || $3 == "root" {print $9}'Вывод всех файлов, владельцем которых является
ls -l | sort +4nСписок файлов по размеру
ls -la | awk '{ print $5," ",$9 }' | sort -rnРазмер файлов в текущем каталоге
ls -lR | awk '{total +=$5};END {print "Total size: " total/1024/1024 "MB" }'Рекурсивный подсчет размера каталогов в Мб
mkisofs -l -L -r -o [image-name].iso [directory]Создать образ ISO из каталога
mount -F ufs -o rw,remount /Перемонтировать корневой раздел в rw
mount -o remount,logging /spareПеремонтировать ro в rw aи включить журналирование ufs
mount -f pcfs /dev/dsk/c0d0p1 /export/dosПримонтировать раздел DOS
mv [filename]{,.new_suffix}Переименовать файл
pax -rw . /newdirАльтернативный метод копирования каталогов
prtvtoc /dev/rdsk/c0t0d0s2 | fmthard -s - /dev/rdsk/c0t1d0s2Клонировать таблицу разделов
tar cf - . | (cd /newdir ; tar xf -)Рекурсивное копирование файлов и разрешенй
tar cvf filename.tarСоздать архив
tar xvf filename.tarРаспаковать архив
X=$(wc -l < filename); echo $XПодсчет количества строк в файле (ksh)
zcat Распаковка patch_file
zcat [cpio file] | cpio -itmvПоказать содержимое cpio

Передача файлов

find . -depth | cpio -pdmv /path/tobe/copied/toБыстрая альтернатива cp -pr
find . -follow | cpio -pdumL /path/tobe/copied/toКопирование с символическими ссылками
get filename.suffix |"tar xf -"Недокументированная возможность FTP
ssh cd /some/directory \&\& tar cf - | ssh cd /some/direstory \&\& tar xvf - Переместить файлы без фактического обращения к ним
put "| tar cf - ." filename.tarНедокументированная возможность FTP
sendportКоманда FTP, служащая для передачи большого количества файлов в пределах одной сессии

Общие

/bin/printf '%d\n' '0x'Преобразование шестнадцатеричного числа в десятичное
/usr/bin/catman -wСоздать индекс базы данных страниц руководства man
FQ_FILENAME=; echo ${FQ_FILENAME%/*}
mailx -H -u Список заголовков писем конкретного пользователя
ps -ef | grep -i $@
set filecУстановить автодополнение имен файлов для csh
uuencode [filename] [filename] | mailx -s "Subject" [user to mail]Послать файл в аттаче
xauth -f /home/${LOGNAME} extract - ${DISPLAY} | xauth merge -

Аппаратное обеспечение

cfgadmПроверить конфигурирумые аппаратные устройства
m64config -depth 8|24Установить глубину цвета M64
m64config -prconfВывести конфигурацию адаптера M64
m64config -res 'video_mode'Изменить разрешение графического адаптера M64
prtpicl -v | grep sync-speedОбзор скорости синхронизации SCSI

Ядро

/usr/sbin/modinfoИнформация о модулях ядра
/usr/sbin/modload Загрузить модуль ядра
/usr/sbin/modunload -i Выгрузить модуль ядра
/usr/sbin/sysdefДетальный вывод настройки ядра
nm -x /dev/ksyms | grep OBJ | moreНастраиваемые параметры ядра

Память

pagesize -aДоступный размер страницы для Solaris 9
prtconf | grep MemВывод размера памяти на локальной машине

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

arp -aВывод arp таблицы
arp -d myhostУдалить запись определенного хоста из таблицы
lsof [email protected]
Отобразить открытые файлы для определенного хоста
ndd /dev/arp arp_cache_reportНапечатать arp таблицу выводя mac и IP адреса
netstat -a | grep EST | wc -lПоказать число активных подключений к данной машине
netstat -a | moreПоказать состояние сокетов на этой машине
netstat -iПоказать состояние TCP/IP интерфейсов
netstat -k hme0Недокументированная опция netstat
netstat -npАналог команды arp -a, без разрешения имен
netstat -rТаблица маршрутов
netstat -rnТаблица маршрутов, без разрешениия имен
snoop -S -ta [machine]Прослушивание сетевых пакетов, включая размер и время
traceroute Маршрут к данному адресу

Настройка сети

/sbin/ifconfig hme0:1 inet 10.210.xx.xxx netmask 255.255.0.0 broadcast 10.210.xxx.xxxВиртуальный интерфейс
/sbin/ifconfig hme0:1 upПоднять виртуальный интерфейс
/usr/sbin/ndd -set /dev/hme adv_100fdx_cap 1
ifconfig eth0 10.1.1.1 netmask 255.255.255.255Добавить интерфейс
ifconfig eth0 mtu 1500Сменить MTU на интерфейсе
ndd -set /dev/ip ip_addrs_per_if 1-8192Задать больше, чем 256 виртуальных IP адресов
ndd -set /dev/tcp tcp_recv_hiwat 65535Увеличить TCP буфер приема на Sol2.5.1 с 100BaseTx
ndd -set /dev/tcp tcp_xmit_hiwat 65535Увеличить TCP буфер передачи на Sol2.5.1 с 100BaseTx

Процессы

/usr/proc/bin/ptree Вывести дерево родителя/детей для процесса
/usr/proc/bin/pwdx Вывести рабочий каталог процесса
/usr/ucb/ps -aux | moreОтобразить использование CPU % для каждого процесса
/usr/ucb/ps -auxww | grep Получить полный список процессов (очень длинный)
fuser -uc /varПроцессы, запущенные из /var
ipcsОтчет о межпроцессных взаимодействиях
kill -HUP `ps -ef | grep [p]roccess | awk '{print $2}'`Послать всем связанным процессам сигнал HUP за один раз
lsof -i TCP:25Соотнести порт с приложением
pfiles Показать файлы, открытые процессом
pkill -n Убить процесс с определенным именем
prstat -aАльтернатива команде top
ps -edf -o pcpu,pid,user,argsФорматированый вывод 'ps'
ps -ef | grep -i | awk '{ print $2 }'Создать список PID содержащих
ps -ef | grep | grep -v grep | cut -c 10-15 | xargs kill -9Найти и убить процесс
ps -ef | moreПоказать все запущенные процессы
ps -ef|grep -v "0:00"|moreПолучить список любого процесса с процессорным временем больше чем 0:00
ps -eo pid,argsСписок процессов в простом формате
ps -fu oracle|grep pmonПосмотреть, какие инстансы Oracle запущены
top -b 1Отобразить наиболее прожорливый процесс и выйти

Управление ресурсами

/usr/bin/ldd [filename]Список динамических зависимостей выполняемого файла
/usr/proc/bin/pmap pidОтчет о карте адресного пространства процесса

Маршрутизация

route add net 128.50.0.0 128.50.1.6 1Добавить маршрут
route change 128.50.0.0 128.50.1.5Сменить маршрут
route delete net 128.50.0.0 128.50.1.6Удалить маршрут
route flushОчистить таблицу маршрутов. Удаляются все записи
route get [hostname]Определить интерфейс, используемый для доступа к удаленному хосту
route monitorМониторинг таблицы маршрутов

Поиск

egrep "patterna|patternb" Поиск нескольких шаблонов в одном файле
find -name "" -exec rm -rf {} \;Рекурсивный поиск файлов по имени и их удаление
find . -type f -print | xargs grep -i [PATTERN]Рекурсивный grep в файле
find . ! -mtime - | /usr/bin/xargs rm -rfНайти и удалить файлы старше
find . -exec egrep -li "str" {} \;Поиск строк в файлах, начинающихся с cwd
find . -mtime -1 -type fПоиск недавно измененных файлов
find . -type f -exec grep "" {} \; -printИскать файлы, содержащие в пределах дерева каталогов
find ./ \! -type f -exec ls -l {} \;|grep -v '^[l|p|s|-]'|grep -v 'total' | wc -lПосчитать число подкаталогов в каталоге
find / -fstype nfs -prune -o fstype autofs -prune -o -name filename -printПоиск вне файловых систем nfs
find / -mtime <# of days>Найти файлы, модифицированные # дней назад
find / -perm -2 -a ! -type lНайти файлы, доступные на запись 'others'
find / -type f |xargs ls -s | sort -rn |moreСписок файлов, занимающих много дискового пространства
find / -user Найти все файлы, принадлежащие
find / | grep [file mask]Быстрый способ найти файл
find /proc/*/fd -links 0 -type f -size +2000 -lsПоиск больших файлов, которые были удалены или перемещены, но остались открыты каким-либо процессом
grep /var/sadm/install/contents| awk '{ print $1 ' ' $10 }'Найти какому пакету принадлежит файл
ls -lR | grep Быстрая альтернатива find

Безопасность

crypt abc && rm abc.crДешифрация файла с помощью crypt
crypt abc.cr && rm abcШифрация файла с помощью crypt
echo 'Please go away' > /etc/nologinПрекратить вход пользователей в систему
find / -perm -0777 -type d -lsНайти все каталоги на запись
find / -type f -perm -2000 -printНайти все SGID файлы
find / -type f -perm -4000 -printНайти все SUID файлы
trap 'exit 0' 1 2 3 9 15Перехват специального сигнала и выход
vi -x [filename]Зашифровать файл с помощью vi

Установки терминала

stty erase ^?Для удаления символа использовать клавишу delete
stty erase ^HДля удаления символа использовать клавишу backspace
stty saneПерезапустить терминал после просмотра бинарного файла
tput rmacsПерезагрузить стандартный набор символов

Snoop

snoop -d pcelx0Просматривать все пакеты на устройстве
snoop -i /tmp/mylog -o /tmp/newlog host1Все пакеты с host1 записывать в лог
snoop -i /tmp/mylog -v -p101Показать отладочную информацию по пакету 101 из лога
snoop -i /tmp/mylog host1 host2Просмотреть лог на предмет пакетов между hosts1 и host2
snoop -o /tmp/mylog pcelx0Сохранить все пакеты с устройства в лог
snoop -s 120Отобразить первые 120 байт заголовка пакета
snoop -v arpЗахват широковещательных пакетов arp в вашей сети
snoop port [port-number]Монитроинг конкретного порта

Файлы swap

mkfile -nv 10m /export/disk1/myswapСоздает пустой 10-и мегабайтный свап-файл в /export/disk1
mkfile -v 10m /export/disk1/myswapСоздает файл подкачки на 10 мегабайтов в /export/disk1


Пространство swap

swap -a /export/disk1/swapfileДобавить своп-файл
swap -d /dev/dsk/c0t0d0s4Удалить свап-устройство
swap -lВывести список текущих свап-устройств
swap -sВывод доступного пространства


Конфигурация системы

/usr/sbin/eeprom auto-boot? falseИзменить переменную autoboot? таким образом, чтобы система загружалась только после подтверждения
/usr/sbin/eeprom diag-switch? trueПровести диагностику во время следующей загрузки
/usr/sbin/eeprom local-mac-address?=trueНастройка многопортовой сетевой карты
/usr/sbin/grpckПроверить синтаксис /etc/group
/usr/sbin/pwckПроверить синтаксис /etc/passwd
/usr/sbin/sys-unconfigОчистить сетевую конфигурацию
/usr/sbin/useraddДобавить пользователя
drvconfig ; disksДобавить в систему диск горячей замены


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

/bin/echo "0t${stamp}>Y\nПеревод времени UNIX в удобоваримую форму
/usr/platform/`/bin/uname -i`/sbin/prtdiag -vДиагностика системы
/usr/sbin/eepromПросмотр параметров eeprom
/usr/sbin/prtconf -vpДетальный просмотр системной конфигурации
coreadm -e logОтчет ядра
grep "\-root" /var/adm/sulog | grep -v \+ | tail -25Перечислить все попытки переключения на аккаунт root
isainfo -bvБыстрая проверка режима 32 или 64 bit
lastПоказать, кто и откуда входил в систему
logger -i
prtconf -pv | grep banner-name |awk -F\' ' { print $2 } ' | head -1Показать модель сервера
prtpicl -v | grep wwnКоманда поиска постоянно выделенной памяти (?)
psradm -f [processor id]Отключить процессор (?)
psrinfo | wc -lПоказать число процессоров
sar -uОтчет о загрузке CPU
sar [ -aA ] [ -o filename ] t [ n ]Обобщенный отчет об активности системы
telnet 13 | grep ':'Получить время удаленной машины
uname -aОтобразить системную информацию
uname -XОтобразить системную информацию
vmstat 10Отчет о основных системных параметрах в течении 10 секунд
who -bПричина последней перезагрузки
ypcat hosts | sort -n -t. +0 -1 +1 -2 +2 -3 +3 -4Взять вывод команд "ypcat hosts" или "cat /etc/inet/hosts" и сортировать по IP
 
0

Коментарі