Usamos el Linux ls
mandar todos los días sin pensarlo. Es una pena. Preste un poco de atención y encontrará muchas opciones útiles, incluidas algunas que debe agregar a su arsenal de línea de comandos.
¿De qué vamos a hablar?
- 1 ls enumera archivos y directorios
- 2 Listados simples de ls
- 3 Uso de ls en diferentes directorios
- 4 Uso de patrones de archivo
- 5 Caracteres no imprimibles
- 6 Ignorar archivos
- 7 El listado de formato largo
- 8 Tamaños de archivo legibles por humanos
- 9 Mostrar archivos ocultos
- 10 Omitir. y.. de Listados
- 11 Listado de directorios de forma recursiva
- 12 Visualización del UID y el GID
- 13 Ordenar los anuncios
- 14 Para invertir el orden de ordenación
- 15 Y hay más
ls enumera archivos y directorios
El ls
command es probablemente el primer comando que la mayoría de los usuarios de Linux encuentran. Aquellos de nosotros que nos quedemos alrededor de la línea de comandos lo usamos día tras día sin siquiera pensar en ello. Eso podría explicar por qué hay más en este comando de lo que la mayoría de los usuarios creen. Enumeramos los archivos con él para ver qué hay en un directorio. Enumeramos los archivos en formato largo cuando queremos ver los permisos de un archivo. Más allá de eso, recibe poca consideración.
El ls
command es uno de esos comandos con una gran cantidad de opciones. Tal vez esto sea parte del problema. Hay tantas opciones, ¿cómo las revisas para encontrar las útiles? Y habiéndolos encontrado, ¿cómo los recuerdas?
Permutaciones útiles de la ls
con sus cadenas de opciones y parámetros son los candidatos perfectos para los alias. De hecho, en la mayoría de las distribuciones, lo que piensas como el “desnudo” ls
command es en realidad un alias. Entre otras cosas, el type
El comando se puede utilizar para Mostrar la definición subyacente de alias. Veamos la definición de ls
:
tipo ls
El --color=auto
Los parámetros se incluyen automáticamente cada vez que se utiliza el cuadro ls
mandar. Esto es lo que proporciona los diferentes colores para los diferentes tipos de archivos en los listados.
Listados simples de ls
Todos los que han pasado algún tiempo usando el terminal Linux saben que, por defecto, ls
enumera los archivos y directorios del directorio actual.
ls
Si quieres que tu anuncio se produzca en una sola columna, utiliza el -1
(un archivo por línea) opción:
ls -1
Discutiremos ese nombre de archivo de aspecto extraño en la parte superior de la lista en un minuto.
Uso de ls en diferentes directorios
Tener ls
Enumere los archivos de un directorio distinto del directorio actual, pase la ruta de acceso al directorio a ls
en la línea de comandos. También puede pasar más de un directorio a ls
, y tenerlos listados uno tras otro. Aquí, estamos preguntando ls
para enumerar los archivos en dos directorios, uno llamado “Ayuda” y el otro llamado “gc_help”.
ls Help gc_help
Cuando ls
ha enumerado el contenido del primer directorio, enumera el contenido del segundo. Imprime el nombre de cada directorio a medida que los procesa:
Uso de patrones de archivo
Para enumerar selectivamente un conjunto de archivos, utilice la coincidencia de patrones. El signo de interrogación “?
” representará cualquier carácter individual y el asterisco “*
” representará cualquier cadena de caracteres. Para enumerar cualquier archivo o directorio que tenga nombres que comiencen por “ip_”, use este formato:
ls ip_*
Para enumerar los archivos que tienen extensiones “.c”, utilice este formato:
ls *.c
También puedes usar ls
con grep
, y uso grep
‘s Capacidades de coincidencia de patrones. Busquemos cualquier archivo que tenga la cadena “_pin_” en su nombre:
ls | grep _pin_
Esto es casi lo mismo que usar ls
por sí solo, con dos comodines:
ls | grep _pin_
ls *_pin_*
Por qué casi ¿Igualmente? Tenga en cuenta los diferentes diseños. grep
fuerza la salida a un solo nombre de archivo por formato de línea.
Caracteres no imprimibles
Es posible encontrarse con un nombre de archivo que tiene un no impresión o carácter de control en su nombre de archivo. Normalmente, esto puede suceder cuando expandes un archivo que has descargado de la web o recuperado un repositorio git, y el autor original cometió un error al crear un archivo pero no lo detectó.
Nuestro extraño archivo es uno de estos:
Si lo miramos en el navegador de archivos y presionamos “F2” para cambiarle el nombre, los caracteres no imprimibles están representados por un símbolo extraño.
Puede utilizar el -b
(escape) para permitirle ver lo que realmente contiene el nombre del archivo. Esta opción provoca ls
Para utilizar las secuencias de escape del Lenguaje de programación C para representar los caracteres de control.
ls -b a*
El misterioso personaje se revela como un carácter de nueva línea, representado en C como “/n”.
Ignorar archivos
Para omitir determinados archivos de un anuncio, utilice el botón --hide
opción. Supongamos que no desea ver los archivos “.bak” de copia de seguridad en la lista. Puede usar este comando:
ls
ls --hide=*.bak
Los archivos “.bak” no se incluyen en la segunda lista.
El listado de formato largo
El -l
Causas de la opción (lista larga) ls
para proporcionar información detallada sobre cada archivo.
ls -l
Hay mucha información aquí, así que vamos a repasarla.
Lo primero ls
displays es el tamaño total de todos los archivos del listado. Luego, cada archivo o directorio se muestra en una línea por sí mismo.
El primer conjunto de diez letras y guiones son el tipo de archivo y los permisos de propietario, grupo y otros archivos.
El primer carácter representa el tipo de archivo. Será uno de:
- –: Un archivo normal.
- b: Un archivo especial de bloque.
- c: Un archivo especial de caracteres.
- d: Un directorio.
- l: Un vínculo simbólico.
- n: Un archivo de red.
- p: Una tubería con nombre.
- s: Un zócalo.
Los siguientes nueve caracteres son tres grupos de tres caracteres que se muestran contiguamente. Cada grupo de tres representa los permisos de lectura, escritura y ejecución, en ese orden. Si se concede el permiso, habrá un r
, w
o x
presente. Si no se concede el permiso, un guión -
se muestra.
El primer conjunto de tres caracteres son los permisos para el propietario del archivo. El segundo conjunto de tres permisos es para los miembros del grupo y el último conjunto de tres permisos es para otros.
A veces, el permiso de ejecución para el dueño está representado por un s
. Este es el Setuid bit. Si está presente, significa que el archivo se ejecuta con los privilegios del propietario del archivo, no del usuario que ejecuta el archivo.
El permiso de ejecución para el grupo también puede ser un s
. Este es el setgid bit. Cuando esto se aplica a un archivo, significa que el archivo se ejecutará con los privilegios del grupo del ower. Cuando se usa con un directorio, cualquier archivo creado dentro de él tomará sus permisos de grupo del directorio se están creando en, no del usuario que está creando el archivo.
El permiso de ejecución para los demás a veces puede ser representado por un t
. Este es el bit pegajoso. Por lo general, se aplica a los directorios. Si esto se establece, independientemente de los privilegios de escritura y ejecutables que se establezcan en los archivos del directorio, solo el propietario del archivo, el propietario del directorio o el usuario raíz pueden cambiar el nombre o eliminar archivos del directorio.
Un uso común para el bit pegajoso es en carpetas como “/tmp”. Esto es grabable por todos los usuarios en la computadora. El bit pegajoso en el directorio garantiza que los usuarios, y los procesos iniciados por los usuarios, solo puedan cambiar el nombre o eliminar sus propios archivos temporales.
Podemos ver el bit pegajoso en el directorio “/tmp”. Tenga en cuenta el uso de la -d
(directorio) opción. Esto causa ls
para informar sobre los detalles del directorio. Sin esta opción, ls
informará sobre los archivos dentro del directorio.
ls -l -d /tmp
El número que sigue a los permisos es el número de vínculos duros al archivo o directorio. Para un archivo, este suele ser uno, pero si se crean otros enlaces duros, este número aumentará. Un directorio normalmente tiene al menos dos enlaces duros. Uno es un enlace a sí mismo, y el otro es su entrada en su directorio principal.
El nombre del propietario y el grupo se muestran a continuación. Les sigue el tamaño del archivo y la fecha de la última modificación del archivo. Finalmente, se da el nombre del archivo.
Tamaños de archivo legibles por humanos
Tener los tamaños de archivo en bytes no siempre es conveniente. Para ver los tamaños de archivo en las unidades más apropiadas (Kilobytes, Megabytes, etc.) utilice el -h
Opción (legible por humanos):
ls -l -h
Mostrar archivos ocultos
Para ver los archivos ocultos, utilice el botón -a
(todos) opción:
ls -l -a
Las dos entradas “.” y “..” representan el directorio actual y el directorio primario, respectivamente. Un archivo llamado “.base_settings” ahora es visible por primera vez.
Omitir. y.. de Listados
Si no quieres que tu anuncio esté abarrotado de entradas “.” y “.”,, pero sí quieres ver archivos ocultos, usa el botón -A
(casi todos) opción:
ls -l -A
El archivo oculto sigue apareciendo, pero se suprimen las entradas “.” y “.”..
Listado de directorios de forma recursiva
Tener ls
Enumerar los archivos en todos los subdireccioneslos ories utilizan el -R
opción (recursiva)
ls -l -R
ls
se abre camino a través de todo el árbol de directorios debajo del directorio de inicio y enumera los archivos en cada subdirectorio.
Visualización del UID y el GID
Para que se muestren el ID de usuario y el ID de grupo en lugar del nombre de usuario y el nombre de grupo, utilice el -n
(uid numérico y gid) opción.
ls -n
Ordenar los anuncios
Puede ordenar el listado por extensión, tamaño de archivo o tiempo de modificación. Estas opciones no tienen que usarse con el formato de lista larga, pero generalmente tiene sentido hacerlo. Si está ordenando por tamaño de archivo, tiene sentido ver los tamaños de archivo en la lista. Cuando ordenas por tipo de extensión, el formato de lista larga no es tan importante.
Para ordenar por extensión, utilice el -X
(ordenar por extensión) opción.
ls -X -1
Los directorios se enumeran primero (sin extensiones en absoluto) y luego el resto sigue en orden alfabético, de acuerdo con las extensiones.
Para ordenar por tamaño de archivo, utilice el -S
(ordenar por tamaño de archivo) opción.
ls -l -h -S
El orden de clasificación es de mayor a menor.
Para ordenar el anuncio por tiempo de modificación, utilice el -t
(ordenar por tiempo de modificación) opción.
ls -l -t
El anuncio se ordena por el tiempo de modificación.
Si el tiempo de modificación del archivo está dentro del año actual, la información que se muestra es el mes, el día y la hora. Si la fecha de modificación no estaba en el año actual, la información que se muestra es el mes, el día y el año.
Una forma rápida de obtener los archivos más nuevos y antiguos de un directorio es usar ls
con el head
y tail
Comandos.
Para obtener el archivo o directorio más reciente, utilice este comando:
ls -t | head -1
Para obtener el archivo o directorio más antiguo, utilice este comando:
ls -t | tail -1
Para invertir el orden de ordenación
Para invertir cualquiera de los órdenes de ordenación, utilice el -r
opción (inversa).
ls -l -h -S -r
La lista ahora se ordena desde el archivo más pequeño hasta el archivo más grande.
Y hay más
Echa un vistazo a la página de man para ls
, hay muchas más opciones. Algunos de ellos satisfacen casos de uso algo oscuros, pero de vez en cuando, te alegrarás de conocerlos.
¿Necesita ver las marcas de tiempo del archivo con la máxima precisión que Linux puede proporcionar? Utilice la opción de tiempo completo:
ls --full-time
¿Quizás quieres ver el número de inodos de los archivos? Utilice la opción de inodo:
ls -i
¿Está trabajando en una pantalla monocromática y desea eliminar todo riesgo de confundir archivos para directorios y enlaces? Utilice la opción de clasificación, y ls
adjuntará uno de estos a cada entrada de anuncio:
- /: Un directorio.
- @: Un enlace simbólico.
- |: Una tubería con nombre.
- =: Un zócalo.
- *: Un archivo ejecutable
ls -F
Investiga un poco. Encontrarás que ls
es una vena rica, y seguirás apareciendo gemas.