- Это маленькая программка, которая выполняет какое-то действие в системе.
- Где в 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 ЧУСТИТЕЛЬНЫ К РЕГИСТРУ, В КОТОРОМ ИХ НАБИРАЮТ. Например: Команды 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. |
reset | Восстановление значений по умолчанию для "запорченного" терминала (терминал показывает странные символы и неадекватно реагирует на нажатие клавиш). Используйте эту команду если вы попытались вывести на экран бинарный файл. Вероятно вы не сможете увидеть эту команду в процессе ее набора. |
[Правая кнопка мыши] | Вставка выделенного курсором текста. |
~ | Моя домашняя директория. Например cd ~/моя_поддиректория. |
. | (точка) Текущая директория. |
.. | (две точки) Родительская директория для текущего каталога. Например: cd ../ перенесёт вас "выше". |
Команды (всегда набираются в одной строке) | Описание |
pwd | Вывести текущую директорию. Текущий путь |
hostname | Вывести или изменить сетевое имя машины. |
whoami | Ввести имя под которым я зарегистрирован. |
date | Вывести или изменить дату и время. Например, чтобы установить дату и время равную 2000-12-31 23:57, следует выполнить команду: date 123123572000 |
hwclock | Изменения сделанные командой date будут действительны только до перезагрузки машины. Для того, чтобы синхронизировать (изменить) дату системных часов, надо от рута выполнить команду: hwclock --set Для получения других ключей - см. hwclock --help |
time | Получить
информацию о времени, нужного для выполнения процесса + еще кое-какую
информацию. Не путайте эту команду с date. Например: Я могу определить
как много времени требуется для вывода списка файлов в директории,
набрав последовательность: time ls |
who | Определить кто из пользователей работает на машине. |
last | Определение всех пользователей, логинившихся в вашей системе. |
lastlog | Кто и когда из пользователей системы заходил в последний раз. |
finger [имя_пользователя] | Системная информация о зарегистрированном пользователе. Попробуйте: finger root В настоящее время практически нигде не используется. |
uptime | Количество времени прошедшего с последней перезагрузки. |
ps a, ps aux | Список текущих процессов. |
top | Интерактивный список текущих процессов отсортированных по использованию cpu. |
uname | Вывести системную информацию. uname -a Получить полную инфу о версии linux и ядра |
free | Вывести информацию о памяти компьютера. |
df df -h | Место на диске. Вывести информацию о свободном и используемом месте на дисках (в читабельном виде). |
du / -bh | less | Вывод детальной информации о размере файлов по директориям начиная с корневой (в читабельном виде). du -h ./[директория] - вывести размеры файлов данной директории и размер директории. |
cat /proc/cpuinfo | Системная информация о процессоре. Заметьте, что файла в /proc директории - не настоящие файлы. Они используются для получения информации, известной системе. |
cat /proc/interrupts | Используемые прерывания. |
cat /proc/version | Версия ядра Linux и другая информация. |
cat /proc/filesystems | Вывести используемые в данный момент типы файловых систем. |
cat /etc/printcap | Вывести настройки принтера. |
lsmod | (как 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 на машине. |
ifup [имя_сетевого_интерфейса] | (/sbin/ifup при работе под обычным пользователем) Активизация соответствующего сетевого интерфейса. Например: ifup eth0 ifup ppp0 Пользователь может активизировать и выключить сетевое интерфейс ppp только когда установлены соответствующие права доступа (права можно установить в процессе настройки 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 [опции] [имя_файла] | Создать файл или изменить данные о нем. Вообще, создать файл в линукс можно разными путями: echo "test" > test.txt тоже создаст файл test.txt в текущей директории. 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 [на что сделать ссылку][имя ссылки] | Создать символическую ссылку. |
rm [файлы] | Удалить файлы. |
mkdir [директория] | Создать новую директорию. |
rmdir [директория] | Удалить пустую директорию. |
rm -r [файлы и/или директории] | (рекурсивное
удаление) Удалить файлы, директории и их поддиректории. ОСТОРОЖНЕЙ с
этой командой если у вас права суперпользователя! В Linux нет системы
полного восстановления удаленных файлов (если вы не пользуетесь
специальными программами для помещения удаленный файлы в специальный
каталог - а ля корзинка в windows ). Для удаления директории вместе со всеми вложенными папками и файлами применяется команда rm -rf ИМЯ_ПАПКИ |
more [имя_файла] | Просмотр содержимого текстового файла по одной странице. |
less [имя_файла] | Просмотр
содержимого текстового файла с возможностью вернуться к предыдущим
страницам. Нажмите q когда захотите выйти из программы. "Less" - аналог
команды DOS "more", хотя очень часто "less" бывает более удобной чем
"more". Поиск по файлу - /ФРАЗА. |
vim [имя файла] или vi [имя файла] Если установлен mc, то mcedit [имя_файла] | Редактировать текстовый файл. |
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 |
ps | Вывести список текущих процессов с их IDs (PID) идентификаторами. Используйте: ps aux для того чтобы отобразить все процессы запущенные на вашей системе. |
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 имя_файла
То есть мы должны дать команду запустить инрерпретатор, и в качестве параметра - задать имя нашего файла.
Авторы: Piotr, Stan, Barbara и Marie Klimas
Кое-какие горячие комбинации клавиш и команды, которые следует знать каждому при работе с Linux.
Распространяется и/или изменяется свободно. Просто упомяните фамилию Klimas!
Комментариев нет:
Отправить комментарий