ШПАРГАЛКА. Команды Unix - Linux -Ubuntu. Команды linux ubuntu


10 базовых команд Linux для новичков, примеры. Linux статьи

Не каждому пользователю Linux нужно уметь работать в командной строке. Но рано или поздно настанет момент, когда нужно будет выполнить в терминале какие-нибудь минимальные действия. Случаи могут быть абсолютно разные — настройка системы, восстановление, копирование данных при сбое и так далее.

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

1. ls

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

Чтобы вывести список файлов в директории /home/vasya/.ssh выполните:

ls /home/vasya/.ssh

2. cd

Команда cd используется для перехода по дереву директорий (перехода в другую папку).

Например, чтобы перейти в директорию /home/vasya/.local нужно выполнить

cd /home/vasya/.local

3. mv

Команда mv используется для перемещения (или переименования) файлов и директорий.

Например, чтобы переместить директорию /home/vasya/documents в директорию /home/vasya/secret выполните:

mv /home/vasya/documents /home/vasya/secret

4. cp

Команда cp создает копию файла или директории.

Чтобы скопировать файл messages.log в файл messages.log.bak выполните:

cp messages.log messages.log.bak

Чтобы скопировать директорию, необходимо после команды добавить аргумент -r. Например, скопируем директорию drivers в display-drivers:

cp -r drivers display-drivers

5. sudo

Команда sudo используется для выполнения других команд от имени суперпользователя. Но пользоваться ей нужно аккуратно, так как можно повредить систему.

Например, если вы попытаетесь создать копию файла в «системной» директории /etc, то получите предупреждение Permission denied. Поэтому в данном случае команду нужно выполнять от имени суперпользователя, например:

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak

6. touch

Командой touch можно создать пустой файл.

Например, создадим пустой файл path.dat:

touch path.dat

7. find

Команда find предназначена для поиска файлов. Да, это не самая простая команда, но ее знание очень полезно. Для начала достаточно запомнить как искать файлы и директории по имени или по маске (части имени).

Например, найдем в текущей директории все файлы (и директории), имя которых начинается на document, и заканчивается .odt (это могут быть файлы document-history.odt, document1.odt, document.odt, document-linux.odt):

find . -name "document*.odt"

Пояснение: символ точки после команды означает, что осуществляем поиск в текущей директории (и во всех директориях внутри текущей). После аргумента -name в кавычках записывается имя файла или маска (шаблон), по которой мы ищем. Символ звездочка в маске означает, что вместо звездочки могут быть любые символы.

8. cat

Команда cat выводит содержимое указанного файла на экран.

Например, чтобы просмотреть содержимое файла /var/log/auth.log выполните:

cat /var/log/auth.log

9. nano

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

Например, чтобы создать или отредактировать существующий файл ftp.cfg выполните:

nano ftp.cfg

Откроется текстовый редактор. Внесите изменения в файл. Затем нажмите сочетание клавиш Ctrl+x и введите y, чтобы сохранить изменения и выйти (или введите n, чтобы закрыть файл без сохранения изменений).

10. mkdir

Команда mkdir создает пустую директорию.

Например, чтобы создать директорию backup, выполните:

mkdir backup

rm и rmdir

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

Например удалим файл veryimportantfile.dat:

rm veryimportantfile.dat

Для удаления директории воспользуемся командной rmdir. Например, удалим директорию photos:

rmdir photos

apt или apt-get

И еще одна важная команда для тех, кто использует Ubuntu. apt — это менеджер пакетов, который служит для установки и удаления программ (пакетов), обновления системы.

Например, чтобы установить консольный файловый менеджер Midnight Commander, выполните:

sudo apt install mc

Если apt недоступен, то используйте apt-get:

sudo apt-get install mc

Что-то еще?

Уверен, что не написал еще массу важных команд. Поэтому добавляйте в комментарии другие must have команды, которые, на ваш взгляд, будут очень полезны для новичков.

pingvinus.ru

Linux команды консоли

Автор: admin.

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

  Вообще, консольных утилит существует превеликое множество, но здесь мы в кратце, в качестве примера, рассмотрим лишь две из них, но очень важные и часто используемые. Утилита Apt-get, предназначенная для работы с программными пакетами. Для тех же, кто совершенно не признает консоль, может воспользоваться замечательной графической  оболочкой для Apt-get, под названием Synaptic (имеется в официальном репозитории).

Как пользоваться утилитой?

//основная формула

  sudo apt-get команда

//в качестве примера обновим все пакеты 

  sudo apt-get upgrade

  Основные команды apt-get при работе с пакетами.

apt-get update //обновление инф. о пакетах из репозитариев
apt-get upgrade //обновление всех пакетов
apt-get dist-upgrade //обновление системы в целом
apt-get clean  //чистит лок. хранилище, кроме файлов кэша 
apt-get autoclean  //тоже, что и clean, с удален. кэш-файлов 
apt-get check  //обновляет кэш и провер. неудовл. зависимости
apt-get autoremove  //удаление ранее скачаных, но ненужных пакетов 
apt-get remove  //удаление пакета с сохран. конфигурац. файлов 
apt-get purge  //удаление пакета со всеми зависимостями 
apt-get install  //установка пакета 
apt-get build-dep  //устанавл. все для сборки исходных пакетов 
apt-get source  //скачивает пакеты с исходниками 

  Параметры:

