About us

Lorem ipsum dolor sit amet cons ectetur adipiscing elit donec metus nibh sceler isque et suscipit id auctor vitae magna nam sollicitudin velit tortor ut efficitur velit sagittis.

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

отобразить архитектуру компьютера

#arch или #uname -m

отобразить используемую версию ядра

#uname -r

показать аппаратные системные компоненты — (SMBIOS / DMI)

#dmidecode -q

вывести характеристики жесткого диска

#hdparm -i /dev/hda

протестировать производительность чтения данных с жесткого диска

#hdparm -tT /dev/sda

отобразить информацию о beancounters (только на VPS)

#cat /proc/user_beancounters

отобразить информацию о процессоре

#cat /proc/cpuinfo

показать прерывания

#cat /proc/interrupts

проверить использование памяти

#cat /proc/meminfo

показать файл(ы) подкачки

#cat /proc/swaps

вывести версию ядра

#cat /proc/version

показать сетевые интерфейсы и статистику по ним

#cat /proc/net/dev

отобразить смонтированные файловые системы

#cat /proc/mounts

показать в виде дерева PCI устройства

#lspci -tv

показать в виде дерева USB устройства

#lsusb -tv

вывести системную дату

#date

вывести таблицу-календарь 2007-го года

#cal 2007

установить системные дату и время ММДДЧЧммГГГГ.СС (МесяцДеньЧасМинутыГод.Секунды)

#date 041217002007.00*

Перезагрузка системы

остановить систему

#shutdown -h now

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

#shutdown -h hours:minutes &

отменить запланированную по расписанию остановку системы

#shutdown -c

перегрузить систему

#shutdown -r now или #reboot

выйти из системы

#logout

Файлы и директории

перейти в директорию '/home'

#cd /home

перейти в директорию уровнем выше

#cd ..

перейти в директорию двумя уровнями выше

#cd ../..

перейти в домашнюю директорию

#cd

перейти в домашнюю директорию пользователя user

#cd ~user

перейти в директорию, в которой находились до перехода в текущую директорию

#cd -

показать текущую директорию

#pwd

отобразить содержимое текущей директории

#ls

отобразить содержимое текущей директории с добавлением к именам символов, характеризующих тип

#ls -F

показать детализированное представление файлов и директорий в текущей директории

#ls -l

показать скрытые файлы и директории в текущей директории

#ls -a

показать файлы и директории содержащие в имени цифры

#ls *[0-9]*

показать дерево файлов и директорий, начиная от корня (/)

#tree или #lstree

создать директорию с именем 'dir1'

#mkdir dir1

создать две директории одновременно

#mkdir dir1 dir2

создать директорию с именем 'dir2' создав все промежуточные ('dir1') если они не существуют.

#mkdir -p /tmp/dir1/dir2

удалить файл с именем 'file1'

#rm -f file1

удалить директорию с именем 'dir1'

#rmdir dir1

удалить директорию с именем 'dir1' и рекурсивно всё её содержимое

#rm -rf dir1

удалить две директории и рекурсивно их содержимое

#rm -rf dir1 dir2

переименовать или переместить файл или директорию

#mv dir1 new_dir

скопировать файл file1 в файл file2

#cp file1 file2

копировать все файлы директории dir в текущую директорию

#cp dir/* .

копировать директорию dir1 со всем содержимым в текущую директорию

#cp -a /tmp/dir1 .

копировать директорию dir1 в директорию dir2

#cp -a dir1 dir2

создать символическую ссылку на файл или директорию

#ln -s file1 lnk1*

создать «жёсткую» (физическую) ссылку на файл или директорию

#ln file1 lnk1

модифицировать дату и время создания файла, при его отсутствии, создать файл с указанными датой и временем (YYMMDDhhmm)

#touch -t 0712250000 fileditest

Поиск файлов

найти файлы и директории с именем file1. Поиск начать с корня (/)

#find / -name file1

найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)

#find / -user user1

найти все файлы и директории, имена которых оканчиваются на '. bin'. Поиск начать с '/ home/user1'*

#find /home/user1 -name "*.bin"

найти все файлы в '/usr/bin', время последнего обращения к которым более 100 дней

