Chroot является очень ограниченным механизмом с плохой изоляцией между chrooted средой и хостом. На самом деле кроме заключения файловой системы из-за измененного корневого каталога нет никакой другой изоляции вообще. В особенности все драйверы, скомпилированные и загруженные в ядро, совместно используются хостом и chrooted средой. Обратите внимание однако, что chrooted среда может быть неспособной к устройствам доступа когда /dev
, /sys
или /proc
в chrooted среде отличаются от хоста и не включают все необходимые файлы и/или узлы устройства.
Как предложено @michael-hampton find
путь состоит в том, чтобы пойти. Однако немного больше объяснения необходимо. Опция -type
может иметь несколько значений, проверить страницу справочника (man find
). Вот быстрое определение:
Если Вы ищете регулярные файлы только:
find <path> -type f
Если Вы ищете что-нибудь не каталог:
find <path> ! -type d
Если Вы ищете регулярные файлы и символьные ссылки:
find <path> -type f -o -type l
(предыдущая команда ищет регулярный ИЛИ ссылка),
find
работы точно также. Но если Вы используете zshell (zsh
):
Только для файлов:
ls -al path/**/*(.)
Только для директоров:
ls -al path/**/*(/)
Посмотрите man zshexpn
для большего количества eamples. Конкретно "раздел" спецификатора шарика.
Можно также сделать это в bash4 + (знать, что это следует за символьными ссылками):
shopt -s globstar nullglob
for file in **/*; do
[[ -f $file ]] && printf '%s\n' "$file"
done
# */
только зафиксировать его.
– kojiro
16.03.2013, 00:37