Главная страницаОбратная связьКарта сайта

Linux-Использование командной строки


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

Мерцающий текстовый курсор сигнализирует, что оболочка ожидает ввода ваших команд. Оболочка - это компьютерная программа, позволяющая вам взаимодействовать с ядром операционной системы Linux, выполняющей команды. Оболочка предоставляет командную строку, в которой вы вводите команды, принимает введенные команды, интерпретирует, обрабатывает их и посылает результат ядру операционной системы. В Linux доступно несколько оболочек. Оболочка, установленная по умолчанию, называется Bash shell. Bash shell означает «Bourne again shell», поскольку Bash shell - потомок более старой оболочки, называемой Bourne shell. В этой книге обсуждается только оболочка Bash shell. Маловероятно, что вам понадобится использовать другую оболочку, если вы только не станете системным администратором или продвинутым программистом,

Оболочка обменивается данными с ядром Linux. Вся компьютерная магия сосредоточена в ядре. Именно ядро пересылает данные на периферийные устройства и с них (принтер, монитор, мышь), записывает файлы на жесткий диск, отправляет данные через сеть и выполняет все другие задачи нижнего уровня, осуществляя, таким образом, работу компьютера. Целью этой книги не является объяснение принципов работы ядра. Возможно, некоторые из вас погрузятся в эти тайны после изучения основ, но большинство из вас не будут заниматься этим.

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


Ввод команд


Чтобы использовать командную строку, вы можете открыть окно оболочки, также называемое терминалом или консолью, в котором вы можете работать непосредственно в оболочке. Оболочка похожа на операционную систему DOS или окно командной строки операционной системы Windows.

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

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



Рис. 7.). Окно терминала рабочего стола KDE

Когда вы вводите команду и нажимаете клавишу ентер . команда выполняется.

Приглашение системы можно настроить. Разные версии Linux представляют разные приглашения системы во время установки. В качестве приглашения может выступать символ $ или некоторая полезная информация. Приглашение системы, изображенное на Рис. 7.1, дает дополнительную информацию: текущая учетная запись - janet@localhost. текущий каталог - Janet. Такое приглашение выдается во время установки Fedora, Mandrake и других дистрибутивов Linux.

Ввод отдельных команд

Возможно, вам будет необходимо ввести отдельную команду, например команду запус­
ка программы или приложения. Элемент управления Run (Выполнить) главного меню
подобен элементу Run (Выполнить) системы Windows и используется для выполнения
отдельной команды. Для выбора команды Run (Выполнить) в главном меню можно ис­пользовать комбинацию клавиш   Alt+F2   будет открыто окно, где вы можете ввести вашу команду,

Диалог команды Run (Выполнить) рабочего стола KDE, показанный ниже, содержит поле ввода команды. Введите команду и щелкните мышью на кнопке Run (Выполнить), чтобы выполнить эту команду.



Диалог Run Program (Выполнить программу) рабочего стола GNOME, показанный ниже, предлагает список доступных приложений, что позволяет вам выбрать приложение из списка, а не вводить имя этого приложения с клавиатуры. Также диалог содержит кнопку Append File (Добавить файл), так что вы можете добавить файл в список, после чего запустить его кнопкой Run (Выполнить). По желанию, вы, конечно, можете двести команду для выполнения с клавиатуры.



Если вы хотите выполнить команду, работа которой дает текстовый результат, установите флажок Run in terminal (Выполнить в окне терминала) и наблюдайте результат работы команды в окне терминала. На рабочем столе KDE щелкните мышью на кнопке Options (Элементы управления) диалога Run Command (Выполнить команду), чтобы увидеть флажок Run in terminal (Выполнить в окне терминала). Например, команда сортировки sort test.txt, введенная в диалоге рабочего стола KDE, не изменяет формат данных в файле. Вместо этого она выводит данные файла в упорядоченном виде в окно терминала. Такнм образом, чтобы увидеть данные в упорядоченном виде, вам нужно установить флажок в поле Run in terminal (Выполнить в окне терминала), после чего будет открыто окно, где будут показаны сортированные данные - результат работы команды.

Синтаксис командной строки

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

Ctrl

Команда состоит из следующих частей: имя команды, параметры, аргументы. Например:

commandname options arguments

где

• Commandname-имя команды.

^ Options - параметры - ключевые слова, влияющие на выполнение команды. Они состоят из одного символа, которому предшествует одна черта (-), или из цепочки символов, которой предшествуют две черты (-). Черты дают оболочке понять, что следующие символы являются параметрами. Для большинства команд существуют разные параметры.

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

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

Is  -1  /home/janet

Команда Is выводит на консоль список файлов каталога. Аргумент - это путь к каталогу. Файлы каталога, определенные аргументом janet, отображаются на экране. При этом Is - это команда, не требующая аргумента, если аргумент не введен, будет использован аргумент по умолчанию. Если вы не ввели имя каталога, команда Is выведет список файлов текущего каталога.

Параметр -1 один из многих параметров, который вы можете использовать с командой Is чтобы получить больше информации. Вывод содержимого каталога /home/janet при работе со стандартной командой, без параметра -1, будет выглядеть следующим образом:

Is /home/janet text.txt

text2.txt


в то время как вывод команды Is с параметром -1 содержит больше данных:

Is  -1   /home/janet

-rw-r—г—     1             janet   janet   50 Apr 25   11.09        test.txt

-rw-r—r--     1               janet   janet  52 Apr 25  11.15        test2.txt

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

Is  -Id  /home/janet

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

Is  /home/janet,-   Is  /horae/kim

Вы можете вводить команды длиной более одной строки. Введите обратную косую черту (\) в конце строки, перед переходом на следующую строку, и вторая строка будет обработана как продолжение первой.



Создание ярлыков для длинных команд


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

alias  listall=ls  /home/janet;   Is  /home/kim;   Is  /home/george;   \

Is  /home/sam

Теперь вы можете вводить listall, чтобы видеть файлы всех четырех каталогов.

Перенаправление ввода и вывода данных

Часто команды требуют ввода данных с клавиатуры или вывода данных на экран. Всегда, когда данные отправляются программой или устройством, они пересылаются в потоке данных. Программа при выполнении автоматически взаимодействует как с входящими, так и с исходящими потоками данных: stdin и stdout. По умолчанию поток stdin взаимодействует с клавиатурой, stdout - с экраном. Вы можете перенаправить потоки stdin и stdout.

Команда Is выводит список файлов в поток stdout, по умолчанию взаимодействующий с экраном. Вы можете изменить место вывода данных, используя метасимвол переадресации - символ >, следующим образом:

Is > dirlist

Список файлов перенаправляется в файл, называемый dirlist, и не отображается на экране, Если файл dirlist не существует, он будет создан. Если файл существует, то данные в нем будут замещены. Если вы не хотите замещения данных в файле, вы можете присоединить вывод данных к существующим данным, используя символы » вместо символа >. Или вы можете ввести параметр noclobber, который не позволяет запись, выводя сообщение типа Can t overwrite existing file (Перезапись данных невозможна):

set -о noclobber

Метасимвол переадресации для stdin - символ <. Например:

mail < message

Команда mail позволяет ввод текста из файла, называемого message, а не с клавиатуры и посылает сообщение по электронной почте.

Третий поток, называемый stderr, взаимодействует с выполняющейся программой. Сообщения об ошибках используют поток stderr, который по умолчанию взаимодействует с экраном. Когда вы перенаправляете поток вывода, используя символ >, поток stderr не будет перенаправлен, он все равно будет взаимодействовать с экраном. Чтобы перенаправить stderr, используйте команду, подобную следующей:

Is  &> dirlist

Теперь как список файлов, так и сообщения об ошибках будут направлены в файл dirlist.

Возможно, вы захотите связать поток stdout одной программы непосредственно с потоком stdin другой программы. Взаимодействие такого типа называется конвейерной организацией и осуществляется с помощью символа |. Предположим, вы желаете послать список всех файлов вашего каталога непосредственно на принтер. Для этого вы можете использовать следующую команду:

Is   |   lpr

Выполнение команд в фоновом режиме


Некоторые команды выполняются долго. Например, следующая команда сохраняет имена всех файлов вашего компьютера в файл allfiles:

Is   -1R  /  >  allfiles

Эта команда может занять вашу оболочку на значительное время, пока не закончит работу. Если вы не желаете ждать полного выполнения команды, вы можете заставить команду работать в фоновом режиме, что позволяет вам вводить другие команды во время выполнения первой команды. Вы можете выполнить команду в фоновом режиме, если добавите символ & в конце команды:

Is  -1R /  &

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

Также вы можете перенаправить выполняющийся процесс на фоновый уровень:

Ctrl-z

bg

Первая строка листинга приостанавливает текущий процесс. Вторая строка запускает выполнение другого процесса в фоновом режиме.

Вы можете получить список выполняющихся процессов. Для этого введите:

joba

1   Is  -1R  /

Вы можете сделать любой процесс приоритетным при помощи команды:

fg  jobnumber

Например:

fg l



Обсудить статью на форуме


Если прочитаная статья из нашей обширной энциклопедия компьютера - "Linux-Использование командной строки", оказалась полезной или интересной, Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

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


Copyright © 2008 - 2018 Дискета.info