#find /usr/bin -type f -atime +100

найти все файлы в '/usr/bin', созданные или изменённые в течении последних 10 дней

#find /usr/bin -type f -mtime -10

найти все фалы и директории, имена которых оканчиваются на '.rpm', и изменить права доступа к ним

#find / -name *.rpm -exec chmod 755 '{}' \;

найти все фалы и директории, имена которых оканчиваются на '.rpm', игнорируя съёмные носители, такие как cdrom, floppy и т.п.

#find / -xdev -name "*.rpm"

найти все файлы, содержащие в имени '.ps'. Предварительно рекомендуется выполнить команду 'updatedb'

#locate "*.ps"

показывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу 'halt'

#whereis halt

отображает полный путь к файлу 'halt'

#which halt

Монтирование файловых систем

монтирует раздел 'hda2' в точку монтирования '/mnt/hda2'. Убедитесь в наличии директории-точки монтирования '/mnt/hda2'

#mount /dev/hda2 /mnt/hda2

размонтирует раздел 'hda2'. Перед выполнением, покиньте '/mnt/hda2'

#umount /dev/hda2

принудительное размонтирование раздела. Применяется в случае, когда раздел занят каким-либо пользователем

#fuser -km /mnt/hda2

выполнить размонитрование без занесения информации в /etc/mtab. Полезно когда файл имеет атрибуты «только чтение» или недостаточно места на диске

#umount -n /mnt/hda2

монтировать флоппи-диск

#mount /dev/fd0 /mnt/floppy

монтировать CD или DVD

#mount /dev/cdrom /mnt/cdrom

монтировать CD-R/CD-RW или DVD-R/DVD-RW(+-)

#mount /dev/hdc /mnt/cdrecorder

смонтировать ISO-образ

#mount -o loop file.iso /mnt/cdrom

монтировать файловую систему Windows FAT32

#mount -t vfat /dev/hda5 /mnt/hda5

монтировать сетевую файловую систему Windows (SMB/CIFS)

#mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share

«монтирует» директорию в директорию (binding). Доступна с версии ядра 2.4.0. Полезна, например, для предоставления содержимого пользовательской директории через ftp при работе ftp-сервера в «песочнице» (chroot), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user Дисковое пространство

#mount -o bind /home/user/prg /var/ftp/user

отображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим.переводчика. ключ -h работает не во всех *nix системах)

#df -h

выдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр

#ls -lSr |more

подсчитывает и выводит размер, занимаемый директорией 'dir1' (Прим.переводчика. ключ -h работает не во всех *nix системах)

#du -sh dir1

отображает размер и имена файлов и директорий, с соритровкой по размеру

#du -sk * | sort -rn

показывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)

#rpm -q -a --qf '%10t%n' | sort -k1,1n

показывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.) Пользователи и группы

#dpkg-query -W -f='${Installed-Size;10}t$n' | sort -k1,1n

создать новую группу с именем group_name

#groupadd group_name

удалить группу group_name

#groupdel group_name

переименовать группу old_group_name в new_group_name

#groupmod -n new_group_name old_group_name

создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell'а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognome

#useradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1

создать пользователя user1

#useradd user1

удалить пользователя user1 и его домашний каталог

#userdel -r user1

изменить атрибуты пользователя

#usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1

сменить пароль

#passwd

сменить пароль пользователя user1 (только root)

#passwd user1

установить дату окончания действия учётной записи пользователя user1

#chage -E 2005-12-31 user1

проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow

#pwck

проверяет корректность системных файлов учётных записей. Проверяется файл/etc/group

#grpck

изменяет первичную группу текущего пользователя. Если указать «-», ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd Выставление/изменение полномочий на файлы

#newgrp [-] group_name

просмотр полномочий на файлы и директории в текущей директории

#ls -lh

вывести содержимое директории /tmp и разделить вывод на пять колонок

#ls /tmp | pr -T5 -W$COLUMNS

добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1

#chmod ugo+rwx directory1

отобрать у группы и всех остальных все полномочия на директорию directory1.

#chmod go-rwx directory1

назначить владельцем файла file1 пользователя user1

#chown user1 file1

назначить рекурсивно владельцем директории directory1 пользователя user1

