Шрифт:
Существует также и третий стандартный поток ввода/вывода, который называется стандартной ошибкой. Этот поток будет рассмотрен в подразделе 2.14.1.
Одним из самых важных свойств стандартных потоков является легкость манипулирования ими с целью записи и чтения, причем не только в терминале. В частности, из раздела 2.14 вы узнаете о том, как подключать потоки к файлам или другим процессам.
2.3. Основные команды
Большая часть приведенных ниже команд Unix использует множество аргументов, причем у некоторых настолько много параметров и форматов, что полный их перечень нецелесообразен. Ниже приведен упрощенный список основных команд.
2.3.1. Команда ls
Команда ls выводит перечень содержимого какого-либо каталога. По умолчанию это текущий каталог. Используйте вариант ls -l, чтобы получить детализированный (длинный) список, или ls –F, чтобы отобразить информацию о типах файлов. Дополнительные сведения о типах файлов и правах доступа, отображающиеся в левом столбце, рассмотрены в разделе 2.17.
Ниже приведен пример длинного перечня, он содержит информацию о владельце файла (столбец 3), группе (столбец 4), размере файла (столбец 5), а также о дате и времени его изменения (между столбцом 5 и названием файла):
$ ls -l
total 3616
– rw-r—r— 1 juser users 3804 Apr 30 2011 abusive.c
– rw-r—r— 1 juser users 4165 May 26 2010 battery.zip
– rw-r—r— 1 juser users 131219 Oct 26 2012 beav_1.40-13.tar.gz
– rw-r—r— 1 juser users 6255 May 30 2010 country.c
drwxr-xr-x 2 juser users 4096 Jul 17 20:00 cs335
– rwxr-xr-x 1 juser users 7108 Feb 2 2011 dhry
– rw-r—r— 1 juser users 11309 Oct 20 2010 dhry.c
– rw-r—r— 1 juser users 56 Oct 6 2012 doit
drwxr-xr-x 6 juser users 4096 Feb 20 13:51 dw
drwxr-xr-x 3 juser users 4096 May 2 2011 hough-stuff
В разделе 2.17 вы больше узнаете о символе d, который встречается в столбце 1 этого перечня.
2.3.2. Команда cp
В своей простейшей форме команда cp копирует файлы. Например, чтобы скопировать file1 в файл file2, введите следующее:
$ cp file1 file2
Чтобы скопировать несколько файлов в какой-либо каталог (папку) с названием dir, попробуйте такой вариант:
$ cp file1 ... fileN dir
2.3.3. Команда mv
Команда mv (от англ. move — «переместить») подобна команде cp. В своей простейшей форме она переименовывает файл. Например, чтобы переименовать файл file1 в file2, введите следующее:
$ mv file1 file2
Можно также использовать команду mv, чтобы переместить несколько файлов в другой каталог:
$ mv file1 ... fileN dir
2.3.4. Команда touch
Команда touch создает файл. Если такой файл уже существует, команда touch не изменяет его, но обновляет информацию о времени изменения файла, выводимую с помощью команды ls -l. Например, чтобы создать пустой файл, введите следующее:
$ touch file
Теперь примените к этому файлу команду ls -l. Вы должны увидеть результат, подобный приведенному ниже. Символом
$ ls -l file
– rw-r—r— 1 juser users 0 May 21 18:32
2.3.5. Команда rm
Чтобы удалить файл, воспользуйтесь командой rm (от англ. remove — «удалить»). После удаления файла он исчезает из системы и, как правило, не может быть восстановлен.
$ rm file
2.3.6. Команда echo
Команда echo выводит свои аргументы в стандартный вывод:
$ echo Hello again.
Hello again.
Команда echo весьма полезна для раскрытия значений паттернов оболочки, использующих джокерные символы вроде *, и переменных, таких как $HOME, с которыми вы познакомитесь чуть позже в этой главе.
2.4. Перемещение по каталогам