{"id":353540,"date":"2024-09-16T11:05:28","date_gmt":"2024-09-16T11:05:28","guid":{"rendered":"https:\/\/www.ninjaone.com\/it-hub\/%content_hub_category%\/shell-que-es\/"},"modified":"2024-10-13T14:37:55","modified_gmt":"2024-10-13T14:37:55","slug":"shell-que-es","status":"publish","type":"content_hub","link":"https:\/\/www.ninjaone.com\/es\/it-hub\/remote-access\/shell-que-es\/","title":{"rendered":"\u00bfQu\u00e9 es un shell?"},"content":{"rendered":"<p>Un <strong>shell<\/strong> es un tipo de programa inform\u00e1tico que te permite, como usuario, controlar tu sistema operativo con una <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-a-command-line-interface-cli\/\" target=\"_blank\" rel=\"noopener\">interfaz de l\u00ednea de comandos<\/a> (CLI) o una interfaz gr\u00e1fica de usuario (GUI). Esencialmente, los shells son formas directas de comunicarse con tu sistema operativo sobre qu\u00e9 acciones realizar, normalmente a trav\u00e9s de la automatizaci\u00f3n. Estas acciones pueden ir desde las copias de seguridad diarias hasta la supervisi\u00f3n de sistemas y actividades, e incluso la realizaci\u00f3n de auditor\u00edas rutinarias.<\/p>\n<h2>Shells vs. kernels<\/h2>\n<p>No se puede hablar de shells sin entender primero en qu\u00e9 se diferencian de los kernels. En pocas palabras, <a href=\"https:\/\/www.ninjaone.com\/it-hub\/it-service-management\/what-is-a-kernel-overview-definition\/\" target=\"_blank\" rel=\"noopener\">los kernels<\/a> son el n\u00facleo de un sistema operativo. Es la capa primaria entre el hardware y el software del ordenador, siendo el kernel el responsable de interactuar con el hardware.<\/p>\n<p>Los shells son el punto de conexi\u00f3n intermedio entre el usuario y el kernel. Ejecutan las \u00f3rdenes emitidas por el usuario al n\u00facleo traduciendo primero las \u00f3rdenes del usuario en llamadas al sistema que solicitan al kernel que realice una tarea espec\u00edfica. Esta es la raz\u00f3n por la que a veces se hace referencia a los shells como <em>int\u00e9rpretes de comandos<\/em>: interpretan lo que quieres para que el kernel pueda entender qu\u00e9 hacer a continuaci\u00f3n.<\/p>\n<h2>\u00bfC\u00f3mo funciona un programa shell?<\/h2>\n<p>Un shell puede ser un CLI o un GUI y no debe confundirse con un terminal. Un terminal proporciona un s\u00edmbolo del sistema para trabajar con un shell, pero el propio shell utiliza scripts para configurar la automatizaci\u00f3n. Por ejemplo, en un dispositivo Windows, el terminal por defecto se llama S\u00edmbolo del sistema (en comparaci\u00f3n con los dispositivos macOS, que se llama Terminal), y tiene este aspecto:<\/p>\n<p><img fetchpriority=\"high\" decoding=\"async\" class=\"alignnone wp-image-268595 \" src=\"https:\/\/www.ninjaone.com\/wp-content\/uploads\/2024\/10\/image2-6.png\" alt=\"Un s\u00edmbolo del sistema para el art\u00edculo &quot;\u00bfQu\u00e9 es un shell?&quot;\" width=\"900\" height=\"551\" \/><\/p>\n<p><a href=\"https:\/\/www.ninjaone.com\/blog\/how-to-use-windows-command-prompt\/\" target=\"_blank\" rel=\"noopener\">Utilizar el S\u00edmbolo del sistema de Windows<\/a> puede ser relativamente sencillo, y cada vez son m\u00e1s los usuarios que utilizan <a href=\"https:\/\/www.ninjaone.com\/it-hub\/endpoint-management\/what-is-powershell\/\" target=\"_blank\" rel=\"noopener\">PowerShell<\/a>, un shell de l\u00ednea de comandos y lenguaje de scripting mucho m\u00e1s completo, para ejecutar la acci\u00f3n deseada. Ten en cuenta que el S\u00edmbolo del sistema <em>no<\/em> es un int\u00e9rprete de comandos, sino el terminal en el que se puede ejecutar un int\u00e9rprete de comandos, como PowerShell. PowerShell puede tener este aspecto:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-268607 size-full\" src=\"https:\/\/www.ninjaone.com\/wp-content\/uploads\/2024\/10\/image3-3.png\" alt=\"\u00bfQu\u00e9 es un shell?\" width=\"1142\" height=\"747\" \/><\/p>\n<p>Como puedes ver, proporciona la informaci\u00f3n necesaria de forma r\u00e1pida y sencilla, en funci\u00f3n de tu comando. PowerShell puede ejecutarse en cualquier sistema operativo, aunque se utiliza principalmente en dispositivos Windows.<\/p>\n\n<p>Hay que tener en cuenta que los shell scripts no se etiquetan igual en todos los sistemas operativos. Por ejemplo, algunos scripts pueden llamarse Sh, Bash, csh y tesh. En los sistemas operativos VM de IBM, se denominan EXEC, mientras que los shell scripts en DOS se denominan archivos por lotes.<\/p>\n<p>En cualquier caso, todos los shells utilizan un terminal para mostrar comandos legibles por humanos y realizar la interacci\u00f3n u operaci\u00f3n deseada.<\/p>\n<h2>Diferentes tipos de shells<\/h2>\n<h3>Bourne shell<\/h3>\n<p>El Bourne shell, a veces conocido como el int\u00e9rprete de \u00f3rdenes original de Unix y abreviado como \u00absh\u00bb, fue desarrollado en 1979 por Stephen Bourne. Contiene funciones como el control de flujo y un mejor manejo de las cadenas de caracteres que facilitan el uso y la comprensi\u00f3n del shell como lenguaje de programaci\u00f3n. Sin embargo, se sabe que el shell es un poco inflexible y poco interactivo.<\/p>\n<p>Aunque ha sido sustituido por C Shell y KornShell (entre otros), el Bourne shell sigue siendo popular hoy en d\u00eda por su velocidad y compacidad.<\/p>\n<h3>L\u00ednea de comandos (C Shell)<\/h3>\n<p>El C Shell (\u00abcsh\u00bb) es un int\u00e9rprete de comandos para sistemas Unix y similares. Fue creado en 1978 por Berkeley Software Distribution y ofrece varias mejoras respecto al anterior Bourne Shell, especialmente para uso interactivo.<\/p>\n<p>Puede tener este aspecto:<\/p>\n<p><img decoding=\"async\" class=\"alignnone wp-image-268619 size-full\" src=\"https:\/\/www.ninjaone.com\/wp-content\/uploads\/2024\/10\/image1-1-2.png\" alt=\"Una imagen de bourne shells\" width=\"1160\" height=\"594\" \/><\/p>\n<h3>KornShell<\/h3>\n<p>Los Laboratorios Bell introdujeron el KornShell (\u00abksh\u00bb) a principios de la d\u00e9cada de 1980. Incluye muchas funciones de C Shell, pero es notablemente m\u00e1s r\u00e1pido. Adem\u00e1s de ejecutar scripts Bourne Shell y caracter\u00edsticas y funciones similares a C, tambi\u00e9n incorpora aritm\u00e9tica.<\/p>\n<h3>Shell Bourne-Again de GNU<\/h3>\n<p>El Bourne-Again Shell (\u00abbash\u00bb), publicado en 1989 por Brian Fox para el Proyecto GNU, es una alternativa de c\u00f3digo abierto al Bourne Shell. Es comparable a KornShell y C Shell, pero incluye teclas de flecha asignadas autom\u00e1ticamente para una edici\u00f3n y recuperaci\u00f3n de comandos m\u00e1s r\u00e1pidas. En la actualidad, Bash se considera el int\u00e9rprete de comandos por defecto de la mayor\u00eda de las distribuciones de Linux y utiliza <a href=\"https:\/\/www.ninjaone.com\/blog\/what-is-bash-scripting\/\" target=\"_blank\" rel=\"noopener\">scripts Bash<\/a>.<\/p>\n<h2>\u00bfQu\u00e9 hace el script de shell?<\/h2>\n<p>En lugar de escribir cada comando manualmente cada vez que necesitas hacer algo, los shells, a trav\u00e9s de sus scripts, pueden realizar varias tareas simult\u00e1neamente, como copias de seguridad, ejecuci\u00f3n de programas, etc. Tambi\u00e9n pueden automatizar tareas repetitivas, reduciendo la probabilidad de <a href=\"https:\/\/www.ninjaone.com\/blog\/how-human-error-relates-to-cybersecurity-risks\/\" target=\"_blank\" rel=\"noopener\">errores humanos<\/a>, minimizando el impacto potencial de los <a href=\"https:\/\/www.ninjaone.com\/it-hub\/endpoint-security\/what-is-dirty-data\/\" target=\"_blank\" rel=\"noopener\">datos sucios<\/a> y mejorando significativamente <a href=\"https:\/\/www.ninjaone.com\/es\/blog\/como-aumentar-la-eficiencia-de-tu-organizacion\/\" target=\"_blank\" rel=\"noopener\">la eficiencia de las TI<\/a>.<\/p>\n<p>Dicho esto, los scripts de shell no est\u00e1n dise\u00f1ados para tareas complejas o de gran envergadura. Adem\u00e1s, al igual que ocurre con los idiomas, puede llevar alg\u00fan tiempo dominarlos. Un desliz de sintaxis, por ejemplo, puede causar errores dram\u00e1ticos, y tendr\u00e1s que ir a trav\u00e9s de cada comando para determinar d\u00f3nde se produjo el error.<\/p>\n<h3>Ventajas<\/h3>\n<p>Shell puede liberar a tus t\u00e9cnicos para que se centren en proyectos m\u00e1s estrat\u00e9gicos. Adem\u00e1s de ayudarte a realizar diversas tareas, los shells tambi\u00e9n te permiten personalizar tus propios scripts para adaptarlos a tus objetivos y necesidades espec\u00edficos.<\/p>\n<h3>Desventajas<\/h3>\n<p>Los shells pueden ser implacables en t\u00e9rminos de sintaxis. Un solo error puede ser dif\u00edcil de identificar y costoso a largo plazo. Para aclararlo, la sintaxis del shell es similar a la utilizada en el lenguaje natural. Se refiere al orden de las operaciones y a c\u00f3mo se disponen las palabras y frases.<\/p>\n<h2>Shells para aumentar la eficacia de TI<\/h2>\n<p>Es posible que las shell y, en consecuencia, sus scripts no sean lo primero en lo que pienses cuando consideres la <a href=\"https:\/\/www.ninjaone.com\/es\/blog\/que-es-la-gestion-de-endpoints\/\" target=\"_blank\" rel=\"noopener\">gesti\u00f3n de endpoints<\/a>. No obstante, los shells desempe\u00f1an un papel esencial en el modo en que tus t\u00e9cnicos pueden automatizar tareas y ofrecerte un mejor servicio a ti, a tu organizaci\u00f3n y a tus usuarios finales. Aunque no es necesario dominar los shells, conviene comprender sus fundamentos para obtener mejores resultados empresariales.<\/p>\n","protected":false},"author":152,"featured_media":353241,"parent":0,"template":"","meta":{"_acf_changed":false,"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_lmt_disableupdate":"","_lmt_disable":""},"hub_categories":[4192],"class_list":["post-353540","content_hub","type-content_hub","status-publish","has-post-thumbnail","hentry","content_hub_category-remote-access"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/content_hub\/353540","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/content_hub"}],"about":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/types\/content_hub"}],"author":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/users\/152"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media\/353241"}],"wp:attachment":[{"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/media?parent=353540"}],"wp:term":[{"taxonomy":"content_hub_category","embeddable":true,"href":"https:\/\/www.ninjaone.com\/es\/wp-json\/wp\/v2\/hub_categories?post=353540"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}