#chown -R user1 directory1

сменить группу-владельца файла file1 на group1

#chgrp group1 file1

сменить владельца и группу владельца файла file1

#chown user1:group1 file1

найти, начиная от корня, все файлы с выставленным SUID

#find / -perm -u+s

назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.

#chmod u+s /bin/binary_file

снять SUID-бит с файла /bin/binary_file.

#chmod u-s /bin/binary_file

назначить SGID-бит директории /home/public.

#chmod g+s /home/public

снять SGID-бит с директории /home/public.

#chmod g-s /home/public

назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам

#chmod o+t /home/public

снять STIKY-бит с директории /home/public

#chmod o-t /home/public

Специальные атрибуты файлов

позволить открывать файл на запись только в режиме добавления

#chattr +a file1

позволяет ядру автоматически сжимать/разжимать содержимое файла.

#chattr +c file1

указавет утилите dump игнорировать данный файл во время выполнения backup'а

#chattr +d file1

делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него.

#chattr +i file1

позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращяет возможность восстановления данных.

#chattr +s file1

указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync

#chattr +S file1

данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить

#chattr +u file1

показать атрибуты файлов

#lsattr

Архивирование и сжатие файлов

разжимает файл 'file1.gz'

#bunzip2 file1.bz2

сжимает файл 'file1'

#gzip file1 или bzip2 file1

сжать файл file1 с максимальным сжатием

#gzip -9 file1

создать rar-архив 'file1.rar' и включить в него файл test_file

#rar a file1.rar test_file

создать rar-архив 'file1.rar' и включить в него file1, file2 и dir1

#rar a file1.rar file1 file2 dir1

распаковать rar-архив

#rar x file1.rar

 

#unrar x file1.rar

создать tar-архив archive.tar, содержащий файл file1

#tar -cvf archive.tar file1

создать tar-архив archive.tar, содержащий файл file1, file2 и dir1

#tar -cvf archive.tar file1 file2 dir1

показать содержимое архива

#tar -tf archive.tar

распаковать архив

#tar -xvf archive.tar

распаковать архив в /tmp

#tar -xvf archive.tar -C /tmp

создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)

#tar -cvfj archive.tar.bz2 dir1

разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)

#tar -xvfj archive.tar.bz2

создать архив и сжать его с помощью gzip

#tar -cvfz archive.tar.gz dir1

разжать архив и распаковать его

#tar -xvfz archive.tar.gz

создать сжатый zip-архив

#zip file1.zip file1

создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий

#zip -r file1.zip file1 file2 dir1

разжать и распаковать zip-архив

#unzip file1.zip

RPM пакеты (Fedora, Red Hat и тому подобное)

установить пакет с выводом сообщений и прогресс-бара

#rpm -ivh package.rpm

установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей

#rpm -ivh --nodeps package.rpm

обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен

#rpm -U package.rpm

обновить пакет только если он установлен

#rpm -F package.rpm

удалить пакет

#rpm -e package_name.rpm

отобразить список всех пакетов, установленных в системе

#rpm -qa

среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»

#rpm -qa | grep httpd

вывести информацию о конкретном пакете

#rpm -qi package_name

отобразить пакеты входящие в группу пакетов

#rpm -qg "System Environment/Daemons"

вывести список файлов, входящих в пакет

#rpm -ql package_name

вывести список конфигурационных файлов, входящих в пакет

#rpm -qc package_name

вывести список пакетов, необходимых для установки конкретного пакета по зависимостям

#rpm -q package_name --whatrequires

show capability provided by a rpm package

#rpm -q package_name --whatprovides

отобразит скрипты, запускаемые при установке/удалении пакета

#rpm -q package_name --scripts

вывести историю ревизий пакета

#rpm -q package_name --changelog

проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла.

#rpm -qf /etc/httpd/conf/httpd.conf

отображает список файлов, входящих в пакет, но ещё не установленных в систему

#rpm -qp package.rpm -l

импортировать публичный ключ цифровой подписи

#rpm --import /media/cdrom/RPM-GPG-KEY

проверит подпись пакета

#rpm --checksig package.rpm

проверить целостность установленного содержимого пакета

#rpm -qa gpg-pubkey

проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменения пакета

#rpm -V package_name

проверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!

#rpm -Va

проверить пакет, который ещё не установлен в систему

#rpm -Vp package.rpm

извлечь из пакета файлы содержащие в своём имени bin

#rpm2cpio package.rpm | cpio --extract --make-directories *bin*

установить пакет, собранный из исходных кодов

#rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm

собрать пакет из исходных кодов

#rpmbuild --rebuild package_name.src.rpm

Для установки (а также удаления и обновления) пакетов из сетевых репозиториев используйте утилиту 'yum'. В отличие от более низкоуровневой утилиты rpm, yum умеет автоматически устанавливать дополнительные пакеты, от которых зависит устанавливаемый пакет.

средство обновления пакетов(Fedora, RedHat и тому подобное)

#YUM

закачать и установать пакет

#yum install package_name

обновить все пакеты, установленные в систему

#yum update

обновить пакет

#yum update package_name

удалить пакет

#yum remove package_name

вывести список всех пакетов, установленных в систему

#yum list

найти пакет в репозитории

#yum search package_name

очисть rpm-кэш, удалив закачанные пакеты

#yum clean packages

удалить все заголовки файлов, которые система использует для разрешения зависимостей

#yum clean headers

очисть rpm-кэш, удалив закачанные пакеты и заголовки

#yum clean all

DEB пакеты (Debian, Ubuntu и тому подобное)

установить / обновить пакет

#dpkg -i package.deb

удалить пакет из системы (при этом конфигурационные файлы не удаляются, настройки пакета остаются в в системе)

#dpkg -r package_name

удалить пакет и его файлы конфигурации из системы

#dpkg -P package_name

показать все пакеты, установленные в систему

#dpkg -l

среди всех пакетов, установленных в системе, найти пакет содержащий в своём имени «httpd»

#dpkg -l | grep httpd

отобразить информацию о конкретном пакете

#dpkg -s package_name

вывести список файлов, входящих в пакет, установленный в систему

#dpkg -L package_name

отобразить список файлов, входящих в пакет, который ещё не установлен в систему

#dpkg --contents package.deb

найти пакет, в который входит указанный файл.

#dpkg -S /bin/ping

aptitude — средство управление пакетами (Debian, Ubuntu и тому подобное)

установить / обновить пакет

#aptitude install package_name

получить обновлённые списки пакетов

#aptitude update

обновить пакеты, установленные в систему (при обновлении НЕ происходит изменения версии пакетов, только исправления безопасности/ошибок)

#aptitude safe-upgrade

 

#

обновить пакеты, установленные в систему, возможно обновление пакета с изменением версии, если он доступен в репозитории. Используйте с осторожностью.

#aptitude full-upgrade

удалить пакет, установленный в систему с сохранением файлов конфигурации

#aptitude remove package_name

удалить пакет, установленный в систему с удалением файлов конфигурации

#aptitude purge package_name

удалить загруженные архивные файлы пакетов

#aptitude clean

удалить старые загруженные архивные файлы пакетов

#aptitude autoclean

проверить зависимости пакетов в системе и при необходимости разрешить их. Если завершилось без вывода - проблем с зависимостями нет.

#aptitude install -f

найти пакет в имени которого есть "package_name"

#aptitude search package_name

вывести подробную информацию о пакете

#aptitude show package_name

найти в системе список пакетов, которые были удалены без удаления файлов настроек (с помощью aptitude remove package_name или dpkg -r)

#aptitude search ~c

найти поврежденные пакеты (с поврежденными зависимостями)

#aptitude search ~b

средство управление пакетами (Arch, Frugalware и alike)

#Pacman

install package «name» with dependencies

#pacman -S name

delete package «name» and all files of it

#pacman -R name

Просмотр содержимого файлов

вывести содержимое файла file1 на стандартное устройсво вывода

#cat file1

вывести содержимое файла file1 на стандартное устройсво вывода в обратном порядке (последняя строка становиться первой и т.д.)

#tac file1

постраничный вывод содержимого файла file1 на стандартное устройство вывода

#more file1

