1 авг. 2008 г.

ls: просмотр содержимого каталога

Теперь, когда вы уже умеете переходить из каталога в каталог, самое время узнать, как просмотреть содержимое каталога. Используя команду ls, вы можете вывести на экран список файлов и каталогов текущего каталога.
У команды ls есть много опций. Сама по себе команда ls не покажет все файлы в каталоге. Некоторые файлы являются скрытыми, их можно увидеть, только задав дополнительный ключ команде ls.
[Tip]Подсказка
Чтобы увидеть все возможные опции команды ls, прочтите ее man-страницу, введя в командной строке man ls. Если вы хотите распечатать эту информацию, то перенаправьте вывод на принтер, введя в командной строке
man ls | col -b | lpr
Введите команду ls -a. Теперь вы можете видеть скрытые файлы, имена которых начинаются с точки:
[user@localhost ~]# ls -a
.    .bash_history  .bash_profile  Desktop  .gtkrc
..   .bash_logout   .bashrc        .emacs   test.txt  

Скрытые файлы — это большей частью файлы, которые содержат дополнительные настройки для различных программ, диспетчеров окон, оболочек и т.п. Прячут их для того, чтобы предотвратить случайные вмешательства пользователя. Когда вы что-то ищете в каталоге, это, как правило, не конфигурационные файлы, и сокрытие их при обычном выводе содержимого каталога на экран уменьшает количество ненужной информации.
Просмотр всех файлов с использованием команды ls -a снабжает вас большим количеством информации, но вы можете узнать еще больше, если воспользуетесь другими ключами.
Если вы хотите узнать размеры файлов в каталоге, а также дату их создания и прочую информацию, добавьте к команде ls -a ключ -l (long). Этот ключ позволит получить практически полную информацию обо всех файлах: дату и время создания, размер, владельца, права доступа и так далее.
Не обязательно находиться в том каталоге, содержимое которого вы хотите узнать с помощью команды ls. Например, чтобы увидеть, что имеется в каталоге /etc/, находясь при этом в вашем домашнем каталоге, введите:
ls -al /etc
Ниже приведен краткий список наиболее часто употребляемых ключей команды ls. Не забудьте, что вы можете прочитать полный список опций, вызвав man-страницу команды ls (введите man ls).
  • -a (all) — выводит список всех файлов каталога, в том числе и скрытые файлы. .. и . в верхней части списка относятся, соответственно, к каталогу на уровень выше текущего и текущему.
  • -l (long) — выводит информацию о содержимом каталога, включая права доступа, владельца, группу, размер, время создания, является ли файл символьной ссылкой на другой файл и на какой именно.
  • -F (file type) — добавляет символ в конце строк вывода: / означает каталог, @ — символьную ссылку на другой файл и * означает, что файл является исполняемым.
  • -r (reverse) — выводит список содержимого каталога в обратном порядке.
  • -R (recursive) — будет выведено также содержимое всех подкаталогов текущего каталога рекурсивным образом.
  • -S (size) — сортирует файлы по размеру.
  • -i - вывод перед каждым файлом номера inode (уникальный номер файла в файловой системе).
  • -d - обработка каталогов, указанных в командной строке так, как если бы они были обычными файлами, вместо вывода списка их файлов.

Каналы и утилиты постраничного просмотра


В Linux каналы соединяют стандартный вывод одной команды со стандартным вводом другой.
Рассмотрим команду ls, о которой говорилось выше. У команды ls имеется множество опций, но что делать, если список содержимого каталога прокручивается слишком быстро, и вы не успеваете его просмотреть полностью?
Выведите содержимое каталога /etc/ с помощью команды:
ls -al /etc/
Каким образом успеть взглянуть на начало списка до того, как он исчезнет с экрана в результате прокрутки?
Один из способов — перенаправить вывод команды на стандартный ввод утилиты less, которая позволяет просматривать информацию поэкранно.
Используйте вертикальную черточку (|), чтобы соединить команды каналами:
ls -al /etc/ | less
Теперь вы можете просмотреть содержимое каталога /etc/ постранично. Чтобы перейти к следующей странице, нажмите клавишу [Пробел]; чтобы вернуться к предыдущему экрану, нажмите [B]; чтобы выйти из режима просмотра, нажмите [Q]. Для перемещения по выводу команды less вместо указанных клавиш можно воспользоваться клавишами со стрелками.
Чтобы осуществить поиск по выводимому командой less текстовому файлу, нажмите [/] и введите слово, которое хотите найти в тексте. Например:
/Linux

Команда more


Основная разница между командами more и less заключается в том, что less позволяет прокручивать текст и вперед, и назад при помощи клавиш со стрелками, а more только с использованием клавиш [Пробел] и [B], чтобы продвигаться соответственно вперед и назад.
Давайте ознакомимся с содержимым каталога /etc/, используя команды ls и more.
ls -al /etc | more

Вывод команды ls, прошедший через команду more


Для предотвращения слишком быстрой прокрутки вывода команды ls перенаправьте ее вывод утилите less или more. Это позволит вам просматривать вывод поэкранно («постранично»).
Чтобы увидеть содержимое каталога /etc с помощью команды less, введите в командной строке следующую команду:
ls -al /etc | less
Для прокрутки вывода вперед нажмите клавишу [Пробел], назад — клавишу [b], для выхода — клавишу [q].
Также можно воспользоваться другой утилитой с аналогичным назначением, more.

Комментариев нет: