Комбинации клавиш и Команды Linux
Кое-какие горячие комбинации клавиш и команды, которые
следует знать каждому при работе с Linux.
что такое команда?
— Что такое команда (в любой OS)?
— Это маленькая программка, которая выполняет какое-то действие в системе.
— Где в linux находятся эти программки-команды?
— Как правило, они находятся в следующих директориях:
доступные всем пользователям в системе.
/bin
/usr/bin
/usr/local/bin
доступные администратору системы (пользователю root).
/sbin
/usr/sbin
/usr/local/sbin
Также файлы «команд» могут находится в других каталогах, но для того,
чтобы команды оттуда запускались автоматически, надо эти каталоги указать в переменной $PATH.
Таким образом, можно узнать какие каталоги команд вам доступны в системе, выполнив
$ echo $PATH
Если вы хотите добавить какой-то каталог с запускаемыми файлами, например,
/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/bin , то сделать это можно сказав:
$ export PATH=$PATH:/home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/bin
И если после этого дать
$ echo $PATH
То вы увидите, что переменная окружения $PATH изменилась.
И теперь вы сможете запустить любой запускаемый файл из /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ/bin просто набрав имя файла.
Добавление от Ben-Ja:
Меня часто спрашивают, как получить сразу все команды OS linux на данной машине?
Получить список всех командных файлов в системе, которые вам доступны, можно вот таким образом:
for x in `echo $PATH |sed s/:/\ /g`; do echo "=========== $x =========="; find $x -type f |sort ;wait; done
Или вручную просмотреть каждую директорию из переменной $PATH
А теперь по подробней о командах linux:
Комбинации клавиш и Команды Linux:
Содержание:
- Естественные сочетания клавиш и обозначения.
- Стандартные команды и команды, дающие информацию по системе.
- Работа с сетью в линукс.
- Простейшие действия.
- Работа с файлами и папками в линукс.
- Команды управления и работы с переменными окружения.
- Команды работы с принтером.
Комбинации клавиш и Команды Linux:
ВНИМАНИЕ: ПОМНИТЕ ЧТО КОМАНДЫ LINUX ЧУСТИТЕЛЬНЫ К РЕГИСТРУ, В КОТОРОМ ИХ НАБИРАЮТ. Например: Команды Netscape, NETSCAPE и nEtscape это три различные команды, точно также my_filE, my_file, и my_FILE это три различных файла.
Естественные сочетания клавиш и обозначения
[Ctrl][Alt][F1] | Переключение в первый консольный терминал |
[Ctrl][Alt][F#] | Переключение в #ый консольный терминал (#=1..6) |
[Ctrl][Alt][F7] | Переключение в графический терминал (если таковой запущен) |
[Tab] | Дополнение текущей последовательности символов, набранной в консоли, до исполняемой команды. Эта особенность сильно облегчает жизнь при наборе команд! Это работает также и при загрузке компьютера. Это снижает вероятность сделать ошибку! Короче, юзайте кнопку tab! |
[ArrowUp] — стрелка вверх | Просмотр и редактирование буфера истории команд. Для исполнения команды нажмите [Enter]. |
[Ctrl + r] Начало_строки | В bash — поиск по истории команд. |
[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] | Выход из текущего терминала. (В некоторых shell — дописывание фразы как tab, что очень не удобно) |
[Ctrl+d] | Посылка текущему процессу сигнала [Конец-файла] (конец файла). Например, в команде cat. |
[Ctrl+s] | Остановка вывода на терминал. |
[Ctrl+q] | Возобновление вывода на терминал. Попробуйте эту комбинацию клавиш, если ваш терминал непонятно почему перестал отвечать на ваши запросы. |
[Ctrl+z] | Послать текущий процесс в background. (см еще: jobs — список bg процессов. fg номер — вывод процесса из бэкграунда в foreground) |
reset | Восстановление значений по умолчанию для «запорченного» терминала (терминал показывает странные символы и неадекватно реагирует на нажатие клавиш). Используйте эту команду если вы попытались вывести на экран бинарный файл. Вероятно вы не сможете увидеть эту команду в процессе ее набора. |
[Правая кнопка мыши] | Вставка выделенного курсором текста. Для того, чтобы мышь работала в консольном терминале (не графическом) следует установить пакет gpm. |
~ | Моя домашняя директория. Например cd ~ перенесет вас в вашу домашнюю директорию. |
. | (точка) Текущая директория. |
.. | (две точки) Родительская директория для текущего каталога. Например: cd ../ перенесёт вас «выше». |
Стандартные команды и команды, дающие информацию по системе
Команды (всегда набираются в одной строке) | Описание команд |
pwd | Вывести текущую директорию. Текущий путь |
hostname | Вывести или изменить сетевое имя машины. |
whoami | Ввести имя под которым я зарегистрирован. |
date | Вывести или изменить дату и время. Например, чтобы установить дату и время равную 2000-12-31 23:57, следует выполнить команду: date 123123572000 см. ниже hwclock |
hwclock | Изменения сделанные командой date будут действительны только до перезагрузки машины. Для того, чтобы синхронизировать (изменить) дату системных часов, надо от рута выполнить команду: hwclock —set Для получения других ключей — см. hwclock —help |
time | Получить информацию о времени, нужного для выполнения процесса + еще кое-какую информацию. Не путайте эту команду с date. Например: Я могу определить как много времени требуется для вывода списка файлов в директории, набрав последовательность: time ls |
who | Определить кто из пользователей работает на машине. |
last | Определение всех пользователей, логинившихся в вашей системе. |
lastlog | Кто и когда из пользователей системы заходил в последний раз. |
finger [имя_пользователя] | Системная информация о зарегистрированном пользователе. Попробуйте: finger root В настоящее время практически нигде не используется. |
uptime | Количество времени прошедшего с последней перезагрузки. |
ps ps a ps aux |
Список текущих процессов. Используйте ps —helpдля справки по параметрам команды. |
pstree | Дерево текущих процессов (покажет родителя процесса) pstree -p выведет дерево с PID каждого процесса Используйте pstree —helpдля справки по параметрам команды. |
top | Интерактивный список текущих процессов отсортированных по использованию cpu. |
uname | Вывести системную информацию. uname -a Получить полную инфу о версии linux и ядра |
free | Вывести информацию о памяти компьютера. |
df df -h |
Место на диске. Вывести информацию о свободном и используемом месте на дисках (в читабельном виде). |
du du -h |
Вывод информации о размере файлов директории. du -h ./[директория] — вывести размеры файлов данной директории и размер директории. |
cat /proc/cpuinfo | Системная информация о процессоре. Заметьте, что файла в /proc директории — не настоящие файлы. Они используются для получения информации, известной системе. |
cat /proc/interrupts | Используемые прерывания. |
cat /proc/version | Версия ядра Linux и другая информация. |
cat /proc/filesystems | Вывести используемые в данный момент типы файловых систем. |
cat /etc/printcap | Вывести настройки принтера. |
lsmod | (как root) Вывести информацию о загруженных в данный момент модулях ядра. |
lshw | (как root) Вывести информацию о компьютере (о железе) |
set|less | Вывести текущие значения всех переменных окружения и функций. О работе с переменными окружения см. ниже. |
echo $PATH | Вывести значение переменной окружения «PATH» Команда echo может использоваться для вывода значений других переменных окружения. Воспользуйтесь командой set, для получения полного списка. |
netconf | (как root) Очень хорошая программа настройки сети, использующая для интерактивной работы с пользованием, текстовое меню. (Во многих современных дистрибутивах уже не используется) |
ping [имя_машины] | «Проверка на вшивость». Есть или нет контакта с другой машиной (в качестве параметре команде можно передавать сетевое имя машины или IP адрес), нажмите <Ctrl>-C когда вся требуемая информация будет получена. |
traceroute [имя_машины] tracepath [имя_машины] |
Получить путь до указаной машины, узнать, сколько и каких серверов между вами и указаным хостом. |
route -n | Вывести таблицу маршрутизации (the routing table). |
lsof -i | Вывести информацию о текущих сетевых соединениях. |
ifconfig | (как root) Вывести информацию о текущих сетевых интерфейсах (ethernet, ppp, и т.д.) Ваша первая ethernet плата плата будет показана как eth0, вторая как eth1, первый ppp модем как ppp0 и так далее. «lo» — расшифровывается как «loopback only» сетевой интерфейс, который должен быть постоянно активирован. Используйте соответствующие опции (смотрите результат выполнения ifconfig —help) для настройки сетевых интерфейсов. |
ipfwadm -F -p m | Настроить firewall ipfw (но это больше к *BSD системам). |
iptables | iptables -L покажет настройки фаервола iptables на машине. Подробнее: man iptables или в разделе документации о серверах. |
ifup [имя_сетевого_интерфейса] | (/sbin/ifup при работе под обычным пользователем) Активизация соответствующего сетевого интерфейса. Например: ifup eth0 ifup ppp0 Пользователь может активизировать и выключить сетевой интерфейс только когда установлены соответствующие права доступа (права можно установить в процессе настройки ppp через «netconf») |
ifdown [имя_сетевого_интерфейса] | (/sbin/ifdown при работе под обычным пользователем). Диактивизация соответствующего сетевого интерфейса. |
wget | команда для скачивания файлов из консоли linux со множеством дополнительных ключей работает с протоколами http, ftp, https, поддерживает работу через прокси. wget -c продолжение прерванной закачки (очень удобно для больших файлов при нестабильной связи.) wget -r рекурсивное скачивание. (будте осторожны с этим параметром, есть риск выкачать всё). |
shutdown | Остановка, перезагрузка, отключение системы в зависимости от переданых параметров. может срабатывать через указанное время. Пример перезагрузки: shurdown -r now |
reboot | Перезагрузка системы. Производная от shutdown. |
halt | Остановка системы. Производная от shutdown. |
poweroff | Сигнал на выключение машины. |
ls | Список файлов в текущей директории. Команда выполнении команды dir выполняется команда ls. |
cd [директория] | Сменить директорию. |
cp [что копировать][куда копировать] | Копировать файлы. |
mv [что перемещать][куда перемещать] | Переместить или переименовать файл. |
touch [опции] [имя_файла] | Создать файл или изменить данные о нем (напр, дату создания файла или дату модификации). см. touch —help для доп. параметровВообще, создать файл в линукс можно разными путями: echo «test» > test.txt создаст файл test.txt в текущей директории и запишет с него слово test. mcedit test.txt — создание и редактирование файла при помощи внутреннего редактора mc vim test.txt — создание и редактирование файла в редакторе vim cat > test.txt — тоже позволяет создать файл и записать туда данные построчно. Для прекращения записи в файл нажмите [Ctrl + d] |
chmod [права_доступа][файл] | change mode. Изменить права доступа файлов, чьим владельцем вы являетесь (если вы root, то вы можете изменить права доступа для любого файла). Есть три способа доступа к файлу: чтение — read (r), запись — write (w), исполнение — execute (x) и три типа пользователей: хозяин файла — owner (u), члены той же группы, что и хозяин файла (g) и все остальные (o).Поверить текущие права доступа можно следующим способом: ls -l имя_файла Если файл доступен всеми способами всем пользователям, то напротив имени файла будет следующая комбинация букв: rwxrwxrwx Первые три буквы — это права доступа для хозяина файла, второй триплет — права доступа для его группы, следующая тройка — права доступа для остальных. Отсутствие права доступа показывается как «-«.; Например: Эта команда позволит вам изменить права доступа на чтение для файла «test» для всех (all=user+group+others): chmod a+r test Эта команда отнимет право доступа на исполнение файла у всех кроме владельца и его группы: chmod o-x testТак же есть числовой вариант прав: Например: chmod 711 test.txt — сделает файл text.txt запускаемым для всех, но читать и писать в него сможет только его владелец. Для получение дополнительной информации наберите chmod —help или man chmod или почитайте любое руководство по Linux. Вы можете установить права доступа по умолчанию для создаваемых вами файлов с помощью команды umask (наберите man umask). |
chown [новый_хозяин][файлы] chgrp [новая_группа][файлы] |
Изменить хозяина и группу для файла или файлов Вы можете использовать эти две команды, после того как сделали копию файла для кого- либо. но гораздо удобнее менять сразу и владельца и группу файлов одной лишь командой chown Например: chown -R apache:web /var/log/www/ сменит владельца папки /var/log/www/ и всех подпапок и файлов (рекурсивно) на юзера «apache» и группу «web» |
ln -s [на что сделать ссылку][имя ссылки] | Создать символическую ссылку. |
mkdir [директория] | Создать новую директорию. |
rm [файлы] | Удалить файлы. -r рекурсивно. -f форсировать (не взирая на препятствия). |
rm -r [файлы и/или директории] | (рекурсивное удаление) Удалить файлы, директории и их поддиректории. ОСТОРОЖНЕЙ с этой командой если у вас права суперпользователя! В Linux нет системы полного восстановления удаленных файлов (если вы не пользуетесь специальными программами для помещения удаленных файлов в специальный каталог — а ля корзинка в windows ). Для удаления директории вместе со всеми вложенными папками и файлами применяется команда rm -rf ИМЯ_ПАПКИ |
rmdir [директория] | Удалить пустую директорию. |
more [имя_файла] | Просмотр содержимого текстового файла по одной странице. |
less [имя_файла] | Просмотр содержимого текстового файла с возможностью вернуться к предыдущим страницам. Нажмите q когда захотите выйти из программы. «Less» — аналог команды DOS «more», хотя очень часто «less» бывает более удобной чем «more». Поиск по файлу — /ФРАЗА. |
vim [имя файла] или vi [имя файла] Если установлен mc, то mcedit [имя_файла] |
Редактировать текстовый файл. При помощи редактора vi или vim или внутреннего редактора mc Подробнее см. Как редактировать файл в linux. |
lynx [html файл или ссылка] | Просмотр файла html или WWW ссылки с помощью текстового браузера Lynx. В последнее время активнее используется links2 |
tar -zcvf [имя будущего архива].tar.gz [файлы] | Заспаковать в архив tgz или tar.gz файлы. |
tar -zxvf [файлы] | Распаковать архив tgz или tar.gz. |
man | страницы документации. (от manual) подробнее см. man man |
apropos | Поиск слова по всем man страницам. Пример: apropos shell |
grep | Поиск фрагмента текста в файлах, удовлетворяющего набранной маске. Маска определяется с помощью стандартной системы обозначений называемой «регулярные выражения». Пример: grep -irs ‘eth0’ /etc/ Выведет имена файлов и строки в которых встречается сочетание символов «eth0». |
tr | Утилита обработки текста. Изменение букв в потоке. Пример: echo ‘МАМА мыла РАМУ’|tr М П ПАПА мыла РАПУ Если мы хотим заменить слово, то нам понадобится редактор sed |
sed | Потоковый текстовый редактор. Изменение слов в потоке. И очень многое другое. Пример: echo ‘МАМА мыла РАМУ’|sed s/МА/ПА/g ПАПА мыла РАМУ |
awk gawk |
echo ‘МАМА мыла РАМУ’|awk ‘{print $1, $3}’ МАМА РАМУ |
find / -name «имя_файла» | Найти файл с именем «имя файла». Поиск начинается с директории / имя файла может содержать маску для поиска. |
pine, mutt |
Хорошая текстово-ориентированная программа для чтения электронной почты, ньюсов и фидошных эх. |
mc | Запустить программу управления файлами «Midnight Commander» (Выглядит как «Norton Commander», но по своим возможностям ближе к far или dn). |
telnet [имя_пользователя@сервер] ssh [имя_пользователя@сервер] |
Связаться по telnet с другой машиной. Используйте имя машины или ее IP адрес. Войдите с помощью вашего пароля (вы должны быть зарегистрированы на этой удаленной машине). Это позволит вам войти на другую машину и работать на ней, как будто вы сидите за ее клавиатурой (почти никаких отличий). В настоящее время используется «шифрованый telnet» ssh. |
ftp [пароль:имя_пользователя@сервер] | Связаться по ftp с удаленным компьютером. Этот тип связи хорош для копирования файлов с/на удаленную машину. ftp пароль не шифруется и передается в открытом виде. Если информация ценная — лучше воспользоваться sftp. |
minicom | Minicom — программа эмулятор терминала, настройка модема, работа с COM портом и LPT портом. Применяется для того-же что и Hiper terminal в винде. |
./Имя_запускаемого_файла | Запустить исполняемый файл в текущей директории. |
startx | Запустить X-windows сервер и установленный по умолчанию оконный менеджер. Похоже на то как вы набирали «win» под DOS с Win3.1 (если вы набирали =)))) |
xterm | (в X терминале) Запустить простой терминал в графической оболочке X-windows. Для того чтобы выйти из него наберите «exit». |
gimp | (в X терминале) Очень мощный графический редактор (по возможностям близок к Photoshop). Требует некоторого времени для обучения — очень хорош для художников. Для доступа к локальному меню воспользуйтесь правой кнопкой мыши. |
firefox, opera, links, links2, и т.п. |
(в X терминале) Запустить браузер (требуется отдельная установка этого продукта). |
Команды управления и работы с переменными окружения:
alias ll=’ls -laG’ | Создать alias — псевдоним для того чтобы одной командой можно было запустить более сложную комбинацию команд. Поместите создание alias в файл /etc/bashrc если вы хотите, чтобы эти псевдонимы были доступны всем пользователям вашей системы. |
adduser [имя_пользователя] useradd [имя_пользователя] |
Зарегистрировать нового пользователя (у вас должны быть права root). (Раньше это была одна и та же программа. Теперь — они разные, но суть та же) Пример: adduser pupkin Не забудьте следующим делом настроить пароль пользователя. Обычно директория пользователя находится в каталоге /home/ИМЯ_ПОЛЬЗОВАТЕЛЯ. |
passwd | Изменить пароль. (Задать пароль) Если вы суперпользователь (root), то вы можете изменить пароль любого зарегистрированного пользователя набрав команду: passwd имя_пользователя. |
userdel [имя_пользователя] | Удалить пользователя из системы (вы должны зайти как root). С пользовательским каталогом и не прочитанными письмами удаленного пользователя нужно разбираться отдельно. |
groupadd [имя_группы] | Создать новую группу пользователей в вашей системе. (см. файл /etc/group). |
su или su [имя_пользователя] |
Без параметров команда su спросит у вас пароль пользователя root и даст права рута, но основные переменные окружения и home останутся вашими, так как шелл перезапущен не будет.. Если задано имя пользователя, то спросит пароль этого пользователя и предоставит действовать от его имени в системе. Но опять-таки заменит лишь несколько ваших переменных окружения.Если вы даете команду su [имя_пользователя] будучи с правами рута, то вас ни о каких паролях никто спрашивать не будет. |
su — или su [имя_пользователя] — |
команда su с параметром «-» спросит пароль пользователя root и даст права рута, домашняя директория сменится на /root/, все переменные окружения возьмутся от пользователя root. Так как будет перезапущен shell То же самое касается и случая, когда введено имя другого пользователя. |
sudo [команда] | Даёт возможность запустить команду с правами рута. Если установлена утилита sudo и настроен конфиг /etc/sudoers Подробнее: man sudo, man sudoers, man visudo |
bg [номер_задания] | Сделать процесс фоновым. Т.е. отправить процесс в background. То же самое можно сделать комбинацией клавиш [Ctrl+z] Пример: Запускаем top и нажимаем Ctrl+z |
jobs | Вывести список заданий. Видим, наше задание из предыдущего пункта под номером 1 |
fg [номер_задания] | Вернуть задание [номер_задания] из бэкграунда. Пример: fg 1 вернёт в foreground наше задание 1 из предыдущих двух примеров. И мы увидим наш top. Заметка: команда в бэкграунде не прекращает своей работы. |
kill [PID] | Послать управляющий сигнал процессу. kill -9 «Убить» процесс. Для начала определите PID «убиваемого» процесса при помощи ps. см. man kill на список передаваемых процессу сигналов. |
killall [имя_программы] | «Убить» все процессы по имени программы. |
xkill | (в терминале X window) «Убить» процесс, на окно которого укажите курсором. |
env | Вывести текущие значения переменных окружения. |
set | Вывести текущие значения всех переменных окружения и функций. |
[имя_переменной]=[значение] | Установить значение переменной |
export [имя_переменной] | Предоставить переменную другим приложениям. Пример полный вариант: MYVAR=123; export MYVAR После этого можно посмотреть значение переменной: echo $MYVAR Пример укороченый вариант: export MYVAR=123 Используются и первый и второй варианты. подробнее смотри man bash или русский перевод bash tutorial. |
lpr | Распечатать текстовый файл. cat test.txt | lpr |
lpc | (как root) Проверить очередь принтера. |
lpq | Вывести список очереди заданий на печать. |
lprm [Номер Задания] | Удалить задание из очереди на печать. |
В Линукс нет такого понятия, как расширение .exe которое должно запускаться автоматически.
Зато в linux есть такое понятие как «запускаемый файл»
запустить можно любой, даже текстовый файл. достаточно дать ему права на запуск (chmod +x имя_файла), или запустить через интерпретатор (bash, sh, ksh, csh,):
пример 1. у нас есть текстовый файл со следующим содержанием:
#!/bin/sh echo "hello world!"
мы даём команду chmod +x имя_файла (расширение не важно. это может быть имя_файла.txt или имя_файла.exe.txt.zip.rar.doc или вощще просто имя_файла и всё. без расширений.)
после этого мы можем его запустить ./имя_файла
или
/полный_путь/от/корня/до/имя_файла и нажать энтер.
или
пример второй:
тот же наш файл из двух строк можно запустить дав команду:
sh имя_файла enter
или
bash имя_файла
То есть мы должны дать команду запустить инрерпретатор, и в качестве параметра — задать имя нашего файла.
Подробные примеры использования команд linux вы можете посмотреть в разделе shell скриптов.
Там же вы найдете много полезной информации по линукс командам в документации к bash.