Шпаргалка по командам Linux

3011
Шпаргалка по командам Linux
Шпаргалка по командам Linux

Эта шпаргалка предлагает набор команд, которые вы можете использовать для быстрой справки. Я подготовил эту шпаргалку по командам Linux в качестве краткого справочника как для опытных, так и для начинающих пользователей.

Права на файлы в Linux

КомандаОписание
chgrp group1 file1сменить группу-владельца файла file1 на group1
chmod ugo+rwx directory1добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) – всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1
chmod go-rwx directory1отобрать у группы и всех остальных все полномочия на директорию directory1
chmod u+s /bin/file1назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.
chmod u-s /bin/file1снять SUID-бит с файла /bin/binary_file
chmod g+s /home/publicназначить SGID-бит директории /home/public
chmod g-s /home/publicснять SGID-бит с директории /home/public
chmod o+t /home/publicназначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам
chmod o-t /home/publicснять STIKY-бит с директории /home/public
chown user1 file1назначить владельцем файла file1 пользователя user1
chown -R user1 directory1назначить рекурсивно владельцем директории directory1 пользователя user1
chown user1:group1 file1сменить владельца и группу владельца файла file1
find / -perm -u+sнайти, начиная от корня, все файлы с выставленным SUID
ls -lhпросмотр полномочий на файлы и директории в текущей директории
ls /tmp | pr -T5 -W$COLUMNSвывести содержимое директории /tmp и разделить вывод на пять колонок

 

 Пользователи и группы в Linux

КомандаОписание
chage -E 2005-12-31 user1установить дату окончания действия учётной записи пользователя user1
groupadd [group]создать новую группу с именем group_name
groupdel [group]удалить группу group_name
groupmod -n moon sunпереименовать группу moon в sun
grpckпроверяет корректность системных файлов учётных записей. Проверяется файл/etc/group
newgrp – [group]изменяет первичную группу текущего пользователя. Если указать “-“, ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwd
passwdсменить пароль
passwd user1сменить пароль пользователя user1 (только root)
pwckпроверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadow
useradd -c “User Linux” -g admin -d /home/user1 -s /bin/bash user1создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell’а /bin/bash, включить его в группу admin и добавить комментарий User Linux
useradd user1создать пользователя user1
userdel -r user1удалить пользователя user1 и его домашний каталог
usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1изменить атрибуты пользователя

 

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

КомандаОписание
archвывести архитектуру компьютера
cal 2007отобразить календарь на 2007 год.
cat /proc/cpuinfoотобразить информацию о CPU (центральный процессор)
cat /proc/interruptsотобразить прерывания
cat /proc/meminfoпроверить используемую память
cat /proc/swapsотобразить фаил(ы) swap (виртуальная память)
cat /proc/versionотобразить версию ядра
cat /proc/net/devотобразить сетевые карты и статистику по ним
cat /proc/mountsотобразить примонтированные файловые системы
clock -wсохранить текущую системную дату в BIOS (Базовая Система Ввода Вывода)
dateотобразить текущую системную дату
date 041217002007.00установить дату и время МесяцДеньЧасМинутаГод.Секунда
dmidecode -qотобразить аппаратное оборудование системы (SMBIOS / DMI)
hdparm -i /dev/hdaотобразить характеристики жесткого диска
hdparm -tT /dev/sdaпротестировать производительность чтения данных с жесткого диска
lspci -tvотобразить устройства на PCI шине
lsusb -tvотобразить устройства на USB шине
uname -mотобразить архитектуру компьютера
uname -rотобразить используемую версию ядра

 

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

КомандаОписание
init 0выключить систему
logoutпокинуть сессию
rebootперезагрузка
shutdown -h nowвыключить систему
shutdown -h 16:30 &запланированное выключение системы на 16 часов 30 минут
shutdown -cотмена запланированного выключения системы
shutdown -r nowперезагрузка
telinit 0выключить систему

 

 Поиск файла в Linux

КомандаОписание
find / -name file1найти файлы и директории с именем file1. Поиск начать с корня (/)
find / -user user1найти файл и директорию принадлежащие пользователю user1. Поиск начать с корня (/)
find /home/user1 -name \*.binНайти все файлы и директории, имена которых оканчиваются на ‘. bin’. Поиск начать с ‘/ home/user1’
find /usr/bin -type f -atime +100найти все файлы в ‘/usr/bin’, время последнего обращения к которым более 100 дней
find /usr/bin -type f -mtime -10найти все файлы в ‘/usr/bin’, созданные или изменённые в течении последних 10 дней
find / -name *.rpm -exec chmod 755 ‘{}’ \;найти все фалы и директории, имена которых оканчиваются на ‘.rpm’, и изменить права доступа к ним
find / -xdev -name \*.rpmнайти все фалы и директории, имена которых оканчиваются на ‘.rpm’, игнорируя съёмные носители, такие как cdrom, floppy и т.п.
locate \*.psнайти все файлы, содержащие в имени ‘.ps’. Предварительно рекомендуется выполнить команду ‘updatedb’
whereis haltпоказывает размещение бинарных файлов, исходных кодов и руководств, относящихся к файлу ‘halt’
which haltотображает полный путь к файлу ‘halt’

 

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

КомандаОписание
fuser -km /mnt/hda2размонтировать устройство hda2 если оно занято
mount /dev/hda2 /mnt/hda2примонтировать диск с именем /dev/hda2 в папку с именем ‘/mnt/hda2’- перед монтированием проверьте существование папки ‘/mnt/hda2’
mount /dev/fd0 /mnt/floppyпримонтировать floppy disk (дисковод мягких магнитных дисков)
mount /dev/cdrom /mnt/cdromпримонтировать cdrom / dvdrom
mount /dev/hdc /mnt/cdrecorderпримонтировать cdrw / dvdrom
mount /dev/hdb /mnt/cdrecorderпримонтировать cdrw / dvdrom
mount -o loop file.iso /mnt/cdromпримонтировать фаил или ISO образ (ISO – образ диска в ISO формате)
mount -t vfat /dev/hda5 /mnt/hda5примонтировать раздел диска с Windows FAT32 файловой системой
mount /dev/sda1 /mnt/usbdiskпримонтировать USB накопитель
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/shareмонтировать сетевую файловую систему Windows (SMB/CIFS)
umount /dev/hda2отмонтировать диск с именем hda2 – незабудьте сначала выйти из точки монтирования ‘/mnt/hda2’
umount -n /mnt/hda2начать отмонтирование без записи в фаил /etc/mtab – используется когда фаил находится в режиме только чтение или жесткий диск переполнен

 

 Дисковое пространство в Linux

КомандаОписание
df -hотображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства
dpkg-query -W -f=’${Installed-Size;10}t${Package}n’ | sort -k1,1nпоказывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
du -sh dir1подсчитывает и выводит размер, занимаемый директорией ‘dir1’
du -sk * | sort -rnотображает размер и имена файлов и директорий, с соритровкой по размеру
ls -lSr |moreвыдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр
rpm -q -a –qf ‘%10{SIZE}t%{NAME}n’ | sort -k1,1nпоказывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)

 

 Права на файлы в Linux

КомандаОписание
chgrp group1 file1сменить группу-владельца файла file1 на group1
chmod ugo+rwx directory1добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) – всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1
chmod go-rwx directory1отобрать у группы и всех остальных все полномочия на директорию directory1
chmod u+s /bin/file1назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файла.
chmod u-s /bin/file1снять SUID-бит с файла /bin/binary_file
chmod g+s /home/publicназначить SGID-бит директории /home/public
chmod g-s /home/publicснять SGID-бит с директории /home/public
chmod o+t /home/publicназначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцам
chmod o-t /home/publicснять STIKY-бит с директории /home/public
chown user1 file1назначить владельцем файла file1 пользователя user1
chown -R user1 directory1назначить рекурсивно владельцем директории directory1 пользователя user1
chown user1:group1 file1сменить владельца и группу владельца файла file1
find / -perm -u+sнайти, начиная от корня, все файлы с выставленным SUID
ls -lhпросмотр полномочий на файлы и директории в текущей директории
ls /tmp | pr -T5 -W$COLUMNSвывести содержимое директории /tmp и разделить вывод на пять колонок

 

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

