Файловая Система
Файлы
Команда
cat
показывает, как выглядит файл. Команда od (octal dump – восьмеричный дамп) выводит видимое представление всех байтов файла. Параметр-c
означает «интерпретировать байты как символы». Если задан параметр-b
, то будет показано и восьмеричное представление байтов:
none code snippet start
% cat junk
now is the time
for all good people
% od -cb junk
0000000 n o w i s t h e t i m e \n
156 157 167 040 151 163 040 164 150 145 040 164 151 155 145 012
0000020 f o r a l l g o o d p e o
146 157 162 040 141 154 154 040 147 157 157 144 040 160 145 157
0000040 p l e \n
160 154 145 012
0000044
none code snippet end
Между прочим, то, что восьмеричным числам придано такое значение, – это наследие PDP11, для которой предпочтительной была восьмеричная нотация. Для других машин больше подходит шестнадцатеричная запись – параметр
-x
позволяет выводить в таком виде.
!!! Warning
-x выводит в шестнадцатеричном виде “hexadecimal shorts”, т.е. 2 байта. Чтобы посмотреть
нормально, т.е. 1 байт - 1 символ, надо использовать -t x1
none code snippet start
% od -c -t x1 junk
0000000 n o w i s t h e t i m e \n
6e 6f 77 20 69 73 20 74 68 65 20 74 69 6d 65 0a
0000020 f o r a l l g o o d p e o
66 6f 72 20 61 6c 6c 20 67 6f 6f 64 20 70 65 6f
0000040 p l e \n
70 6c 65 0a
none code snippet end
!!! Макось поставляется с утилитой Hexdump . В ней есть наглядный вывод в две разделенные колоночки
none code snippet start
% hexdump -C junk
00000000 6e 6f 77 20 69 73 20 74 68 65 20 74 69 6d 65 0a |now is the time.|
00000010 66 6f 72 20 61 6c 6c 20 67 6f 6f 64 20 70 65 6f |for all good peo|
00000020 70 6c 65 0a |ple.|
00000024
none code snippet end
Посмотреть каталог вглубь, поиск по-имени
Пользователь может забыть и то, куда он положил файл, и то, какие вообще файлы у него есть. Решить эту проблему поможет пара команд, просматривающих каталоги. Команда
ls
весьма полезна при поиске файлов, но она не просматривает подкаталоги.
*Большинство современных реализаций UNIX допускают использование команды с параметромls –R
для рекурсивного просмотра подкаталогов. – Примеч. науч. ред.
Команда du имеет параметр
–a
(all – все), при задании которого выводятся все файлы каталога. Если среди файлов есть каталоги, тоdu
обработает и их:
sh code snippet start
$ du a
2 ./recipes/pie/apple
3 ./recipes/pie/crust
6 ./recipes/pie
3 ./recipes/cookie/choc.chip
4 ./recipes/cookie
11 ./recipes
1 ./junk
13 .
$
sh code snippet end
Вывод команды
du -a
можно перенаправить на grep, если требуется найти определенный файл:
sh code snippet start
$ du -a | grep choc
3 ./recipes/cookie/choc.chip
$
sh code snippet end
!!!
Находчиво. Я для поиска по-файлам видел только Find
.
Например, find . -name '*filename*'
.
Каталоги, устройства, иерархия
Оставлю на потом. Хочу скорее нырнуть в оболочку.