Команды Linux на одном листе

Иногда так длительно приходится находить кое какие команды для Linux CentOS, Debian, Ubuntu что пришлось собрать их на одном листе

Команда

Описание

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

arch

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

uname -m

uname -r

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

dmidecode -q

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

hdparm -i /dev/hda

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

hdparm -tT /dev/sda

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

cat /proc/cpuinfo

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

cat /proc/interrupts

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

cat /proc/meminfo

проверить внедрение памяти

cat /proc/swaps

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

cat /proc/version

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

cat /proc/net/dev

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

cat /proc/mounts

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

lspci -tv

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

lsusb -tv

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

date

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

cal 2007

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

date 041217002007.00

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

clock -w

сохранить системное время в BIOS

Остановка системы

shutdown -h now

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

init 0

telinit 0

shutdown -h hours:minutes &

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

shutdown -c

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

shutdown -r now

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

reboot

logout

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

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

cd /home

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

cd ..

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

cd ../..

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

cd

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

cd ~user

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

cd —

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

pwd

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

ls

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

ls -F

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

ls -l

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

ls -a

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

ls *[0-9]*

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

tree

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

lstree

mkdir dir1

сделать директорию с именованием ‘dir1’

mkdir dir1 dir2

сделать две директории сразу

mkdir -p /tmp/dir1/dir2

сделать дерево директорий

rm -f file1

удалить файл с именованием ‘file1’

rmdir dir1

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

rm -rf dir1

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

rm -rf dir1 dir2

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

mv dir1 new_dir

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

cp file1 file2

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

cp dir/* .

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

cp -a /tmp/dir1 .

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

cp -a dir1 dir2

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

ln -s file1 lnk1

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

ln file1 lnk1

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

touch -t 0712250000 fileditest

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

Поиск файлов

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’

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

mount /dev/hda2 /mnt/hda2

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

umount /dev/hda2

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

fuser -km /mnt/hda2

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

umount -n /mnt/hda2

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

mount /dev/fd0 /mnt/floppy

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

mount /dev/cdrom /mnt/cdrom

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

mount /dev/hdc /mnt/cdrecorder

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

mount -o loop file.iso /mnt/cdrom

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

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

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

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

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

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

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

Дисковое место

df -h

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

ls -lSr |more

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

du -sh dir1

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

du -sk * | sort -rn

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

rpm -q -a --qf ‘%10SIZEt%NAMEn’ | sort -k1,1n

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

dpkg-query -W -f=’$Installed-Size;10t$Packagen’ | sort -k1,1n

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

Юзеры и группы

groupadd group_name

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

groupdel group_name

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

groupmod -n new_group_name old_group_name

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

useradd -c «Nome Cognome» -g admin -d /home/user1 -s /bin/bash user1

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

useradd user1

сделать юзера user1

userdel -r user1

удалить юзера user1 и его домашний каталог

usermod -c «User FTP» -g system -d /ftp/user1 -s /bin/nologin user1

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

passwd

поменять пароль

passwd user1

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

chage -E 2005-12-31 user1

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

pwck

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

grpck

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

newgrp [-] group_name

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

Выставление/изменение возможностей на файлы

ls -lh

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

ls /tmp | pr -T5 -W$COLUMNS

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

chmod ugo+rwx directory1

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

chmod go-rwx directory1

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

chown user1 file1

назначить обладателем файла file1 юзера user1

chown -R user1 directory1

назначить рекурсивно обладателем директории directory1 юзера user1

chgrp group1 file1

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

chown user1:group1 file1

поменять обладателя и группу обладателя файла file1

find / -perm -u+s

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

chmod u+s /bin/binary_file

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

chmod u-s /bin/binary_file

снять 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

Особые атрибуты файлов

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

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

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

bunzip2 file1.bz2

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

gunzip file1.gz

gzip file1

сжимает файл ‘file1’

bzip2 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

unrar 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

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

zip file1.zip file1

сделать сжатый zip-архив

zip -r file1.zip file1 file2 dir1

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

unzip file1.zip

разжать и распаковать 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

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

rpm -qa | grep httpd

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

rpm -qi package_name

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

rpm -qg «System Environment/Daemons»

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

rpm -ql package_name

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

rpm -qc package_name

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

rpm -q package_name --whatrequires

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

rpm -q package_name --whatprovides

show capability provided by a rpm package

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

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

rpm -V package_name

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

rpm -Va

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

rpm -Vp package.rpm

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

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

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

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

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

rpmbuild --rebuild package_name.src.rpm

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

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

yum install package_name

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

yum update

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

yum update package_name

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

yum remove package_name

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

yum list

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

yum search package_name

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

yum clean packages

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

yum clean headers

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

yum clean all

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

DEB пакеты (Debian, Ubuntu и тому схожее)

dpkg -i package.deb

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

dpkg -r package_name

удалить пакет из системы

dpkg -l

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

dpkg -l | grep httpd

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

dpkg -s package_name

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

dpkg -L package_name

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

dpkg --contents package.deb

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

dpkg -S /bin/ping

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

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

apt-get install package_name

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

apt-cdrom install package_name

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

apt-get update

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

apt-get upgrade

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

apt-get remove package_name

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

apt-get purge package_name

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

apt-get check

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

apt-get clean

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

apt-get autoclean

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

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

cat file1

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

tac file1

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

more file1

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

less file1

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

head -2 file1

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

tail -2 file1

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

tail -f /var/log/messages

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

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

cat file | grep -i «Criteria» > result.txt

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

cat file | grep -i «Criteria» >> result.txt

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

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 и ниже

sed ‘s/stringa1/stringa2/g’ example.txt

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

sed '/^$/d’ example.txt

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

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

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

echo ‘test’ | tr ‘[:lower:]’ ‘[:upper:]’

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

sed -e ‘1d’ result.txt

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

sed -n ‘/string1/p’

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

sed -e ‘s/ *$//‘ example.txt

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

sed -e ‘s/string1//g’ example.txt

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

sed -n ‘1,8p;5q’ example.txt

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

sed -n ‘5p;5q’ example.txt

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

sed -e ‘s/0*/0/g’ example.txt

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

