¿Cuál es la mejor manera de aprender los conceptos básicos de UNIX y los scripts de shell?

Gracias por la A2A. No voy a centrarme demasiado en recursos específicos. En cambio te voy a dar algo mucho mejor: la inspiración .

La mejor manera de aprender shell scripting es enamorarse de la línea de comandos. Haga de Linux su sistema operativo principal (no use OS X inicialmente, los botones bonitos lo seducirán lejos de la terminal si está empezando). Si ya lo está, y si está usando un escritorio deslumbrante como Gnome / KDE / Unity / etc, deshágase de él.

Mover a una distro con una interfaz de usuario mínima. Algo como Arch Linux o Debian. Utilice una IU de escritorio pequeña y rápida como Awesome o Xmonad. Vea el arranque de su máquina e inicie sesión dentro de los 10 segundos (ese es un número real, a diferencia del bombo publicitario de Windows 8). Aprenda a personalizar su sistema operativo a través de shell scripts. No piense “hmm … ¿cómo puedo aprender shell scripting al personalizar mi sistema operativo?”; Piensa “¿Cómo personalizo mi sistema operativo para hacer esto ?” – Aprenderás más rápido de esa manera. Por cada nuevo comando que aprenda, su productividad en la línea de comandos se multiplicará por diez, debido a las infinitas combinaciones y la poesía de las tuberías de Unix. No te darás cuenta de esto al principio, perdido en el mar de encantamientos arcanos. Perseverar. Sed es una navaja suiza que uso a menudo el día a día. Odio Alt-Tab como yo? Un script de shell de una sola línea es suficiente para crear su propia solución para cambiar de ventana a su gusto: Cambio rápido de aplicaciones en Linux usando Run-or-Raise.

Utilice un editor como Emacs / Vim y comprenda por qué esa tecnología de los años 70 ha perdurado hasta la fecha, y también con toda su fuerza. ¿Odias lo tonto que es Bash (el shell de Linux predeterminado)? Usa Zsh y Oh My Zsh! y subir de nivel sus habilidades de línea de comando.

Hecho con todo eso? Bueno. Luego personalice el infierno de Emacs y Zsh, y ponga sus personalizaciones gloriosas en Github para que todo el mundo las vea. Haga que su sistema sea inutilizable a través de sus propias personalizaciones y aprenda cómo solucionarlo de la manera más difícil. Enrosque su grub.cfg y pregúntese por qué diablos su kernel ni siquiera arranca. Demonios, si te queda algo de tiempo, vuelve loco, crea tu propio Linux From Scratch!

Para la mayoría de las personas, su sistema operativo es una caja negra, una cadena mágica de 0 y 1 tan intrincadamente juntas que ni siquiera pueden comenzar a comprender cómo funciona. Como usuario de Linux competente, no serás uno de ellos. Estoy seguro de que me lo agradecerás más tarde por toda la diversión que tuviste. El aprendizaje será enorme , y la mejor parte: ¡será un mero efecto secundario de toda la diversión que tuvo!

Oh, lo siento, ¿solo querías aprender shell scripting? Me temo que tendrás que hacer todo eso para aprenderlo realmente 🙂

ACTUALIZACIÓN (3 de junio de 2016): Este es un excelente y moderno sitio web que tiene muchos buenos tutoriales sobre el shell, los conceptos básicos de Linux, las redes, etc.: Linux Journey

Hola amigos,

Se siente increíble responder a estas preguntas ya que recientemente aprendí esto … Fue un poco difícil al principio, pero ahora me siento como un maestro en esto. Un aplauso para Eduonix por este curso asombroso en – Curso de introducción en línea del sistema operativo Linux

¡Y esto es lo que he aprendido de ellos y espero que esto les ayude!

¿QUÉ ES SHELL ??????

Un Shell le proporciona una interfaz para el sistema Unix. Recoge información de usted y ejecuta programas basados ​​en esa entrada. Cuando un programa termina de ejecutarse, muestra la salida de ese programa.