КомандаОписание
chattr +a file1позволить открывать файл на запись только в режиме добавления
chattr +c file1позволяет ядру автоматически сжимать/разжимать содержимое файла
chattr +d file1указавет утилите dump игнорировать данный файл во время выполнения backup’а
chattr +i file1делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на него
chattr +s file1позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращяет возможность восстановления данных
chattr +S file1указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды sync
chattr +u file1данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановить
lsattrпоказать атрибуты файлов

 

 Архивация и сжатие фаилов в Linux

КомандаОписание
bunzip2 file1.bz2разжимает файл ‘file1.bz2’
bzip2 file1сжимает файл ‘file1’
gunzip file1.gzразжимает файл ‘file1.gz’
gzip file1сжимает файл ‘file1’
gzip -9 file1сжать файл file1 с максимальным сжатием
rar a file1.rar test_fileсоздать rar-архив ‘file1.rar’ и включить в него файл test_file
rar a file1.rar file1 file2 dir1создать rar-архив ‘file1.rar’ и включить в него file1, file2 и dir1
rar x file1.rarраспаковать rar-архив
tar -cvf archive.tar file1создать tar-архив archive.tar, содержащий файл file1
tar -cvf archive.tar file1 file2 dir1создать tar-архив archive.tar, содержащий файл file1, file2 и dir1
tar -tf archive.tarпоказать содержимое архива
tar -xvf archive.tarраспаковать архив
tar -xvf archive.tar -C /tmpраспаковать архив в /tmp
tar -cvfj archive.tar.bz2 dir1создать архив и сжать его с помощью bzip2(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -xvfj archive.tar.bz2разжать архив и распаковать его(Прим.переводчика. ключ -j работает не во всех *nix системах)
tar -cvfz archive.tar.gz dir1создать архив и сжать его с помощью gzip
tar -xvfz archive.tar.gzразжать архив и распаковать его
unrar x file1.rarраспаковать rar-архив
unzip file1.zipразжать и распаковать zip-архив
zip file1.zip file1создать сжатый zip-архив
zip -r file1.zip file1 file2 dir1создать сжатый zip-архив и со включением в него нескольких файлов и/или директорий

 

 RPM пакеты

КомандаОписание
rpm -ivh [package.rpm]установить пакет с выводом сообщений и прогресс-бара
rpm -ivh –nodeeps [package.rpm]установить пакет с выводом сообщений и прогресс-бара без контроля зависимостей
rpm -U [package.rpm]обновить пакет без изменений конфигурационных файлов, в случае отсутствия пакета, он будет установлен
rpm -F [package.rpm]обновить пакет только если он установлен
rpm -e [package]удалить пакет
rpm -qaотобразить список всех пакетов, установленных в системе
rpm -qa | grep httpdсреди всех пакетов, установленных в системе, найти пакет содержащий в своём имени “httpd”
rpm -qi [package]вывести информацию о конкрентном пакете
rpm -qg “System Environment/Daemons”отобразить пакеты входящие в группу пакетов (fedora, redhat)
rpm -ql [package]вывести список файлов, входящих в пакет
rpm -qc [package]вывести список конфигурационных файлов, входящих в пакет
rpm -q [package] –whatrequiresвывести список пакетов, необходимых для установки конкретного пакета по зависимостям
rpm -q [package] –whatprovidesсписок предоставляемой функциональности
rpm -q [package] –scriptsотобразит скрипты, запускаемые при установке/удалении пакета
rpm -q [package] –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проверить целостность установленного содержимого пакета
rpm -V [package]проверить размер, полномочия, тип, владельца, группу, MD5-сумму и дату последнего изменеия пакета
rpm -Vaпроверить содержимое всех пакеты установленные в систему. Выполняйте с осторожностью!
rpm -Vp [package.rpm]проверить пакет, который ещё не установлен в систему
rpm -ivh /usr/src/redhat/RPMS/`arch`/[package.rpm]установить пакет, собранный из исходных кодов
rpm2cpio [package.rpm] | cpio –extract –make-directories *bin*извлечь из пакета файлы содержащие в своём имени bin
rpmbuild –rebuild [package.src.rpm]собрать пакет из исходных кодов

 

 YUM пакеты

КомандаОписание
yum -y install [package]закачать и установать пакет
yum localinstall [package.rpm]попытаться установить пакет RPM и все зависимые от него пакеты, используя ваши репозитории
yum -y updateобновить все пакеты, установленные в систему
yum update [package]обновить пакет
yum remove [package]удалить пакет
yum listвывести список всех пакетов, установленных в систему
yum search [package]найти пакет в репозитории
yum clean [package]очисть rpm-кэш, удалив закачанные пакеты
yum clean headersудалить все заголовки файлов, которые система использует для разрешения зависимостей
yum clean allочисть rpm-кэш, удалив закачанные пакеты и заголовки

 

 DEB пакеты

КомандаОписание
dpkg -i [package.deb]установить / обновить пакет
dpkg -r [package]удалить пакет из системы
dpkg -lпоказать все пакеты, установленные в систему
dpkg -l | grep httpdсреди всех пакетов, установленных в системе, найти пакет содержащий в своём имени “httpd”
dpkg -s [package]отобразить инфрмацию о конкретном пакете
dpkg -L [package]вывести список файлов, входящих в пакет, установленный в систему
dpkg –contents [package.deb]отобразить список файлов, входящих в пакет, который ешё не установлен в систему
dpkg -S /bin/pingнайти пакет, в который входит указанный файл.

 

 APT – средство управление пакетами DEB

КомандаОписание
apt-cache search [package]возвращает список пакетов, которые соответствуют строке ‘package’
apt-cdrom install [package]установить / обновить пакет с cdrom’а
apt-get install [package]установить / обновить пакет
apt-get updateполучить обновлённые списки пакетов
apt-get upgradeобновить пакеты, установленные в систему
apt-get remove [package]удалить пакет, установленный в систему с сохранением файлов конфигурации
apt-get checkпроверить целостность зависимостей
apt-get cleanудалить загруженные архивные файлы пакетов

 

 Pacman packages tool (Arch, Frugalware and alike)

КомандаОписание
pacman -S nameустановить пакет ‘name’ и зависимые от него пакеты
pacman -R nameдля пакетного менеджера pacman: удаление пакета с названием “name”, всех его файлов

 

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

КомандаОписание
cat file1Отобразить содержимое файла начиная с первой строки
head -2 file1Отобразить две первые строки файла
less file1Аналогична команде “more” но позволяет перемещаться по содержимому вперед и назад
more file1Отобразить содержимое файла постранично
tac file1Отобразить содержимое файла начиная с последней строки
tail -2 file1Отобразить две последнии строки файла
tail -f /var/log/messagesОтобразить в реальном времени что добавляется в фаил

 

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

КомандаОписание
cat example.txt | awk ‘NR%2==1’при выводе содержимого файла, не выводить чётные строки файла
echo a b c | awk ‘{print $1}’вывести первую колонку. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
echo a b c | awk ‘{print $1,$3}’вывести первую и треью колонки. Разделение, по-умолчанию, по проблелу/пробелам или символу/символам табуляции
cat -n file1пронумеровать строки при выводе содержимого файла
comm -1 file1 file2сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file1’
comm -2 file1 file2сравнить содержимое двух файлов, не отображая строки принадлежащие файлу ‘file2’
comm -3 file1 file2сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
diff file1 file2сравнить два файла
grep Aug /var/log/messagesиз файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие “Aug”
grep ^Aug /var/log/messagesиз файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, начинающиеся на “Aug”
grep [0-9] /var/log/messagesиз файла ‘/var/log/messages’ отобрать и вывести на стандартное устройство вывода строки, содержащие цифры
grep Aug -R /var/log/*отобрать и вывести на стандартное устройство вывода строки, содержащие “Aug”, во всех файлах, находящихся в директории /var/log и ниже
paste file1 file2объединить содержимое file1 и file2 в виде таблицы: строка 1 из file1 = строка 1 колонка 1-n, строка 1 из file2 = строка 1 колонка n+1-m
paste -d ‘+’ file1 file2объединить содержимое file1 и file2 в виде таблицы с разделителем “+”
sdiff file1 file2распечатка несоответствий в файлах в виде таблицы построчного сравнения
sed ‘s/string1/string2/g’ example.txtв файле example.txt заменить “string1” на “string2”, результат вывести на стандартное устройство вывода
sed ‘/^$/d’ example.txtудалить пустые строки и комментарии из файла example.txt
sed ‘/ *#/d; /^$/d’ example.txtудалить пустые строки и комментарии из файла example.txt
sed -e ‘1d’ exampe.txtудалить первую строку из файла example.txt
sed -n ‘/string1/p’отобразить только строки содержашие “string1”
sed -e ‘s/ *$//’ example.txtудалить пустые символы в в конце каждой строки
sed -e ‘s/string1//g’ example.txtудалить строку “string1” из текста не изменяя всего остального
sed -n ‘1,5p’ example.txtвзять из файла с первой по восьмую строки и из них вывести первые пять
sed -n ‘5p;5q’ example.txtвывести пятую строку
sed -e ‘s/00*/0/g’ example.txtзаменить последовательность из любого количества нулей одним нулём
sort file1 file2отсортировать содержимое двух файлов
sort file1 file2 | uniqотсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -uотсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -dотсортировать содержимое двух файлов, отображая только повторяющиеся строки
echo ‘word’ | tr ‘[:lower:]’ ‘[:upper:]’преобразовать символы из нижнего регистра в верхний
dos2unix filedos.txt fileunix.txtконвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата коретки)
recode ..HTML < page.txt > page.htmlконвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | moreвывести список доступных форматов
unix2dos fileunix.txt filedos.txtконвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)

 

 Сети в Linux

