pushd
и popd
позвольте Вам управлять каталогами на стеке.
Когда Вы pushd
каталог, Вы помещаете текущий каталог на стек и каталог изменения к тому, указанному в качестве параметра.
popd
позволит Вам возвращаться к каталогу на стеке.
Если Вы повторитесь, то обход каталога будет видом сохраненных, и можно возвратиться к сохраненным каталогам в обратном порядке от того, в чем Вы сохранили их.
Не все о файле, большинство метаданных о файле хранятся в файловом inode, а не в записи каталога. Запись каталога - это просто структура inode и имени файла - достаточно информации, чтобы перевести из имени файла на inode и добраться до фактического файла.
Вы можете безопасно представить каталог как словарь:
filename1 :> inode1
filename2 :> inode2
....
, то вы просто следуете за номером inode (в основном уникальный адрес inode - своего рода указателя) и находить все разрешения, данные владения, даты, даты, расширенные атрибуты, и, конечно, содержимое файла (если это файл). Конечно, запись каталога также может быть другой каталог, символическую ссылку, узел устройства или что-то подобное. Вы должны идти туда, чтобы понять это.
Запись каталога - это в основном отображение имени файла в свой индексный дескриптор. Обычно пользователь обращается к файлу по его имени, однако такие имена файлов не понимаются ядром.
Ядро идентифицирует файл, используя индексный дескриптор, уникальный для файла.
Этот индексный дескриптор в основном содержит все данные файла, кроме его имени и фактических данных в файле. Такое сопоставление имени файла с его индексным дескриптором поддерживается в структуре данных, называемой записью каталога.
Помните, что многие записи (в одном или разных каталогах) могут идентифицировать один и тот же файл (один и тот же индексный дескриптор). Таким образом, имея имя, вы можете легко получить его индексный дескриптор; учитывая индексный дескриптор, найти имена намного сложнее (и утилита find
является инструментом для этого).