Voy a aprender a usar la línea de comando. Específicamente, usaré el libro: "La línea de comandos de Linux: una introducción completa" . Ahora, ¿tengo que usar una distribución de Linux para recorrer el libro, o OS X sería suficiente?
Si necesito una distribución de Linux, ¿sería suficiente usarla a través de una VM o necesito instalarla de forma nativa?
linux
command-line
osx
Utku
fuente
fuente
/proc
sistema de archivos, las unidades USB tienden a aparecer/Volumes
no/media/username
como en Ubuntu. CentOS tiene undhclient.conf
archivo diferente . Y así sucesivamenteRespuestas:
Recomiendo encarecidamente ejecutar Linux en una VM. Todo el software está disponible gratuitamente para descargar y no existe una diferencia práctica entre ejecutar en una VM y ejecutar de forma nativa con el propósito de aprender la línea de comandos.
Además, la línea de comandos de Linux se compone principalmente de bash + GNU coreutils , que es muy diferente de BSD Unix (y OS X es un sucesor de BSD Unix). Hay una gran diferencia de preferencias al escribir argumentos en BSD Unix y GNU Linux. Puedes morderte incluso como novato con diferentes opciones de utilidades estándar como
ps
ytar
si trabajas en ambos sistemas.El uso de OS X cuando su libro es específico de Linux arrojará regularmente inconsistencias y diferencias que parecerán superficiales cuando tenga más experiencia, pero simplemente serán confusas cuando esté aprendiendo. Mantén las cosas fáciles para ti.
Esto también le permitirá experimentar sin la preocupación de romper su máquina eliminando o cambiando cualquier archivo importante.
Y, por último, aunque no menos importante, le permitirá configurar una conexión SSH a su VM desde su terminal OS X, para que pueda acostumbrarse a usar claves SSH y a la idea de que no importa si su servidor Linux es una máquina nativa, una VM local o se está ejecutando en AWS o Digital Ocean: ¡todo funciona igual!
fuente
OS X es suficiente para aprender la línea de comando, ya que es un UNIX certificado y se ajusta a POSIX. Si está mirando el libro de línea de comandos específico de Linux, debe tener en cuenta que las herramientas de usuario en OS X se derivan de BSD, mientras que las herramientas en Linux son GNU y hay algunas diferencias sutiles (y no tan sutiles) entre ellas.
Si desea aprender con las herramientas de GNU, puede instalar una tierra de usuario de GNU a través de macports o homebrew, o puede hacer una instalación completa de Linux en una VM.
fuente
bash
), se adaptará a casi cualquier sistema que lo ejecute. Varía cuando comienzas a usar funciones del sistema operativo o herramientas específicas fuera del shell.ls
deben ser de GNU o BSD (corríjalos si estoy equivocado). Entonces, creo que esto significa que necesito elegir una cadena de herramientas (o entorno) y comenzar a aprender la línea de comandos allí. ¿Está bien?Algunas buenas respuestas hasta ahora, pero una razón más para mantenerse alejado de las herramientas predeterminadas de la línea de comandos de OS X es que son versiones muy antiguas. Por ejemplo, OS X
grep
es de 2004, ¡ybash
es de 2007! La razón es que Apple se niega a enviar herramientas con licencia bajo la GPL3.Si no desea instalar Linux correctamente, puede instalar manualmente las últimas versiones (tal vez a través de algún sistema de puertos como MacPorts, Fink o Homebrew).
fuente
Primera diferencia
Funciona en Linux, falla en Mac (los parámetros deben ser lo primero). Use una máquina virtual u obtenga un libro para mac os. Deberías aprender el que usarás más tarde y luego las diferencias.
fuente
ls * -lah
funciona en Linux de la forma en que funciona en Linux, y funciona en OS X de la manera en que funciona en OS X. La forma en que funciona en OS X es correcta de acuerdo con POSIX (12. Convenciones de utilidad / 12.2 Directrices de sintaxis de utilidad / Pauta 9) : "Todas las opciones deben preceder a los operandos en la línea de comando". Como se describe en getopt (3) : "Si ... se establece la variable de entorno POSIXLY_CORRECT , el procesamiento de opciones se detiene tan pronto como se encuentre un argumento de no opción".La mejor manera de aprender Unix es tener un trabajo real que ver con eso. Diría que vale la pena encontrar las diferencias entre los ejemplos específicos de Linux en su libro y las versiones para Mac de las herramientas estándar, solo para poder trabajar con sus propios archivos y datos en su entorno de trabajo normal (OS X).
Encontrar las diferencias también será una experiencia de aprendizaje valiosa, aunque a veces sea frustrante.
Tener una VM Linux también para practicar (especialmente para comandos potencialmente peligrosos) también es útil, pero nada supera el uso del mundo real para el aprendizaje.
fuente