A resposta atualmente aceita do @Dennis consumirá uma grande quantidade de CPU e / ou IO se houver muitos arquivos em /media/X
, já que encontrar listará recursivamente tudo sob o caminho definido, a menos que sejam usados alguns sinalizadores de limitação. No caso comum, isso pode não importar, mas a recursão profunda seguida por uma lista excessivamente longa não é, certamente, ideal.
Você geralmente obterá resultados mais rápidos usando o comando locate (por exemplo, do pacote mlocate ). Por exemplo:
$ locate virtualbox/README.Debian
/usr/share/doc/virtualbox/README.Debian.gz
/usr/share/doc/virtualbox/README.Debian.html
A principal limitação desta abordagem é que os vários pacotes locate geralmente não indexam os diretórios home privados sob o ecryptfs, o que pode ser uma preocupação para os usuários do Ubuntu. Como o OP está usando o Ubuntu, eu recomendo usar locate para arquivos do sistema, e encontrar com alguns flags limitadores sensíveis para qualquer coisa armazenada em uma montagem ecryptfs.
Por último, vale a pena mencionar que usar encontrar sem um caminho absoluto, já que o ponto de partida pode não fazer o que o OP quer. A questão original era como retornar um nome de arquivo junto com seu caminho, portanto, a menos que um caminho relativo seja aceitável, localizar tem mais chances de retornar o resultado adequado.