постраничный вывод содержимого файла file1 на стандартное устройство вывода, но с возможностью пролистывания в обе стороны (вверх-вниз), поиска по содержимому и т.п.

#less file1

вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк

#head -2 file1

вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк

#tail -2 file1

выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.

#tail -f /var/log/messages

Манипуляции с текстом

общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый

#cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt

общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет создан

#cat file_originale | [operazione: sed, grep, awk, grepи т.п.] >> result.txt

из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие «Aug»

#grep Aug /var/log/messages

из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, начинающиеся на «Aug»

#grep ^Aug /var/log/messages

из файла '/var/log/messages' отобрать и вывести на стандартное устройство вывода строки, содержащие цифры

#grep [0-9] /var/log/messages

отобрать и вывести на стандартное устройство вывода строки, содержащие «Augr», во всех файлах, находящихся в директории /var/log и ниже

#grep Aug -R /var/log/*

в файле example.txt заменить «string1» на «string2», результат вывести на стандартное устройство вывода.

#sed 's/stringa1/stringa2/g' example.txt

удалить пустые строки из файла example.txt

#sed '/^$/d' example.txt

удалить пустые строки и комментарии из файла example.txt

#sed '/ *#/d; /^$/d' example.txt

преобразовать символы из нижнего регистра в верхний

#echo 'esempio' | tr '[:lower:]' '[:upper:]'

удалить первую строку из файла example.txt

#sed -e '1d' result.txt

отобразить только строки содержашие «string1»

#sed -n '/string1/p'

удалить пустые символы в в конце каждой строки

#sed -e 's/ *$//' example.txt

удалить строку «string1» из текста не изменяя всего остального

#sed -e 's/string1//g' example.txt

взять из файла с первой по восьмую строки и из них вывести первые пять

#sed -n '1,8p;5q' example.txt

вывести пятую строку

#sed -n '5p;5q' example.txt

заменить последовательность из любого количества нулей одним нулём

#sed -e 's/0*/0/g' example.txt

пронумеровать строки при выводе содержимого файла

#cat -n file1

при выводе содержимого файла, не выводить чётные строки файла/p>

#cat example.txt | awk 'NR%2==1'

вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции

#echo a b c | awk '{print $1}'

вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции

#echo a b c | awk '{print $1,$3}'

объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m

#paste file1 file2

объединить содержимое file1 и file2 в виде таблицы с разделителем «+»

#paste -d '+' file1 file2

отсортировать содержимое двух файлов

#sort file1 file2

отсортировать содержимое двух файлов, не отображая повторов

#sort file1 file2 | uniq

отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)

#sort file1 file2 | uniq -u

отсортировать содержимое двух файлов, отображая только повторяющиеся строки

#sort file1 file2 | uniq -d

сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file1'

#comm -1 file1 file2

сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file2'

#comm -2 file1 file2

сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах

#comm -3 file1 file2

Подробнее: sed и awk Grep

Преобразование наборов символов и файловых форматов

конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата коретки)

#dos2unix filedos.txt fileunix.txt

конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)

#unix2dos fileunix.txt filedos.txt

конвертировать содержимое тестового файла page.txt в html-файл page.html

#recode ..HTML < page.txt > page.html

вывести список доступных форматов

#recode -l | more

Анализ файловых систем

проверить раздел hda1 на наличие bad-блоков

#badblocks -v /dev/hda1

проверить/восстановить целостность linux-файловой системы раздела hda1

#fsck /dev/hda1

проверить/восстановить целостность файловой системы ext2 раздела hda1

#fsck.ext2 /dev/hda1 или e2fsck /dev/hda1

проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же

#e2fsck -j /dev/hda1

проверить/восстановить целостность файловой системы ext3 раздела hda1

#fsck.ext3 /dev/hda1

проверить/восстановить целостность файловой системы fat раздела hda11

#fsck.vfat /dev/hda1 или fsck.msdos /dev/hda1 или dosfsck /dev/hda1

Форматирование файловых систем

создать linux-файловую систему на разделе hda1

#mkfs /dev/hda1

создать файловую систему ext2 на разделе hda1

#mke2fs /dev/hda1

создать журналирующую файловую систему ext3 на разделе hda1