-h, --help //справка
-q, --quiet //скрыть индикатор процесса
-qq //не показывать ничего кроме ошибок
-d, --download-only  //только получить пакеты и выйти 
-s, --simulate  //выполнить симуляцию событий 
-y, --yes  //автом. отвечать "Да" на все вопросы 
--reinstall  //переустановить пакеты 
-f, --fix-broken  //исправить нарушенные зависимости 
-m, --ignore-missing  //игнорировать отсутствующие пакеты 
-u, --show-upgraded  //показать обновленные пакеты 
--no-upgrade  //не производить обновления пакетов 
-b, --compile, --build  //собрать пакет после получения 
-D  //при удалении, удалить зависящие компоненты 
-V  //подробно показывать номера версий пакетов 
--no-remove  //если пакеты отмеч. к удален., то apt-get выкл. 
--force-yes  //принудительное выполнение заданной операции 

  Прикол.

  apt-get moo

Должны увидеть корову, которая спрашивает: "Вы мычали сегодня?"

Утилита "aptitude". 

  Рассмотрим еще одну очень хорошую утилиту под названием "aptitude", фактически это тоже самое, что и "apt-get", но считается лучше, а также имеет псевдо-графический интерфейс. Принцип работы точно такой же, только вместо "apt-get", нужно вводить значение "aptitude". Сначала установим саму утилиту:

   sudo apt-get aptitude

  Теперь, если набрать: aptitude, то попадете в интерфейс программы.

  Рассмотрим некоторые команды:

  // Установка пакета.

   sudo aptitude пакет1 пакет2 пакет3

 Как видите, устанавливать можно сразу неограниченное количество пакетов одновременно. Сколько бы вы их не устанавливали, aptitude автоматически разрешит все зависимости, вам останется только согласится (y) и нажать (enter). Так же, по аналогии можно удалять пакеты:

  sudo aptitude remove имя_пакета1                         или  sudo aptitude purge имя_пакета1

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

   aptitude show имя_пакета

  Вообщем, эта утилита абсолютный аналог "apt-get", но при установке и удалении пакетов, желательно использовать ее, нежели "apt-get". Во всяком случае, на официальном сайте Ubuntu дают именно такие рекомендации.

Другие команды консоли.

Список команд, относящихся к информации.

hostname  //сетевое имя машины 
whoami  //имя текущего пользователя 
uname -m  //покажет архитектуру машины 
uname -r  //версия ядра 
sudo dmidecode -q  //информ. об аппарат. обеспечении системы 
cat /proc/cpuinfo  //информация о процессоре 
cat /proc/interrupts  //прерывания 
cat /proc/meminfo  //вся информация о памяти 
cat /proc/swaps  //вся информация про swap 
cat /proc/version  //версия ядра и другая информация 
cat /proc/net/dev  //сетевые интерфейсы и статистика 
cat /proc/mounts  //смонтированные устройства 
cat /proc/partitions  //доступные разделы 
cat /proc/modules  //загруженные модули ядра 
lspci -tv  //PCI устройства 
lsusb -tv  //USB устройства 
date  //текущая дата 
cal  //календарь и текущий месяц 
cal 2012  //покажет весь 201х год 

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

shutdown -h now  //выключить систему 
init 0  //выключить систему 
telinit 0  //выключить систему 
shutdown -h hours:minutes &  //запланировать выключение системы 
shutdown -c  //отменить запланированное выключение 
shutdown -r now  //перезагрузить систему 
reboot  //перезагрузить систему 
logout  //завершить сессию 

  Операции с файлами и не только...

cd /home //перейти в домашний каталог
cd .. //перейти на уровень выше
cd ../.. //перейти на 2 уровня выше
cd - //перейти в предыдущий каталог
pwd  //показать путь к текущей директории 
ls  //показать файлы и директории 
ls -F  //показать файлы и директории 
ls -l  //показ. подробности о файлах, директориях 
ls -a  //показать скрытые файлы 
mkdir dir1  //создать директорию с именем dir1 
mkdir dir1 dir2  //создать директории dir1 и dir2 
mkdir -p /tmp/dir1/dir2  //создать директорию в указанном месте 
rm -f file1  //удалить файл с именем file1 
rmdir dir1  //удалить директорию с именем dir1 
rm -rf dir1  //удалит директорию dir1 и всё её содержимое 
rm -rf dir1 dir2  //удалить директории dir1\dir2 и содержимое 
mv dir1 new_dir  //переименовать / переместить директорию 
cp  //копирование файлов/папок 
ln -s  //cоздать символическую ссылку 
chmod  //присвоение прав файлам 

  Поиск файлов и директорий.

Забыли, куда сохраняли? Не беда! В консоли найдётся всё.

find / -name file1  //искать файлы, дирек. начин. с / 
find / -user user1  //искать файлы, директ. с user1 
find /home/user1 -name \*.bin  //искать файлы .bin в /home/user1 
find /usr/bin -type f -atime +100  //иск. бин. файлы, незап. 100 дн. 
find /usr/bin -type f -mtime -10  //иск. файлы созд./изм. за 10 дн.
find / -name \*.deb -exec chmod 755 '{}' \;  //иск. файлы (.deb) и измен. права 
locate \*.ps  //найти файлы с расширением .ps 
whereis halt  //показать путь к программе halt 
which halt  //показ. полн. путь к програм. halt 

    На первый взгляд, все это может выглядеть несколько устрашающе, но это только на первый взгляд. Не стоит сразу бросаться в панику и сразу же, возвращаться к Windows(у). Современные дистрибутивы Linux, а Ubuntu в особенности, вполне позволяет вам обходиться без командной строки. Тем не менее, командная строка, в отдельных случаях намного бывает удобней, чем графический интерфейс. Также, совсем необязательно заучивать все эти команды наизусть, достаточно будет создать текстовый файл, скопировать в него все содержимое и держать его поблизости, как шпаргалку, которой при необходимости можно воспользоваться.

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

