GNU/Linux >> Tutoriales Linux >  >> Linux

Una introducción a las utilidades principales de GNU

Dos conjuntos de utilidades: GNU Core Utilities y util-linux — comprenden muchas de las herramientas más básicas y de uso regular del administrador del sistema Linux. Sus funciones básicas permiten a los administradores de sistemas realizar muchas de las tareas necesarias para administrar una computadora Linux, incluida la administración y manipulación de archivos de texto, directorios, flujos de datos, medios de almacenamiento, controles de procesos, sistemas de archivos y mucho más.

Estas herramientas son indispensables porque, sin ellas, es imposible realizar cualquier trabajo útil en una computadora Unix o Linux. Dada su importancia, vamos a examinarlos.

GNU coreutils

La terminal de Linux

  • Los 7 mejores emuladores de terminal para Linux
  • 10 herramientas de línea de comandos para el análisis de datos en Linux
  • Descargar ahora:hoja de referencia de SSH
  • Hoja de trucos de comandos avanzados de Linux
  • Tutoriales de línea de comandos de Linux

Para comprender los orígenes de GNU Core Utilities, debemos hacer un viaje corto en la máquina Wayback a los primeros días de Unix en Bell Labs. Unix se escribió para que Ken Thompson, Dennis Ritchie, Doug McIlroy y Joe Ossanna pudieran continuar con algo que habían comenzado mientras trabajaban en un gran proyecto informático multitarea y multiusuario llamado Multics. Ese algo pequeño era un juego llamado Space Travel. Como sigue siendo cierto hoy en día, siempre parecen ser los jugadores los que impulsan la tecnología informática. Este nuevo sistema operativo era mucho más limitado que Multics, ya que solo dos usuarios podían iniciar sesión a la vez, por lo que se llamó Unics. Este nombre se cambió posteriormente a Unix.

Con el tiempo, Unix resultó ser un éxito tan grande que Bell Labs comenzó esencialmente a regalárselo a las universidades y luego a las empresas por el costo de los medios y el envío. En aquellos días, el software a nivel del sistema se compartía entre organizaciones y programadores mientras trabajaban para lograr objetivos comunes dentro del contexto de la administración del sistema.

Eventualmente, los PHB de AT&T decidieron que deberían ganar dinero con Unix y comenzaron a usar licencias más restrictivas y costosas. Esto estaba ocurriendo en un momento en que el software se estaba volviendo más propietario, restringido y cerrado. Se estaba volviendo imposible compartir software con otros usuarios y organizaciones.

A algunas personas no les gustó esto y lo combatieron con software libre. Richard M. Stallman, también conocido como RMS, dirigió un grupo de rebeldes que intentaban escribir un sistema operativo abierto y de libre acceso al que llamaron Sistema Operativo GNU. Este grupo creó GNU Utilities pero no produjo un kernel viable.

Cuando Linus Torvalds escribió y compiló por primera vez el kernel de Linux, necesitaba un conjunto de utilidades de sistema muy básicas para incluso comenzar a realizar un trabajo marginalmente útil. El núcleo no proporciona comandos ni ningún tipo de shell de comandos como Bash. Es inútil por sí mismo. Entonces, Linus usó GNU Core Utilities disponibles gratuitamente y las recopiló para Linux. Esto le proporcionó un sistema operativo completo, aunque bastante básico.

Puede obtener información sobre todos los programas individuales que componen las utilidades GNU ingresando el comando info coreutils en una línea de comando de terminal. La siguiente lista de las principales utilidades es parte de esa página de información. Las utilidades están agrupadas por función para que las específicas sean más fáciles de encontrar; en la terminal, resalte el grupo sobre el que desea obtener más información y presione la tecla Intro.

