Нажатие на определенные значки ничего не делает

Любой объект в (большинстве) файловых систем в Linux имеет уникальный идентификатор, называемый inode. Обратите внимание, что файл может иметь более одного имени (hardlink), но каталоги имеют только одну ссылку во всех файловых системах, о которых я знаю. Обратите внимание, что концепция inode является локальной файловой системой, поэтому в двух разных устройствах (раздел или что-то еще) уникальность не гарантируется.

Вы можете увидеть индекс вашего каталога с помощью ls -ldi:

[:~] % ls -ldi tmp/uffa                     
20873234 drwxrwxr-x 2 romano romano 4096 Jun 26  2014 tmp/uffa

Итак, вы знаете, что ваш каталог имеет inode 20873234. Теперь вы можете переключиться на него с помощью команды:

[:~] % cd "$(find ~ -inum 20873234 2> /dev/null)"  
[:~/tmp/uffa] %

(Обратите внимание, что 2> /dev/null состоит в том, чтобы отключать сообщения об ошибках об нечитаемых каталогах по пути.)

Эта команда будет сканировать всю вашу домашнюю директорию, поэтому быть терпеливым.1

Но как насчет использования cd и завершения TAB вашей оболочки?

1 Это должна быть самой неэффективной вещью, которую я когда-либо публиковал ... одой для энтропии. Причина в том, что «первичный ключ», под которым оптимизируется доступ к файлу или каталогу, быстрый и прямой - угадайте, что? - путь: /dir/dir/file_or_dir. Более того, чтобы предоставить вам доступ к определенному каталогу, системе необходимо проверить все разрешения в пути ... так что снова обращение через inode означает рекурсивное сканирование файловой системы.

2 Ну, вы можете сделать что-то хуже, сканируя с / .3

3 Но тогда он выиграл ' t, потому что inodes уникальны только для каждой файловой системы (для каждого монтирования).

131
задан 17 July 2018 в 22:53

0 ответов

Другие вопросы по тегам:

Похожие вопросы: