Имена файлов и команда ls
К файлам, находящимся в текущем каталоге, не требуется указывать путь доступа. Если аргументом файловой команды является имя файла без пути, то действие команды будет применено к файлу в текущем каталоге.
Команда pwd выводит полное имя текущего каталога (пример 4.1).
Пример 4.1. Имя текущего каталога |
$ pwd
/home/user1
Полные имена файлов иначе называются абсолютными именами (absolute pathname), вместо них можно пользоваться также относительными именами (relative pathnames), в которых путь к файлу указывается относительно теку- щего каталога. Имена файлов, не начинающиеся с символа /, являются отно- сительными. Например, anna/referat.txt — относительное имя файла, находя- щего в подкаталоге anna текущего каталога.
Команда ls выводит содержимое каталогов, указанных в качестве аргумен- тов, или содержимое текущего каталога, если аргументов нет.
Пример 4.2. Вывод содержимого нескольких каталогов |
$ ls /usr/local /etc/default/
/etc/default/: nss useradd
/usr/local:
bin etc games include lib libexec sbin share src
Обычно при регистрации в системе нового пользователя ему назначается его домашний каталог, в котором он может хранить личные файлы. При входе в сеанс обычных пользователей текущими становятся их домашние каталоги. Имена домашних каталогов чаще всего совпадают с именами пользовате- лей — владельцев этих каталогов.
Стандартное место для размещения домашних каталогов пользователей в GNU/Linux — каталог /home. Например, домашний каталог пользователя anna — /home/anna.
При пользовании оболочкой Bash существует короткий путь для указания имени домашнего каталога: имя ~ указывает на домашний каталог пользова- теля, вошедшего в систему, а ~имяпользователя — на домашний каталог ука- занного пользователя.
Опция –l команды ls позволяет получить подробную информацию о файлах.
Пример 4.3. Получение подробной информации о файлах |
$ ls -l /etc/default/
итого 16
-rw-r--r-- 1 root root 962 Апр 2 2009 nss
-rw------- 1 root root 96 Фев 12 2009 useradd
Первая строка вывода команды ls –l /etc/default сообщает о суммарном дисковом пространстве в 512-байтных блоках, которое занимают файлы. Это пространство больше, чем размер файлов. Причиной этого является то, что каждый из этих двух файлов физически занимает в файловой системе 4 Кбайт (блок данных).
Далее команда ls -l выводит строки с информацией о файлах. В первом столбце этих строк сообщается тип файла, далее права доступа к файлу, ко- личество имен файла (жестких связей), владелец файла, первичная группа владельца, размер файла, дата изменения и имя файла. Права владения и пра- ва доступа, а также возможность наличия у файла более одного имени будут рассмотрены далее.
Обсудим имеющиеся в GNU/Linux типы файлов и соответствующие им обо- значения в первом столбце листинга команды ls –l:
r - — обычные файлы;
r d — каталоги;
r l — символические ссылки (содержат указатели на другие файлы);
r b — блочные устройства (специальные файлы, предназначенные для об- ращения к устройствам, информация на которые записывается и считыва- ется оттуда блоками, например, жесткий диск);
r c — символьные устройства (специальные файлы, предназначенные для посимвольного ввода/вывода с таких устройств, как терминал или мышь);
r p — именованный канал (PIPE или FIFO, они являются одним из вариан- тов организации межпроцессного взаимодействия);
r s — сокеты (sockets, предназначенные для организации сетевого межпро- цессного взаимодействия).
Другая часто используемая опция команды ls — это опция –F (пример 4.4). При указании этой опции после имен каталогов выводится /, после имен ис- полняемых файлов — *, после символических ссылок — @.
Пример 4.4. Опция -F команды ls |
$ ls –F ~
Desktop/ intro.txt scr1.sh*
Команда ls с опцией -F вывела содержимое домашнего каталога пользователя с использованием символов подсказки. Здесь Desktop — каталог, т. к. после его имени выводится знак /. Файл intro.txt — обычный файл. А сценарий scr1.sh является исполняемым файлом, т. к. после его имени выведен символ *.
Для получения информации собственно о каталогах, а не о файлах, содержа- щихся в них, необходимо воспользоваться опцией -d команды ls (пример 4.5). Чаще всего опция -d применяется совместно с опцией –l команды ls.
Пример 4.5. Получение подробной информации о каталоге |
$ ls -ld /etc
drwxr-xr-x 87 root root 6064 Окт 7 06:16 /etc
Если бы опция -d здесь отсутствовала, то была получена информация не о каталоге, а о файлах, содержащихся в нем.
Дата добавления: 2015-06-12; просмотров: 1409;