GNU/Linux >> Tutoriales Linux >  >> Linux

¿El comando `ls` no muestra los últimos contenidos del directorio?

El shell de Linux no imprime información actualizada cuando se trata de ls. Por ejemplo, uso mis otros procesos (IDE, etc.) para crear algunos directorios. Sin embargo, cuando ejecuto un comando ls, no veo estos directorios. Normalmente toma unos segundos, a veces minutos, para que ese directorio aparezca en la salida de ls.

¿Qué está pasando? ¿Puedo forzar una actualización? Idealmente, cuando digo "ls", quiero ver el estado cuando escribí el comando, no algún resultado almacenado en caché.

El sistema de archivos no es un recurso compartido NFS. Lo único que se me ocurre es que el directorio fue creado por un programa cuando se ejecuta desde Eclipse (y la pantalla se enrutó a mi ventana local)

Sin embargo, no sé cómo esto puede afectar las cosas.

Respuesta aceptada:

ls no tiene nada que ver con bash o cualquier concha. Enumera el contenido de un directorio, excluyendo los archivos ocultos (aquellos cuyo nombre comienza con .) ) solicitando esa lista del kernel

Si ls no los muestra, entonces no están allí (en lo que respecta al sistema operativo) o está enumerando el directorio incorrecto.

Eso puede suceder, por ejemplo, cuando el directorio actual ha cambiado de nombre bajo sus pies. Me gusta:

$ pwd
/tmp/1
$ ls
x
$ mv /tmp/1 /tmp/2
$ pwd
/tmp/1 # (/tmp/1 has been renamed but the shell is not aware of it)
$ mkdir /tmp/1
$ touch /tmp/1/y
$ pwd
/tmp/1
$ ls  # (ls is still listing `.` which has not changed, but now is a hardlink to `/tmp/2`, while `/tmp/1` is some new directory)
x
$ pwd -P  # (double check what the current directory is)
/tmp/2
$ cd /tmp/1
$ ls
y

Linux
  1. ¿El comando Rm en Bash Script no funciona con variables?

  2. ¿Vsftpd no muestra el contenido de un directorio?

  3. ¿Qué devuelve el comando Ls -al .*?

  4. rm:comando no encontrado

  5. mv:comando no encontrado

Comando Du en Linux

Comando mv en Linux

Diferentes formas de enumerar los contenidos del directorio sin usar el comando ls

Cómo listar archivos recursivamente en Linux

SVN verifica el contenido de una carpeta, no la carpeta en sí

El comando sed de Linux no cambia el archivo de destino