Terminal 101

¡Hola! Acabo de terminar el curso de la linea de comandos (command line) de Codecademy, el cual es gratuito y corto por lo que es muy recomendado que lo hagas! Te dejo el enlace por aquí.

Entonces, de la que estaba haciendo el curso tomé apunte de todos los comandos que se usan en el curso y me pareció apropiado dejarlos colgados aquí para una revisión posterior. ¡Algunos comandos pueden llegar a resultar extremadamente útiles! Si tienes alguna duda con alguno, antes de preguntarme, te recomiendo que te hagas el curso de Codecademy. Seguramente te lo terminas antes de que puedas ver una película entera del Señor de los Anillos de todas maneras D:

NAVEGACIÓN

  • ls “lists” => lista de archivos en el directorio donde estás
  • pwd => “print working directory” – pone el nombre del directorio en el que te encuentras (se llama directorio activo, working directory).
  • cd => “change directory” – te cambia al directorio

cd 2015 => “2015” es un argumento
cd – => vuelve al anterior
cd .. => vuelve al directorio padre
cd ../../action/ => moverse 2 directorios hacia atrás, y entonces entrar en action/

  • mkdir => “make directory” – crear una nueva carpeta
  • touch keyboard.txt => crea un archivo llamado keyboard.txt en el directorio activo

MANIPULACIÓN

  • Listar – ls

-a => muestra todo el contenido, incluyendo archivos ocultos y directorios
-l => muestra todo el contenido del directorio en un formato largo
-t => ordena los archivos y los directorios según su última modificación.

Cuando hacemos ls -l aparece algo como esto:

drwxr-xr-x 5 cc eng 4096
Jun 24 16:51 action

  • drwxr-xr-x -> derechos de acceso
  • 5 -> número de vínculos físicos (el número de directorios hijos y archivos, incluyéndose a si mismo.)
  • cc -> el propietario del archivo
  • eng -> el grupo al que le pertenece el archivo.
  • 4096 -> el tamaño del archivo en bytes.
  • Jun 24 16:51 -> fecha y hora de su última modificación
  • action -> nombre del archivo/directorio
  • ¡las puedes mezclar! => ls -alt, ls -al, ls -lt, etc

 

  • Copiar – cp

1) coge un archivo lleno + uno vacío => copia los contenidos de uno en otro
2) coge un archivo + un directorio => copia el archivo al directorio
3) coge un conjunto de archivos + un directorio => copia todos al directorio

aparte de usar argumentos, podemos usar caracteres como * para seleccionar grupos de archivos. Estos se llaman comodines. por ejemplo:

cp * satire/ => copia todos los archivos en el directorio activo a satire/

cp m*.txt scifi/ => copia todos los archivos que empiezen por m y terminen en .txt y los copia en scifi/

  • Mover – mv

mv superman.txt superhero/ => “move” – mueve un archivo/ un conjunto de archivos a un directorio o renombrar un archivo a otro.

  • Remover – rm

rm waterboy.txt => “remove” – eleminar un archivo de un directorio.

argumentos de remove:

-r => recursivo: elimina un directorio y lo que tenga dentro.

REDIRECCIÓN

  • echo “Hello” => acepta hello como entrada y devuelve hello como salida
  • Standard input -> “stdin” es la información recibida por el teclado o dispositivo de entrada
  • Standard Output -> “stdout” es la información que exporta después de que se ejecuta un programa
  • Standard Error -> “stderr” es un mensaje de error cuando falla un proceso.

La redirección redirige stdin, stdout o stderr desde o hacia una localización diferente.

echo “Hello” > hello.txt => ejecuta el programa y pon su output en un archivo llamado hello.txt

  • cat hello.txt => abre un archivo y leelo en la consola
  • > => redirige stdout a un archivo
    cat redirige el archivo al terminal

> => puedes usarlo para poner los contenidos de un archivo A en uno B, y sobreescribe.

  • >> => añade los contenidos de un archivo a otro.
  • <  => coge el stdin del archivo de la derecha y lo pone en la izquierda.
  • |  => es una tubería: coge el stdout del comando de la derecha y lo conduce como stdin en el comando de la izquierda, siendo una “Rediección comando a comando”. Pueden ser encadenar varios a la vez.
  • sort => coge el stdin y lo ordena alfabéticamente para el stdout.
  • uniq => elimina columnas duplicadas, pero sólo en las lineas adyacientes, por lo que vale la pena hacer un sort primero y después un uniq para eliminar todos los duplicados.
  • grep => “global regular expression point” – busca por lineas que concuerdan a un patrón y devuelve los resultados.
    por ejemplo, en grep Mount busca “Mount”.

-i hace que no separe entre mayúsculas y minúsculas.

también sirve para buscar dentro de un directorio.

-R => recursive
-l => files with matches

grep -r  > Artic => busca en todos los archivos en un directorio y busca dentro de estos archivos la linea introducida.
grep -Rl Artic => enseña solo los archivos en los que se ha encontrado la palabra.

  • sed => “stream editor” acepta stdin y lo modifica basándose en una expresión antes de hacer stdout.
    Es similar a busca y replaza.

sed ‘s/snow/rain’ hi.txt
s -> sustitucion (para usar sed para sustituir)
snow -> el texto a buscar
rain -> el texto de replazo

ENTORNO

nano hello.txt => editor de texto en el terminal

  • clear => limpiar lo que hay en pantalla

el cono pa’rriba es el CTRL

CTRL+O – guarda un archivo “output”
CTRL+X – sale “exit”
CTRL-G – ayuda

Bash (bourse again shell) – programa informático cuya función consiste en interpretar órdenes.

  • ~/.bash_profile -> archivo usado para guardar ajustes de entorno.

~ -> directorio home
. -> archivo oculto

  • source ~/.bash_profile => hace que los cambios a bash_profile se activen inmediatamente.
  • alias pd=”pwd” => te deja crear atajos de teclado para comandos comunes.

Variables de entorno 

  • history => historial de tus acciones en la linea de comandos
  • export USER=”Jane Doe” => USER se convierte en una variable de entorno, y si se le invoca con $USER sale el valor asignado.
  • PS1 => la variable que define el estilo de la consola de comandos.
  • HOME = donde se encuentra home
  • PATH = es una lista cuyos directorios contienen scipts

tal que pwd es realmente /bin/pwd y ls => /bin/ls

  • env => environment – devuelve una lista de variables de entorno al usuario, como PATH, PWD, PS1 y HOME.

PD: el | se buggea en la consola de comandos de Codecademy, si tienes que escribirlo usa Alt+124

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s