Shell es un entorno en el que podemos ejecutar nuestros comandos, programas y scripts de shell. Hay diferentes versiones de un shell, al igual que existen diferentes versiones de sistemas operativos. Cada sabor de shell tiene su propio conjunto de comandos y funciones reconocidos.

Mensaje de Shell

El indicador, $ , que se llama el símbolo del sistema , es emitido por el shell. Mientras se muestra el indicador, puede escribir un comando.

Shell lee tu entrada después de presionar Enter . Determina el comando que desea ejecutar mirando la primera palabra de su entrada. Una palabra es un conjunto ininterrumpido de caracteres. Espacios y tabulaciones separan palabras.

A continuación se muestra un ejemplo sencillo del comando de fecha , que muestra la fecha y la hora actuales:

  $ fecha
 Jue 25 de junio 08:30:19 MST 2009

Puede personalizar su símbolo del sistema utilizando la variable de entorno PS1 que se explica en el tutorial de entorno.

Tipos de conchas

En Unix, hay dos tipos principales de conchas:

  • Shell Bourne : si está utilizando un shell de tipo Bourne, el carácter $ es el indicador predeterminado.
  • Shell C : si está utilizando un shell de tipo C, el carácter% es el indicador predeterminado.

El Bourne Shell tiene las siguientes subcategorías:

  • Concha de Bourne (sh)
  • Concha Korn (ksh)
  • Bourne Again shell (bash)
  • Shell POSIX (sh)

Las diferentes conchas de tipo C siguen:

  • C shell (csh)
  • TENEX / TOPS C shell (tcsh)

El caparazón original de Unix fue escrito a mediados de la década de 1970 por Stephen R. Bourne mientras estaba en AT&T Bell Labs en Nueva Jersey.

Bourne fue el primer shell que apareció en los sistemas Unix, por lo que se conoce como “el shell”.

El shell Bourne generalmente se instala como / bin / sh en la mayoría de las versiones de Unix. Por esta razón, es el shell de elección para escribir scripts que se pueden usar en diferentes versiones de Unix.

En este capítulo, cubriremos la mayoría de los conceptos de Shell que se basan en Borne Shell.

Shell Scripts

El concepto básico de un script de shell es una lista de comandos, que se enumeran en el orden de ejecución. Un buen script de shell tendrá comentarios, precedidos por el signo # , que describen los pasos.

Existen pruebas condicionales, como el valor A es mayor que el valor B, los bucles nos permiten pasar por grandes cantidades de datos, archivos para leer y almacenar datos, y variables para leer y almacenar datos, y la secuencia de comandos puede incluir funciones.

Vamos a escribir muchos guiones en las siguientes secciones. Sería un simple archivo de texto en el que pondríamos todos nuestros comandos y varias otras construcciones necesarias que le indican al entorno de shell qué hacer y cuándo hacerlo.

Shell scripts y funciones son interpretados ambos. Esto significa que no están compilados.

Ejemplo de guión

Supongamos que creamos un script http://test.sh . Tenga en cuenta que todos los scripts tendrían la extensión .sh . Antes de agregar algo más a su secuencia de comandos, debe alertar al sistema que se está iniciando una secuencia de comandos de shell. Esto se hace usando la construcción shebang . Por ejemplo

  #! / bin / sh

Esto le indica al sistema que los comandos que siguen deben ser ejecutados por el shell Bourne. Se llama shebang porque el símbolo # se llama un hash, y el! símbolo se llama una explosión .

Para crear un script que contenga estos comandos, primero coloque la línea shebang y luego agregue los comandos –

  #! / bin / bash
 pwd
 ls

Comentarios de Shell

Puede poner sus comentarios en su guión de la siguiente manera:

  #! / bin / bash

 # Autor: Zara Ali
 # Copyright (c) Tutorialspoint.com
 # Script sigue aquí:
 pwd
 ls

Guarde el contenido anterior y haga que el script sea ejecutable.

  $ chmod + x test.sh

El script de shell ahora está listo para ser ejecutado –

  $. / test.sh

Tras la ejecución, recibirá el siguiente resultado:

  / home / amrood
 index.htm unix-basic_utilities.htm unix-directory.htm  
 test.sh unix-communication.htm unix-environment.htm

Nota : para ejecutar un programa disponible en el directorio actual, use ./program_name

Scripts de shell extendido

Los scripts de shell tienen varias construcciones necesarias que le indican al entorno de shell qué hacer y cuándo hacerlo. Por supuesto, la mayoría de los scripts son más complejos que los anteriores.

El shell es, después de todo, un lenguaje de programación real, completo con variables, estructuras de control, etc. No importa lo complicado que se vuelva un script, todavía es solo una lista de comandos ejecutados secuencialmente.

La siguiente secuencia de comandos usa el comando de lectura que toma la entrada del teclado y la asigna como el valor de la variable PERSONA y finalmente la imprime en STDOUT.

  #! / bin / sh

 # Autor: Zara Ali
 # Copyright (c) Tutorialspoint.com
 # Script sigue aquí:

 echo "cual es tu nombre?"
 leer persona
 echo "hola, $ PERSONA"

Aquí hay una muestra de ejecución del script:

  $. / test.sh
 ¿Cuál es su nombre?
 Zara Ali
 Hola zara ali
 PS

Instala Arch Linux. Serás recibido con un entorno CLI. Siga el buen wiki, agregue paquetes y configúrelos para llevarlo a una GUI. Úselo como un sistema operativo dedicado durante al menos un año.

Puedes comenzar con Learn CLI The Hard Way. Overapi ha listado maravillosamente algunos de los accesos directos y CLI básicos. Recientemente me apoderé de este interesante libro Ubuntu Linux Toolbox, que definitivamente debo leer.
Ahora, serás consciente de algunos de los comandos básicos. Le sugiero que descargue este libro electrónico gratuito que tiene todo lo que necesita saber sobre shell con el ejemplo.

Instale una distribución de Linux y comience a usarla como su sistema operativo principal. Si eso no te molesta demasiado, entonces puedes proceder. Aquí hay algunas pautas;

  1. Hay muchos shells disponibles para usted, cada uno con diferentes conjuntos de características. Bash es un valor predeterminado popular, zsh es un shell popular, korn shell, rc shell, etc. Hay demasiados shells por ahí, y es fácil escribir uno también, asegúrate de mantenerlo en el fondo de tu mente: Más de una shell para UNIX. Depende de usted cuál usar.
  2. En shell scripting, básicamente, la mayoría de las cosas que escribes son nombres de otros programas.
  3. Procesos. Cómo empezar, cómo matarlos. ¿Qué es un proceso de fondo de todos modos?
  4. Señales, para qué sirven y cómo funcionan.
  5. Redirección de entrada y salida y para qué sirve.
  6. Canalizaciones y canales con nombre y cómo usarlas para componer pequeños programas en programas más grandes que hacen lo que usted quiere.
  7. Por último, pero no menos importante, la sintaxis es horrible, solo debes recordar que está diseñado para ser ligero y que la mayoría de las cosas que escribes son programas que tienes en tu variable PATH.

Toda la empresa shell está allí para permitirle describir cuándo, qué y cómo ejecutar otros programas. Si piensas en el shell scripting como un lenguaje de programación, estarás decepcionado.

Para los principiantes, este sitio es genial:
Aprendiendo la concha.

Y el sitio tiene un buen libro, disponible para descargar de forma gratuita, publicado bajo una licencia de Creative Commons [PDF]:

La línea de comandos de Linux

UNIX está ahora en todas partes. Este curso investiga los diferentes dispositivos y métodos generalmente utilizados por los administradores del marco de Linux y los clientes finales para realizar su trabajo diario en un dominio de Linux. Está dirigido a clientes de PC con experiencia que tienen una introducción restringida o no a Linux, ya sea que estén trabajando en un entorno individual o empresarial. Después de la capacitación completa, debe tener un trabajo decente, aprender sobre Linux, tanto desde un punto de vista gráfico como de línea de convocatoria, lo que le permite explorar de manera efectiva a través de cualquiera de la verdadera difusión de Linux. Unix curso en Chennai enseña shell scripting en un corto período de tiempo.

