Articulo de referencia

Utilidades básicas de GNU

{{Cite web |title=The GNU Core Utilities Open Source Project on Open Hub: Languages Page |url=https://www.openhub.net/p/coreutils/analyses/latest/languages_summary |url-status=l...

Las utilidades principales de GNU ( coreutils) son una colección de software GNU que implementa muchos comandos estándar de shell basados ​​en Unix . Estas utilidades generalmente proporcionan una interfaz compatible con POSIX cuando se establece la variable de entorno POSIXLY_CORRECT , pero de lo contrario ofrecen un superconjunto de la interfaz estándar. Por ejemplo, admiten opciones largas y opciones después de los parámetros. Esta variable de entorno habilita una funcionalidad diferente en BSD .

Existen colecciones similares en el ecosistema FOSS , con un alcance y enfoque ligeramente diferentes (menos funcionalidad) o con una licencia distinta. Por ejemplo, BusyBox , que tiene licencia GPL-2.0 , y Toybox , que tiene licencia 0BSD .

Comandos

Actualmente, coreutils implementa más de 100 comandos, que se enumeran a continuación. A lo largo de este artículo, y como es habitual en los sistemas basados ​​en Unix, el término « archivo» se refiere a todos los elementos del sistema de archivos, incluidos los archivos regulares y los archivos especiales como los directorios.

Utilidades de archivos

  • chcon Cambia el contexto de seguridad de archivos ( SELinux )
  • chgrp Cambia la propiedad del grupo de archivos
  • chown Cambia la propiedad del archivo por parte del usuario.
  • chmod Modifica los permisos de los archivos
  • cp Copia archivos
  • dd Copia y convierte datos de archivos
  • df Informes del espacio libre del sistema de archivos
  • dir Similar a ls -C -b; por defecto, lista los archivos en columnas, ordenados verticalmente.
  • dircolors Configura los colores utilizados para lsla salida
  • install Copia archivos y establece atributos de archivo.
  • ln Crea un enlace a un archivo
  • ls Lista de archivos
  • mkdir Crea directorios
  • mkfifo Crea tuberías con nombre (FIFOs)
  • mknod Crea archivos especiales de bloques o caracteres
  • mktemp Crea archivos o directorios regulares temporales
  • mv Mueve y renombra archivos
  • realpath Informa la ruta absoluta o relativa de un archivo.
  • rm Elimina archivos
  • rmdir Elimina directorios vacíos
  • shred Sobrescribe un archivo para ocultar su contenido y, opcionalmente, lo elimina.
  • sync Vacía los búferes del sistema de archivos
  • touch Modifica las marcas de tiempo de los archivos, creando archivos si no existen.
  • truncate Establece el tamaño de un archivo mediante truncamiento o extensión.
  • vdir Me gusta ls -l -b; por defecto lista los archivos en formato largo

Utilidades de texto

  • b2sum Calcula y verifica el resumen del mensaje BLAKE2b.
  • base32 Codifica o decodifica base32
  • base64 Codifica o decodifica base64
  • basenc Codifica o decodifica diversas codificaciones, incluyendo hexadecimal , base32 , base64 y Z85.
  • catConcatena archivos
  • cksum Informar o calcular la suma de verificación de los archivos
  • comm Compara dos archivos ordenados línea por línea
  • csplit Divide un archivo en secciones determinadas por líneas de contexto.
  • cut Elimina secciones de cada línea de archivos
  • expand Convierte tabulaciones en espacios
  • fmt Formatos de texto
  • fold Ajusta cada línea de entrada para que quepa en el ancho especificado.
  • head Genera la primera parte de los archivos
  • join Une líneas de dos archivos en un campo común.
  • md5sum Calcula y verifica el resumen del mensaje MD5
  • nl Número de líneas de archivos
  • numfmt Formatos de números
  • od Vuelca archivos en formato octal y otros formatos.
  • paste Combina líneas de archivos
  • ptx Genera un índice permutado del contenido de los archivos.
  • pr Archivos paginados o columnados
  • sha1sum, sha224sum, sha256sum, sha384sum, sha512sum Calcula y verifica los resúmenes de mensajes SHA-1 / SHA-2
  • shuf Genera permutaciones aleatorias
  • sort Ordena las líneas de los archivos de texto
  • split Divide un archivo en partes
  • sum Realiza sumas de verificación y cuenta los bloques en un archivo.
  • tac Concatena los archivos en orden inverso, línea por línea.
  • tail Genera la última parte de los archivos
  • tr Traduce o elimina caracteres
  • tsort Realiza una ordenación topológica
  • unexpand Convierte espacios en tabulaciones
  • uniq Elimina las líneas duplicadas de un archivo ordenado.
  • wc Informa el número de bytes, palabras y líneas en los archivos.

Servicios públicos de Shell

  • arch Informa el nombre del hardware de la máquina (igual que uname -m)
  • basename Elimina el prefijo de ruta de un nombre de ruta dado.
  • chroot Cambia el directorio raíz
  • date Informa o establece la fecha y hora del sistema.
  • dirname Elimina los sufijos que no son de directorio del nombre del archivo.
  • du Muestra el uso del disco en los sistemas de archivos
  • echo Genera texto
  • env Informa y modifica las variables de entorno
  • expr Evalúa expresiones
  • factorFactores numéricos
  • false No hace nada más que salir con estado de fracaso
  • groups Informa sobre los grupos de los que el usuario es miembro.
  • hostid Informa el identificador numérico del host actual.
  • id– Informa sobre el UID y GID reales o efectivos
  • link Crea un enlace a un archivo
  • logname Informa el nombre de usuario
  • nice Modifica la prioridad de programación
  • nohup Permite que un comando continúe ejecutándose después de cerrar la sesión.
  • nproc Consulta el número de procesadores (activos)
  • pathchk Comprueba si los nombres de archivo son válidos o portátiles.
  • pinky Una versión ligera de dedo
  • printenv Informa sobre las variables de entorno
  • printf Formatos de texto
  • pwd Informa sobre el directorio de trabajo actual
  • readlink Informa el valor de un enlace simbólico
  • runcon Ejecutar comando con el contexto de seguridad especificado
  • seq Informa una secuencia de números
  • sleep Bloquea (retrasa, espera) durante un tiempo determinado.
  • stat Informa sobre información relativa a un inodo
  • stdbuf Ejecuta un comando con una configuración de flujos estándar personalizada.
  • stty Modificaciones e informes de la configuración de la línea terminal
  • tee Envía la salida a varios archivos
  • test Evalúa una expresión
  • timeout Ejecuta un comando con un límite de tiempo.
  • true No hace más que salir con éxito.
  • tty Informa el nombre del terminal
  • uname Informes de información del sistema
  • unlink Elimina archivos mediante unlink()función
  • uptime Informa cuánto tiempo lleva funcionando el sistema.
  • users Informa los nombres de usuario de los usuarios que han iniciado sesión en el host actual.
  • who Informa sobre los usuarios que han iniciado sesión.
  • whoami– Informa el ID de usuario efectivo
  • yes Genera una cadena repetidamente
  • [ Sinónimo de prueba que permite expresiones como[ expression ]

Historia

En 1990, David MacKenzie anunció GNU fileutils . [ 3 ]

En 1991, MacKenzie anunció GNU shellutils y GNU textutils . [ 4 ] [ 5 ] Además, Jim Meyering se convirtió en el mantenedor de los paquetes (conocidos ahora como coreutils) y lo ha sido desde entonces. [ 6 ]

En septiembre de 2002, se crearon las utilidades principales de GNU mediante la fusión de los paquetes anteriores textutils , shellutils y fileutils , junto con otras utilidades diversas. [ 7 ]

En julio de 2007, la licencia de las utilidades principales de GNU se actualizó de GPL-2.0 o posterior a GPL-3.0 o posterior . [ 8 ]

En abril de 2026, Canonical planea reemplazar el paquete coreutils estándar, basado en C , por uno escrito en Rust en su lanzamiento de Ubuntu 25.10 y 26.04 LTS. [ 9 ] Actualmente está disponible una versión preliminar del paquete, aunque algunos se quejan de problemas de rendimiento y seguridad. [ 10 ]

Véase también

Referencias

  1. "coreutils-9.11 lanzado [ estable ] " . 20 de abril de 2026 . Consultado el 21 de abril de 2026 .
  2. "El proyecto de código abierto de utilidades principales de GNU en Open Hub: Página de idiomas" . openhub.net . Archivado del original el 28 de marzo de 2019. Consultado el 28 de marzo de 2019 .
  3. MacKenzie, David J. (8 de febrero de 1990). "Utilidades de archivos GNU versión 1.0" . groups.google.com . Archivado del original el 28 de abril de 2023. Recuperado el 24 de septiembre de 2025 .
  4. MacKenzie, David J. (16 de julio de 1991). "Se publican utilidades de programación de shell de GNU" . groups.google.com . Archivado del original el 28 de abril de 2023. Recuperado el 28 de abril de 2023 .
  5. MacKenzie, David J. (22 de agosto de 1991). "Se publican nuevas utilidades de texto y archivos GNU" . groups.google.com . Archivado del original el 3 de diciembre de 2024. Consultado el 24 de septiembre de 2025 .
  6. "Quién es GNU" . gnu.org . Archivado del original el 28 de abril de 2023. Consultado el 28 de abril de 2023 .
  7. Meyering, Jim (13 de enero de 2003). "readme-package-renamed-to-coreutils" . git.savannah.gnu.org . Archivado del original el 25 de diciembre de 2019. Recuperado el 15 de agosto de 2018 .
  8. Meyering, Jim (23 de julio de 2007). "Copiando: Actualización a la versión 3" . git.savannah.gnu.org . Archivado del original el 25 de diciembre de 2019. Recuperado el 15 de agosto de 2018 .
  9. Rendek, Lubos (4 de noviembre de 2025). "Ubuntu 26.04: Fecha de lanzamiento y nuevas características en Resolute Raccoon" . linuxconfig.org . Consultado el 10 de noviembre de 2025 .
  10. Larabel, Michael (15 de septiembre de 2025). "La transición a Rust Coreutils en Ubuntu 25.10 ha revelado deficiencias de rendimiento" . Phoronix . Archivado del original el 9 de noviembre de 2025. Consultado el 9 de noviembre de 2025 .
  • Sitio web oficial
  • "GNU Coreutils" . gnu.org . Consultado el 24 de septiembre de 2025 .- Manual
  • "Léame" . git.savannah.gnu.org . Consultado el 24 de septiembre de 2025 .
  • "El cofre de herramientas de la herencia" . heirloom.sourceforge.net . Consultado el 24 de septiembre de 2025 .– Un conjunto alternativo de utilidades
  • Both, David (24 de abril de 2018). "Una introducción a las utilidades principales de GNU" . opensource.com . Consultado el 24 de septiembre de 2025 .
  • "Piedra Rosetta para *Nix" . bhami.com . Consultado el 24 de septiembre de 2025 .– Lista configurable de programas equivalentes para sistemas *nix.
  • Rösler, Wolfram (2007). "La lista de acrónimos de Unix" . roesler-ac.de . Archivado del original el 6 de agosto de 2024. Recuperado el 24 de septiembre de 2025 .– explica los nombres de muchos comandos de Unix.
  • "Página principal del sistema UNIX" . unix.org . Consultado el 24 de septiembre de 2025 .