Terminal
La Terminal o Consola de línea de comandos es un método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple u orden. Lo opuesto sería la interfaz gráfica o Entorno de escritorio, que es lo que mayoría de usuarios ya conocen: un conjunto de menúes y ventanas que se utiliza desde el mouse. GNU/Linux además de tener múltiples entornos de escritorios para que el usuario elija, mantuvo en un lugar la Terminal.
Conocer cómo usar la terminal puede ayudarte a hacer algunas tareas de un modo mucho más rápido y fácil, por más que al principio te parezca algo muy técnico. Además muchas veces las instrucciones que puedas ver en foros en Internet sobre GNU/Linux van a incluir hacer tareas en consola o Terminal.
Sumario
AGREGAR USUARIOS SUDO SU ETC ROOT y LO DE PERMISOS
Primeros pasos
Para acceder a la Terminal hay que ir a Menú Huayra/Accesorios y hacer clic en Terminal. También puede accederse con Ctrl+Alt+T.
Lo primero que vas a ver al abrir la Terminal es un indicador de línea de órdenes (en inglés se utiliza la palabra prompt o "prontuario" que se puede definir como ayuda visual o palabra que ayuda) esperando que el usuario introduzca una orden.
Así es como aparece en general una vista de la terminal
usuario@equipo:directorio actual$
En el caso de una computadora de Huayra con las configuraciones por defecto sería así
alumno@huayra:~$
- alumno
- Alumno es el usuario que viene configurado por defecto en Huayra. Create tu propio usuario.
- huayra
- Es el nombre de la netbook que por defecto viene configurado. Cambia el nombre de tu netbook.
- ~
- El carácter ~ que ves en lugar "directorio actual" indica que estás en el directorio /home/alumno. Es una especie de abreviatura.
- $
- Este signo indica que el usuario que ejecuta el comando tiene permisos de un usuario normal. Cuando en su lugar ves un # es porque ese usuario tiene permisos de root, que en ingles significa raíz y es el usuario con todos los permisos. Para ver más sobre permisos de los usuarios y el nombre del equipo andá a Usuarios y sesiones.
- Te crees tu propio usuario, con su propia contraseña
- Cambies la contraseña de root.
- Cambies el nombre de tu netbook
Otra forma de acceder a la terminal es salirse del Entorno de escritorio y acceder a un entorno completamente en modo texto. Para esto último debemos teclear Control+Alt+F1. Los sistemas GNU/Linux proporcionan por defecto seis terminales de este tipo, de Control+Alt+F1 a Control+Alt+F6. Si queremos volver al modo gráfico lo hacemos con Alt+F8. Este es el modo texto puro, tal cual eran los sistemas operativos antes de utilizar interfaces gráficas. Por lo tanto, en realidad cuando abrís la terminal desde el entorno de escritorio en realidad estas usando una aplicación de MATE que es un emulador de la terminal dentro de una interfaz visual.
Estructura de los Comandos
Dijimos que la Terminal te permite darle órdenes al sistema pero no a través de los menúes gráficos, sino usando ordenes o comandos. Sin embargo éstos no pueden escribirse en un orden caprichoso, sino que tienen que seguir reglas, una estructura, o sea una sintaxis. Igual que cualquier otro idioma tiene sus reglas. Si en castellano desordenás las palabras sin respetar el órden de la sintaxis que tanto se estudia en la escuela, no vas a entender nada. La perro del Juan traé cadena" es una orden que difícilmente pueda cumplir Juan, a quién le piden que traiga la cadena del perro. Del mismo modo, si ingresás en la terminal computadora apagate no va a pasar nada.
Por eso existe una sintaxis o estructura de los comandos que el sistema operativo puede comprender. Más adelante enumeramos el listado de comandos que más vas a usar, así como también tareas que son recomendables realizar a través de la consola y no del entorno gráfico.
En una orden simple, la primera palabra indica la orden a ser ejecutada y las palabras restantes se pasan como opciones' o parámetros y argumentos de la orden:
$ orden [ opciones ] [ argumentos ]
Las opciones son diferentes posibilidades de usar el comando. Se ingresan usando -- antes de la opción, o un solo - antes de la abreviatura de la opción, que puede ser la primer letra o las primeras dos.
Veamos, por ejemplo, las opciones del comando ls que se usa para ver una lista archivos y directorios de la posición que actualmente se encuentra el usuario.
$ ls Me lista los archivos $ ls --size Me lista los archivos ordenados por tamaño $ ls -s Me lista los archivos ordenados por tamaño
Flecha Arriba Usando la flecha hacia arriba la Terminal vuelve a mostrarte el último de los comandos ejecutados. Esto es muy útil para cuando cometiste un error de tipeo, en lugar de volver a escribir todo, apretá la flecha hacia arriba y corregí el error moviéndote con las flechas izquierda y derecha.
Tecla Tab Con Tab podés autocompletar algunos comandos o nombres de archivos que resulten largo cuando el reemplazo sea obvio y no haya dos alternativas. Cuando Tab no resuelve porque puede haber más de una alternativa, apretarla dos veces te va a mostrar una lista de posibilidades debajo.
Los argumentos son los archivos o directorios sobre los cuales se aplica el comando. Por ejemplo podés verlo en el comando mkdir que significa Make Directory y sirve para crear directorios. El mismo necesita un argumento que es el nombre del directorio que se va a crear:
$ mkdir directorio Me crea un directorio que se llama "directorio"
En este caso directorio es un argumento no una opción. Podés verlo más claro con la siguiente situación.
$ mkdir directorio 2
Esta orden con el comando tal cual figura arriba no crea un directorio que se llame directorio 2, por el uso de espacios en los comandos. Si le agregás al comando y su argumento la opción --verbose entonces vas a ver que en realidad se crean dos directorios llamados directorio y 2 por el mensaje que arroja. La opción --verbose ejecuta ese comando mostrando un mensaje luego de cada operación.
$ mkdir -v directorio 2
Muestra en la terminal:
mkdir: se ha creado el directorio «directorio» mkdir: se ha creado el directorio «2»
También acordate de que tanto para archivos, ficheros, órdenes y opciones de órdenes, las mayúsculas son determinantes, no es lo mismo poner Directorio que directorio.
El uso de espacios en los comandos
Al escribir $ mkdir directorio 2 no se crea un directorio de nombre directorio 2 sino dos directorios directorio y 2. Esto pasa porque en la sintaxis de los comandos, el espacio es lo que separa comandos de opciones y de argumentos. Por eso para crear un directorio que se llame directorio 2 hay que ingresar el comando usando comillas dobles del siguiente modo:
$ mkdir "directorio 2"
O en todo caso, reemplazar el espacio por los guiones - o _ del siguiente modo:
$ mkdir "directorio_2"
Si se trata de directorios o archivos que se van a utilizar frecuentemente desde Terminal conviene que no tengan espacios por el manejo que hace aquella de los mismos.
Manuales y ayuda para cada comando
¿Pero cómo hacés para acordarte de todos estos comandos con sus opciones, parámetros y la sintaxis correcta?
No desesperes. La mayoría de las órdenes disponen de una ayuda en forma de manual donde muestra la sintaxis para usar el comando, con sus opciones explicadas brevemente. Para acceder a este tipo de ayuda basta con introducir en la terminal:
$ man orden
Por ejemplo:
$ man ls
Devuelve el manual de ayuda para el comando ls que lista los directorios y archivos de la ubicación actual. Para salir de los manuales de ayuda hay que presionar la tecla Q
Otra opción es introducir el comando y la opción --help que todo comando debe tener
$ orden --help
Por ejemplo:
$ ls --help
Devuelve el manual abreviado de ayuda para el comando ls.
En general; si no se ha trabajado mucho con una orden, es muy conveniente leer la página del manual antes de ejecutarla.
Así se ve un manual de ayuda del comando ls al correrlo con la opción --help
Modo de empleo: ls [OPCIÓN]... [FICHERO]... Muestra la sintaxis del comando, que en general sigue la sintaxis general $ orden [ opciones ] [ parámetros ] Muestra información acerca de los FICHEROs (del directorio actual por defecto). Explica el funcionamiento del comando Ordena las entradas alfabéticamente si no se especifica ninguna de las opciones -cftuvSUX ni --sort. Los argumentos obligatorios para las opciones largas son también obligatorios Este es el listado de opciones del comando para las opciones cortas. -a, --all no oculta las entradas que comienzan con . Muestra la opción breve con -, la opción compelta con -- y la descripción -A, --almost-all no muestra las entradas . y .. implícitas --author con -l, imprime el autor de cada fichero -b, --escape imprime escapes en estilo C para los caracteres no gráficos
Tareas simplificadas por usar la Terminal
Actualizar
Actualizar Huayra es uno de los ejemplos más claros de una tarea que si la hacés por Terminal te va a resultar mucho más fácil y rápido.
- Buscá las actualizaciones disponibles en los repositorios, tipeando:
$ sudo apt-get update
- Aplicá las actualizaciones, tipeando:
$ sudo apt-get upgrade
- Sólo queda confirmar las actualizaciones con presionando S.
sudo
significa Super User DO, es decir que la instrucción que siga la va a realizar con permisos de SuperUsuario
Instalar
$ sudo apt-get install [ comando del programa ]
Permisos
VER LO DE Permisos
"Matar" aplicaciones
xkill con synapse
por consola killall [ comando del programa ](el programa se cierre solo intentando guardar archivos ect) killall -KILL [comando del programa] (fuerza el cierre)
ps -e veo los procesos y sus id (PID)
kill -KILL PID
Listado de comandos más comunes
- Cambiar el directorio de trabajo (change directory):
$ cd <opciones> <ruta>
- Listar el contenido de directorios (list):
$ ls <opciones> <ficheros>
- Crear un directorio (make directory):
$ mkdir <opciones> <nombre del directorio>
- Borrar un directorio (remove directory):
$ rmdir <opciones> <nombre del directorio>
- Copiar un archivo o directorio en el directorio especificado (copy):
$ cp <opciones> <archivo> <ruta>
- Mover un archivo o directorio a un archivo o directorio. Se utiliza también para renombrar; el origen y destino es un archivo (move):
$ mv <opciones> <archivo> <ruta>
- Borrar archivos o directorios (remove):
$ rm <opciones> <archivo>
- Si un directorio no está vacío no es posible borrarlo con la orden rmdir. La orden rm nos lo permite con la opción –R borrando el contenido del directorio especificado y todos sus subdirectorios de forma
recursiva (ver su página del manual).
Hay que tener mucho cuidado con la orden:
$ rm -R <directorio>
Ya que borra todos los archivos y directorios dentro del directorio a borrar.
- Mostrar por pantalla el contenido de los archivos por la salida estándar. Si no se especifica ningún archivo, la orden repite todo lo que se ha escrito por la entrada estándar. Para indicar que se ha acabado de escribir hay que pulsar CTRL+D.
$ cat <opciones> <archivos>
- Buscar archivos recorriendo árboles de directorios especificados por las rutas, evaluando de izquierda a derecha las condiciones de búsqueda. Además se pueden especificar acciones sobre los resultados obtenidos:
$ find <ruta(s)> <condición(es) de búsqueda> <acciones>
- Mostrar el nombre del directorio en el que uno se encuentra situado (print working directory). Se dice que ese directorio es el directorio de trabajo:
$ pwd <opciones>
Copiar y pegar en una terminal
Mientras que en cualquier lugar Ctrl + C es copiar y Ctrl + V es pegar, en la Terminal hay que agregarle la tecla Shift. Ctrl+C termina el proceso que actualmente está corriendo la terminal, por eso se buscó una alternativa.
Ctrl + Shift + C es copiar Ctrl + Shift + V es pegar
trucos
cowsay
flecha arriba
ctrl c para terminar un proceso