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

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

Приглашение к вводу команды

Приглашение к вводу команды в эмуляторе терминала имеет следующий формат:

<имя пользователя>@<хост>:<текущая директория>$

Здесь <имя пользователя> — это имя, которое вы использовали для входа в систему и под которым вы сейчас работаете. Затем идет значок @, за ним имя локальной системы, далее двоеточие и имя текущего каталога, в котором вы в данный момент находитесь.

В эмуляторе gnome-terminal при запуске терминала в качестве каталога используется значок тильда ~. В Linux символ ~ используется для сокращенного обозначения домашней директории пользователя, а именно директории /home/<имя пользователя>.

В конце приглашения выводится знак доллара $.

Основные команды Linux

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

ls — вывод имен файлов

Утилита ls предназначена, для вывода списка файлов и каталогов в текущем каталоге. Рассмотрим некоторые полезные свойства команды ls.

-A — включить в список «скрытые» файлы («скрытые» файлы в Linux имеют в своем названии точку в начале имени файла, например, .gtkrc-2.0). -S — отсортировать файлы по размеру. -t — отсортировать по дате изменения. -1 — выводить имена в столбик, по одному на каждой строке. -l — вывести подробную информацию о каждом файле, размер файла, владелец файла, права доступа, дата изменения.

Теперь приведу несколько примеров. Выполнив команду ls без параметров, вы получите просто список файлов в каталоге.

admin@pingvinus:~/information$ ls
fonts.tar.gz  linux.jpg  report.odt  template  ubuntu.jpg

Теперь выполним команду с опциями -A, -S, -1. В результате получим список всех файлов, включая «скрытые», расположенных по одному на каждой строке и отсортированных по размеру.

admin@pingvinus:~/information$ ls -AS1
fonts.tar.gz
.gtkrc-2.0
linux.jpg
report.odt
ubuntu.jpg
template
.filter

Выполним команду ls с опцией -l. Получим подробную информацию о каждом файле.

admin@pingvinus:~/information$ ls -l
-rw-r--r-- 1 admin admin 217589 2009-02-12 13:35 fonts.tar.gz
-rw-r--r-- 1 admin admin 162348 2009-02-03 20:50 linux.jpg
-rw-r--r-- 1 admin admin 155847 2009-02-15 12:54 report.odt
-rw-r--r-- 1 root root 120736 2009-02-12 12:55 template
-rw-r--r-- 1 admin admin 134404 2009-02-12 12:24 ubuntu.jpg

mkdir — создание каталога

Команда mkdir предназначена для создания новой директории. Чтобы создать новую директорию, выполните mkdir <имя директории>. Для того, чтобы создать сразу несколько директорий, укажите их имена через пробел, например:

mkdir mydir1 mydir2 mydir3

cp — копирование файла

Утилита cp используется для создания копии файла. Для обычного копирования используется следующий синтаксис cp <имя файла источника> <имя файла назначения>.

При использовании cp есть один нюанс, который нужно обязательно помнить. Если файл назначения уже существует, то cp перезапишет его. Поэтому, чтобы избежать случайного уничтожения существующего файла, нужно использовать команду cp с опцией -i. Перед перезаписью файла будет выдан запрос на ваше согласие. Например, если мы копируем файл linux.jpg в файл windows.jpg и windows.jpg уже существует, то будет выдан запрос на перезапись файла:

admin@pingvinus:~/information$ cp -i linux.jpg windows.jpg 
cp: переписать `windows.jpg'? y

Опция -r (или -R) используется для копирования одной директории в другую.

mv — перемещение, переименование файла

Утилита mv предназначена для перемещения, переименования файла. Для переименования файла используется синтаксис mv <имя файла> <новое имя файла>. Для перемещения файла в другую директорию используется синтаксис mv <имя файла> <директория>. С mv можно также использовать опцию -i, чтобы случайно не перезаписать существующий файл.

rm — удаление файла

Команда rm предназначена для удаления файлов. Основные опции команды:

-i — выводить запрос перед удалением каждого файла. -r (или -R) — удалить директории и их содержимое.

cd — смена текущего каталога

Команда cd предназначена для смены каталога, в котором вы сейчас находитесь. Например, вы сейчас находитесь в своем домашнем каталоге ~ и хотите перейти в каталог ~/information, тогда нужно просто выполнить команду cd information.

admin@pingvinus:~$ cd information/
admin@pingvinus:~/information$

Если выполнить команду cd без параметров, то вы перейдете в свой домашний каталог ~.

admin@pingvinus:~/information$ cd
admin@pingvinus:~$

Чтобы перейти в каталог на уровень выше (в родительский каталог) можно использовать синоним «две точки» — .., которые в Linux служат синонимом пути родительского каталога. Например, находясь в каталоге ~/information мы можем перейти в каталог ~ следующим образом:

admin@pingvinus:~/information$ cd ..
admin@pingvinus:~$

cat — вывод содержимого файла

Утилита cat выводит содержимое текстового файла. Простейший синтаксис команды cat <имя файла>. Утилита cat может использоваться для соединения конкатенации двух текстовых файлов, собственно от этого и происходит название утилиты (catenation, concatenation). Например, у нас есть два файла download и ubuntu и в каждом по две строки. Сначала мы выведем содержимое файлов по отдельности, а затем сделаем конкатенацию двух файлов.

admin@pingvinus:~/information$ cat download 
first line of file download
second line of file download
admin@pingvinus:~/information$ cat ubuntu 
first line of file ubuntu
second line of file ubuntu
admin@pingvinus:~/information$ cat download ubuntu 
first line of file download
second line of file download
first line of file ubuntu
second line of file ubuntu

pwd — вывод полного пути текущего каталога

Команда pwd используется, чтобы вывести полный путь текущего каталога.

admin@pingvinus:~/information$ pwd
/home/admin/information

man — получение руководства

Системная утилита man выводит страницы системной документации. С ее помощью можно получить информацию по любым командам Linux. Для этого используется синтаксис man <имя утилиты>. Например, чтобы вывести руководство по утилите ls, используйте команду man ls.