#mke2fs -j /dev/hda1

создать файловую систему FAT32 на разделе hda1

#mkfs -t vfat 32 -F /dev/hda1

форматирование флоппи-диска без проверки

#fdformat -n /dev/fd0

создание swap-пространства на разделе hda3

#mkswap /dev/hda3

swap-пространство

создание swap-пространства на разделе hda3

#mkswap /dev/hda3

активировать swap-пространство, расположенное на разделе hda3

#swapon /dev/hda3

активировать swap-пространства, расположенные на разделах hda2 и hdb3

#swapon /dev/hda2 /dev/hdb3

Создание резервных копий (backup)

создать полную резервную копию директории /home в файл /tmp/home0.bak

#dump -0aj -f /tmp/home0.bak /home

создать инкрементальную резервную копию директории /home в файл /tmp/home0.bak

#dump -1aj -f /tmp/home0.bak /home

восстановить из резервной копии /tmp/home0.bak

#restore -if /tmp/home0.bak

синхронизировать /tmp с /home

#rsync -rogpav --delete /home /tmp

синхронизировать через SSH-туннель

#rsync -rogpav -e ssh --delete /home ip_address:/tmp

синхронизировать локальную директорию с удалённой директорией через ssh-туннель со сжатием

#rsync -az -e ssh --delete ip_addr:/home/public /home/local

синхронизировать удалённую директорию с локальной директорией через ssh-туннель со сжатием

#rsync -az -e ssh --delete /home/local ip_addr:/home/public

сделать «слепок» локального диска в файл на удалённом компьютере через ssh-туннель

#dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz'

создать инкрементальную резервную копию директории '/home/user' в файл backup.tar с сохранением полномочий

#tar -Puf backup.tar /home/user

копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/

#( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p'

копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home

#( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p'

копирование одной директории в другую с сохранением полномочий и линков

#tar cf - . | (cd /tmp/backup ; tar xf - )

поиск в /home/user1 всех файлов, имена которых оканчиваются на '.txt', и копирование их в другую директорию

#find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents

поиск в /var/log всех файлов, имена которых оканчиваются на '.log', и создание bzip-архива из них

#find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2

создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск

#dd if=/dev/hda of=/dev/fd0 bs=512 count=1

восстановить MBR с флоппи-диска на /dev/hda

#dd if=/dev/fd0 of=/dev/hda bs=512 count=1

Сеть

показать конфигурацию сетевого интерфейса eth0

#ifconfig eth0

активировать (поднять) интерфейс eth0

#ifup eth0

деактивировать (опустить) интерфейс eth0

#ifdown eth0

выставить интерфейсу eth0 ip-адрес и маску подсети

#ifconfig eth0 192.168.1.1 netmask 255.255.255.0

перевести интерфейс eth0 в promiscuous-режим для «отлова» пакетов (sniffing)

#ifconfig eth0 promisc

отключить promiscuous-режим на интерфейсе eth0

#ifconfig eth0 -promisc

активировать интерфейс eth0 в dhcp-режиме.

#dhclient eth0

#route -n

вывести локальную таблицу маршрутизации

#netstat -rn

задать ip-адрес шлюза по умолчанию (default gateway)

#route add -net 0/0 gw IP_Gateway

добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1

#route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1

удалить ip-адрес шлюза по умолчанию (default gateway)

#route del 0/0 gw IP_gateway

разрешить пересылку пакетов (forwarding)

#echo "1" > /proc/sys/net/ipv4/ip_forward

отобразить имя компьютера

#hostname

разрешить имя http://www.aveshka.ru хоста в ip-адрес и наоборот

#host http://www.aveshka.ru или host 78.149.140.85

отобразить состояние всех интерфейсов

#ip link show

отобразить статус и тип соединения для интерфейса eth0

#mii-tool eth0

отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения

#ethtool eth0

отображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и имена процессов, обеспечивающих эти соединения

#netstat -tupn

отображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и имена процессов, слушающих порты

#netstat -tupln

отобразить весь трафик на TCP-порт 80 (обычно — HTTP)

#tcpdump tcp port 80

просканировать эфир на предмет, доступности беспроводных точек доступа

#iwlist scan

