Руководство по Ubuntu для новичков. Убунту команды


Терминал | Русскоязычная документация по Ubuntu

Итак, давайте сначала посмотрим что из себя представляет этот самый терминал. Найти его можно в меню Приложения→Стандартные. Запустив его вы увидите примерно такое окошечко:

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

Управление терминалом

Давайте выполним какую-нибудь командочку, например:

lsb_release -a 2> /dev/null | grep -P "(?<=Codename:)(.*)"

Вот что должно было получиться:

Набирать такие команды с клавиатуры посимвольно немного неудобно, поэтому давайте сразу разберёмся с основами управления терминалом. Начнём с копирования/вставки. Стандартные сочетания клавиш Ctrl+C и Ctrl+V в терминале не работают, вместо них используется старая добрая пара Ctrl+Insert с Shift+Insert или же сочетания с Shift: Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки. Что ж, теперь вы умеете целиком копировать команды из руководств.

Однако обычно всё-таки команды приходится набирать вручную, а не вставлять откуда-то. И вот тут на помощь приходит великолепное свойство терминала, называемое автодополнением. Наберите в терминале символы apti, а потом нажмите клавишу Tab. Терминал автоматически дополнит за вас команду. Кстати, aptitude - это основная консольная утилита управления установкой и удалением приложений, но об этом после.

А теперь попробуйте набрать только apt и нажать Tab. Ничего не происходит? А теперь нажмите Tab два раза подряд. Видите, терминал выдал вам список всех команд, начинающихся с apt.

Удобно, не правда ли? Особенно если привыкнуть.

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

Работа с файлами

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

Узнать, в какой же папке вы сейчас находитесь, очень просто, достаточно посмотреть на приглашение терминала, то есть на те символы, которые печатаются автоматически в начале каждой строки:

Текущий каталог - это то, что между символами : и $. Кстати, обратите внимание, перед : стоит имя пользователя и имя компьютера, разделённые символом @. Но когда вы запускаете терминал, то между : и $ стоит символ ~:

Я говорил, что при запуске терминала текущим каталогом становится домашняя папка пользователя, так вот, символ ~ - это синоним адреса домашней папки текущего пользователя1). Кстати, если вы ещё не знаете, полный адрес домашнего каталога выглядит как

/home/логин_пользователя

У меня это /home/malamut.

Хорошо, как выяснить текущее местоположение, вроде разобрались, а как же его сменить? Для этого предназначена команда cd, выполните, например, команду

cd Музыка

Видите, текущее местоположение изменилось:

На всякий случай напоминаю, что имена файлов и каталогов в Linux чувствительны к регистру символов, то есть Музыка и музыка - эта два совершенно разных имени.

После команды cd можно указывать как полные пути относительно корня, так и относительные, отсчитывающиеся от текущего каталога. В примере выше я использовал относительный путь. А вот полный:

cd /etc/apt

Хочу сразу обратить внимание на несколько важных особенностей. Во-первых, при наборе путей так же работает автодополнение по Tab, это очень удобно. Во-вторых, использовать различные небуквенные символы и пробелы напрямую при наборе путей нельзя. Например, для того, чтобы перейти в каталог, содержащий в имени символ пробела, надо при наборе пути к такому каталогу перед пробелом поставить символ обратного слеша \. Вот так:

cd Каталог\ с\ плохими\ символами\ в\ имени\<\>

Установка обратного слеша перед некоторыми символами называется экранированием. Кстати, при использовании автодополнения все слеши расставляются автоматически. Кроме того, можно просто заключить путь в двойные кавычки:

cd "Каталог с плохими символами в имени<>"

Но в этом случае автодополнение работать не будет.

Заменитель адреса домашнего каталога ~ можно использовать и при наборе путей, например:

cd ~/Музыка

А для перемещения непосредственно в домашний каталог достаточно просто набрать cd без аргументов.

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

cd ..

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

cd ../..

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

cd -

В качестве наглядного примера использования cd небольшое путешествие по моему компьютеру:

Как перемещаться по каталогам в первом приближении вроде разобрались, теперь же я расскажу про некоторые другие полезные операции. Посмотреть содержимое текущего каталога можно командой ls:

Обычно командам можно передавать различные модификаторы, например:

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

Очень часто параметрами команд являются имена файлов или папок, именно для этого я так подробно рассказывал о способе перемещения по каталогам и использования различных имен файлов в качестве аргументов. Например, команда cat показывает содержимое текстового файла, и если вы хотите посмотреть содержимое файла test.txt, лежащего в вашем домашнем каталоге, то вы могли бы выполнить команду

cat ~/text.txt

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

Начинающих пользователей Linux очень часто любят пугать так называемыми манами. Дело в том, что man - это система справки о командах для терминала. Пользоваться ей очень легко, просто наберите в терминале

man команда

Например:

man ls

Появится собственно текст справки2), разбитый на разделы. Перемещаться по нему можно с помощью стрелок и клавиш PgUp и PgDown, а для выхода просто нажмите Q.

Кроме man-страниц у многих утилит3) есть встроенная справка, которую обычно можно посмотреть, запустив программу с ключом --help:

утилита --help

Например:

ls --help

Есть и другие способы получения помощи, например похожая на man утилита info. Но чаще всего наиболее полную информацию о программе можно получить именно из man-страниц, а краткую справку - указав ключ --help при вызове4).

Разные полезности терминала

На всякий случай немного коснусь ещё одной темы. Бывает так, что вы что-то запустили в терминале и хотите прервать работу этого чего-то. Обычно это сделать очень просто, достаточно нажать на клавиатуре сочетание клавиш Ctrl+C5).

Есть и другие управляющие сочетания, например Ctrl+D посылает сигнал конца файла запущенному приложению, а без запущенных утилит делает тоже, что и терминальная команда exit. Ну а если вы хотите более подробно управлять работающими программами, то посмотрите на системный монитор htop, который, правда, нужно доустанавливать отдельно.

История введённых команд

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

history

У каждой команды в истории есть номер, выполнить снова команду с определённым номером можно набрав в терминале восклицательный знак и номер нужной команды:

А повторить предыдущую набранную команду можно просто написав два восклицательных знака !!.

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

На этом я пожалуй закончу краткое введение в богатейший мир консольных команд Linux и продолжу рассказывать про оставшиеся основные особенности этой многогранной операционной системы:

help.ubuntu.ru

Терминал и консоль | Русскоязычная документация по Ubuntu

Это рабочий вариант статьи, адаптированый для Lubuntu 14.04 LTS.

Итак, давайте сначала посмотрим, что из себя представляет этот самый терминал. Кликните мышкой по иконке Главного Меню и в разделе Стандартные выберите LXTerminal. Можно поступить проще, воспользовавшись комбинацией клавиш CtrlAltT. Запустив терминал вы увидите примерно такое окошечко:

Знакомьтесь, это и есть терминал. Он создан для того, чтобы выполнять текстовые команды, поэтому отложите свою мышку в сторону и пододвиньте поближе клавиатуру1).

Управление терминалом

Давайте выполним какую-нибудь командочку, например:

lsb_release -a 2> /dev/null | grep -P "(?<=Codename:)(.*)"

На выходе получим кодовое имя нашего дистрибутива:

Набирать такие команды с клавиатуры посимвольно немного неудобно, поэтому давайте сразу разберёмся с основами управления терминалом. Начнём с копирования/вставки. Стандартные сочетания клавиш Ctrl+C и Ctrl+V в терминале не работают, вместо них используется старая добрая пара Ctrl+Insert с Shift+Insert или же сочетания с Shift: Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки. Что ж, теперь вы умеете целиком копировать команды из руководств.

Кстати, в большинстве руководств и инструкций вы встретите именно терминальные команды. Это связано с тем, что, графических оболочек очень много, и объяснить, как выполнить какое-то действие для каждой из них бывает очень непросто. А терминал - один для всех, и одна и та же команда работает во всех оболочках (естественно, кроме команд по настройке самой оболочки). К тому же, намного проще дать одну команду, чем объяснить где и как 10 раз нажать мышкой.

Однако, часто всё-таки команды приходится набирать вручную, а не вставлять откуда-то. И вот тут на помощь приходит великолепное свойство терминала, называемое автодополнением. Наберите в терминале символы apt-g, а потом нажмите клавишу Tab. Терминал автоматически дополнит за вас команду. Кстати, apt-get - это основная консольная утилита управления пакетами, но об этом после.

А теперь попробуйте набрать только apt и нажать Tab. Ничего не происходит? А теперь нажмите Tab два раза подряд. Видите, терминал выдал вам список всех команд, начинающихся с apt.

Удобно, не правда ли? Особенно, если привыкнуть.

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

Еще одна хитрость. Откройте терминал нажмите сочетание клавиш Ctrl+R и начните набирать нужную команду. Терминал автоматически подставит подходящие варианты из набранных ранее команд.

Работа с файлами

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

Узнать, в какой же папке вы сейчас находитесь, очень просто, достаточно посмотреть на приглашение терминала, то есть на те символы, которые печатаются автоматически в начале каждой строки:

Текущий каталог - это то, что между символами : и $. Кстати, обратите внимание, перед : стоит имя пользователя и имя компьютера, разделённые символом @. Но когда вы запускаете терминал, то между : и $ стоит символ ~:

При запуске терминала текущим каталогом становится домашняя папка пользователя, так вот, символ ~ - это синоним адреса домашней папки текущего пользователя2). Кстати, если вы ещё не знаете, полный адрес домашнего каталога выглядит как

/home/логин_пользователя

У меня это /home/user2.

Хорошо, как выяснить текущее местоположение, вроде разобрались, а как же его сменить? Для этого предназначена команда cd, выполните, например, команду

cd Музыка

Видите, текущее местоположение изменилось:

На всякий случай напоминаю, что имена файлов и каталогов в Linux чувствительны к регистру символов, то есть Музыка и музыка - эта два совершенно разных имени.

После команды cd можно указывать как полные пути относительно корня, так и относительные, отсчитывающиеся от текущего каталога. В примере выше я использовал относительный путь. А вот полный:

cd /home/user2/Музыка

Хочу сразу обратить внимание на несколько важных особенностей. Во-первых, при наборе путей так же работает автодополнение по Tab, это очень удобно. Во-вторых, использовать различные небуквенные символы и пробелы напрямую при наборе путей нельзя. Например, для того, чтобы перейти в каталог, содержащий в имени символ пробела, надо при наборе пути к такому каталогу перед пробелом поставить символ обратного слеша \. Вот так:

cd Каталог\ с\ плохими\ символами\ в\ имени\<\>

Установка обратного слеша перед некоторыми символами называется экранированием. Кстати, при использовании автодополнения все слеши расставляются автоматически. Кроме того, можно просто заключить путь в двойные кавычки:

cd "Каталог с плохими символами в имени<>"

Но в этом случае автодополнение работать не будет.

Заменитель адреса домашнего каталога ~ можно использовать и при наборе путей, например:

cd ~/Музыка

А для перемещения непосредственно в домашний каталог достаточно просто набрать cd без аргументов.

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

cd ..

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

cd ../..

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

cd -

Как перемещаться по каталогам в первом приближении вроде разобрались, теперь же я расскажу про некоторые другие полезные операции. Посмотреть содержимое текущего каталога можно командой ls:

Обычно командам можно передавать различные модификаторы, например:

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

Очень часто параметрами команд являются имена файлов или папок, именно для этого я так подробно рассказывал о способе перемещения по каталогам и использования различных имен файлов в качестве аргументов. Например, команда cat показывает содержимое текстового файла, и если вы хотите посмотреть содержимое файла test.txt, лежащего в вашем домашнем каталоге, то вы могли бы выполнить команду

cat ~/text.txt

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

Начинающих пользователей Linux очень часто любят пугать так называемыми манами. Дело в том, что man - это система справки о командах для терминала. Пользоваться ей очень легко, просто наберите в терминале

man команда

Например:

man ls

Появится собственно текст справки3), разбитый на разделы. Перемещаться по нему можно с помощью стрелок и клавиш PgUp и PgDown, а для выхода просто нажмите Q.

Кроме man-страниц у многих утилит4) есть встроенная справка, которую обычно можно посмотреть, запустив программу с ключом --help:

утилита --help

Например:

ls --help

Есть и другие способы получения помощи, например похожая на man утилита info. Но чаще всего наиболее полную информацию о программе можно получить именно из man-страниц, а краткую справку - указав ключ --help при вызове5).

История введённых команд

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

history

У каждой команды в истории есть номер, выполнить снова команду с определённым номером можно набрав в терминале восклицательный знак и номер нужной команды:

А повторить предыдущую набранную команду можно просто написав два восклицательных знака !! Двигаться по истории набранных команд можно стрелочками вверх/вниз клавиатуры. Нажав один раз на стрелку вверх - терминал покажет последнюю набранную команду, два раза - предпоследнюю, и так далее. Если нужно вернуться назад - нажмите стрелочку вниз.

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

