Comandos internos vs externos en Unix
En los sistemas similares a UNIX, los comandos son las instrucciones que le da al shell para realizar acciones. Se pueden clasificar como interno y externo .
Aquí hay un desglose de las diferencias y ejemplos clave:
Comandos internos:
* incorporado: Estos están directamente integrados en el código del shell.
* Ejecución rápida: No es necesario cargar programas separados del disco.
* Funcionalidad limitada: Por lo general, concéntrese en tareas básicas como la gestión de shell, el control de procesos y la manipulación variable.
* No hay archivos ejecutables separados: Son parte del caparazón en sí.
Ejemplos:
* `CD`:Directorio de cambio.
* `EXIT`:Salga del shell actual.
* `pwd`:imprimir directorio de trabajo.
* `Jobs`:Lista de trabajos de antecedentes.
* `FG`:traiga un trabajo de fondo en primer plano.
* `BG`:envíe un trabajo de primer plano al fondo.
* `Kill`:terminar un proceso.
* `Historia`:Mostrar historial de comandos.
* `Echo`:Imprima texto al terminal.
* `Read`:Leer la entrada del usuario.
Comandos externos:
* Ejecutables separados: Almacenado como archivos en el sistema.
* Funcionalidad más compleja: Puede realizar una gama más amplia de tareas.
* Ejecución más lenta: Debe cargarse desde el disco antes de ejecutar.
Ejemplos:
* `LS`:Lista de contenido del directorio.
* `CAT`:concatenar y mostrar archivos.
* `Grep`:Buscar patrones en archivos.
* `Date`:Muestre la fecha y hora actuales.
* `TOP`:Mostrar procesos en ejecución.
* `SSH`:Secure Shell Remote Inicio de sesión.
* `Curl`:transferir datos utilizando varios protocolos.
* `GIT`:Sistema de control de versiones.
* `vim`:editor de texto.
Cómo identificar el tipo:
* `que` comando: Use el comando `que 'para encontrar la ubicación de un comando. Si devuelve una ruta, es un comando externo. Si regresa "no encontrado", es probable que sea interno.
* `type` comando: Este comando le indica específicamente el tipo de comando:
* `type ls` -> salida:` ls está alias a `ls -g`
* `type cd` -> salida:` cd es un shell builtin`
nota:
* Algunos comandos, como `alias`, pueden ser internos y externos. El comando `alias 'en sí es interno, pero se puede usar para crear alias para comandos externos.
* Muchos comandos que se consideran "internos" en realidad se implementan como bibliotecas compartidas que cargan el shell. Esto significa que se pueden actualizar independientemente del caparazón en sí.
En resumen:
Los comandos internos están integrados en el shell y proporcionan funcionalidad básica, mientras que los comandos externos son ejecutables separados que ofrecen una gama más amplia de capacidades. Ambos juegan roles esenciales en el entorno Unix.