ШПАРГАЛКА. Команды Unix - Linux -Ubuntu. Команды linux ubuntu
10 базовых команд Linux для новичков, примеры. Linux статьи
Не каждому пользователю Linux нужно уметь работать в командной строке. Но рано или поздно настанет момент, когда нужно будет выполнить в терминале какие-нибудь минимальные действия. Случаи могут быть абсолютно разные — настройка системы, восстановление, копирование данных при сбое и так далее.
Поэтому я решил составить данную подборку команд для новичков в Linux, которые могут пригодиться каждому.
1. ls
Команда ls (если выполнить ее без аргументов) используется для вывода списка файлов в текущей директории.
Чтобы вывести список файлов в директории /home/vasya/.ssh выполните:
ls /home/vasya/.ssh2. cd
Команда cd используется для перехода по дереву директорий (перехода в другую папку).
Например, чтобы перейти в директорию /home/vasya/.local нужно выполнить
cd /home/vasya/.local3. mv
Команда mv используется для перемещения (или переименования) файлов и директорий.
Например, чтобы переместить директорию /home/vasya/documents в директорию /home/vasya/secret выполните:
mv /home/vasya/documents /home/vasya/secret4. cp
Команда cp создает копию файла или директории.
Чтобы скопировать файл messages.log в файл messages.log.bak выполните:
cp messages.log messages.log.bakЧтобы скопировать директорию, необходимо после команды добавить аргумент -r. Например, скопируем директорию drivers в display-drivers:
cp -r drivers display-drivers5. sudo
Команда sudo используется для выполнения других команд от имени суперпользователя. Но пользоваться ей нужно аккуратно, так как можно повредить систему.
Например, если вы попытаетесь создать копию файла в «системной» директории /etc, то получите предупреждение Permission denied. Поэтому в данном случае команду нужно выполнять от имени суперпользователя, например:
sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak6. touch
Командой touch можно создать пустой файл.
Например, создадим пустой файл path.dat:
touch path.dat7. 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.log9. nano
На самом деле nano это консольный текстовый редактор. Но иногда, это один из немногих способов отредактировать файл из командной строки (например, когда графический интерфейс не грузится или отсутсвует).
Например, чтобы создать или отредактировать существующий файл ftp.cfg выполните:
nano ftp.cfgОткроется текстовый редактор. Внесите изменения в файл. Затем нажмите сочетание клавиш Ctrl+x и введите y, чтобы сохранить изменения и выйти (или введите n, чтобы закрыть файл без сохранения изменений).
10. mkdir
Команда mkdir создает пустую директорию.
Например, чтобы создать директорию backup, выполните:
mkdir backuprm и rmdir
Это одиннадцатые команды в моей подборке, так как я считаю, что новичкам про них нужно узнавать в последнюю очередь. Команда rm служит для удаления файлов. rmdir предназначена для удаления директорий.
Например удалим файл veryimportantfile.dat:
rm veryimportantfile.datДля удаления директории воспользуемся командной rmdir. Например, удалим директорию photos:
rmdir photosapt или 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 | //скрыть индикатор процесса |
//не показывать ничего кроме ошибок | |
-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". Сначала установим саму утилиту:
Теперь, если набрать: 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/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 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 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 |
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 user@host – подключится к host как userssh -p port user@host – подключится к host на порт port как userssh-copy-id user@host – добавить ваш ключ на 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
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