Лекция: Занятие №19
Базовые команды и утилиты
Практически любая утилита, которую вы можете найти в стандартных реализациях UNIX, имеется и в Linux.
Сюда включены и базовые команды, такие как ls, awk, tr, sed, bc, more и т.д, поэтому вы в праве ожидать знакомой рабочей UNIX-среды.
В Linux есть все стандартные команды и утилиты.
Вместо перечисления всех возможных опций каждой команды, будем говорить только о тех, которые полезны или важны в данное время.
Действительно, большинство из этих команд имеет большое число опций (большинство из которых никогда не используется). Можно для каждой команды с помощью man посмотреть все возможные опции.
В Linux имеются многие текстовые редакторы, включая vi, ex, pico, jove, также как GNU Emacs и его вариации, вроде Lucid Emacs (который содержит расширение для использования под “X Window”) иjoe.
Но vi имеет много ограничений по причине своего преклонного возраста, сейчас завоевывают популярность более современные и сложные редакторы вроде Emacs.
Emacs поддерживает базирующийся на LISP макроязык и интерпретатор, мощный командный синтаксис и другие расширения. Существуют макропакеты Emacs, позволяющие читать электронную почту и новости, редактировать содержимое каталогов и даже проводить сеансы психотерапии с использованием искусственного интеллекта. Многие пользователи самой важной утилитой считают shell.
Shell — это программа, которая читает и выполняет команды пользователя. Кроме того, многие оболочки имеют такие возможности, как контроль выполнения (job control), позволяя пользователю управлять несколькими параллельными процессами, также перенаправление входа-выхода и командный язык для написания командных файлов (shell scripts).
Командный файл — это программа на языке оболочки, аналогичная “batch file” в MS-DOS.
В Linux много типов оболочек. Наиболее важное различие между ними — используемый командный язык. Например, C Shell (csh) использует командный язык, чем-то напоминающий язык программирования Си.
Классический Баурновский shell (Bourne Shell) использует иной командный язык.
Обычно выбор оболочки обусловлен выбором соответствующего командного языка. Выбранная оболочка в какой-то мере определяет рабочую среду. Наиболее популярная оболочка — это GNU Bourne Again Shell (bash), т.е. вариант Bourne shell, включающий много современных свойств и возможностей, таких как управление работами, командную историю, дописывание имен команд и имен файлов, Emacs-подобный интерфейс редактирования командной строки и мощное расширение стандартной оболочки (Bourne shell).
Другая популярная оболочка — tcsh, версия C Shell с более современными функциями по сравнению с bash. Другие оболочки: zsh — небольшая баурно-подобная оболочка; ksh — оболочка Корна; ash — оболочка BSD. Что особенно важно сказать относительно этих оболочек? — Linux дает уникальную возможность кроить систему под наши личные нужды.
Рассмотрим наиболее употребляемые команды Linux. Только некоторые команды немного похожи на команды MS DOS. Большинство команд не похожи на команды DOS, хотя и выполняют сходные функции. Ниже приведены наиболее употребляемые команды:
| Команда | Что делает | Синтаксис |
| Cd | Изменяет текущий рабочий каталог | Cd <directory>; <directory> — каталог, в который перейти. |
| Ls | Выдает информацию о файлах в каталоге | Ls <file1>… <fileN> Где <file1>… <fileN> имена файлов или каталогов, информацию про которые надо выдать. Опции огромное колличество. Наиболее часто используемые: -F (для представления информации о типах файлов), и -l (выдает в длинном формате информацию о размерах файлов, владельцах, правах доступа и т.д.). |
| Cp | Копирует файл(ы) в файл или каталог | Cp <file1>… <fileN> <destination> Где <file1>… <fileN> имена копируемых файлов, а <destination> файл или каталог, в который копируют. |
| Mv | Перемещает файл(ы) в другой файл или каталог | Mv <file1>… <fileN> <destination> Где <file1>… <fileN> имена перемещаемых файлов, а <destination> имя файла или каталога, в который перемещают. |
| Rm | Удаляет файлы | Rm <file1>… <fileN> Где <file1>… <fileN> имена удаляемых файлов. Опции: -i потребует вашего подтверждения перед удалением файла |
| Mkdir | Создает новые каталоги | Mkdir <dir1>… <dirN> |
| Rmdir | Эта команда удаляет пустые каталоги | rmdir <dir1>… <dirN> Где <dir1>… <dirN> удаляемые каталоги |
| Man | Выдает страницу руководства по данной команде или ресурсу. | man <command> Где <command> имя команды или ресурса, о котором запрашивается информация |
| More | Выдает содержимое названных файлов по-экранно | more <file1>… <fileN> Где <file1>… <fileN> отображаемые файлы |
| Cat | Используется для конкатенации файлов. Также используется для выдачи полного содержания файла разом | cat <file1>… <fileN> Где <file1>… <fileN> выдаваемые файлы |
| Echo | Просто повторяет аргументы | echo <arg1>… <argN> Где <arg1>… <argN> «повторяемые» аргументы. |
| Grep | Выдает все строки в названном файле(лах), которые содержат заданный образец | grep <pattern> <file1>… <fileN> Где <pattern> — образец (представленный регулярным выражением) и <file1>… <fileN> — файлы, в которых производится поиск |