SSH и Linux консоль: полезные команды

Мы уже публиковали основные команды, доступные в консоли Linux или SSH терминале.

Эта статья также содержит базовую информацию для тех, кто знакомится с системой на базе Linux — такой как Ubuntu, например.

Информация сгруппирована по шести разделам:

Сочетания клавиш, стандартные команды и команды, дающие информацию по системе, работа с сетью, действия с командной строкой, основные Команды Администрирования, контроль процессов

Сочетания клавиш и обозначения

[Ctrl][Alt][F1] Переключение на первый консольный терминал
[Ctrl][Alt][F#] Переключение на #ый консольный терминал (#=1..6)
[Ctrl][Alt][F7] Переключение на графический терминал (если таковой запущен)
[Tab] Дополнение текущей последовательности символов, набранной в консоли, до исполняемой команды. Эта особенность сильно облегчает жизнь при наборе команд! Это работает также и при загрузке компьютера через LILO!
[ArrowUp] Просмотр и редактирование буфера истории команд. Для исполнения команды нажмите [Enter].
[Shift][PgUp] Просмотр текста выведенного на консольный терминал и ушедшего за приделы экрана. Перемещение в вверх.
[Shift][PgDown] То же что и выше. Перемещение в вниз.
[Ctrl][Alt][+] (в X-windows) Изменение разрешения. Переключение к следующей конфигурации.
[Ctrl][Alt][-] (В X-windows) Изменение разрешения. Возврат к предыдущей конфигурации.
[Ctrl][Alt][BkSpc] (в X-windows) Убить текущий сервер X-windows (выйти из графической оболочки, уничтожив все процессы).
[Ctrl][Alt][Del] Перезагрузка компьютера.
[Ctrl]c Убить текущий процесс.
[Ctrl]d Выход из текущего терминала (обычно работает).
[Ctrl]d Посылка текущему процессу сигнала [Конец-файла] (конец файла).
[Ctrl]s Остановка вывода на терминал.
[Ctrl]q Возобновление вывода на терминал. Попробуйте эту комбинацию клавиш, если ваш терминал непонятно почему перестал отвечать на ваши запросы.
[Ctrl]z Послать текущий процесс в background.
reset Восстановление значений по умолчанию для «запорченного» терминала (терминал показывает странные символы и неадекватно реагирует на нажатие клавиш). Используйте эту команду если вы попытались вывести на экран бинарный файл. Вероятно вы не сможете увидеть эту команду в процессе ее набора.
~ Моя домашняя директория. Например cd ~/моя_поддиректория.
. (точка) Текущая директория.
.. (две точки) Родительская директория для текущего каталога.

Стандартные команды и информация по системе

pwd Вывести текущую директорию.
hostname Вывести или изменить сетевое имя машины.
whoami Ввести имя под которым я зарегистрирован.
date Вывести или изменить дату и время. Например, чтобы установить дату и время равную 2000-12-31 23:57, следует выполнить команду: date 123123572000
time Получить информацию о времени, нужного для выполнения процесса + еще кое-какую информацию. Не путайте эту команду с date. Например: Я могу определить как много времени требуется для вывода списка файлов в директории, набрав последовательность: time ls
who Определить кто из пользователей работает на машине.
rwho -a Определение всех пользователей, подключившихся к вашей сети. Для выполнения этой команды требуется, чтобы был запущен процесс rwho. Если такого нет — запустите «setup» под суперпользователем.
finger [имя_пользователя] Системная информация о зарегистрированном пользователе. Попробуйте: finger root
uptime Количество времени прошедшего с последней перезагрузки.
ps a Список текущих процессов.
top Интерактивный список текущих процессов отсортированных по использованию cpu.
uname Вывести системную информацию.
free Вывести информацию по памяти.
df -h (=место на диске) Вывести информацию о свободном и используемом месте на дисках (в читабельном виде).
du / -bh | more (=кто сколько занял) Вывод детальной информации о размере файлов по директориям начиная с корневой (в читабельном виде).
cat /proc/cpuinfo Системная информация о процессоре. Заметьте, что файла в /proc директории — не настоящие файлы. Они используются для получения информации, известной системе.
cat /proc/interrupts Используемые прерывания.
cat /proc/version Версия ядра Linux и другая информация
cat /proc/filesystems Вывести используемые в данный момент типы файловых систем.
cat /etc/printcap Вывести настройки принтера.
lsmod (как root) Вывести информацию о загруженных в данный момент модулях ядра.
set|more Вывести текущие значения переменных окружения.
echo $PATH Вывести значение переменной окружения «PATH» Эта команда может использоваться для вывода значений других переменных окружения. Воспользуйтесь командой set, для получения полного списка.

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

netconf (как root) Очень хорошая программа настройки сети, использующая для интерактивной работы с пользованием, текстовое меню.
ping [имя_машины] «Проверка на вшивость». Есть или нет контакта с другой машиной (в качестве параметре команде можно передавать сетевое имя машины или IP адрес), нажмите [Ctrl]-C когда вся требуемая информация будет получена.
route -n Вывести таблицу маршрутизации (the routing table).
ipfwadm -F -p m Настроить firewall.
ifconfig (как root) Вывести информацию о текущих сетевых интерфейсах (ethernet, ppp, и т.д.) Ваша первая ethernet плата плата будет показана как eth0, вторая как eth1, первый ppp модем как ppp0 и так далее. «lo» — расшифровывается как «loopback only» сетевой интерфейс, который должен быть постоянно активирован. Используйте соответствующие опции (смотрите результат выполнения ifconfig —help) для настройки сетевых интерфейсов.
ifup [имя_сетевого_интерфейса] (/sbin/ifup при работе под обычным пользователем) Активизация соответствующего сетевого интерфейса. Например: ifup eth0 ifup ppp0. Пользователь может активизировать и выключить сетевое интерфейс ppp только когда установлены соответствующие права доступа (права можно установить в процессе настройки ppp через «netconf»)
ifdown [имя_сетевого_интерфейса] (/sbin/ifdown при работе под обычным пользователем). Диактивизация соответствующего сетевого интерфейса.

Простейшие действия с командной строкой

ls Список файлов в текущей директории. Команда выполнении команды dir выполняется команда ls.
cd [директория] Сменить директорию.
cp [что копировать][куда копировать] Копировать файлы.
mcopy [что копировать][куда копировать] Копировать файлы при работе с файловой системой dos (монтировать диска dos необязательно). Например: mcopy a:\autoexec.bat ~/junk . Для дополнительной информацией по подобным командам (mdir, mcd, mren, mmove, mdel, mmd, mrd, mformat ….) ознакомьтесь с man mtools.
mv [что перемещать][куда перемещать] Переместить или переименовать файл.
ln -s [на что сделать ссылку][имя ссылки] Создать символическую ссылку.
rm [файлы] Удалить файлы.
mkdir [директорию] Создать новую директорию.
rmdir [директорию] Удалить пустую директорию.
rm -r [файлы и/или директории] (рекурсивное удаление) Удалить файлы, директории и их поддиректории. ОСТОРОЖНЕЙ с этой командой, если у вас права суперпользователя! Пока у Linux нет системы полного восстановления удаленных файлов (если вы не пользуетесь специальными программами для помещения удаленный файлы в специальный каталог — a la корзинка под W95).
cat [имя файла] | more Просмотр содержимого текстового файла по одной странице за раз.
less [имя файла] Просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам. Нажмите q когда захотите выйти из программы. «Less» — аналог команды DOS «more», хотя очень часто «less» бывает более удобной чем «more».
pico [имя файла] Редактировать текстовый файл.
lynx [html файл или ссылка] Просмотр файла html или WWW ссылки с помощью текстового браузера Lynx.
tar -zxvf [файлы] Распаковать архив tgz или tar.gz, который вы вытянули из сети.
find / -name «имя файла» Найти файл с именем «имя файла». Поиск начинается с директории / . «имя файла» может содержать маску для поиска.
pine Хорошая текстово — ориентированная программа для чтения электронной почты. Еще одна подобная программа называется «elm». Netscape считывает ваши письма с вашего Internet адреса, а pine позволяет вам просматривать «локальную» почту — то есть ту почту, которую посылает вам процесс son или cron.
mc Запустить программу управления файлами «Midnight Commander» (Выглядит как «Norton Commander», но по своим возможностям ближе к far или dn).
telnet [сервер] Связаться по telnet с другой машиной. Используйте имя машины или ее IP адрес. Войдите с помощью вашего пароля (вы должны быть зарегистрированы на этой удаленной машине). Это позволит вам войти на другую машину и работать на ней, как будто вы сидите за ее клавиатурой (почти никаких отличий).
ftp [сервер] Связаться по ftp с удаленным компьютером. Этот тип связи хорош для копирования файлов с/на удаленную машину.

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

printtool (как root в X терминале) Сконфигурировать ваш принтер.
setup (как root) Сконфигурировать мышь, звуковую карту, клавиатуру, графическую оболочку X-windows и системные службы. Очень простая в пользовании программа.
alias ls=»ls -Fskb —color» Создать alias — псевдоним для того чтобы одной командой можно было запустить более сложную комбинацию команд. Поместите создание alias в файл /etc/bashrc если вы хотите, чтобы эти псевдонимы были доступны всем пользователям вашей системы.
adduser [имя_пользователя] Зарегистрировать нового пользователя (у вас должны быть права суперюзера). Например: adduser ivanov . Не забудьте следующим делом настроить пароль пользователя. Директория пользователя находится в каталоге /home/имя_пользователя.
useradd [имя_пользователя] То же, что и adduser.
userdel [имя_пользователя] Удалить пользователя из системы (вы должны зайти как root). С пользовательским каталогом и не прочитанными письмами удаленного пользователя нужно разбираться отдельно.
groupadd [имя_группы] Создать новую группу пользователей на вашей системе. Не обязательно создавать группу непосредственно на основной машине.
passwd Изменить пароль. Если вы суперпользователь, то вы можете изменить пароль любого зарегистрированного пользователя набрав команду: passwd имя_пользователя
chmod [права доступа][файл] (=change mode) Изменить права доступа файлов, чьим владельцем вы являетесь (если вы root, в этом случае вы можете изменить права доступа для любого файла). Есть три способа доступа к файлу: чтение — read (r), запись — write (w), исполнение — execute (x) и три типа пользователей: хозяин файла — owner (u), члены той же группы, что и хозяин файла (g) и все остальные (o). Поверить текущие права доступа можно следующим способом: ls -l имя_файла. Если файл доступен всеми способами всем пользователям, то напротив имени файла будет следующая комбинация букв: rwxrwxrwx. Первые три буквы — это права доступа для хозяина/хозяйки файла, второй триплет — права доступа для его/ее группы, следующая тройка — права доступа для остальных. Отсутствие права доступа показывается как «-«.; Например: Эта команда позволит вам установить права доступа на чтение для файла «junk» для всех (all=user+group+others):
chmod a+r junk
Эта команда отнимет право доступа на исполнение файла у всех кроме пользователя и группы:
chmod o-x junk
Для получение дополнительной информации наберите chmod —help или man chmod или почитайте любое руководство по Linux.
Вы можете установить права доступа по умолчанию для создаваемых вами файлов с помощью команды «umask» (наберите man umask).
chown [новый_хозяин][файлы]
chgrp [новая_группа][файлы] Изменить хозяина и группу для файла.
Вы можете использовать эти две команды, после того как сделали копию файла для кого- либо. su (=super user) Вход в систему как суперпользователь (у вас спросят ваш пароль). Набрав «exit» вы вернетесь в вашу предыдущую пользовательскую оболочку. Пользователь root существует для администрирования системы и команда su дает быстрый доступ к возможностям суперпользователя, когда вам это потребуется. Никогда не входите в систему под пользователем root, используйте для этой цели команду su.

Контроль процессов

ps (=print status) Вывести список текущих процессов с их IDs (PID) идентификаторами. Используйте ps axu для того чтобы отобразить все процессы запущенные на вашей системе, которые имеют вас в качестве хозяина (это касается и процессов которые отцеплены от терминала).
fg [PID] Вернуть фоновый или приостановленный процесс в интерактивное (высокоприоритетное) состояние;
bg [PID] Сделать процесс фоновым. Обратная функция от fg. Может следовать вслед за комбинацией [Ctrl]z.
kill [PID] «Убить» процесс. Для начала определите PID «убиваемого» процесса при помощи ps.
killall [имя_программы] «Убить» все процессы по имени программы.
lpc (как root) Проверить очередь принтера.
lpq Вывести список очереди заданий на печать.
lprm [Номер Задание] Удалить задание из очереди на печать.
nice [имя_программы] Запустить процесс, установив его приоритет.
renice [PID] Изменить приоритет процесса.

SSH и Linux консоль: полезные команды: 2 комментария

  1. по умолчанию каждые две секунды выполняет команду и выводит в stdout, при этом фиксируя экран. Отличная компактная альтернатива while true + sleep + ^D, не продуцирующая мегатонны выхлопа в консоль. Останавливается по ^C.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *