
¿Es posible enumerar archivos ocultos sin utilizar los caracteres mencionados anteriormente? Esto significa no utilizar ninguna opción ni el comodín * ni otros caracteres (p. ej., este esnopermitido ls -a
, ls -d
, .!(|.)
, echo .*
etc.).
Respuesta1
find .
enumerará todos los archivos, incluidos los ocultos.
Corolario: Alguien piensa que es una buena ideaenseñar sobre la inyección de comandosponiendo en la lista negra a personajes individuales yposiblemente incluso comandosen tu guión. Eso es activamente perjudicial para tu aprendizaje sobre el shell porque terminas con trucos comopersonajes de escapeoconfiando en la configuración predeterminada específica de Ubuntu, los cuales no podránmanejar nombres de archivos especiales.
En realidad, parece que a quien se le ocurrió esto quería usarlo eval
por alguna razón (lo cual siempre es * una idea terrible) en lugar de simplemente ejecutar el código o script enviado directamente.
La forma absolutamente más sencilla de recorrer archivos ocultos es
for file in .*
do
my_command "$file"
done
* O tan casi siempre que sería mejor que hubieras leído y entendido todo elArtículo de Bash wiki al respectoincluso antes de considerar su uso.
Respuesta2
Ubuntu tiene un alias predeterminado para ls -la
. Puedes simplemente usar
la
Respuesta3
echo `printf '.\x2A'`
Tabla Unicode para la victoria.
Respuesta4
echo .
<TAB><TAB>
Ya está integrado en bash para hacer esto. Ni siquiera es necesario ejecutar un comando.
echo .
<Meta-*>
Si es absolutamente necesario tener un comando (pero aún así no necesita ningún proceso externo).