Los scripts de shell son una forma maravillosa y poderosa de reducir la carga de trabajo según sus manipulaciones.

La belleza es que tiene más de una forma de obtener sus resultados y necesita buscarse para descubrir cuál es la forma óptima.

Por favor, lea el siguiente PDF y comience. Esta es la mejor guía para cualquiera que tenga 0 idea en la programación de shell y, para el 50% de finalización, sentirá que ya es el maestro.

http://dbmanagement.info/Books/M

Con solo la programación de shell, no puedes sobrevivir. Como los proyectos de prueba y desarrollo en el campo de Unix es bastante bajo.

El conocimiento básico de Unix, Linux con talento de programación de shell para la automatización es altamente considerado fuera.

Le recomendaré que no se detenga solo con los scripts de shell, sino que continúe aprendiendo los scripts de Perl, que son aún más avanzados con una buena demanda externa.

Cuando diga que conozco las secuencias de comandos, querrán que conozca la secuencia de comandos de Shell o la secuencia de comandos de Perl.

Todo el mejor amigo,

Gracias por la A2A. No voy a centrarme demasiado en recursos específicos. En cambio te voy a dar algo mucho mejor: la inspiración.

La mejor manera de aprender shell scripting es enamorarse de la línea de comandos. Haga de Linux su sistema operativo principal (no use OS X inicialmente, los botones bonitos lo seducirán lejos de la terminal si está empezando). Si ya lo está, y si está usando un escritorio deslumbrante como Gnome / KDE / Unity / etc, deshágase de él.

Mover a una distro con una interfaz de usuario mínima. Algo como Arch Linux o Debian. Utilice una IU de escritorio pequeña y rápida como Awesome o Xmonad. Vea el arranque de su máquina e inicie sesión dentro de los 10 segundos (ese es un número real, a diferencia del bombo publicitario de Windows 8). Aprenda a personalizar su sistema operativo a través de shell scripts. No piense “hmm … ¿cómo puedo aprender shell scripting al personalizar mi sistema operativo?”; Piensa “¿Cómo personalizo mi sistema operativo para hacer esto?” – Aprenderás más rápido de esa manera. Por cada nuevo comando que aprenda, su productividad en la línea de comandos se multiplicará por diez, debido a las infinitas combinaciones y la poesía de las tuberías de Unix. No te darás cuenta de esto al principio, perdido en el mar de encantamientos arcanos. Perseverar. Sed es una navaja suiza que uso a menudo el día a día. Odio Alt-Tab como yo? Un script de shell de una sola línea es suficiente para crear su propia solución para cambiar de ventana a su gusto: Cambio rápido de aplicaciones en Linux usando Run-or-Raise.

Utilice un editor como Emacs / Vim y comprenda por qué esa tecnología de los años 70 ha perdurado hasta la fecha, y también con toda su fuerza. ¿Odias lo tonto que es Bash (el shell de Linux predeterminado)? Usa Zsh y Oh My Zsh! y subir de nivel sus habilidades de línea de comando.

Hecho con todo eso? Bueno. Luego personalice el infierno de Emacs y Zsh, y ponga sus personalizaciones gloriosas en Github para que todo el mundo las vea. Haga que su sistema sea inutilizable a través de sus propias personalizaciones y aprenda cómo solucionarlo de la manera más difícil. Enrosque su grub.cfg y pregúntese por qué diablos su kernel ni siquiera arranca. Demonios, si te queda algo de tiempo, vuelve loco, crea tu propio Linux From Scratch!

Para la mayoría de las personas, su sistema operativo es una caja negra, una cadena mágica de 0 y 1 tan intrincadamente juntas que ni siquiera pueden comenzar a comprender cómo funciona. Como usuario de Linux competente, no serás uno de ellos. Estoy seguro de que me lo agradecerás más tarde por toda la diversión que tuviste. El aprendizaje será enorme, y la mejor parte: ¡será un mero efecto secundario de toda la diversión que tuvo!

Oh, lo siento, ¿solo querías aprender shell scripting? Me temo que tendrás que hacer todo eso para aprenderlo realmente 🙂

ACTUALIZACIÓN (3 de junio de 2016): Este es un sitio web excelente y moderno que tiene muchos buenos tutoriales sobre el shell, los conceptos básicos de Linux, las redes, etc.: Linux Journey.

Ayuda a este enlace Shell Scripting Tutorial.

No creo que el aprendizaje serio de los scripts de shell de Unix sea tan valioso. El uso del shell para escribir más de unas pocas líneas de una tarea, y con la lógica, tiende a producir un código pirata e imposible de mantener.

Yo sugeriría aprender Python o Ruby en su lugar y usarlos para scripts.

El uso del shell data de una época en que los idiomas adecuados para escribir código no estaban comúnmente disponibles.

Para el fondo histórico y las herramientas básicas de shell shell, sugeriría leer: El entorno de programación Unix de Kernighan y Pike.

Antes de aprender shell scripting en Linux, primero aprenda los comandos de Linux. Shell script no es más que un comando de Linux escrito en un archivo. La sintaxis de la sentencia condicional y la sentencia de bucle para un shell es bastante simple.

Le sugeriré que utilice primero los comandos básicos de Linux (es posible que ya esté familiarizado con él) y luego puede consultar,

La guía para principiantes de shell scripting: lo básico
Tutorial de Shell Scripting

Una vez que haya terminado con las lecturas básicas, puede comenzar a escribir pequeños scripts según sus requisitos. Te ayuda a obtener el conocimiento en tiempo real.

Puede comenzar con la automatización de las tareas del día a día.

Aprender los conceptos básicos de UNIX consiste en jugar con comandos y lograr el resultado que imaginó. Google sería tu mejor libro. Una vez que eres bueno en los comandos, shell script está organizando estos comandos de una manera lógica.

¡Feliz guión!

Una guía para aficionados a los scripts de shell

Elija Greens Technologys, el mejor instituto de entrenamiento de Unix en Chennai. Aprender los conceptos básicos de UNIX consiste en jugar con comandos y lograr el resultado que imaginó. Los scripts de shell son una forma maravillosa y poderosa de reducir la carga de trabajo según sus manipulaciones. Aprende UNIX del mejor instituto de capacitación de UNIX en Chennai.

Contacto: 89399 25577.

Ubicación: Chennai, Bangalore.

  • Tutorial de Bash Scripting
  • BashGuide – Wiki de Greg y BashFAQ – Wiki de Greg
  • Los Bash Hackers Wiki

También ayuda a familiarizarse con la línea de comandos

Comience con un pequeño proyecto, hay abundantes recursos en internet. Puedes empezar con los comandos básicos. Consulte este libro – ‘Conceptos y aplicaciones de Unix’ por Sumitabha Das.
man mostrará el manual para el comando …
P.EJ
man grep

Si está utilizando una PC basada en windowd, puede instalar Cygwin y ponerse en marcha …

Que te diviertas…

Conceptos y aplicaciones de Unix – por sumitabha das

Magnífico sería un eufemismo para este libro. Nada te da un mejor comienzo para Linux y shells que esto.

Diviértete con el libro!

Hola,

Una de las mejores maneras de estudiar UNIX es tomando un curso de 3 meses. Hay muchas clases que enseñan UNIX en un mejor método. En Chennai tomé mi clase en FITA Academy Unix Training en Chennai | Los Institutos de Capacitación de Unix en Chennai nos enseñan de manera excelente y también proporcionaron ubicaciones …

Si no tiene una máquina de repuesto, pruebe un servicio en línea, especialmente uno con una consola HTML5, luego puede instalar una distribución de Linux en un minuto, probar, configurar y romperla; luego simplemente elimínelo e intente de nuevo. Servicios como Digital Ocean funcionan así.

Si solo desea un acceso de nivel de usuario a nivel de shell (es decir, no se permite el acceso de raíz, entonces puede probar un servicio como el Sistema de acceso público UNF de SDF; tienen un servicio gratuito limitado, por lo que podrían probar algunos programas y scripts básicos de línea de comandos.