25 votos

¿Por qué hay un espacio adicional cuando escribo "ls" en el directorio de escritorio?

Sólo por curiosidad, me preguntaba si hay una razón para que el espacio extra cuando yo escriba ls en el directorio de Escritorio. Comparar...

~/Desktop$ ls
 file1 file2 file3

......

~/Documents$ ls
file1 file2 file3

Observe que cuando yo escriba ls sobre el Escritorio me aparece un espacio extra en el principio de la línea (que no es parte del nombre de archivo). No puedo encontrar ningún otro ejemplo, la ubicación donde puedo conseguir este espacio extra al principio de la línea. ¿Alguien más se esto? Hay una razón?

PD: estoy usando Ubuntu Bionic Beaver LTS de liberación y el terminal por defecto que viene con él.

82voto

muclux Puntos 74

El espacio adicional aparece cuando tiene nombres de archivos en su directorio que necesitan ' alrededor (por ejemplo, nombres de archivos con espacios u otros caracteres especiales).

 ~/mytmp$ ls
 a           'file(abc)'         proyecto3.csv   test         Test.sh
 b           'file(ab,c?).mp4'   rootfile        Test1.txt    Test.zip
 F26         'file(abc?).mp4'    scr             Test2.test   vowels
 Feb          guess              script          Test2.txt
'Feb 26 xx'   hw                 something       test.rar
 

Después de eliminar los archivos 'extraños' me sale:

 ~/mytmp$ ls
a    guess  proyecto3.csv  script     test        Test2.txt   Test.sh
b    hw     rootfile       something  Test1.txt   test.rar    Test.zip
F26  loop   scr            speak      Test2.test  testscript  vowels
 

52voto

MSS Puntos 121

Estoy bastante seguro de file1 file2 file3 no es lo que exactamente se muestra en la pantalla. Se omite información valiosa (los nombres de los archivos) que fácilmente pueden ser relevantes.

Mi suposición es que usted tiene un nombre de archivo, que contiene un espacio o de otro carácter especial.

Versión más reciente de coreutils s ls presupuesto nombres de archivo, normalmente en una sola cita. Además, si hay al menos un archivo que requieren de citar, se agrega un espacio en frente de todos los demás nombres de archivo, de modo que se alinee "muy bien" si llegan a estar por debajo de otros, es decir, la única oferta marca (apóstrofo) es ignorado por la alineación.

Ver --quoting-style y -N en el manual de la página de ls algunos detalles más, y la sección "Formato de los nombres de archivo" en la info de la página para más detalles. Por ejemplo, usted podría considerar la posibilidad de aliasing ls a ls -N.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: