Если вы хотите перечислить все файлы, кроме тех, которые находятся в определенном каталоге, скажем, notHere , здесь вы можете использовать команду find чтобы сделать это следующим образом
find . -path ./notHere -prune -o -type f -print
Объяснение:
- .: каталог для начала- findв
- -path ./notHere: запустить правило, которое будет соответствовать пути- ./notHere
- -prune: предотвратить- findпо каталогу с текущим соответствием
- -o: добавить- orчтобы указать, что мы хотим, чтобы первое правило не совпадало
- -type f: сопоставлять только файлы, а не, скажем, каталоги (удалите это, если вы также хотите видеть записи каталога)
- -print: часто не требуется, поскольку это действие по умолчанию, но в некоторых версиях- findвсе еще требуется, чтобы вы прямо сказали, что хотите, чтобы результат был распечатан
Вы упоминаете, что хотите получить другой вывод (в частности, ls -ll), а не только список имен файлов. find часто есть встроенная функция, чтобы помочь с этим, хотя и не те специфические опции для ls .  Вы можете заменить флаг -print выше на -ls и посмотреть, достаточно ли близок для вас этот набор параметров ls :
find . -path ./notHere -prune -o -type f -ls
или, если этого недостаточно, вы можете find команду run, которую хотите, вместо того, чтобы пытаться обрабатывать вывод отдельно, например:
find . -path ./notHere -prune -o -type f -exec ls -ll {} +