Разные полезности терминала

На всякий случай немного коснусь ещё одной темы. Бывает так, что вы что-то запустили в терминале и хотите прервать работу этого чего-то. Обычно это сделать очень просто, достаточно нажать на клавиатуре сочетание клавиш Ctrl+C6).

Есть и другие управляющие сочетания, например Ctrl+D посылает сигнал конца файла запущенному приложению, а без запущенных утилит делает тоже, что и терминальная команда exit. Ну а если вы хотите более подробно управлять работающими программами, то посмотрите на системный монитор htop, который, правда, нужно доустанавливать отдельно.

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

И напоследок, в качестве примера, рассмотрим простой консольный файловый менеджер. Помните, в одной из предыдущих глав мы установили в нашу систему Midnight Commander. Введите в терминале команду

mc

и увидите, что получится:

У пользователей постарше, успевших поработать в DOS, это окно может вызвать острый приступ ностальгии.

Консоль

Не путайте терминал с консолью. Для работы консоли графическая оболочка не нужна совсем. Именно так работают серверные версии Ubuntu. Терминал - это только одна из программ, которые эмулируют работу консоли. В «настоящую» консоль можно попасть набрав комбинацию клавиш Ctrl+Alt+Fx (где Fx - клавиши от F1 до F6). После этого нужно ввести свой логин и пароль (пароль никак отображаться не будет, ни звездочками, ни черточками - вообще никак). Обратно в графическую оболочку - Ctrl+Alt+F7.

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

Вы, наверное, подумали: а зачем эта консоль нужна, если есть терминал? Приведу только два примера:

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

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

top

посмотреть номер зависшего процесса и командой

kill -9 номер процесса

завершить зависший процесс.

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

help.ubuntu.ru

Команды Linux

Дистрибутивов Linux существует великое множество, но у всех у них есть нечто общее - это команды Linux. Если вы знаете команды Linux, то в любом, даже самом экзотическом Linux, вы будете чувствовать себя как дома.

Командами Linux можно сделать очень многое, а некоторые вещи можно сделать ТОЛЬКО командами.

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

Ты знаешь Linux по-настоящему только тогда, когда знаешь команды Linux. ©

На этой странице я буду собирать самые полезные команды, которые могут пригодиться мне и вам. Я постараюсь всё систематизировать, чтобы нужную команду было легче найти. Сначала идет команда, а потом пояснение к ней.

Команды повышающие привилегии:

Смотреть команды: »

sudo

запустить команду с правами root

sudo su

открыть командную строку с правами root

sudo su user

открыть командную строку с правами user

sudo -k

забыть пароль sudo

gksudo

графический диалог sudo (GNOME)

kdesudo

графический диалог sudo (KDE)

sudo visudo

редактировать /etc/sudoers

gksudo nautilus

файловый менеджер с правами root (GNOME)

kdesudo konqueror

файловый менеджер с правами root (KDE)

passwd

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

Команды для работы с файлами и директориями:

Смотреть команды: »

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 т.п.)

Команды для работы с пользователями и группами:

Смотреть команды: »

groupadd group_name

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

groupdel group_name

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

groupmod -n new_group_name old_group_name

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

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

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

useradd user1

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

userdel -r user1

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

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

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

passwd

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

passwd user1

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

chage -E 2005-12-31 user1

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

pwck

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

grpck

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

newgrp [-] group_name

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

Команды для изменения полномочий на файлы:

Смотреть команды: »

ls -lh

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

ls /tmp | pr -T5 -W$COLUMNS

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

chmod ugo+rwx directory1

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

chmod 777 directory1

- другой способ.

chmod go-rwx directory1

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

chown user1 file1

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

chown -R user1 directory1

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

chgrp group1 file1

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

chown user1:group1 file1

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

find / -perm -u+s

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

chmod u+s /bin/binary_file

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

chmod u-s /bin/binary_file

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

chmod g+s /home/public

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

chmod g-s /home/public

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

chmod o+t /home/public

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

chmod o-t /home/public

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

chattr +a file1

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

chattr +c file1

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

chattr +d file1

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

chattr +i file1

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

chattr +s file1

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

chattr +S file1

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

chattr +u file1

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

lsattr

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

Команды для архивирования файлов:

Смотреть команды: »

bunzip2 file1.bz2

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

gunzip file1.gz

- другой вариант

gzip file1

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

bzip2 file1

- другой вариант

gzip -9 file1

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

rar a file1.rar test_file

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

rar a file1.rar file1 file2 dir1

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

rar x file1.rar

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

unrar x file1.rar

- другой вариант

tar -cvf archive.tar file1

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

tar -cvf archive.tar file1 file2 dir1

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

tar -tf archive.tar

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

tar -xvf archive.tar

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

tar -xvf archive.tar -C /tmp

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

tar -cvfj archive.tar.bz2 dir1

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

tar -xvfj archive.tar.bz2

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

tar -cvfz archive.tar.gz dir1

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

tar -xvfz archive.tar.gz

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

zip file1.zip file1

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

zip -r file1.zip file1 file2 dir1

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

unzip file1.zip

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

Команды для проверки системной информации:

Смотреть команды: »

uname -r

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

dmidecode -q

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

hdparm -i /dev/hda

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

hdparm -tT /dev/sda

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

cat /proc/cpuinfo

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

cat /proc/interrupts

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

cat /proc/meminfo

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

cat /proc/swaps

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

cat /proc/version

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

cat /proc/net/dev

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

cat /proc/mounts

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

lspci -tv

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

lsusb -tv

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

date

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

cal 2013

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

date 041217002013.00

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

clock -w

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

Команды для остановки системы:

Смотреть команды: »

shutdown -h now

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

init 0

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

telinit 0

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

shutdown -h hours:minutes &

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

shutdown -c

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

shutdown -r now

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

reboot

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

logout

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

Команды для работы X-сервером:

Смотреть команды: »

sudo /etc/init.d/gdm restart

– перезапустить X (GNOME)

sudo /etc/init.d/kdm restart

– перезапустить X (KDE)

(file) /etc/X11/xorg.conf

– конфигурация X

sudo dpkg-reconfigure -phigh xserver-xorg

– сбросить конфигурацию X

Ctrl+Alt+Bksp

– перезапустить X-сервер

Ctrl+Alt+FN

– переключиться на консоль №N