КомандаОписание
dhclient eth0включить на сетевом интерфейсе ‘eth0’ режим DHCP
ethtool eth0отобразить статистику по сетевому интерфейсу eth0
host www.example.comразрешить имя www.example.org хоста в ip-адрес и наоборот
hostnameотобразить имя компьютера
ifconfig eth0отобразить настройку сетевой карты eth0
ifconfig eth0 192.168.1.1 netmask 255.255.255.0Настроить IP адрес и маску подсети для сетевого интерфейса eth0
ifconfig eth0 promiscперевести интерфейс eth0 в promiscuous-режим для “отлова” пакетов (sniffing)
ifdown eth0отключить сетевой интерфейс ‘eth0’
ifup eth0включить сетевой интерфейс ‘eth0’
ip link showотобразить статус связи всех сетевых интерфейсов
iwconfig eth1показать конфигурацию беспроводного сетевого интерфейса eth1
iwlist scanпросканировать эфир на предмет, доступности беспроводных точек доступа
mii-tool eth0отобразить статус связи для сетевого интерфейса ‘eth0’
netstat -tupотображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, обеспечивающих эти соединения
netstat -tuplотображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID’ы и имена процессов, слушающих порты
netstat -rnпоказать таблицу маршрутизации, как командой “route -n”
nslookup www.example.comразрешить имя www.example.org хоста в ip-адрес и наоборот
route -nвывести локальную таблицу маршрутизации
route add -net 0/0 gw IP_Gatewayзадать ip-адрес шлюза по умолчанию (default gateway)
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1
route del 0/0 gw IP_gatewayудалить ip-адрес шлюза по умолчанию (default gateway)
echo “1” > /proc/sys/net/ipv4/ip_forwardразрешить пересылку пакетов (forwarding)
tcpdump tcp port 80отобразить весь трафик на TCP-порт 80 (обычно – HTTP)
whois www.example.comВыдаёт результаты для whois (регистратор домена, владелец сервера, проч.)

 

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

КомандаОписание
badblocks -v /dev/hda1проверить раздел hda1 на наличие bad-блоков
dosfsck /dev/hda1проверить/восстановить целостность файловой системы fat раздела hda1
e2fsck /dev/hda1проверить/восстановить целостность файловой системы ext2 раздела hda1
e2fsck -j /dev/hda1проверить/восстановить целостность файловой системы ext3 раздела hda1 с указанием, что журнал расположен там же
fsck /dev/hda1проверить/восстановить целостность linux-файловой системы раздела hda1
fsck.ext2 /dev/hda1проверить/восстановить целостность файловой системы ext2 раздела hda1
fsck.ext3 /dev/hda1проверить/восстановить целостность файловой системы ext3 раздела hda1
fsck.vfat /dev/hda1проверить/восстановить целостность файловой системы fat раздела hda1
fsck.msdos /dev/hda1проверить/восстановить целостность файловой системы fat раздела hda1

 

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

КомандаОписание
fdformat -n /dev/fd0форматирование флоппи-диска без проверки
mke2fs /dev/hda1создать файловую систему ext2 на разделе hda1
mke2fs -j /dev/hda1создать журналирующую файловую систему ext3 на разделе hda1
mkfs /dev/hda1создать linux-файловую систему на разделе hda1
mkfs -t vfat 32 -F /dev/hda1создать файловую систему FAT32 на разделе hda1
mkswap /dev/hda3создание swap-пространства на разделе hda3

 

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

