Пример 12-25. Исследование каталога /usr/X11R6/bin

Пример 12-25. Исследование каталога /usr/X11R6/bin

#!/bin/bash

# Что находится в каталоге /usr/X11R6/bin?

DIRECTORY="/usr/X11R6/bin"

# Попробуйте также "/bin", "/usr/bin", "/usr/local/bin", и т.д.

for file in $DIRECTORY/*

do

whatis `basename $file` # Вывод информации о файле.

done

exit 0

# Вывод этого сценария можно перенаправить в файл:

# ./what.sh >>whatis.db

# или включить постраничный просмотр на экране,

# ./what.sh | less

См. также Пример 10-3.

vdir

Вывод списка файлов в каталоге. Тот же эффект имеет команда ls -l.

Это одна из утилит GNU fileutils.

bash$ vdir

total 10

-rw-r--r-- 1 bozo bozo 4034 Jul 18 22:04 data1.xrolo

-rw-r--r-- 1 bozo bozo 4602 May 25 13:58 data1.xrolo.bak

-rw-r--r-- 1 bozo bozo 877 Dec 17 2000 employment.xrolo

bash ls -l

total 10

-rw-r--r-- 1 bozo bozo 4034 Jul 18 22:04 data1.xrolo

-rw-r--r-- 1 bozo bozo 4602 May 25 13:58 data1.xrolo.bak

-rw-r--r-- 1 bozo bozo 877 Dec 17 2000 employment.xrolo

locate, slocate

Команда locate определяет местонахождение файла, используя свою базу данных, создаваемую специально для этих целей. Команда slocate -- это защищенная версия locate (которая может оказаться простым псевдонимом команды slocate).

$bash locate hickson

/usr/lib/xephem/catalogs/hickson.edb

readlink

Возвращает имя файла, на который указывает символическая ссылка.

bash$ readlink /usr/bin/awk

../../bin/gawk

strings

Команда strings используется для поиска печатаемых строк в двоичных файлах. Она выводит последовательности печатаемых символов, обнаруженных в заданном файле. Может использоваться для прикидочного анализа дамп-файлов (core dump) или для отыскания информации о типе файла, например для графических файлов неизвестного формата (например, strings image-file | more может вывести такую строчку: JFIF, что говорит о том, что мы имеем дело с графическим файлом в формате jpeg). В сценариях, вероятнее всего, вам придется использовать эту команду в связке с grep или sed. См. Пример 10-7 и Пример 10-9.