Até onde eu sei, o comando dir desce para subdiretórios ( /S ), pulando cabeçalhos e resumos ( /B ) e omitindo arquivos cuja d irectoria a ttribute está definido ( /A:-D )
A maneira portátil de fazer isso no Linux seria através do comando find - ele desce em subdiretórios por padrão, e pode-se omitir diretórios adicionando -not -type d ( ! pode ser usado como sinônimo de -not )
Por padrão, ele relata caminhos relativos ao ponto de partida, portanto, para obter caminhos absolutos, você pode usar a variável de diretório de trabalho atual do shell PWD :
find "$PWD" -not -type d
Se você estiver usando um shell que suporta correspondências de padrões recursivos (também conhecidos como "globstar") e qualifiers glob, existem outras opções - em zsh , por exemplo, você poderia fazer
ls -1d **/*(^D:A)
ou simplesmente
printf '%s\n' **/*(^D:A)
Você também pode querer considerar se realmente deseja "não diretórios" ou "arquivos simples":
find "$PWD" -type f
ou (zsh)
printf '%s\n' **/*(.:A)