8 (495) 374-54-72

Основные команды Unix/Linux, их назначение и свойства

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

  • #ls

Команда ls выводит список содержимого каталога. По умолчанию выбран текущий каталог. Используйте ls -l для подробного (длинного) списка и ls -F чтобы отобразить информацию о типах файлов. Вот пример подобного списка:

------

Total 3616

-rw-r--r-- 1 juser users 3804 Apr 30 2000 abusive.c
-rw-r--r-- 1 juser users 4165 May 26 1999 battery.zip
drwxr-xr-x 2 juser users 4096 Jul 17 20:00 cs335

------

  • #cp

Данная команда осуществляет копирование файлов. В первой строке, приведенной ниже, cp копирует содержимое file1 в file2. Во второй строке cp копирует все файлы в каталог dir.

cp file1 file2

cp file1 ... fileN dir

  • #mv

Команда mv производит перенос или переименовывание файлов. В первой строке mv переименовывает file1 в file2. Во второй строке mv перемещает все файлы в каталог dir.

mv file1 file2

mv file1 ... fileN dir

  • #touch

Команда touch создает файл. Если файл уже существует, touch не изменяет его, но обновит временную метку, которую вы можете видеть в длинном списке, вызываемом командой ls -l.
touch file

  • #rm

Чтобы удалить файл, воспользуйтесь rm. После того, как вы удаляете файл, он навсегда исчезнет. Не думайте, что возможно потом что-нибудь восстановить.
rm file

  • #echo

Команда echo печатает свои аргументы на стандартный вывод:

echo Hello there.

Команда echo очень полезна для нахождения расширений групповых символов оболочки и переменных.

Использование команд для работы с каталогами.

В Unix существует иерархия каталогов, которая начинается с /, иногда называемая корнем (root). Разделителем каталогов является косая черта (/), а не обратная косая черта (). В корневом каталоге существует несколько стандартных подкаталогов, таких как /usr.

Перечень каталогов называется путем (path), а тот путь, который начинается с корня (например /usr/lib) называется полным (full) или абсолютным (absolute). Подобным образом, имя файла с полным путем перед ним (например /usr/lib/lib.c) называется полным путевым именем.

Вот несколько наиболее важных команд каталогов:

  • #cd

Команда cd меняет текущий рабочий каталог оболочки на dir:
cd dir

  • #mkdir

Команда mkdir создает новый каталог (dir):
mkdir dir

  • #rmdir

Команда rmdir удаляет каталог dir:
rmdir dir

Если каталог dir не пуст, команда не срабатывает. Тем не менее, если у вас мало времени, вы вряд ли будете усердно удалять все файлы и подкаталоги из dir. Вы можете использовать rm -rf dir чтобы удалить каталог и все его содержимое, но будьте осторожны. Это одна из немногих команд, способных нанести серьезный ущерб, особенно если вы действуете как суперпользователь. Опция -r определяет рекурсивное удаление, а -f проводит операцию удаления. Не используйте флаги -rf с групповыми символами, такими как звезда (*). Всегда проверяйте дважды свою команду.

Групповые символы оболочки

Оболочка способна сопоставлять с простыми образцами файлы в текущем рабочем каталоге. Самый простой из таких образцов это символ звезды (*), который означает, что надо отобрать любое число произвольных символов. Например, следующая команда выведет список файлов в текущем каталоге:

echo *

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

Вот еще несколько примеров групповых символов: at* отбирает все файлы, начинающиеся на at; *at отбирает файлы, заканчивающиеся на at; и *at* отбирает все файлы, содержащие at. Если ни один из символов не соответствует групповому символу, оболочка не делает замены и команда запускается с буквенными символами, такими как * (например, попробуйте команду echo *dfkdsafh).

Если вы работали с MS DOS, то, возможно, инстинктивно набираете *.* как групповой символ, чтобы сопоставить все файлы. Оставьте теперь эту привычку. В оболочке Unix *.* отбирает только те файлы, которые содержат символ точки (.) в их именах. Имена файлов в Unix не требуют расширений и часто пишутся без них.

Другой групповой символ оболочки - это знак вопроса (?), интерпретируется как приказ сопоставить только один произвольный символ. Например, b?at отберет "boat" и "brat".

Если вы не хотите, чтобы оболочка воспринимала групповой символ как команду, заключите его в одинарные кавычки (''). Например, команда echo '*' напечатает звезду. Это далеко не предел возможностей сопоставления с групповыми символами оболочки, но для начала знания * и ? пока достаточно.

 

Похожие по теме публикации:


наверх