Файловая система
Программное окружение Unix (Книга)
Файлы
Команда
catпоказывает, как выглядит файл. Команда od (octal dump – восьмеричный дамп) выводит видимое представление всех байтов файла. Параметр-cозначает «интерпретировать байты как символы». Если задан параметр-b, то будет показано и восьмеричное представление байтов:% 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
Между прочим, то, что восьмеричным числам придано такое значение, – это наследие PDP11, для которой предпочтительной была восьмеричная нотация. Для других машин больше подходит шестнадцатеричная запись – параметр
-xпозволяет выводить в таком виде.
-x выводит в шестнадцатеричном виде “hexadecimal shorts”, т.е. 2 байта. Чтобы посмотреть
нормально, т.е. 1 байт - 1 символ, надо использовать -t x1
% 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
Макось поставляется с утилитой hexdump. В ней есть наглядный вывод в две разделенные колоночки
% 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
Посмотреть каталог вглубь, поиск по-имени
Пользователь может забыть и то, куда он положил файл, и то, какие вообще файлы у него есть. Решить эту проблему поможет пара команд, просматривающих каталоги. Команда
lsвесьма полезна при поиске файлов, но она не просматривает подкаталоги.
*Большинство современных реализаций UNIX допускают использование команды с параметромls –Rдля рекурсивного просмотра подкаталогов. – Примеч. науч. ред.
Команда du имеет параметр
–a(all – все), при задании которого выводятся все файлы каталога. Если среди файлов есть каталоги, тоduобработает и их:$ 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 . $
Вывод команды
du -aможно перенаправить на grep, если требуется найти определенный файл:$ du -a | grep choc 3 ./recipes/cookie/choc.chip $
Находчиво. Я для поиска по-файлам видел только find.
Например, find . -name '*filename*'.
Каталоги, устройства, иерархия
Оставлю на потом. Хочу скорее нырнуть в оболочку.
Notes mentioning this note
There are no notes linking to this note.