Ctrl+Alt+F7

– вернуться к X

Команды для работы с сервисами:

Смотреть команды: »

start service

– запустить service (Upstart)

stop service

– остановить service (Upstart)

status service

– проверить, запущен ли service (Upstart)

/etc/init.d/service start

– запустить service (SysV)

/etc/init.d/service stop

– остановить service (SysV)

/etc/init.d/service status

– проверить service (SysV)

/etc/init.d/service restart

– перезапустить service (SysV)

runlevel

– посмотреть текущий runlevel

Команды для управления пакетами:

Смотреть команды: »

apt-get update

– обновить базу пакетов

apt-get upgrade

– обновить все пакеты

apt-get dist-upgrade

– обновить версию Ubuntu

apt-get install pkg

– установить pkg

apt-get remove pkg

– удалить pkg

apt-get autoremove

– удалить устаревшие пакеты

apt-get -f install

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

dpkg --configure -a

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

dpkg -i pkg.deb

– установить пакет из файла pkg.deb

(file) /etc/apt/sources.list

– список репозиториев APT

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

Смотреть команды: »

rpm -ivh package.rpm

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

rpm -ivh --nodeps package.rpm

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

rpm -U package.rpm

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

rpm -F package.rpm

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

rpm -e package_name.rpm

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

rpm -qa

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

rpm -qa | grep httpd

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

rpm -qi package_name

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

rpm -qg "System Environment/Daemons"

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

rpm -ql package_name

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

rpm -qc package_name

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

rpm -q package_name --whatrequires

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

rpm -q package_name --scripts - отобразит скрипты, запускаемые при установке/удалении пакета rpm -q package_name --changelog - вывести историю ревизий пакета rpm -qf /etc/httpd/conf/httpd.conf - проверить какому пакету принадлежит указанный файл. Указывать следует полный путь и имя файла. rpm -qp package.rpm -l - отображает список файлов, входящих в пакет, но ещё не установленных в систему rpm --import /media/cdrom/RPM-GPG-KEY

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

rpm --checksig package.rpm

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

rpm -qa gpg-pubkey

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

rpm -V package_name

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

rpm -Va

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

rpm -Vp package.rpm

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

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

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

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

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

rpmbuild --rebuild package_name.src.rpm

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

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

Смотреть команды: »

yum install package_name

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

yum update

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

yum update package_name

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

yum remove package_name

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

yum list

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

yum search package_name

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

yum clean packages

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

yum clean headers

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

yum clean all

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

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

Смотреть команды: »

dpkg -i package.deb

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

dpkg -r package_name

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

dpkg -l

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

dpkg -l | grep httpd

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

dpkg -s package_name

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

dpkg -L package_name

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

dpkg --contents package.deb

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

dpkg -S /bin/ping

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

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

Смотреть команды: »

apt-get install package_name

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

apt-cdrom install package_name

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

apt-get update

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

apt-get upgrade

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

apt-get remove package_name

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

apt-get purge package_name

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

apt-get check

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

apt-get clean

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

apt-get autoclean

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

Команды для просмотра содержимого файлов:

Смотреть команды: »

cat file1

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

tac file1

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

more file1

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

less file1

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

head -2 file1

- вывести первые две строки файла 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

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

Команды для проверки файловых систем:

Смотреть команды: »

badblocks -v /dev/hda1

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

fsck /dev/hda1

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

fsck.ext2 /dev/hda1

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

e2fsck /dev/hda1

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

e2fsck -j /dev/hda1

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

fsck.ext3 /dev/hda1

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

fsck.vfat /dev/hda1

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

fsck.msdos /dev/hda1

- проверить/восстановить целостность файловой системы fat раздела 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

Команды для создания резервных копий:

Смотреть команды: »

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 на флоппи-диск

d if=/dev/fd0 of=/dev/hda bs=512 count=1

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

Команды для работы с сетью:

Смотреть команды: »

ifconfig

– просмотр сетевой информации

iwconfig

– просмотр информации беспроводных устройств

sudo iwlist scan

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

sudo /etc/init.d/networking restart

– перезапустить сеть

(file) /etc/network/interfaces

– файл для ручной настройки сети

ifup interface

– поднять interface

ifdown interface

– положить interface

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.linuxguide.it

- разрешить имя www.linuxguide.it хоста в 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

Команды для мониторинга и отладки:

Смотреть команды: »

top

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

ps -eafw

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

ps -e -o pid,args --forest

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

pstree

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

kill -9 98989

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

kill -TERM 98989

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

kill -1 98989

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

kill -HUP 98989

- заставить процесс с PID 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

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

Команды для работы с фаерволом:

Смотреть команды: »

ufw enable

– включить фаервол

ufw disable

– выключить фаервол

ufw default allow

– разрешить все подключения

ufw default deny

– запретить все подключения

ufw status

– текущий статус и правила

ufw allow port

– разрешить соединения по порту port

ufw deny port

– закрыть port

ufw deny from ip

– заблокировать ip адрес

Команды для работы с ядром:

Смотреть команды: »

При зависании – Наберите фразу “REISUB” зажав клавиши Alt и SysRq (PrintScrn) с 1 сукундной паузой между каждой буквой. Компьютер перезагрузится.

lsb_release -a

– получить версию Ubuntu

uname -r

– получить версию ядра

uname -a

– получить больше информации о ядре

Статья в разработке и будет дополнятся материалом далее.

Опубликовано 17 Фев 2014 20:23 © Просто Linux | Всё про Линукс, Android и Windows.

prostolinux.ru

Полезные команды терминала Ubuntu - Да здравствует жизнь!

Привилегии

sudo command — запустить команду как rootsudo -s — открыть оболочку rootsudo -s -u user — открыть оболочку как пользовательsudo -k — восстановить пароль sudogksudo command — визуальный диалог sudo (GNOME)kdesudo command — визуальный диалог sudo (KDE)sudo visudo — редактировать /etc/sudoersgksudo nautilus — корневой файловый менеджер (GNOME)kdesudo konqueror — корневой файловый менеджер (KDE)passwd — изменить ваш пароль

Сеть

ifconfig — показать информацию о сетиiwconfig — показать информацию о беспроводной сетиsudo iwlist scan — поиск беспроводных сетейsudo /etc/init.d/networking restart — перезапустить сеть/etc/network/interfaces — файл для ручной настройки сетиifup interface — включить интерфейсifdown interface — отключить интерфейс

ping host - пропинговать host и вывести результат

whois domain - получить информацию whois для domainwget file - скачать fileifconfig eth0" - показать конфигурацию сетевого интерфейса eth0ifup eth0" - активировать интерфейс eth0ifdown eth0" - деактивировать интерфейс eth0ifconfig eth0 192.168.1.1 netmask 255.255.255.0" - выставить интерфейсу eth0 ip-адрес и маску подсетиifconfig eth0 promisc" - перевести интерфейс eth0 в promiscuous-режим для "отлова" пакетов (sniffing)ifconfig eth0 -promisc" - отключить promiscuous-режим на интерфейсе eth0dhclient eth0" - активировать интерфейс eth0 в dhcp-режиме.route -n" - вывести локальную таблицу маршрутизацииroute add -net 0/0 gw IP_Gateway" - задать ip-адрес шлюза по умолчанию (default gateway)route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1" - добавить статический маршрут в сеть 192.168.0.0/16 через шлюз с ip-адресом 192.168.1.1route del 0/0 gw IP_gateway" - удалить ip-адрес шлюза по умолчанию (default gateway)echo "1" > /proc/sys/net/ipv4/ip_forward" - разрешить пересылку пакетов (forwarding)hostname" - отобразить имя компьютераip link show" - отобразить состояние всех интерфейсовmii-tool eth0" - отобразить статус и тип соединения для интерфейса eth0ethtool 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" - показать конфигурацию беспроводного сетевого интерфейса eth2cat /proc/net/dev - показать сетевые интерфейсы и статистику по нимdig domain – получить DNS информацию domain

Дисплей

sudo /etc/init.d/gdm restart — перезапустить X и вернуться к авторизации (GNOME)sudo /etc/init.d/kdm restart — перезапустить X и вернуться к авторизации (KDE)/etc/X11/xorg.conf — файл настроек экранаsudo dexconf — сбросить конфигурацию xorg.confCtrl+Alt+Bksp — перезапустить X-сервер, если зависCtrl+Alt+FN — переключиться на интерфейс командной строкиCtrl+Alt+F7 — переключиться обратно на графический интерфейс пользователя

Специальные пакеты

ubuntu-desktop — стандартная среда Ubuntukubuntu-desktop — рабочий стол KDExubuntu-desktop — рабочий стол XFCEubuntu-minimal — основные утилиты Ubuntuubuntu-standard — стандартные утилиты Ubuntuubuntu-restricted-extras — несвободные, но полезные пакеты для Ubuntukubuntu-restricted-extras — несвободные, но полезные пакеты для Kubuntuxubuntu-restricted-extras — несвободные, но полезные пакеты для Xubuntu

Системные службы

start service — начать работу службы (Upstart)stop service — остановить работу службы (Upstart)status service — проверить, запущена ли служба (Upstart)/etc/init.d/service start — запустить службу (SysV)/etc/init.d/service stop — остановить службу (SysV)/etc/init.d/service status — проверить статус службы (SysV)/etc/init.d/service restart — перезапустить службу (SysV)runlevel — получить текущий уровень запуска

Брандмауэр

ufw enable — включить брандмауэрufw disable — выключить брандмауэрufw default allow — разрешить все соединения по умолчаниюufw default deny — запретить все соединения по умолчаниюufw status — текущий статус и правилаufw allow port — разрешить трафик на портufw deny port — заблокировать портufw deny from ip — заблокировать IP-адрес

Управление пакетами

sudo apt-get update — обновить доступные обновленияsudo apt-get upgrade — обновить все пакетыsudo apt-get dist-upgrade — обновить версию Ubuntusudo apt-get install pkg — установить пакет (pkg)sudo apt-get purge pkg — удалить пакет (pkg)sudo apt-get autoremove — удалить устаревшие пакетыsudo apt-get -f install — попробовать исправить битые пакетыsudo dpkg --configure -a — попробовать исправить битые пакетыsudo dpkg -i pkg.deb — установить файл pkg.deb/etc/apt/sources.list — файл со списком APT репозиториевИмена приложений

nautilus — файловый менеджер (GNOME)dolphin — файловый менеджер (KDE)konqueror — веб-браузер (KDE)kate — текстовый редактор (KDE)gedit — текстовый редактор (GNOME)

Система

Восстановление — нажмите и удерживайте Alt+SysRq (PrintScrn), затем с паузами в одну секунду, нажимайте клавиши R, E, I, S, U, B для безопасной перезагрузки системыlsb_release -a — получить версию Ubuntuuname -r — получить версию ядраuname -a — получить всю информацию о ядре

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

arch - отобразить архитектуру компьютераcat /proc/cpuinfo - показать информацию о ЦПУcat /proc/meminfo - проверить использование памятиdf -h - информация об использовании дисковhdparm -i /dev/hda - вывести характеристики жесткого дискаlspci -tv - показать в виде дерева PCI устройстваlsusb -tv - показать в виде дерева USB устройстваuptime - показать время работы с момента включенияuname -a - показать информацию о ядреclock -w - сохранить системное время в BIOSshutdown -h now - Остановить системуshutdown -r now - перегрузить системуlogout - выйти из системыsudo fdisk -l  разделы жесткого диска

Файловые команды

