Вы также должны увидеть эту информацию или аналогичную:
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Это функция безопасности, -скрывающая бесхозные процессы. Вот почему вы видите -
в конце.
Попробуйте выполнить команды с помощью sudo
или от имени пользователя root.
Сократите скрытые каталоги и ограничьте результаты файлами:
find. -type d -name '.?*' -prune -o -type f -print
Как предложил jthill , вы можете отфильтровать каталоги, что приведет к отображению файлов, ссылок и т. д.:
find. -type d -name '.?*' -prune -o ! -type d -print
Ваша команда очень близка к работе. Используйте
find. -type f ! -path '*/.*/*' -print
*/.*/*
, ищет /.
(подразумевает имя сегмента, начинающееся с.
)за(в конце концов)следует a /
— поэтому имя сегмента, начинающееся с.
не может быть последним (имя файла ); то есть это должно быть имя каталога. -path
использует шаблоны расширения имен файлов; также известные как globs или подстановочные знаки. Поэтому вам не нужно ставить \
перед.
. -not
, если вам нужна переносимость на системы, отличные от -GNU. Использование !
для обозначения «не» определяется POSIX, и работает во всех версиях find
(даже BSD, Solaris и т. д. и древние системы ).