КомандаОписание
mkswap /dev/hda3создание swap-пространства на разделе hda3
swapon /dev/hda3активировать swap-пространство, расположенное на разделе hda3
swapon /dev/hda2 /dev/hdb3активировать swap-пространства, расположенные на разделах hda2 и hdb3

 

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

КомандаОписание
find /var/log -name ‘*.log’ | tar cv –files-from=- | bzip2 > log.tar.bz2поиск в /var/log всех файлов, имена которых оканчиваются на ‘.log’, и создание bzip-архива из них
find /home/user1 -name ‘*.txt’ | xargs cp -av –target-directory=/home/backup/ –parentsпоиск в /home/user1 всех файлов, имена которых оканчиваются на ‘.txt’, и копирование их в другую директорию
dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr ‘dd of=hda.gz’сделать “слепок” локального диска в файл на удалённом компьютере через ssh-туннель
dd if=/dev/sda of=/tmp/file1бэкапит содержимое жесткого диска в файл file1
dd if=/dev/hda of=/dev/fd0 bs=512 count=1создать копию MBR (Master Boot Record) с /dev/hda на флоппи-диск
dd if=/dev/fd0 of=/dev/hda bs=512 count=1восстановить MBR с флоппи-диска на /dev/hda
dump -0aj -f /tmp/home0.bak /homeсоздать полную резервную копию директории /home в файл /tmp/home0.bak
dump -1aj -f /tmp/home0.bak /homeсоздать инкрементальную резервную копию директории /home в файл /tmp/home0.bak
restore -if /tmp/home0.bakвосстановить из резервной копии /tmp/home0.bak
rsync -rogpav –delete /home /tmpсинхронизировать /tmp с /home
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-туннель со сжатием
tar -Puf backup.tar /home/userсоздать инкрементальную резервную копию директории ‘/home/user’ в файл backup.tar с сохранением полномочий
( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr ‘cd /home/share/ && tar x -p’копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/
( tar c /home ) | ssh -C user@ip_addr ‘cd /home/backup-home && tar x -p’копирование содержимого /home на удалённый компьютер через ssh-туннель в /home/backup-home
tar cf – . | (cd /tmp/backup ; tar xf – )копирование одной директории в другую с сохранением полномочий и линков

 

 CD-ROM

КомандаОписание
cd-paranoia -BПеренести аудио-треки с компакт-диска в wav-файлы.
cd-paranoia —Перенести три аудио-трека с компакт-диска в wav-файлы.
cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -forceОчистить перезаписываемый компакт-диск.
cdrecord -v dev=/dev/cdrom cd.isoЗаписать ISO-образ на компакт-диск.
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom –Записать сжатый ISO-образ на компакт-диск.
cdrecord –scanbusСканировать системную шину, чтобы найти идентификаторы каналов SCSI.
dd if=/dev/hdc | md5sumПосчитать контрольную сумму MD5 на устройстве, например, компакт-диске.
mkisofs /dev/cdrom > cd.isoСоздать ISO-образ компакт-диска.
mkisofs /dev/cdrom | gzip > cd_iso.gzСоздать сжатый ISO-образ компакт-диска.
mkisofs -J -allow-leading-dots -R -VСоздать ISO-образ из содержимого директории.
mount -o loop cd.iso /mnt/isoСмонтировать ISO-образ компакт-диска в файловую систему.

 

 SAMBA

КомандаОписание
mount -t smbfs -o username=user,password=pass //WinClient/share /mnt/shareсмонтировать smb-ресурс, предоставленный на windows-машине, в локальную файловую систему
nbtscan ip_addrразрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba
nmblookup -A ip_addrразрешить netbios-имя nbtscan не во всех системах ставится по-умолчанию, возможно, придётся доустанавливать вручную. nmblookup включен в пакет samba
smbclient -L ip_addr/hostnameотобразить ресурсы, предоставленные в общий доступ на windows-машине
smbget -Rr smb://ip_addr/shareподобно wget может получить файлы с windows-машин через smb-протокол

 

 IPTABLES (firewall) в Linux

КомандаОписание
iptables -t filter -Lотобразить все цепочки правил
iptables -t nat -Lотобразить все цепочки правил в NAT-таблице
iptables -t filter -Fочистить все цепочки правил в filter-таблице
iptables -t nat -Fочистить все цепочки правил в NAT-таблице
iptables -t filter -Xудалить все пользовательские цепочки правил в filter-таблице
iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPTпозволить входящее подключение telnet’ом
iptables -t filter -A OUTPUT -p tcp –dport http -j DROPблокировать исходящие HTTP-соединения
iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPTпозволить “прокидывать” (forward) POP3-соединения
iptables -t filter -A INPUT -j LOG –log-prefixвключить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса “DROP INPUT”
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEвключить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами.
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перенаправление пакетов, адресованных одному хосту, на другой хост

 

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

КомандаОписание
free -mпоказать состояние оперативной памяти в мегабайтах
kill -9 process_id“убить” процесс с PID process_id(номер, на “PS-EF”) “на смерть” (без соблюдения целостности данных)
kill -1 process_idзаставить процесс с PID process_id(номер, на “PS-EF”) перепрочитать файл конфигурации
last rebootотобразить историю перезагрузок системы
lsmodвывести загруженные модули ядра
lsof -p process_idотобразить список файлов, открытых процессом с PID
lsof /home/user1отобразить список открытых файлов из директории /home/user1
ps -eafwотобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (единожды)
ps -e -o pid,args –forestвывести PID’ы и процессы в виде дерева
pstreeотобразить дерево процессов
smartctl -A /dev/hdaконтроль состояния жёсткого диска /dev/hda через SMART
smartctl -i /dev/hdaпроверить доступность SMART на жёстком диске /dev/hda
strace -c ls >/dev/nullвывести список системных вызовов, созданных и полученных процессом ls
strace -f -e open ls >/dev/nullвывести вызовы бибилотек
tail /var/log/dmesgвывести десять последних записей из журнала загрузки ядра
tail /var/log/messagesвывести десять последних записей из системного журнала
topотобразить запущенные процессы, используемые ими ресурсы и другую полезную информацию (с автоматическим обновлением данных)
watch -n1 ‘cat /proc/interrupts’отображать прерывания в режиме реального времени

 

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

КомандаОписание
alias hh=’history’назначить алиас hh команде history
apropos …keywordвыводит список комманд, которые так или иначе относятся к ключевым словам. Полезно, когда вы знаете что делает программа, но не помните команду
chshизменить командную оболочку (на след. логин в системе)
chsh –list-shellsОтображение командных оболочек (не работает в Ubuntu), заменяется “less /etc/shells”
gpg -c file1шифрует файл file1 с помощью GNU Privacy Guard
gpg file1.gpgдешифрует файл file1 с помощью GNU Privacy Guard
ldd /usr/bin/sshвывести список библиотек, необходимых для работы ssh
man pingвызов руководства по работе с программой, в данном случае, – ping
mkbootdisk –device /dev/fd0 `uname -r`создаёт загрузочный флоппи-диск
wget -r www.example.comзагружает рекурсивно содержимое сайта www.example.com
wget -c www.example.com/file.isoзагрузить файл www.example.com/file.iso с возможностью останова и продолжения в последствии
echo ‘wget -c www.example.com/files.iso’ | at 09:00начать закачку в указанное время
whatis …keywordотображает описание действий указанной программы
who -aпоказывает пользователей, залогинившихся на данной машине, выводит: время последней загрузки системы, мёртвые (зомби) – процессы, процессы логина в ОС, активные процессы, созданные init (демоны), уровень выполнения, последнюю дату смены настроек часов