cat -n file1

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

cat example.txt | awk ‘NR%2==1’

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

echo a b c | awk ‘print $1’

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

echo a b c | awk ‘print $1,$3’

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

paste file1 file2

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

paste -d ‘+’ file1 file2

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

sort file1 file2

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

sort file1 file2 | uniq

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

sort file1 file2 | uniq -u

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

sort file1 file2 | uniq -d

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

comm -1 file1 file2

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

comm -2 file1 file2

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

comm -3 file1 file2

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

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

dos2unix filedos.txt fileunix.txt

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

unix2dos fileunix.txt filedos.txt

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

recode ..HTML page.html

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

recode -l | more

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

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

badblocks -v /dev/hda1

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

fsck /dev/hda1

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

fsck.ext2 /dev/hda1

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

e2fsck /dev/hda1

e2fsck -j /dev/hda1

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

fsck.ext3 /dev/hda1

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

fsck.vfat /dev/hda1

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

fsck.msdos /dev/hda1

dosfsck /dev/hda1

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

mkfs /dev/hda1

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

mke2fs /dev/hda1

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

mke2fs -j /dev/hda1

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

mkfs -t vfat 32 -F /dev/hda1

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

fdformat -n /dev/fd0

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

mkswap /dev/hda3

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

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

mkswap /dev/hda3

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

swapon /dev/hda3

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

swapon /dev/hda2 /dev/hdb3

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

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

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-туннель со сжатием

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

сделать «слепок» локального диска в файл на удалённом компьютере через 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 — )

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

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

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

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

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

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

CDROM

cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force

clean a rewritable cdrom

mkisofs /dev/cdrom > cd.iso

create an iso image of cdrom on disk

mkisofs /dev/cdrom | gzip > cd_iso.gz

create a compressed iso image of cdrom on disk

mkisofs -J -allow-leading-dots -R -V «Label CD» -iso-level 4 -o ./cd.iso data_cd

create an iso image of a directory

cdrecord -v dev=/dev/cdrom cd.iso

burn an ISO image

gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom —

burn a compressed ISO image

mount -o loop cd.iso /mnt/iso

mount an ISO image

cd-paranoia -B

rip audio tracks from a CD to wav files

cd-paranoia -- «-3»

rip first three audio tracks from a CD to wav files

cdrecord --scanbus

scan bus to identify the channel scsi

Сеть (LAN и WiFi)

ifconfig eth0

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

ifup eth0

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

ifdown eth0

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

ifconfig eth0 192.168.1.1 netmask 255.255.255.0

выставить интерфейсу eth0 айпишник и маску сабсети

ifconfig eth0 promisc

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

ifconfig eth0 -promisc

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

dhclient eth0

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

route -n

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

netstat -rn

route add -net 0/0 gw IP_Gateway

задать айпишник шлюза по дефлоту (default gateway)

route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1

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

route del 0/0 gw IP_gateway

удалить айпишник шлюза по дефлоту (default gateway)

echo «1» > /proc/sys/net/ipv4/ip_forward

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

hostname

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

host www.yandex.ru

разрешить имя www.yandex.ru хоста в айпишник и напротив

host 93.158.134.3

ip link show

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

mii-tool eth0

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

ethtool eth0

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

netstat -tupn

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

netstat -tupln

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

tcpdump tcp port 80

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

iwlist scan

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

iwconfig eth1

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

traceroute www.ya.ru

Трассировка маршрута до обозначенного хоста (www.ya.ru), аналог tracert в Windows. В неких дистрибутивах установлен по-умолчанию только traceroute6 и придётся доустанавливать вручную.

Microsoft Windows networks(SAMBA)

nbtscan ip_addr

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

nmblookup -A ip_addr

smbclient -L ip_addr/hostname

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

smbget -Rr smb://ip_addr/share

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

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

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

IPTABLES (firewall)

iptables -t filter -nL

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

iptables -nL

iptables -t nat -L

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

iptables -t filter -F

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

iptables -F

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 «DROP INPUT»

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

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

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

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

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

ps -e -o pid,args --forest

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

pstree

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

kill -9 98989

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

kill -KILL 98989

kill -TERM 98989

Корректно окончить процесс с PID 98989

kill -1 98989

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

kill -HUP 98989

lsof -p 98989

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

lsof /home/user1

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

strace -c ls > /dev/null

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

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

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

watch -n1 ‘cat /proc/interrupts’

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

last reboot

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

last user1

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

lsmod

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

free -m

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

smartctl -A /dev/hda

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

smartctl -i /dev/hda

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

tail /var/log/dmesg

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

tail /var/log/messages

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

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

apropos …keyword

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

man ping

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

whatis …keyword

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

mkbootdisk --device /dev/fd0 uname -r

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

gpg -c file1

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

gpg file1.gpg

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

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

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

ldd /usr/bin/ssh

вывести перечень библиотек, нужных для работы ssh

alias hh=’history’

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

---

Команды Linux на одном листе

Похожие новости

Добавить комментарий

Автору будет очень приятно узнать обратную связь о своей новости.

Кликните на изображение чтобы обновить код, если он неразборчив

Комментариев 0