¿Cuáles son los mejores recursos para aprender Bash shell en Unix que son relevantes para un desarrollador de Rails o back-end?

Cuando estaba aprendiendo el shell de Unix, confié en dos libros: Unix Power Tools , publicado por O’Reilly, y un libro sobre Korn shell publicado por HP. Creo que Unix Power Tools todavía está impreso. El libro de conchas de Korn ya se fue.

Lo que importaba era la práctica diaria. Trabajar con la concha todos los días me enseñó que siempre hay una mejor manera de hacer las cosas. A lo largo de los años, he desarrollado un vocabulario de trucos comunes que me sirven en todo tipo de situaciones … encontrar | xargs grep, perl -pe, cosas que uso sin pensar. Veinte años después, todavía encuentro nuevas formas de manipular el shell para mi ventaja.

Si eres un desarrollador backend, a diferencia de un desarrollador de Rails, necesitarás habilidades adicionales. Aprender las herramientas modernas de DevOps para automatización (Ansible, Chef, etc.) puede hacer una gran diferencia. Aprender Vagrant para entornos privados personalizados en cualquier lugar es maravilloso. Es una edad de oro para las herramientas, y creo que aún no hemos terminado.

Estos recursos fueron los que más me beneficiaron, en ese orden:

  1. Guiones del sistema. Todos los * nixes tienen un montón de scripts de shell en ellos. La secuencia de inicio y los scripts de mantenimiento del sistema son de gran importancia y, en su mayoría, están bien escritos debido a eso. Leerlos y comprender el propósito de cada línea, corchete y escape es un gran recurso.
  2. Página de Bash man. Por muy aburrido que parezca, no solo es la mejor fuente de información de bash de IMHO, sino también una de las más cortas. Haga una referencia cruzada mientras analiza los scripts del sistema y muy pronto lo encontrará como una fuente precisa y concisa.
  3. Guión y aporte. Escriba la rutina de mantenimiento de su software. Contribuye a un proyecto de código abierto. Puede ser primero como probador (por ejemplo, para el proyecto de bash People en Savannah: Grupos en busca de Tester), y luego como desarrollador (por ejemplo, para este proyecto de script Bash de solicitudes relacionadas con Ubuntu – Necesito gente para contribuir). Contribuí con código bash al código base de mis clientes. Hazlo si es donde está tu valor. El estrés de mayor responsabilidad es bueno a veces.
  4. El único libro que recomendaría es “Programación de shell portátil: una extensa colección de ejemplos de shell Bourne” por Bruce Blinn. Una gran característica del libro es que es breve, aunque abarca algunos conceptos muy importantes. Aquí está en Amazon: una extensa colección de ejemplos de Bourne Shell: Bruce Blinn: 0076092032113: Amazon.com: Libros. No es un libro para principiantes, léelo cuando sientas que estás listo.

Mientras realizaba el desarrollo de Rails, me beneficié mucho al entender cómo bloquear los recursos correctamente (bloquear demonios en bash), lidiar con la redirección de E / S y las marcas de tiempo de masaje. Dicho esto, no hay nada específico de Rails que haya encontrado beneficioso en Bash. Las peculiaridades anteriores están más relacionadas con los requisitos del proyecto que con el marco de Rails.

¡Buena suerte!

Trabajando con Rails, es probable que te encuentres haciendo mucho trabajo en la línea de comandos de Unix. Este enlace contiene un montón de recursos para ayudarte a aprender sobre la programación de shell. Cómo los servicios de TI de outsourcing lo ayudarán a mejorar su negocio

Estas son dos preguntas separadas.

Para aprender bash y Unix, debe instalar una versión de Linux de escritorio, luego solo usar el terminal.

No puedo aconsejar sobre ruby ​​…

Mire esto: Unix Shell Scripting Tutorial y realice todos los ejercicios (aprenderá haciendo no solo observando), una vez que aprenda shell Shell un montón de maneras de hacer las cosas de ruby ​​/ rails tendrá sentido, buena suerte.

Este sitio le ayudará a aprender mejor los comandos de bash: @http: //explainshell.com/