Справочники команд Linux:   http://books.tr200.ru/v.php?id=278389

 

www.linux-info.ru

Команды Linux (Ubuntu, Debian) / Linux / stD

cat -n file1 — пронумеровать строки при выводе содержимого файлаcat example.txt | awk 'NR%2==1' — при выводе содержимого файла, не выводить чётные строки файлаcat /proc/cpuinfo — отобразить информацию о процессореcat /proc/interrupts — показать прерыванияcat /proc/meminfo — проверить использование памятиcat /proc/swaps — показать файл(ы) подкачкиcat /proc/version — вывести версию ядраcat /proc/net/dev — показать сетевые интерфейсы и статистику по нимcat /proc/mounts — отобразить смонтированные файловые системыcal 2015 — вывести таблицу-календарь 2007-го годаclock -w — сохранить системное время в BIOScd /home — перейти в директорию '/home'cd .. — перейти в директорию уровнем вышеcd ../.. — перейти в директорию двумя уровнями вышеcd — перейти в домашнюю директориюcd ~user — перейти в домашнюю директорию пользователя usercd - — перейти в директорию, в которой находились до перехода в текущую директориюcp file1 file2 — скопировать файл file1 в файл file2cp dir/* . — копировать все файлы директории dir в текущую директориюcp -a /tmp/dir1 . — копировать директорию dir1 со всем содержимым в текущую директориюcp -a dir1 dir2 — копировать директорию dir1 в директорию dir2chage -E 2005-12-31 user1 — установить дату окончания действия учётной записи пользователя user1chmod ugo+rwx directory1 — добавить полномочия на директорию directory1 ugo(User Group Other)+rwx(Read Write eXecute) — всем полные права. Аналогичное можно сделать таким образом chmod 777 directory1chmod go-rwx directory1 — отобрать у группы и всех остальных все полномочия на директорию directory1chown user1 file1 — назначить владельцем файла file1 пользователя user1chown -R user1 directory1 — назначить рекурсивно владельцем директории directory1 пользователя user1chgrp group1 file1 — сменить группу-владельца файла file1 на group1chown user1:group1 file1 — сменить владельца и группу владельца файла file1chmod u+s /bin/binary_file — назначить SUID-бит файлу /bin/binary_file. Это даёт возможность любому пользователю запускать на выполнение файл с полномочиями владельца файлаchmod u-s /bin/binary_file — снять SUID-бит с файла /bin/binary_filechmod g+s /home/public — назначить SGID-бит директории /home/publicchmod g-s /home/public — снять SGID-бит с директории /home/publicchmod o+t /home/public — назначить STIKY-бит директории /home/public. Позволяет удалять файлы только владельцамchmod o-t /home/public — снять STIKY-бит с директории /home/publicchattr +a file1 — позволить открывать файл на запись только в режиме добавленияchattr +c file1 — позволяет ядру автоматически сжимать/разжимать содержимое файлаchattr +d file1 — указывает утилите dump игнорировать данный файл во время выполнения backup'аchattr +i file1 — делает файл недоступным для любых изменений: редактирование, удаление, перемещение, создание линков на негоchattr +s file1 — позволяет сделать удаление файла безопасным, т.е. выставленный атрибут s говорит о том, что при удалении файла, место, занимаемое файлом на диске заполняется нулями, что предотвращает возможность восстановления данныхchattr +S file1 — указывает, что, при сохранении изменений, будет произведена синхронизация, как при выполнении команды syncchattr +u file1 — данный атрибут указывает, что при удалении файла содержимое его будет сохранено и при необходимости пользователь сможет его восстановитьcat file1 — вывести содержимое файла file1 на стандартное устройство выводаcat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt — общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новыйcat file_originale | [operazione: sed, grep, awk, grepи т.п.] >> result.txt — общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в существующий файл. Если файл не существует, он будет созданcomm -1 file1 file2 — сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file1'comm -2 file1 file2 — сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file2'comm -3 file1 file2 — сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлахcdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force — clean a rewritable cdromcdrecord -v dev=/dev/cdrom cd.iso — записать ISO cd-paranoia -B — rip audio tracks from a CD to wav filescd-paranoia — "-3" — rip first three audio tracks from a CD to wav filescdrecord --scanbus — scan bus to identify the channel scsi

К разделамК алфавиту

istarik.ru

Команды Linux - Linux FAQ

Команда Linux в общем случае представлена либо исполняемым файлом, либо встроенной функцией командной оболочки. Например, cd, ls, echo и firefox являются командами. Действия, выполняемые в результате исполнения большинства этих команд, полностью описываются в рамках командной строки за исключением последней команды firefox. Более сложные команды сразу же после запуска взаимодействуют с пользователем в интерактивном режиме и называются приложениями. Многие, но не все приложения осуществляют интерактивное взаимодействие с пользователем посредством графического интерфейса или GUI.

Общая информация о командах

Команды могут вводиться пользователем сразу же после вывода командной оболочкой приветствия. В приведенных ниже примерах символ $, с которого начинается каждая из команд, является символом приветствия командной оболочки, который не должен вводиться пользователем. При необходимости исполнения команд от лица пользователя root в качестве символа приветствия командной оболочки будет использоваться символ #.

$ ls

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

$ ls -l /bin

В данном случае «-l /bin» является парой аргументов (отделенных друг от друга, а также от самой команды с помощью символов пробелов), причем «-l» является аргументом, который изменяет поведение команды ls (данный аргумент позволяет команде выводить подробный листинг содержимого директории), а «/bin» - просто указывает директорию, с которой должна работать команда ls.

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

$ cd /bin; ls

Да, это две команды в одной строке. Вы также можете разделить одну длинную команду на несколько строк, экранировав символ переноса строки с помощью символа обратного слэша.

$ cd очень_длинное_имя_директории_которое_заканчивается_в_данной_строке

Еще один способ запуска последовательности команд заключается в использовании механизма условного запуска, активируемого в командной оболочке Bash с помощью последовательности символов «&&» и позволяющего исполнить вторую команду лишь в том случае, если первая команда вернет код завершения 0 (то есть, завершится успешно).

$ cd /bin && ls

При использовании обычного разделителя команд («;») даже в случае некорректной смены текущей директории с помощью первой команды, вторая команда ls будет вызвана и просто выведет список файлов из текущей рабочей директории. Ну а при использовании оператора для условного запуска команд («&&») команда ls не будет вызываться в случае некорректного завершения работы команды cd.

По аналогии оператор «||» позволяет выполнить вторую команду только в том случае, если первая команда вернула ненулевой код завершения (то есть, завершилась некорректно).

$ cd /bing 2>/dev/null || echo 'Не удалось!'

Данная команда предназначена для перехода в директорию под названием «bing» в том случае, если таковая существует. Но так как ее, скорее всего, не существует, ведь буква «g» добавлена в конец имени по ошибке, будет выполняться вторая команда, предназначенная для вывода сообщения об ошибке, отличающееся от стандартного.

Получение информации о командах из локальной документации

Система Linux должна содержать документацию в формате страниц руководства (man-страниц) и, возможно, информационных страниц (info-страниц). Если вы знаете имя команды, о которой необходимо получить информацию, команда

$ man <имя команды>

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

$ apropos <тема>

или команду

$ man -k <тема>

для поиска соответствующих команд.

К сожалению, хотя практически все страницы руководств являются информативными и достаточно полными, в случае множества утилит от проекта GNU man-страницы являются максимально примитивными и предназначены для отсылки пользователей к соответствующим информационным страницам. В подобных случаях команда

$ info <имя команды>

позволит получить информацию об интересующей вас утилите.

К тому же, многие команды поддерживают такие аргументы, как «-h», «-H», «-help», «--help» или их комбинации. К сожалению, некоторые команды выполняют какие-либо действия вместо вывода справочной информации при использовании таких аргументов, как «-h» и «-H», поэтому вам следует быть готовым и к нестандартным ситуациям.

Также дополнительные файлы с документацией на английском языке могут располагаться в таких директориях, как «/usr/doc», «/usr/local/doc» и «/usr/src/linux/Documentation» (документация ядра Linux) и некоторых других.

Доступ к информации

Страницы руководств являются монолитными и нередко очень длинными, из-за чего на них сложно найти интересующую информацию. При этом утилита man автоматически запускает пейджер, позволяющий искать произвольный текст на странице с помощью сочетаний клавиш, аналогичных используемым в текстовом редакторе vi.

Информационные страницы обычно разделены на небольшие разделы и содержат гиперссылки на другие страницы. При этом вам нужно знать хотя бы в минимальном объеме сочетания клавиш для навигации по ним. Эти сочетания клавиш аналогичны сочетаниям клавиш, используемым в текстовом редакторе Emacs. Кроме того, вы можете экспортировать все дерево информационных страниц в единый текстовый файл и просматривать его в рамках пейджера с помощью команды

$ info --subnodes <имя команды> | less

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

Список команд

Ниже приведен список команд с их краткими описаниями.

A
  • adduser — команда, упрощающая создание учетных записей пользователей в основанных на Debian дистрибутивах
  • alias — команда, позволяющая создавать более краткие или более привычные псевдонимы для часто используемых команд
  • apropos — команда, позволяющая осуществлять поиск по именам и описаниям страниц руководств
  • apt-get — команда для управления пакетами программного обеспечения в дистрибутивах, основанных на Debian
  • ar — команда для работы с архивами формата ar, а также создания статических библиотек
  • arch — команда для получения информации об архитектуре центрального процессора, для которой собрана система
  • at — команда для планирования исполнения команд в заданное время
  • awk — команда для извлечения указанных слов и осуществления других манипуляций со строками
B
  • badblocks — команда для поиска и исправления поврежденных секторов на жестких дисках
  • bash — популярная командная оболочка
  • beep — команда для генерации звуковых сигналов
  • bg — команда для исполнения процессов в фоновом режиме
  • bunzip2 — команда для декомпрессии файла, созданного с помощью команды bzip2
  • bzip2 — команда для компрессии файла со средней степенью сжатия
C
  • cat — команда для получения строк через стандартный поток ввода или из файла и вывода их через стандартный поток вывода или записи в файл
  • cd — команда для смены текущей директории
  • chgrp — команда для изменения группы пользователей, владеющей файлом
  • chmod — команда для изменения прав доступа к файлу
  • chown — команда для изменения пользователя, владеющего файлом
  • chroot — команда для изменения корневой директории файловой системы
  • chsh — команда для изменения стандартной командной оболочки текущего пользователя
  • clear — команда для очистки терминала
  • cmp — команда для побайтового сравнения произвольных файлов
  • comm — команда для сравнения текстовых файлов с отсортированными строками
  • compress — команда для компрессии файла со средней степенью сжатия
  • cp — команда для копирования файлов
  • cpio — команда для упаковки файлов в архивы и извлечения их из архивов форматов cpio и tar
  • crontab — команда для модификации файлов конфигурации службы cron
  • cut — команда для вывода определенных столбцов из файла, отделенных с помощью определенного символа
  • cvs — команда для работы с репозиториями исходного кода cvs
D
  • date — команда для вывода или установки текущей даты и времени
  • dd — команда для побайтового копирования данных с диска в файл или наоборот
  • dd_rescue — команда для быстрого восстановления максимального объема данных с поврежденных носителей
  • df — команда для вывода информации о свободном дисковом пространстве
  • diff — команда для вывода различий между двумя файлами
  • diff3 — команда для вывода различий между тремя файлами
  • dig — команда для вывода ответов сервера доменных имен на пользовательские запросы
  • disown — команда для отказа от исполняющейся задачи (удаления идентификатора процесса из таблицы отслеживания). Благодаря ей даже после закрытия командной оболочки задача будет успешно исполняться
  • dmesg — комнда для чтения сообщений ядра ОС
  • dnf — команда для управления пакетами программного обеспечения в дистрибутивах, основанных на RHEL
  • du — команда для вывода информации об объеме дискового пространства, заполненном укзанным файлом или директорией
E
  • echo — команда для вывода строки/значения
  • eject — команда для извлечения съемных носителей
  • emacs — текстовый редактор (с большим количеством функций)
  • env — команда для вывода списка переменных окружения
  • ethtool — команда дляизменения низкоуровневых параметров сетевых карт
  • exit — команда для завершения процесса командной оболочки с заданным кодом
  • expand — команда для замены символов табуляции на символы пробела в текстовых файлах
  • export — команда для установки переменной окружения в рамках текущей сессии командной оболочки bash или sh
F
  • fdisk — команда для работы с разделами жесткого диска
  • fg — команда для перевода исполняющегося фонового процесса в обычный режим
  • file — команда для определения типа файла
  • find — команда для поиска файлов в зависимости от их имен, размеров, меток времени модификации и других атрибутов
  • ftp — команда для загрузки файлов по протоколу FTP
  • fuser — команда для идентификации процессов, работающих с файлами и сокетами
G
  • g++ — команда для компиляции кода на языке C++
  • gawk — команда для поиска и замены текста в файлах
  • gcc — команда для компиляции кода на языке C
  • getopts — команда для разбора параметров сценария командной оболочки
  • grep — команда для поиска последовательностей символов в файлах или выводе других команд
  • groupadd — команда для добавления группы пользователей в систему
  • groupdel — команда для удаления группы пользователей из системы
  • groupmod — команда для изменения параметров группы пользователей
  • groups — команда для вывода списка групп пользователей, в которых состоит текущий пользователь
  • gunzip — команда для декомпрессии файла, созданного с помощью утилиты gzip
  • gzip — команда для компрессии файла с низкой степенью сжатия
H
  • halt — команда для прекращения работы центрального процессора компьютера
  • head — команда для вывода первых n строк из файла
  • hexdump — команда для вывода содержимого файла в шестнадцатеричном формате
  • history — команда для вывода истории команд, выполненных с помощью командной оболочки bash
  • hostname — команда для вывода имени компьютера
  • hwinfo — команда для вывода информации об используемом аппаратном обеспечении
I
  • id — команда для вывода идентификаторов текущего пользователя и групп, в которых он состоит
  • ifconfig — команда для вывода информации обо всех сетевых устройствах
  • info — команда для вывода информации об указанной команде
  • iptables —  команда для вывода информации о текущей конфигурации межсетевого экрана
  • iptraf — команда для интерактивного мониторинга локальной сети
J
  • jobs — команда для получения списка всех задач, исполняющихся в фоновом режиме (процессов)
K
  • kill — команда для принудительного завершения исполнения процесса
  • killall — команда для принудительного завершения исполнения всех процессов с заданным именем
L
  • ldd — команда для вывода списка разделяемых библиотек, необходимых для корректной работы приложения
  • less — команда для отображения конечных строк текстового файла с возможностью прокрутки и поиска
  • ln — команда для создания ссылки на файл
  • ls — команда для вывода списка файлов из заданной директории
  • lshw — команда для получения списка использующегося программного обеспечения
  • lsmod — команда для получения списка загруженных модулей ядра ОС
  • lsof — команда для получения списка открытых файлов и принимающих соединения сокетов
  • lspci — команда для получения списка всех устройств с интерфейсом PCI
  • lsusb — команда для получения списка всех устройств с интерфейсом USB
M
  • make — команда для компиляции программного обеспечения
  • man — команда для получения информации о заданной команде
  • md5sum — команда для вычисления контрольной суммы файла в соответствии с алгоритмом md5 и ее проверки
  • mkdir — команда для создания директории
  • mkfs — команда для создания файловой системы на устройстве
  • minicom — команда для управления устройством посредством интерфейса последовательного порта
  • more — команда для отображения начальных строк текстового файла с возможностью прокрутки и поиска
  • mount — команда для подключения файловой системы устройства к корневой файловой системе
  • mv — команда для перемещения файла (или его переименования)
N
  • netcat — команда для передачи произвольных данных по сети
  • netstat — команда для получения информации о принимающих соединения сокетах и открытых портах
  • nice — команда для изменения приоритетов процессов
  • nm — команда для вывода списка имен функций объектного файла
  • nmap — команда для сканирования сети
O
  • objdump — команда для вывода информации об объектных файлах
  • openssl — команда для создания криптографических сертификатов и выполнения других аналогичных действий
P
  • passwd — команда для изменения пароля пользователя
  • ping — команда для проверки работоспособности компьютера, подключенного к сети
  • ps — команда для вывода списка исполняющихся в текущий момент процессов
  • pwd — команда для вывода информации о текущей рабочей директории
Q
  • quota — команда для управления ограничениями ресурсов для отдельных пользователей
R
  • read — команда для чтения клавиатурного ввода
  • reboot — команда для перезагрузки компьютера
  • rename — команда для переименования файла
  • rm — команда для удаления файла
  • rmdir — команда для удаления пустой директории
  • route — команда для управления таблицей маршрутизации системы
  • rpm — команда для осуществления манипуляций с файлами RPM
  • rsync — команда для синхронизации содержимого директорий по сети
S
  • scp — команда для безопасного копирования файлов по сети
  • screen — команда для разделения окна терминала на несколько частей
  • sed — команда для осуществления манипуляций с потоками символов (нередко используется в сценариях командной оболочки)
  • setenv — команда для изменения значения переменной окружения в командной оболочке csh
  • shuf — команда для выполнения случайных перестановок
  • shutdown — ком

linux-faq.ru

Основные команды убунту. Общие сведения о работе в командной оболочке Linux.

Здесь перечислены основные команды Linux, разбитые на категории. В конце приведены особенности работы с командной строкой и эмуляторами терминалов в Linux.

Получение справки о командах

man Описание команды или файла конфигурации. Синоним info. Описание листается стрелками, выход клавишей q. Пример: man fstab apropos Поиск по описаниям man. Пример: apropos iso

Команды работы с файлами

cd Смена текущего каталога. cd ~ или просто cd всегда переходит в домашний каталог текущего пользователя. Пример: cd /etc ls Выводит список файлов и каталогов. В отличие от dir подсвечивает файлы по типу. С параметром -l выводить дополнительную информацию о файлах: права, владельца, дату создания и т.д. ls без параметров выводит содержимое текущего каталога. ls /proc выводит все работающие процессы. mv Перенос файла. cp Копирование. rm Удаление файла. С ключем -R удаляет в подкаталогах. Пример: rm -R ~/killme mkdir Создание каталога. rmdir Удаление пустого каталога.

Права доступа к файлам и каталогам

chown Смена владельца. chgrp Смена группы владельца. chmod Смена прав. Пример: сhmod -R 777 /var/www дает доступ всем ко всем файлам и каталогам ниже /var/www.

Просмотр файлов

cat Вывод файла. Пример: cat /etc/fstab . tail Вывод конца файла. Удобно при работе с логами и большими файлами. Пример: tail /var/log/messages .

Редактирование файлов

nano и pico — наиболее вменяемые редакторы, работающие в текстовом режиме прямо в терминале. Чтоб изменить файл /etc/fstab, например, надо набрать nano /etc/fstab . Выход из редактора CTRL+X. Редакторы vi и vim предназначены для работы слепым десятипальцевым методом.

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

mount [параметры] устройство путь Монтирование устройства. Пример: mount /dev/sda1 /mnt/Disk1 . umount устройство/путь Размонтирование. Пример: umount /mnt/Disk1 . eject Размонтирование и выброс CDROM.

Команды работы с драйверами устройств (модулями ядра Linux)

lsmod Список всех загруженных модулей ядра Linux. insmod rmmod modprobe имя-модуля [параметры] Установка модуля, настройка его автозагрузки. Результат можно посмотреть в системном логе. Пример: modprobe radio-aztech io=0x350 . modinfo имя-модуля Информация о модуле, в том числе и список параметров. modconf Удобная программа для просмотра всех модулей по категориям, включения и отключения модулей. По умолчанию как правило не установлена, в Debian, Ubuntu и Kubuntu устанавливается с помощью одноименного пакейджа командой apt-get install modconf .

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

hdparm Управление жесткими дисками и приводами компакт-дисков. Пример: hdparm -E8 /dev/cdrom снижение скорости вращения CDROM. watch Периодическое выполнение команды. Пример: watch -n 60 hdparm -E8 /dev/cdrom раз в минуту тормозить диск чтобы привод не разгонял его и не шумел во время просмотра DVD. pppconfig Простая и надёжная программа настройки Dial-Up выхода в Интернет по модему. pon, poff и plog — команды установления, разрыва и просмотра лога соединения соответственно. pppoeconf Аналогично, настройка выхода в Интернет через ADSL-модем. wget Скачивание файла по HTTP/FTP.

Суперпользователь root

Обладает неограниченными правами. Использование прав суперпользователя необходимо при установке драйверов, смене важных параметров Linux. Пароль пользователя root обычно запрашивается при установке дистрибутива. Тогда сразу после установки в систему можно войти с указанным паролем и логином root .

Если вход в систему выполнен под обычным пользователем, то получить права суперпользователя в конкретном экземпляре терминала можно командой su , после ввода которой необходимо ввести пароль суперпользователя. Вернуться к сессии обычного пользователя можно командой exit .

Однако такие дистрибутивы как Ubuntu и Kubuntu не создают суперпользователя при установке. Войти под пользователем root или использовать su не удастся. Права суперпользователя в этих дистрибутивах можно получить командой sudo . Ее необходимо писать перед каждой командой, для которой требуются права суперпользователя. Например sudo nano /etc/fstab . После первой команды sudo необходимо ввести пароль текущего пользователя. Использовать sudo могут пользователи, состоящие в группе sudo или admin (в зависимости от дистрибутива Linux), что для первого пользователя Ubuntu и Kubuntu выполняется автоматически при установке дистрибутива.

Особенности работы терминалов Linux

Записанные в файл команды выполняются командой sh имя_файла .

Стандартные команды в Linux отличаются от команд DOS и Windows -- обычно они короче. При работе с командной строкой как обычно мигающий курсор обозначает позицию ввода текста, командная строка начинается с текущего пути и имени компьютера, за которым следует с

bazava.ru

ШПАРГАЛКА. Команды Unix - Linux

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

Файлы и директории
cd /homeперейти в директорию '/home'
cd ..перейти в директорию уровнем выше
cd ../..перейти в директорию двумя уровнями выше
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), когда симлинки сделать невозможно. Выполнение данной команды сделает копию содержимого /home/user/prg в /var/ftp/user
Дисковое пространство
df -hотображает информацию о смонтированных разделах с отображением общего, доступного и используемого пространства (Прим.переводчика. ключ -h работает не во всех *nix системах)
ls -lSr |moreвыдаёт список файлов и директорий рекурсивно с сортировкой по возрастанию размера и позволяет осуществлять постраничный просмотр
du -sh dir1подсчитывает и выводит размер, занимаемый директорией 'dir1' (Прим.переводчика. ключ -h работает не во всех *nix системах)
du -sk * | sort -rn отображает размер и имена файлов и директорий, с соритровкой по размеру
rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1nпоказывает размер используемого дискового пространства, занимаемое файлами rpm-пакета, с сортировкой по размеру (fedora, redhat и т.п.)
dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1nпоказывает размер используемого дискового пространства, занимаемое файлами deb-пакета, с сортировкой по размеру (ubuntu, debian т.п.)
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вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -f /var/log/messagesвыводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.
Манипуляции с текстом
cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txtобщий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file_originale | [operazione: sed, grep, awk, grepи т.п.] >> 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 'esempio' | 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взять из файла с первой по восьмую строки и из них вывести первые пять
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отсортировать содержимое двух файлов
sort file1 file2 | uniqотсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -uотсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -dотсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file1'
comm -2 file1 file2сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file2'
comm -3 file1 file2сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
Преобразование наборов символов и файловых форматов
dos2unix filedos.txt fileunix.txtконвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата каретки)
unix2dos fileunix.txt filedos.txtконвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)
recode ..HTML < page.txt > 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 раздела hda11
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 [email protected]_addr 'dd of=hda.gz'сделать "слепок" локального диска в файл на удалённом компьютере через ssh-туннель
tar -Puf backup.tar /home/userсоздать инкрементальную резервную копию директории '/home/user' в файл backup.tar с сохранением полномочий
( cd /tmp/local/ && tar c . ) | ssh -C [email protected]_addr 'cd /home/share/ && tar x -p'копирование содержимого /tmp/local на удалённый компьютер через ssh-туннель в /home/share/
( tar c /home ) | ssh -C [email protected]_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 -forceclean a rewritable cdrom
mkisofs /dev/cdrom > cd.isocreate an iso image of cdrom on disk
mkisofs /dev/cdrom | gzip > cd_iso.gzcreate a compressed iso image of cdrom on disk
mkisofs -J -allow-leading-dots -R -V "Label CD" -iso-level 4 -o ./cd.iso data_cdcreate an iso image of a directory
cdrecord -v dev=/dev/cdrom cd.isoburn an ISO image
gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -burn a compressed ISO image
mount -o loop cd.iso /mnt/isomount an ISO image
cd-paranoia -Brip audio tracks from a CD to wav files
cd-paranoia -- "-3"rip first three audio tracks from a CD to wav files
cdrecord --scanbusscan 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 ip-адрес и маску подсети
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задать 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)
hostnameотобразить имя компьютера
host www.example.comразрешить имя www.example.com хоста в ip-адрес и наоборот
host 62.149.140.85
ip link showотобразить состояние всех интерфейсов
mii-tool eth0отобразить статус и тип соединения для интерфейса eth0
ethtool eth0отображает статистику интерфеса eth0 с выводом такой информации, как поддерживаемые и текущие режимы соединения
netstat -tupnотображает все установленные сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и имена процессов, обеспечивающих эти соединения
netstat -tuplnотображает все сетевые соединения по протоколам TCP и UDP без разрешения имён в ip-адреса и PID'ы и имена процессов, слушающих порты
tcpdump tcp port 80отобразить весь трафик на TCP-порт 80 (обычно - HTTP)
iwlist scanпросканировать эфир на предмет, доступности беспроводных точек доступа
iwconfig eth2показать конфигурацию беспроводного сетевого интерфейса eth2
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. Допустимо при использовании с динамически выделяемыми 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перенаправление пакетов, адресованных одному хосту, на другой хост
Мониторинг и отладка
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вывести десять последних записей из журнала загрузки ядра
tail /var/log/messagesвывести десять последних записей из системного журнала
Другие полезные команды
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
ls – список файлов и каталоговls -al – форматированный список со скрытыми каталогами и файламиcd dir – сменить директорию на dircd – сменить на домашний каталогpwd – показать текущий каталогmkdir dir – создать каталог dirrm file – удалить filerm -r dir – удалить каталог dirrm -f file – удалить форсированно filerm -rf dir – удалить форсированно каталог dircp file1 file2 – скопировать file1 в file2cp -r dir1 dir2 – скопировать dir1 в dir2; создаст каталог dir2, если он не существуетmv file1 file2 – переименовать или переместить file1 в file2. если file2 существующий каталог - переместить file1 в каталог file2ln -s file link – создать символическую ссылку link к файлу filetouch file – создать filecat > file – направить стандартный ввод в filemore file – вывести содержимое filehead file – вывести первые 10 строк filetail file – вывести последние 10 строк filetail -f file – вывести содержимое file по мере роста, начинает с последних 10 строк———————————————————————————————————————————————————————————————-Управление процессами|

ps – вывести ваши текущие активные процессыtop – показать все запущенные процессыkill pid – убить процесс с id pidkillall proc – убить все процессы с именем procbg – список остановленных и фоновых задач; продолжить выполнение остановленной задачи в фонеfg – выносит на передний план последние задачиfg n – вынести задачу n на передний планПрава доступа на файлыchmod octal file – сменить права file на octal, раздельно для пользователя, группы и для всех добавлением:4 – чтение (r)2 – запись (w)1 – исполнение (x)

Примеры:chmod 777 – чтение, запись, исполнение для всехchmod 755 – rwx для владельца, rx для группы и остальных.Дополнительные опции: man chmod.———————————————————————————————————————————————————————————————-SSH|

ssh [email protected] – подключится к host как userssh -p port [email protected] – подключится к host на порт port как userssh-copy-id [email protected] – добавить ваш ключ на host для user чтобы включить логин без пароля и по ключам———————————————————————————————————————————————————————————————-Поиск|

grep pattern files – искать pattern в filesgrep -r pattern dir – искать рекурсивно pattern в dircommand | grep pattern – искать pattern в выводе commandlocate file – найти все файлы с именем file———————————————————————————————————————————————————————————————-Системная информация|

date – вывести текущую дату и времяcal – вывести календарь на текущий месяцuptime – показать текущий аптаймw – показать пользователей онлайнwhoami – имя, под которым вы залогиненыfinger user – показать информацию о useruname -a – показать информацию о ядреcat /proc/cpuinfo – информация ЦПУcat /proc/meminfo – информация о памятиman command – показать мануал для commanddf – показать инф. о использовании дисковdu – вывести “вес” текущего каталогаfree – использование памяти и swapwhereis app – возможное расположение программы appwhich app – какая app будет запущена по умолчанию———————————————————————————————————————————————————————————————-Архивация|

tar cf file.tar files – создать tar-архив с именем file.tar содержащий filestar xf file.tar – распаковать file.tartar czf file.tar.gz files – создать архив tar с сжатием Gziptar xzf file.tar.gz – распаковать tar с Gziptar cjf file.tar.bz2 – создать архив tar с сжатием Bzip2tar xjf file.tar.bz2 – распаковать tar с Bzip2gzip file – сжать file и переименовать в file.gzgzip -d file.gz – разжать file.gz в file———————————————————————————————————————————————————————————————-Сеть|

ping host – пропинговать host и вывести результатwhois domain – получить информацию whois для domaindig domain – получить DNS информацию domaindig -x host – реверсивно искать hostwget file – скачать filewget -c file – продолжить остановленную закачку———————————————————————————————————————————————————————————————-Установка пакетов|

Установка из исходников:./configuremakemake installdpkg -i pkg.deb – установить пакет (Debian)rpm -Uvh pkg.rpm – установить пакет (RPM)———————————————————————————————————————————————————————————————-Клавиатурные сочетания|

Ctrl+C – завершить текущую командуCtrl+Z – остановить текущую команду, продолжть с fg на переднем плане или bg в фонеCtrl+D – разлогиниться, тоже самое, что и exitCtrl+W – удалить одно слово в текущей строкеCtrl+U – удалить строку!! - повторить последнюю командуexit – разлогиниться

linuxbook.ru

команды Ubuntu Linux - шпаргалка

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 вывести первые две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -2 file1 вывести последние две строки файла file1 на стандартное устройство вывода. По-умолчанию выводится десять строк
tail -f /var/log/messages выводить содержимое файла /var/log/messages на стандартное устройство вывода по мере появления в нём текста.
Манипуляции с текстом
cat file_originale | [operation: sed, grep, awk, grep и т.п.] > result.txt общий синтаксис выполнения действий по обработке содержимого файла и вывода результата в новый
cat file_originale | [operazione: sed, grep, awk, grepи т.п.] >> 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 'esempio' | 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 взять из файла с первой по восьмую строки и из них вывести первые пять
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 отсортировать содержимое двух файлов
sort file1 file2 | uniq отсортировать содержимое двух файлов, не отображая повторов
sort file1 file2 | uniq -u отсортировать содержимое двух файлов, отображая только уникальные строки (строки, встречающиеся в обоих файлах, не выводятся на стандартное устройство вывода)
sort file1 file2 | uniq -d отсортировать содержимое двух файлов, отображая только повторяющиеся строки
comm -1 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file1'
comm -2 file1 file2 сравнить содержимое двух файлов, не отображая строки принадлежащие файлу 'file2'
comm -3 file1 file2 сравнить содержимое двух файлов, удаляя строки встречающиеся в обоих файлах
Преобразование наборов символов и файловых форматов
dos2unix filedos.txt fileunix.txt конвертировать файл текстового формата из MSDOS в UNIX (разница в символах возврата каретки)
unix2dos fileunix.txt filedos.txt конвертировать файл текстового формата из UNIX в MSDOS (разница в символах возврата коретки)
recode ..HTML < page.txt > page.html конвертировать содержимое тестового файла page.txt в html-файл page.html
recode -l | more вывести список доступных форматов

allpro.com.ua