Внутреннее устройство Linux - страница 11
Большая часть приведенных ниже команд 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. Например, чтобы создать пустой файл, введите следующее:
$ touchfile
Теперь примените к этому файлу команду 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. Перемещение по каталогам
Иерархия каталогов в системе Unix начинается с каталога /, который иногда называют корневым каталогом. Каталоги разделяются с помощью символа «слеш» (/), но не с помощью обратного слеша (\). В корневом каталоге присутствует несколько стандартных подкаталогов, например /usr, как вы узнаете из раздела 2.19.
Когда вы ссылаетесь на файл или каталог, вы указываете путь или имя пути. Когда путь начинается с символа / (например, /usr/lib), такой путь называется полным или абсолютным.
Часть пути, которая представлена двумя точками (..), указывает на родительский каталог по отношению к данному. Если, например, вы работаете в каталоге /usr/lib, то в этом случае путь… будет означать /usr. Подобным же образом../bin означает /usr/bin.
Одна точка (.) ссылается на текущий каталог. Если, например, вы сейчас в каталоге /usr/lib, то путь. по-прежнему означает /usr/lib, а путь./X11 будет значить /usr/lib/X11. Вам не придется слишком часто применять точку, поскольку для большинства команд по умолчанию указан текущий каталог, если путь не начинается с символа / (в предыдущем примере вы могли бы использовать X11 вместо./X11).