показать конфигурацию беспроводного сетевого интерфейса eth1

#iwconfig eth1

Microsoft Windows networks(SAMBA)

nbtscan ip_addr

разрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba.

#nmblookup -A ip_addr

отобразить ресурсы, предоставленные в общий доступ на windows-машине

#smbclient -L ip_addr/hostname

подобно wget может получить файлы с windows-машин через smb-протокол

#smbget -Rr smb://ip_addr/share

смонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему

#mount -t smbfs -o username=user,password=pass //winclient/share /mnt/share

IPTABLES (firewall)

iptables -t filter -nL

отобразить все цепочки правил

#iptables -nL

отобразить все цепочки правил в NAT-таблице

#iptables -t nat -L

очистить все цепочки правил в filter-таблице

#iptables -t filter -F или iptables -F

очистить все цепочки правил в NAT-таблице

#iptables -t nat -F

удалить все пользовательские цепочки правил в filter-таблице

#iptables -t filter -X

позволить входящее подключение telnet'ом

#iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT

блокировать исходящие HTTP-соединения

#iptables -t filter -A OUTPUT -p tcp --dport http -j DROP

позволить «прокидывать» (forward) POP3-соединения

#iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT

включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT»

#iptables -t filter -A INPUT -j LOG --log-prefix "DROP INPUT"

включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.

#iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

перенаправление пакетов, адресованных одному хосту, на другой хост

#iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22

Мониторинг и отладка

отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)

#top

отобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)

#ps -eafw

вывести PID'ы и процессы в виде дерева

#ps -e -o pid,args --forest

отобразить дерево процессов

#pstree

«убить» процесс с PID 98989 «на смерть» (без соблюдения целостности данных)

#kill -9 98989 или kill -KILL 98989

корректно завершить процесс с PID 98989

#kill -TERM 98989

заставить процесс с PID 98989 перепрочитать файл конфигурации

#kill -1 98989 или kill -HUP 98989

отобразить список файлов, открытых процессом с PID 98989

#lsof -p 98989

отобразить список открытых файлов из директории /home/user1

#lsof /home/user1

вывести список системных вызовов, созданных и полученных процессом ls

#strace -c ls >/dev/null

вывести вызовы бибилотек

#strace -f -e open ls >/dev/null

отображать прерывания в режиме реального времени

#watch -n1 'cat /proc/interrupts'

отобразить историю перезагрузок системы

#last reboot

отобразить историю регистрации пользователя user1 в системе и время его нахождения в ней

#last user1

вывести загруженные модули ядра

#lsmod

показать состояние оперативной памяти в мегабайтах

#free -m

контроль состояния жёсткого диска /dev/hda через SMART

#smartctl -A /dev/hda

проверить доступность SMART на жёстком диске /dev/hda

#smartctl -i /dev/hda

вывести десять последних записей из журнала загрузки ядра

#tail /var/log/dmesg

вывести десять последних записей из системного журнала

#tail /var/log/messages

Другие полезные команды

выводит список комманд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду

#apropos …keyword

вызов руководства по работе с программой, в данном случае, — ping

#man ping

отображает описание действий указанной программы

#whatis …keyword

создаёт загрузочный флоппи-диск

#mkbootdisk --device /dev/fd0 `uname -r`

шифрует файл file1 с помощью GNU Privacy Guard

#gpg -c file1

дешифрует файл file1 с помощью GNU Privacy Guard

#gpg file1.gpg

загружает рекурсивно содержимое сайта http://www.example.com

#wget -r http://www.example.com

загрузить файл http://www.example.com/file.iso с возможностью останова и продолжения в последствии

#wget -c http://www.example.com/file.iso

начать закачку в указанное время

#echo 'wget -c http://www.example.com/files.iso' | at 09:00

вывести список библиотек, необходимых для работы ssh

#ldd /usr/bin/ssh

назначить алиас hh команде history

#alias hh='history'

вывести полный путь к исполняемому файлу программы и справки к ней.

#whereis ping

Отзывы

Slider

Подпишись на нашу рассылку

Подписывайся и получай ежедневную информацию. Будьте в курсе последних новостей, получайте свежие статьи и видео обзоры.