cd /home - перейти в директорию '/home'cd .. - перейти в директорию уровнем вышеcd ../.. - перейти в директорию двумя уровнями вышеcd - перейти в домашнюю директориюcd ~user - перейти в домашнюю директорию пользователя usercd - - перейти в директорию, в которой находились до перехода в текущую директориюpwd - показать текущюю директориюls - отобразить содержимое текущей директорииls -F - отобразить содержимое текущей директории с добавлением к именам символов, храктеризующих типls -l - показать детализированое представление файлов и директорий в текущей директорииls -a - показать скрытые файлы и директории в текущей директорииls *[0-9]* - показать файлы и директории содержащие в имени цифрыtree - показать дерево файлов и директорий, начиная от корня (/)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 в файл file2cp dir/* . - копировать все файлы директории dir в текущую директориюcp -a /tmp/dir1 . - копировать директорию dir1 со всем содержимым в текущую директориюcp -a dir1 dir2 - копировать директорию dir1 в директорию dir2Пользователи и группы

whoami - имя, под которым вы залогиненыgroupadd group_name - создать новую группу с именем group_namegroupdel group_name - удалить группу group_namegroupmod -n new_group_name old_group_name - переименовать группу old_group_name в new_group_nameuseradd -c "Nome Cognome" -g admin -d /home/user1 -s /bin/bash user1 - создать пользователя user1, назначить ему в качестве домашнего каталога /home/user1, в качестве shell'а /bin/bash, включить его в группу admin и добавить комментарий Nome Cognomeuseradd user1 - создать пользователя user1userdel -r user1 - удалить пользователя user1 и его домашний каталогusermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 - изменить атрибуты пользователяpasswd - сменить парольpasswd user1 - сменить пароль пользователя user1 (только root)chage -E 2005-12-31 user1 - установить дату окончания действия учётной записи пользователя user1pwck - проверить корректность системных файлов учётных записей. Проверяются файлы /etc/passwd и /etc/shadowgrpck - проверяет корректность системных файлов учётных записей. Проверяется файл/etc/groupnewgrp [-] group_name - изменяет первичную группу текущего пользователя. Если указать "-", ситуация будет идентичной той, в которой пользователь вышил из системы и снова вошёл. Если не указывать группу, первичная группа будет назначена из /etc/passwdУстановка пакетов

sudo apt-get istall application_name - установить приложение application_nameУстановка из исходников:./configuremakemake install

sudo dpkg -i pkg.deb - установить пакет (Debian)Привилегированный запуск приложений

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

Оборудование. Определить параметры оборудования в Ubuntu:

sudo lsb_release -a > sysinfo4.txt ; sudo uname -a >> sysinfo4.txt ; sudo lshw >> sysinfo4.txt && gedit sysinfo4.txt

(вместо gedit можно использовать leafpad)

Запуск файлов с расширением .jar

# java -jar file.jar

 Автор: Jacob PeddicordИсточник: fosswire.com

progmatikus.livejournal.com

5 команд, которые должен знать каждый

Терминал очень полезная вещь в ОС Linux. Но многие новички задаются вопросом: какие команды самые важные в терминале? И это логично, команд сотни, а то и тысячи, а какие из них важней знают не все. Сайт omgubuntu.co.uk провёл опрос и вывел 5 самых важных команд по мнению читателей. Ниже перечислены и описаны эти команды. 

Команда sudo

Sudo расшифровывается как "Superuser do", то есть что должен сделать суперпользователь. Если вы хоть раз устанавливали/удаляли какое либо приложение, редактировали системные файлы, либо пользовались другими командами, затрагивающими систему, то вы уже наверняка пользовались командой sudo.

Команда sudo всегда пишется в начале. К примеру вот команда для обновления списка пакетов:

Для запуска графических приложений лучше использовать команду gksudo. Почему? Во-первых эта команда для этого и предназначена, во-вторых это исключает некоторые возможные ошибки, которые могут возникать при работе приложений с графическим интерфейсом, вызываемых через sudo. Пример запуска nautilus:

Команда cd

Cd расшифровывается как "Change Directory" и с помощью этой команды осуществляется навигация по директориям.

Функции команды cd:

  • перейти в определённую категорию
  • перейти в домашнюю категорию
  • перейти "назад", в предыдущую категорию

Помните, что при использовании команды cd можно пользоваться клавишой Tab для автоматического написания полного имени папки. На пример пишем следующее:

Нажимаем Tab и получаем следующее:

Команда ls

Навигация по папкам с помощью команды cd довольно проста, но как найти нужный файл? Вот тут и нужна команда ls.

Функции команды ls:

  • Отобразить все файлы и папки в директории, кроме скрытых
  • Отобразить все файлы и папки в директории, включая скрытые

Команда apt-get install

Приложения, которые доступны в Центре приложений Ubuntu, и которые доступны в ваших PPA, могут быть установлены с помощью apt-get install.

На пример как установить браузер Chromium:

sudo apt-get install chromium-browser

sudo apt-get install chromium-browser

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

sudo apt-get remove chromium-browser

sudo apt-get remove chromium-browser

Команда uname -a

Довольно популярный вопрос - Как узнать версию ядра (Kernel Version) в Ubuntu Linux. А сделать это довольно просто.

Вводим в терминале:

Дорогие читатели! Давайте составим свой список из 5-ти самых важных команд! Пишите ваши варианты в комментариях, либо в твиттере с упоминанием @ubuntovod. Как соберём достаточно вариантов - будет опубликован список.

Вам нужен свой ДСУ? Обратите внимание на ДСУ-150, должен подойти.

ubuntovod.ru

Некоторые команды администрирования Ubuntu

Просмотреть релиз Ubuntu

$ sudo lsb_release -a

(в/etc/lsb-release file).

Покажет:

DISTRIB_ID=Ubuntu

DISTRIB_RELEASE=6.06

DISTRIB_CODENAME=dapper

DISTRIB_DESCRIPTION=»Ubuntu 6.06.1 LTS»

$ sudo depmod -a

Эта команда просматривает доступные модули, находит зависимости для установленных модулей,и обновляет файл modules.dep

$ sudo modprobe ipw3945

Загружает модуль ipw3945

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

/etc/modprobe.d.

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

$ cat /proc/modules

или

$ lsmod

Команда hdparm может помочь просмотреть  многие параметры настройки  компакт-диска/DVD и жесткого диска:

$ sudo hdparm -I /dev/sda | less

Kickstart

сначала установите Kickstart configuration tool:

$ sudo apt-get install system-config-kickstart

Запустите  Kickstart Configurator командой

$ sudo system-config-kickstart

.

Когда запустится: введите установки и путь к Kickstart файлу конфигурации.

Например, если это ks.cfg файл, на сервере HTTP с IP-адресом 192.168.0.50, в каталоге по умолчанию,

введите следующую команду:

#boot: install ks=http://192.168.0.50/ks.cfg

Обновление Runlevel

Рассмотрим Update-rc.d команды, и как менять настройки по умолчанию на конкретных уровнях запуска.

В этом примере, Update-rc.d команда используется для удаления гипотетической

службы Foo из всех /etc/ rcX.d каталогов:

$ sudo update-rc.d -f foo remove

И наоборот, следующая команда добавляет Foo сервис  как K (kill) и S (start) скрипты

в соответствующие /etc/ rcX.d каталогов:

$ sudo update-rc.d -f foo defaults

Вот пример, который настраивает start сценарии для Foo службы на уровнях S и 2, и не

запускает их на уровнях 0, 1, 3, 4, 5 и 6.

Не забывайте, пространство между уровнями, а также точку:

$ sudo update-rc.d -f start 17 S 2 . stop 81 0 1 3 4 5 6

.

Работа с дисками.

partprobe  — команда перечитывает таблицу разделов без перезагрузки.

Для форматирования раздела Linux, применяются mkfs команды.

$ sudo  mkfs -t ext3 /dev/hda2

Если вы хотите запустить FSCK,сначала размонтируйте файловую систему.

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

прежде чем вы сможете ее размонтировать.

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

команды:

$ sudo umount /var

$ sudo  fsck -t ext3 /dev/hda7

$ sudo  mount /dev/hda7 /var

Если вы форматирования ext2 или ext3 файловой системы, FSCK само автоматически вызывает команды

e2fsck (которая работает для  обеих файловых систем). Если вы проверяете файловую системн ext3,

после того,как размонтировали  командой umount, введите команду:

$ sudo  fsck /dev/hda7

Управление Обновлениями и репозитариями.

перейдите в /var/cache/apt/archives. Если система загружается непосредственно из Live CD,

вы увидите здесь  установленные пакеты.

$dpkg -l

вы увидите полный список установленных пакетов.

$

$dpkg-L   вы увидите полный список файлов и каталогов

$ dpkg -L test

$ dpkg -S /etc/default/useradd

Команда показывает source-файлы( для программы useradd).

passwd: /etc/default/useradd

dpkg-r

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

dpkg-P

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

Инсталляция пакета,если установлены зависимоси пакета:

$ sudo dpkg -i test_1.2.3ubuntu2_i386.deb

apt-get install package и apt-get remove package

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

$ sudo apt-get update

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

все текущие пакеты и сравнивает их с учетом имеющихся обновлений:

$ sudo apt-get upgrade

$ sudo apt-get -u dselect-upgrade

Вы можете очистить все пакеты из этого каталога с помощью следующей команды

$ sudo apt-get clean

Кроме того, можно  убрать  пакеты, которые стали устаревшими (и в большинстве случаев заменен более поздними пакетами):

$ sudo apt-get autoclean

Следующая команда ищет все пакеты, относящиеся к MythTV:

$ apt-cache search mythtv

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

для менеджера изображений GIMP

$ apt-cache depends gimp

Если вы заинтересованы в поиске обратной зависимости,используйте переключатель rdepends.

Например, чтобы найти пакеты,которые требуют инсталлированного GIMP, необходимо выполнить команду:

$ apt-cache rdepends gimp

Если у вас установлен CD / DVD диск (или связанных с ними ISO файл) на каталог /repo,

Следующая команда  добавляет DVD диск в качестве хранилища (репозитария):

$ sudo apt-cdrom -d /repo add

apt-file команда использует хранилище базы данных, чтобы помочь найти  файлы в неустановленных пакетах.

$ apt-file search /etc/inittab

Преобразование RPM пакета в deb с помощью следующей команды:

$ sudo alien —to-deb package.rpm

Локальные репозитарии конфигурятся в файле /etc/apt/sources.list file.

Пример:

deb http://us.archive.ubuntu.com/ubuntu/ gutsy main restricted

deb-src http://us.archive.ubuntu.com/ubuntu/ gutsy main restricted

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

users-admin

.

locale -a

Возвращает  доступные языки.

userdel

— умолчанию, эта команда не удаляет домашний каталог этого пользователя.

команда userdel-r имя пользователя удаляет этого пользователя и его домашний каталог

вместе со всеми файлами, хранящимися в нем.

Работа с сетью.

Сервисы,расположенные в каталоге /etc/rcS.d запускаются на всех уровнях runlevels.

Скрипт

S40networking

, запускаемый в /etc/init.d/networking подключает все интерфейсы при загрузке.

Поднимаем все интерфейсы вручную:

$sudo ifup -a

Следующая команда выключает вторую сетевую карту:

$ sudo ifdown -v eth2

Описание интерфейсов хранятся в файле:

/etc/network/interfaces

Назначаем адрес интерфейсу

$ sudo ifconfig eth0 10.11.12.13

Прописываем шлюз

$ sudo route add default gw 192.168.0.1 dev eth0

Просмотр является ли сервер роутером:

$ cat /proc/sys/net/ipv4/conf/default/forwarding

0

Разрешаем работать роутером, для чего разрешаем IP forwarding в файле

/etc/sysctl.conf

net.ipv4.conf.default.forwarding=1

Следующая команда без перезагрузки перечитывает конфигурационный файлфайл /etc/sysctl.conf

Образцы конфигурационных файлов:

/etc/hosts

192.168.132.32  linux1.mommabears.com  laptop

/etc/resolv.conf

nameserver 192.168.0.1

/etc/host.conf

order hosts,bind

/etc/nsswitch.conf

hosts: files dns

bsdadmin.ru

Терминал и консоль | Русскоязычная документация по Ubuntu

Итак, давайте сначала посмотрим что из себя представляет этот самый терминал. Найти его можно набрав «терминал» в строке поиска, или комбинацией клавиш Ctrl+Alt+T. Запустив его вы увидите примерно такое окошечко:

Знакомьтесь, это и есть терминал. Он создан для того, чтобы выполнять текстовые команды, поэтому отложите свою мышку в сторону и пододвиньте поближе клавиатуру1).

Управление терминалом

Давайте выполним какую-нибудь командочку, например:

lsb_release -a 2> /dev/null | grep -P "(?<=Codename:)(.*)"

На выходе получим кодовое имя нашего дистрибутива:

Набирать такие команды с клавиатуры посимвольно немного неудобно, поэтому давайте сразу разберёмся с основами управления терминалом. Начнём с копирования/вставки. Стандартные сочетания клавиш Ctrl+C и Ctrl+V в терминале не работают, вместо них используется старая добрая пара Ctrl+Insert с Shift+Insert или же сочетания с Shift: Ctrl+Shift+C для копирования и Ctrl+Shift+V для вставки. Что ж, теперь вы умеете целиком копировать команды из руководств.

Кстати, в большинстве руководств и инструкций вы встретите именно терминальные команды. Это связано с тем, что, графических оболочек очень много, и объяснить, как выполнить какое-то действие для каждой из них бывает очень непросто. А терминал - один для всех, и одна и та же команда работает во всех оболочках (естественно, кроме команд по настройке самой оболочки). К тому же, намного проще дать одну команду, чем объяснить где и как 10 раз нажать мышкой.

Однако, часто всё-таки команды приходится набирать вручную, а не вставлять откуда-то. И вот тут на помощь приходит великолепное свойство терминала, называемое автодополнением. Наберите в терминале символы apt-g, а потом нажмите клавишу Tab. Терминал автоматически дополнит за вас команду. Кстати, apt-get - это основная консольная утилита управления пакетами, но об этом после.

А теперь попробуйте набрать только apt и нажать Tab. Ничего не происходит? А теперь нажмите Tab два раза подряд. Видите, терминал выдал вам список всех команд, начинающихся с apt.

Удобно, не правда ли? Особенно, если привыкнуть.

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

Еще одна хитрость. Откройте терминал нажмите сочетание клавиш Ctrl+R и начните набирать нужную команду. Терминал автоматически подставит подходящие варианты из набранных ранее команд.

Работа с файлами

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

Узнать, в какой же папке вы сейчас находитесь, очень просто, достаточно посмотреть на приглашение терминала, то есть на те символы, которые печатаются автоматически в начале каждой строки:

Текущий каталог - это то, что между символами : и $. Кстати, обратите внимание, перед : стоит имя пользователя и имя компьютера, разделённые символом @. Но когда вы запускаете терминал, то между : и $ стоит символ ~:

При запуске терминала текущим каталогом становится домашняя папка пользователя, так вот, символ ~ - это синоним адреса домашней папки текущего пользователя2). Кстати, если вы ещё не знаете, полный адрес домашнего каталога выглядит как

/home/логин_пользователя

У меня это /home/san-alex.

Хорошо, как выяснить текущее местоположение, вроде разобрались, а как же его сменить? Для этого предназначена команда cd, выполните, например, команду

cd Музыка

Видите, текущее местоположение изменилось:

На всякий случай напоминаю, что имена файлов и каталогов в Linux чувствительны к регистру символов, то есть Музыка и музыка - эта два совершенно разных имени.

После команды cd можно указывать как полные пути относительно корня, так и относительные, отсчитывающиеся от текущего каталога. В примере выше я использовал относительный путь. А вот полный:

cd /etc/apt

Хочу сразу обратить внимание на несколько важных особенностей. Во-первых, при наборе путей так же работает автодополнение по Tab, это очень удобно. Во-вторых, использовать различные небуквенные символы и пробелы напрямую при наборе путей нельзя. Например, для того, чтобы перейти в каталог, содержащий в имени символ пробела, надо при наборе пути к такому каталогу перед пробелом поставить символ обратного слеша \. Вот так:

cd Каталог\ с\ плохими\ символами\ в\ имени\<\>

Установка обратного слеша перед некоторыми символами называется экранированием. Кстати, при использовании автодополнения все слеши расставляются автоматически. Кроме того, можно просто заключить путь в двойные кавычки:

cd "Каталог с плохими символами в имени<>"

Но в этом случае автодополнение работать не будет.

Заменитель адреса домашнего каталога ~ можно использовать и при наборе путей, например:

cd ~/Музыка

А для перемещения непосредственно в домашний каталог достаточно просто набрать cd без аргументов.

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

cd ..

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

cd ../..

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

cd -

Как перемещаться по каталогам в первом приближении вроде разобрались, теперь же я расскажу про некоторые другие полезные операции. Посмотреть содержимое текущего каталога можно командой ls:

Обычно командам можно передавать различные модификаторы, например:

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

Очень часто параметрами команд являются имена файлов или папок, именно для этого я так подробно рассказывал о способе перемещения по каталогам и использования различных имен файлов в качестве аргументов. Например, команда cat показывает содержимое текстового файла, и если вы хотите посмотреть содержимое файла test.txt, лежащего в вашем домашнем каталоге, то вы могли бы выполнить команду

cat ~/text.txt

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

Начинающих пользователей Linux очень часто любят пугать так называемыми манами. Дело в том, что man - это система справки о командах для терминала. Пользоваться ей очень легко, просто наберите в терминале

man команда

Например:

man ls

Появится собственно текст справки3), разбитый на разделы. Перемещаться по нему можно с помощью стрелок и клавиш PgUp и PgDown, а для выхода просто нажмите Q.

Кроме man-страниц у многих утилит4) есть встроенная справка, которую обычно можно посмотреть, запустив программу с ключом --help:

утилита --help

Например:

ls --help

Есть и другие способы получения помощи, например похожая на man утилита info. Но чаще всего наиболее полную информацию о программе можно получить именно из man-страниц, а краткую справку - указав ключ --help при вызове5).

История введённых команд

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

history

У каждой команды в истории есть номер, выполнить снова команду с определённым номером можно набрав в терминале восклицательный знак и номер нужной команды:

А повторить предыдущую набранную команду можно просто написав два восклицательных знака !! Двигаться по истории набранных команд можно стрелочками вверх/вниз клавиатуры. Нажав один раз на стрелку вверх - терминал покажет последнюю набранную команду, два раза - предпоследнюю, и так далее. Если нужно вернуться назад - нажмите стрелочку вниз.

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

Разные полезности терминала

На всякий случай немного коснусь ещё одной темы. Бывает так, что вы что-то запустили в терминале и хотите прервать работу этого чего-то. Обычно это сделать очень просто, достаточно нажать на клавиатуре сочетание клавиш Ctrl+C6).

Есть и другие управляющие сочетания, например Ctrl+D посылает сигнал конца файла запущенному приложению, а без запущенных утилит делает тоже, что и терминальная команда exit. Ну а если вы хотите более подробно управлять работающими программами, то посмотрите на системный монитор htop, который, правда, нужно доустанавливать отдельно.

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

И напоследок, в качестве примера, рассмотрим простой консольный файловый менеджер. Помните, в одной из предыдущих глав мы установили в нашу систему Midnight Commander. Введите в терминале команду

mc

и увидите, что получится:

У пользователей постарше, успевших поработать в DOS, это окно может вызвать острый приступ ностальгии.

Консоль

Не путайте терминал с консолью. Для работы консоли графическая оболочка не нужна совсем. Именно так работают серверные версии Ubuntu. Терминал - это только одна из программ, которые эмулируют работу консоли. В «настоящую» консоль можно попасть набрав комбинацию клавиш Ctrl+Alt+Fx (где Fx - клавиши от F1 до F6). После этого нужно ввести свой логин и пароль (пароль никак отображаться не будет, ни звездочками, ни черточками - вообще никак). Обратно в графическую оболочку - Ctrl+Alt+F7.

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

Вы, наверное, подумали: а зачем эта консоль нужна, если есть терминал? Приведу только два примера:

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

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

top

посмотреть номер зависшего процесса и командой

kill -9 номер процесса

завершить зависший процесс.

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

help.ubuntu.ru