* Output of entire files::       cat tac nl od base32 base64
* Formatting file contents::     fmt pr fold
* Output of parts of files::     head tail split csplit
* Summarizing files::            wc sum cksum b2sum md5sum sha1sum sha2
* Operating on sorted files::    sort shuf uniq comm ptx tsort
* Operating on fields::          cut paste join
* Operating on characters::      tr expand unexpand
* Directory listing::            ls dir vdir dircolors
* Basic operations::             cp dd install mv rm shred
* Special file types::           mkdir rmdir unlink mkfifo mknod ln link readlink
* Changing file attributes::     chgrp chmod chown touch
* Disk usage::                   df du stat sync truncate
* Printing text::                echo printf yes
* Conditions::                   false true test expr
* Redirection::                  tee
* File name manipulation::       dirname basename pathchk mktemp realpath
* Working context::              pwd stty printenv tty
* User information::             id logname whoami groups users who
* System context::               date arch nproc uname hostname hostid uptime
* SELinux context::              chcon runcon
* Modified command invocation::  chroot env nice nohup stdbuf timeout
* Process control::              kill
* Delaying::                     sleep
* Numeric operations::           factor numfmt seq

Hay 102 utilidades en esta lista. Cubre muchas de las funciones necesarias para realizar tareas básicas en un host Unix o Linux. Sin embargo, faltan muchas utilidades básicas. Por ejemplo, el mount y umount los comandos no están en esta lista. Esos y muchos de los otros comandos que no están en GNU coreutils se pueden encontrar en util-linux colección.

util-linux

El util-linux El paquete de utilidades contiene muchos de los otros comandos comunes que usan los administradores de sistemas. Estas utilidades son distribuidas por la Organización del Kernel de Linux, y prácticamente cada uno de estos 107 comandos eran originalmente tres colecciones separadas:fileutils , shellutils y textutils —que se combinaron en el paquete único util-linux en 2003.

agetty          fsck.minix      mkfs.bfs        setpriv 
blkdiscard      fsfreeze        mkfs.cramfs     setsid
blkid           fstab           mkfs.minix      setterm
blockdev        fstrim          mkswap          sfdisk
cal             getopt          more            su
cfdisk          hexdump         mount           sulogin
chcpu           hwclock         mountpoint      swaplabel
chfn            ionice          namei           swapoff
chrt            ipcmk           newgrp          swapon
chsh            ipcrm           nologin         switch_root
colcrt          ipcs            nsenter         tailf
col             isosize         partx           taskset
colrm           kill            pg              tunelp
column          last            pivot_root      ul
ctrlaltdel      ldattach        prlimit         umount
ddpart          line            raw             unshare
delpart         logger          readprofile     utmpdump
dmesg           login           rename          uuidd
eject           look            renice          uuidgen
fallocate       losetup         reset           vipw
fdformat        lsblk           resizepart      wall
fdisk           lscpu           rev             wdctl
findfs          lslocks         RTC Alarm       whereis
findmnt         lslogins        runuser         wipefs
flock           mcookie         script          write
fsck            mesg            scriptreplay    zramctl
fsck.cramfs     mkfs            setarch

Algunas de estas utilidades han quedado obsoletas y es probable que se eliminen de la colección en algún momento en el futuro. Debería consultar util-linux de Wikipedia página para obtener información sobre muchas de las utilidades, y las páginas man también brindan detalles sobre los comandos.

Resumen

Estas dos colecciones de utilidades de Linux, GNU Core Utilities y util-linux , juntos proporcionan las utilidades básicas necesarias para administrar un sistema Linux. Mientras investigaba este artículo, encontré varias utilidades interesantes que no conocía. Muchos de estos comandos rara vez se necesitan, pero cuando los necesitas, son indispensables.

Entre estas dos colecciones, hay más de 200 utilidades de Linux. Si bien Linux tiene muchos más comandos, estos son los necesarios para administrar las funciones básicas de un host típico de Linux.


Linux
  1. Una introducción al uso de tcpdump en la línea de comandos de Linux

  2. Introducción a las herramientas automáticas de GNU

  3. Una introducción al editor vi

  4. Introducción al comando de alternativas en Linux

  5. Una introducción al comando diff

Introducción a la utilidad goto shell de Linux

Una introducción al emulador de terminal DomTerm para Linux

Introducción al sistema de archivos de Linux

Una introducción al archivo Linux /etc/fstab

Una introducción al registro de contenedores de Quay

¿Cómo copiar el búfer de copia de pantalla GNU al portapapeles?