consola linux para principiantes


Hola, este es mi primer post, he notado que los manuales que se encuentran en internet acerca de como usar la consola son muy difíciles de entender, así que se me ocurrió escribir una guía mas simple y fácil para los principiantes, aunque también puede servir de repaso para los que ya saben saben algo.

_________________________________

Introducción

Una consola es un programa que traduce instrucciones dadas por el usuario y luego ejecuta el programa correspondiente. Si bien generalmente se usa para correr programas sin interfaz gráfica pondré como ejemplo un programa con interfaz gráfica, el navegador web firefox, para lanzarlo simplemente hay que escribir en una terminal:

firefox

Hay funciones extras que se pueden acceder mediante parámetros, los parámetros son información adicional que usa el programa para acceder a esas funciones extra, por ejemplo, para abrir firefox en modo incógnito hay que colocar junto al nombre del programa el parámetro -private, quedando así:

firefox -private

también se pueden añadir datos a procesar junto con el programa, por ejemplo, si tecleas:

firefox www.taringa.net

Se abrirá taringa. Esos datos a procesar se llaman argumentos. Generalmente se pueden poner muchos argumentos a la vez, por ejemplo, se podría colocar:

firefox www.taringa.net www.google.com.ar www.youtube.com

Al teclear ese comando se abrirían esas 3 páginas.

Se pueden combinar los parámetros y los argumentos, pero primero tienes que colocar los parámetros y luego los argumentos, tienen que quedar en este orden:

Nombre_del_programa Parámetros argumentos

Si se fijan el nombre del programa está en verde, los parámetros en color violeta y los argumentos color azul oscuro, colocaré esos colores en todo el post como guía.

Los programas que generalmente corren en una consola no tienen interfaz gráfica, solo muestran texto, por ejemplo el programa ls, ls (de list, listar en inglés) muestra una lista con los nombres de todas las carpetas y archivos de la carpeta a la que se está accediendo (que por defecto es la carpeta /home/usuario/) esa carpeta a la cual se está accediendo se llama directorio de trabajo.

El directorio de trabajo se puede cambiar con el comando cd, la sintaxis es:

cd dirección_de_la carpeta

La dirección de una carpeta o un archivo puede ser absoluta o relativa, si es absoluta empieza con una diagonal (/), si es relativa no. Cuando una dirección es absoluta significa que la dirección es la dirección completa de la carpeta, si es relativa busca esa carpeta el directorio de trabajo, por ejemplo, si quieres ir a la carpeta /home/usuario/Documentos/manualespdf y el directorio de trabajo es el directorio de trabajo por defecto (/home/usuario/) entonces puedes poner:

cd /home/usuario/Documentos/manualespdf/

o sino:

cd Documentos/manualespdf/

Si el nombre de una carpeta tiene diagonales la consola confundiría la dirección con 2 carpetas distintas, por ejemplo si quisieras usar el programa cd para acceder a una carpeta llamada ac/dc quedaría cd /home/usuario/ac/dc , la consola creería que tiene que ir a una carpeta llamada dc que está en una carpeta llamada ac. Para evitar ese problema hay que colocar el nombre de la carpeta entre comillas, por ejemplo:

cd /home/usuario/"ac/dc"/

Las comillas pueden ser simples ( ' ' ) o dobles ( " " ).

También se tiene que colocar entre comillas si la dirección tiene espacios, asteriscos(*), signo de cerrar pregunta (?), punto y coma ( ; ), la tilde de la ñ ( ~ ) diagonales invertidas ( ), corchetes( [ ] ) y llaves ( { } ), eso es porque esos caracteres forman parte de la sintaxis de la consola.

Otra opción es usar una diagonal invertida antes de cada caracter que forme parte de la sintaxis de la consola para que los tome, la diagonal invertida hace que el caracter que le sigue sea tomado como parte del nombre del archivo si el caracter es parte de la sintaxis de la consola, incluyendo otra diagonal invertida.

La consola es sensible a las mayúsculas y las minúsculas, no es lo mismo un comando en mayúscula que uno en minúscula, hay que tener cuidado con eso.

________________________________

ver los archivos de una carpeta

Para ver una lista de todos los nombres de los archivos y carpetas de una carpeta se usa el programa ls (abreviatura de list, listar en inglés). Al teclear ls muestra los archivos de tu directorio de trabajo. Para cambiar el directorio de trabajo se usa el programa cd, la sintaxis es:

cd nombre_de_la_carpeta

Si colocas cd .. va un nivel atrás, por ejemplo si estás en la carpeta /home/usuario/ al poner cd .. iría a la carpeta /home/

Si colocas cd . actualiza la carpeta.

Si solo colocas cd el directorio de trabajo cambia a tu carpeta personal (/home/usuario/)

si colocas cd -- va al directorio que estabas usando antes, es útil para alternar entre 2 directorios de trabajo.

Para saber el directorio de trabajo actual hay que usar el comando pwd, singnifica print work directory (imprimir directorio de trabajo).

El comando ls permite colocar la dirección de una carpeta para listarla, puede ser una dirección relativa o absoluta, por ejemplo:

ls /home/usuario/Documentos/

Se pueden ver los archivos de mas de una carpeta a la vez si en lugar de colocar el nombre de una carpeta se coloca el nombre de varias carpetas separados por espacios, por ejemplo si tecleas:

ls Documentos Descargas

Mostraría los archivos de las carpetas Documentos y Descargas(por eso la dirección debe ir entre comillas si tiene espacios).

Parámetros de ls:

-l: la l es de long (largo en inglés), muestra los atributos de los archivos.
-h: Hace que la opción -l en lugar de mostrar el tamaño de los archivos en bytes los muestre en kb, mb, gb, etc, según sea conveniente, la h es de human (humano), porque es mas fácil leer el tamaño de los archivos así. Al usar el parámetro -h se debe usar también el parámetro -l, si no es igual que no lo pusieras.
-1: Muestra la lista en una sola columna.
-t:muestra los archivos ordenados por última fecha de modificación.
-R: Lista recursivamente los directorios, o sea, una vez que termina de listar el directorio lista los directorios del directorio y así sucesivamente.
-r: Lista los directorios en un orden inverso.
_________________________________

Crear carpeta

Para crear una carpeta se usa el comando mkdir (abreviatura de make directory, que significa crear directorio), la sintaxis es:

mkdir dirección_de_la_carpeta_a_crear

Por ejemplo si quieres crear una carpeta llamada rock en la carpeta home/tu_usuario/música hay que escribir:

mkdir /home/tu_usuario/música/rock

Los directorios padres, o sea, los directorios que contienen a la carpeta rock tienen que estar creados, o sino tira error.

parámetros de mkdir:

-p: Si la dirección de la carpeta es inválida en lugar de tirar un error crea los directorios padres necesarios para que funcione, por ejemplo si quisieras crear una carpeta llamada acdc y colocaras como dirección /home/tu_usuario/música/rock/acdc y no existiera la carpeta /home/tu_usuario/música/rock la crearía para que se pueda crear la carpeta acdc, sirve para crear varias carpetas, una dentro de otra.
-v: Muestra un mensaje que confirma la creación de la carpeta. Es útil si usas la opción -p para crear muchas carpetas a la vez con un solo comando.
-m: sirve para establecer los permisos de lectura, escritura y ejecución de la carpeta a crear. Se debe colocar el permiso que se quiera poner después de colocar el parámetro, por ejemplo: mkdir -m 777 carpeta_a_crear (después se explicará que significan los números esos).


_________________________________

borrar archivos

Para borrar archivos se usa el programa rm (abreviatura de remove, borrar en inglés), la sintaxis es:

rm dirección_del_archivo_a_borrar

Hay que tener cuidado porque no envía los archivos a la papelera, los borra directamente. El comando no borra carpetas que tengan algo adentro a menos que se use el parámetro -r.

Parámetros:

-r: rm solo borra archivos y carpetas que estén vacías, pero con ese parámetro se puede borrar una carpeta que tenga archivos adentro.
-v: Muestra un mensaje confirmando la eliminación de cada archivo borrado.
-i: Hace que te pregunte si quieres borrar el archivo por cada archivo borrado.
-f: Hace que el comando omita mostrar cualquier mensaje, por ejemplo el mensaje que pregunta si quieres borrar un archivo o el mensaje de error que dice que el archivo no existe si colocas mal la dirección. Ese parámetro se contradice al parámetro -i, si se colocan ambos ejecutará el último que se ponga. Si se va a usar el parámetro -r se debe colocar este parámetro también porque o sino te preguntaría por cada archivo que trates de borrar.

_________________________________

copiar archivos

Para copiar archivos se usa el programa cp (abreviatura de copy, copiar en inglés). La sintaxis es:

cp dirección_del_archivo dirección_a_donde_copiar

_________________________________

Cambiarle la dirección a un archivo

Para cambiarle la dirección a un archivo se usa el programa mv, la sintaxis del comando es:

mv dirección_del_archivo nueva_dirección

Como la dirección de un archivo incluye su nombre y su ubicación se puede el programa mv para cambiarle el nombre a un archivo, para moverlo o las 2 cosas.

_________________________________

Crear un enlace

Para crear un enlace se usa el programa ln. En linux existen 2 tipos de enlaces, los enlaces simbólicos y los enlaces duros. Un enlace simbólico funciona igual que los accesos directos de Windows, como ya saben si borran el archivo original o lo mueven el link ya no sirve porque el enlace simbólico usa la dirección del archivo (por ejemplo /home/usuario/Documentos/archivo.txt) y si no hay nada en esa dirección porque el archivo fue borrado o movido no anda el link.

Un enlace duro es lo que une la dirección de un archivo con su lugar en el disco(o mas precisamente al número de inodo, o sea, el numero que identifica a cada archivo). Linux deja que mas de un enlace duro apunte al mismo lugar del disco pero tengan direcciones distintas, o sea, linux deja que un archivo tenga mas de una dirección, eso permite crear un enlace que no depende de la dirección de un archivo. Cuando intentas borrar un archivo solo borras su enlace duro a menos que borres todos los enlaces duros (si borras todos los enlaces duros el archivo se borra), eso evita que elimines un archivo que tenga mas de una dirección al intentar borrar solo una.
Los enlaces duros solo funcionan en el mismo sistema de archivos, así que no puedes hacer un enlace duro un archivo que esté en un disco externo o un pendrive o en la partición donde está instalado windows (si lo tuvieras instalado).

Para crear un enlace duro la sintaxis es:

ln dirección_del_archivo dirección_del_nuevo_enlace

Para crear un enlace simbólico hay que usar el parámetro -s, la s es de symbolic link (enlace simbólico en inglés), la sintaxis sería:

ln -s dirección_del_archivo dirección_del_enlace_simbólico

_________________________________

Cambiar permisos de acceso a un archivo o carpeta

Para cambiar los permisos de acceso de un archivo se usa el programa chmod (change mode, o sea cambiar modo). Los permisos de acceso son los que dictan que usuarios pueden leer, modificar o ejecutar como un programa un determinado archivo.

La sintaxis sería:

chmod permiso dirección_del_archivo_o_carpeta

Por ejemplo:

chmod 755 /home/usuario/

Donde dice 755 es el permiso, cada número (7, 5 y 5) son los permisos respectivamente para el dueño del archivo, el grupo en el que estás y los demás usuarios. Para entender que significa cada número hay que tomar en cuenta lo siguiente:

Lectura: 4.
Escritura: 2.
Ejecución: 1.

Para dar un permiso hay que sumar los números según corresponda, por ejemplo, si uno quiere otorgar un permiso de escritura y ejecución hay que sumar, según la tabla, 4 y 1, dando 5.

Otra forma de dar permisos es representarlos con letras en vez de números:

lectura:r (de read, leer en inglés).
escritura:w (de write, escribir en inglés).
ejecución:x (de execute, ejecutar en inglés).

dueño:u (de user, usuario en inglés).
grupo:g (de group, grupo en inglés).
otros:o (de others, otros en inglé
todos:a (de all, todos en inglés).

+ :añadir permiso
- : quitar permiso
=:cambiar permiso

por ejemplo, si se le quiere añadir el permiso de ejecución a un archivo al dueño de un archivo se tiene que
colocar una u (para especificar que el permiso de le da al dueño), un signo mas ( + ) y una x (para especificar que se va a dar el permiso de ejecución), quedaría así:

chmod u+x archivo

Eso le añadiría el permiso de ejecución a un archivo al dueño, o sea, si ya tenía permiso de lectura y escritura a eso se le añade también el permiso de ejecución.

Si no se especifica al tipo de usuario le da el mismo permiso a todos los usuarios, por ejemplo, si colocaras como permiso +x en vez de u+x le añadiría el permiso de ejecución a todos los usuarios.

si se le quiere quitar el permiso en lugar de un signo mas hay que colocar un signo menos:

chmod u-x archivo

si se le quiere dar permiso de lectura y escritura a un archivo para el dueño quedaría así:

chmod u+rw archivo

si se le quiere dar al permiso de lectura y escritura al dueño y al grupo sería así:

chmod ug+wx archivo

Si se quieren dar distintos permisos para distintas clases de usuarios, por ejemplo, añadirle al dueño permiso de lectura, escritura y ejecución a un archivo y al grupo solo permiso de lectura, se tienen que poner los 2 permisos juntos separados por comas:

chmod u+rwx,g+r archivo.txt

Se pueden sobrescribir los permisos usando un signo igual ( = ), por ejemplo:

chmod u=x archivo.txt

Eso sobrescribe los permisos, por ejemplo, tomando en cuenta el ejemplo anterior, si le asignaste permiso de ejecución, si antes tenías permiso de lectura y escritura los borra y deja solo el de ejecución.

Parámetros de chmod:

-f: Omite mostrar el mensaje de error si lo hubiera.
-R: Aplicado a una carpeta le pone el mismo permiso a todos los archivos y carpetas dentro de la carpeta.
-v: Muestra un mensaje que confirma que se cambió el permiso correctamente.
-C: Es como -v pero solo muestra el mensaje de confirmación si el permiso del archivo fue modificado.

________________________________

Usar la consola con los privilegios de otro usuario

Para usar la consola con los privilegios de otro usuario (por ejemplo root, que es el usuario administrador) se usa el programa su (su es de substitute user, o sea usuario sustituto) si se quiere usar la consola con los privilegios de root se pone:

su

Luego te pide la contraseña de root.

si se quiere usar la consola con los privilegios de otro usuario se pone:

su el_otro_usuario

Después de teclear eso te pide la contraseña de ese usuario. Para volver a tener los privilegios de tu usuario hay que poner:

exit
_________________________________

Ejecutar un comando con los privilegios de root (administrador)

Para hacer esto se usa el programa sudo.

sudo se coloca antes de un programa para que ese programa se ejecute como root, por ejemplo:

sudo ls

Eso ejecutaría el programa ls con permisos de root.

Después te pide la contraseña, no la contraseña de root, sino tu contraseña. Se diferencia del programa su en que solo el comando que ejecutas se ejecuta como root.

Para poder usar sudo sin tener que poner la contraseña cada vez se tiene que poner:

sudo su

después al usar sudo ya no pide la contraseña hasta que cierres sesión colocando exit.

_________________________________

reiniciar la consola

Para reiniciar la consola hay que poner en la consola:

reset

Eso borra todo en la pantalla.

_________________________________


Instalar y desinstalar programas (en ubuntu, debian, linux mint y derivados


Para instalar el programa se usa apt, apt significa Advanced Packaging Tool (Herramienta Avanzada de Empaquetado), es un conjunto de herramientas que sirven para el manejo de paquetes. para usarlo hay que usar el comando sudo o entrar como root porque para instalar programas se requieren privilegios administrativos.
Los programas en linux se organizan en paquetes, los cuales pueden contener uno o mas programas, aunque no solo programas, sino cualquier cosa que puede instalarse en el sistema, pueden ser fuentes, iconos, temas, drivers, codecs, etc. En este caso los paquetes son archivos con extensión *.deb.

Los sistemas linux en general tienen un gestor de paquetes, un gestor de paquetes es un programa que descarga, instala y resuelve automáticamente las dependencias de los paquetes que se bajan de un repositorio, un repositorio es un sitio de internet de donde se bajan los paquetes, cada distro tiene sus repositorios oficiales pero se pueden añadir otros. Un repositorio también puede ser un cd, pendrive u otro medio de almacenamiento configurado para ser un repositorio, por ejemplo, un disco de instalación de ubuntu está configurado como un repositorio. Para instalar un paquete la sintaxis es:

sudo apt-get install nombre_del_paquete

Se pueden instalar varios paquetes de una sola vez colocando el nombre de todos separados por espacios, por ejemplo:

sudo apt-get install paquete1 paquete2 paquete3

Para actualizar la lista de paquetes se debe teclear:

sudo apt-get update

Se debe actualizar la lista de paquetes antes de instalar un programa para asegurarse de tener la última versión.

para desinstalar un programa la sintaxis es:

sudo apt-get remove nombre_del_paquete

cuando se usa apt-get remove no borra los archivos de configuración del programa, eso permite que si se vuelve a instalar el programa se tenga la configuración que tenía antes de desinstalarlo, si quieres eliminar los archivos de configuración el comando es:

sudo apt-get purge nombre_del_paquete

Cuando se baja un paquete con un gestor de paquetes el paquete queda guardado, todos los paquetes guardados forman un repositorio local, si reinstalas un programa lo busca en el repositorio local en lugar de bajarlo de internet, haciendo que sea mas rápido. Si quieres eliminar un paquete del repositorio local el comando es:

sudo apt-get clean nombre_del paquete

Si quieres borrar todos los paquetes del repositorio local el comando es:

sudo apt-get clean

Parámetros:

--purge: Sirve para eliminar los archivos de configuración del paquete de una vez, en vez de teclear:

sudo apt-get remove nombre_del_paquete
y
sudo apt-get purge nombre_del_paquete

se puede poner:
sudo apt-get --purge remove nombre_del_paquete

_________________________________

Lanzar programas con la consola

Para lanzar programas con la consola solo hay que escribir su nombre en la consola, por ejemplo, para lanzar firefox hay que poner:

firefox

El problema con esto es que no puedes usar la consola para otra cosa hasta que cierres el programa y si cierras la consola cierras el programa que lanzaste con ésta.

Para evitar que no se pueda usar la consola para otra cosa hasta que cierres el programa hay que colocar un signo & luego del nombre del programa, colocar un signo & luego de un comando hace que se se ejecute en segundo plano. Quedaría:

firefox &

Luego para que el prompt aparezca de nuevo hay que presionar enter en la consola.

Para evitar que al cerrar la consola se cierre el programa se debe colocar nohup delante del nombre del programa, nohup es abreviatura de no hang up, no colgar en inglés. Quedaría:

nohup firefox

se pueden combinar los 2:

nohup firefox &

Si quieres abrir un programa con privilegios de root no se puede usar sudo si vas a colocar nohup y &, así que en su lugar hay que poner gksu, supongamos que quisieramos abrir nautilus con permisos de root habría que poner:

nohup gksu nautilus &

_________________________________

Escribir muchos comandos en una sola línea

Para escribir muchos comandos en una sola línea hay que poner todos los comandos en la misma linea separados por punto y coma ( ; ), por ejemplo, supongamos que quisiéramos desinstalar firefox por alguna razón y luego eliminar el paquete deb que se usó para su instalación se puede poner:

sudo apt-get --purge remove firefox
y
sudo apt-get clean firefox


o sino se puede colocar los 2 en la misma linea separándolos por punto y coma:

sudo apt-get --purge remove firefox ; sudo apt-get clean firefox

Se puede unir programas con dos signos and ( && ) en lugar de punto y coma, la diferencia entre && y punto y coma es que si usas dos signos and para separar comandos y falla un comando, los siguientes no se ejecutan. Eso es útil si el funcionamiento de un comando depende de que el anterior haya funcionado.

_________________________________

Escribir el último comando escrito

Para escribir el último comando escrito se tiene que colocar 2 signos de exclamación ( !! ). Es útil si te olvidas colocar sudo delante de un comando, por ejemplo si colocara apt-get install chromium-browser daría error por haber olvidado colocar sudo antes, entonces en vez de colocar sudo apt-get install chromium-browser solo tendría que poner sudo !!.

_________________________________

autocompletado de direcciones

La consola tiene una función de autocompletado de direcciones de archivos y carpetas, si tecleas las primeras letras de un archivo y presionas la tecla tab se autocompletará el nombre si hay una sola coincidencia, por ejemplo, si hubiera una carpeta en la carpeta Documentos llamada manualespdf para escribir su dirección tendrías que colocar Do, luego presionar tab y se completará apareciendo Documentos/, luego sigues escribiendo en la misma línea las primeras letras de la otra carpeta, quedando cd Documentos/man, luego presionas tab y se autocompletará quedando cd Documentos/manualespdf/. Eso funciona solo si hay una sola coincidencia, si hay mas tienes que presionar tab otra vez y te mostraría una lista de coincidencias para guiarte (si las hubiera).
La función de autocompletado también funciona con nombres de programas, ya sea para programas de consola, programas con interfaz gráfica si usas la consola para lanzar aplicaciones o si usas la consola para instalar programas.

_________________________________

Comodines

Los comodines son caracteres especiales que se usan sustituir parte del nombre de un archivo o un grupo de archivos, eso sirve para hacer referencia a un grupo de archivos que tengan similitudes en el nombre, por ejemplo, si descargas un archivo por partes.

Un asterisco sustituye cualquier grupo de caracteres, por ejemplo:

rm -rf *.mp3

Eso borraría cualquier archivo que termine con .mp3

También puede funcionar al revés:

rm -rf a*

eso borraría cualquier archivo que empiece con la letra a.

o sino:

rm -rf *a*

eso borraría cualquier archivo que contenga la letra a.

Si colocas solo el asterisco representa a todos los archivos, por ejemplo si quisieras borrar todos los archivos del directorio de trabajo se tendría que colocar:

rm -rf *

Otros comodines son:

?: Funciona igual que el asterisco pero no puede sustituir a un grupo de caracteres, solo a uno.

[ ]: Funciona igual que el comodín ? pero en lugar de sustituir a cualquier carácter sustituye a unos caracteres en específico, por ejemplo, si colocas es igual que colocar el comodín ? pero solo sustituye a los caracteres a, b y c, también puede señalarse un conjunto colocando un guión entre los 2, por ejemplo, para sustituir a cualquier número se puede poner [0-9], para un conjunto de caracteres [a-z], o [A-Z].

{ }: Es igual al comodín [ ] pero en lugar de sustituir un carácter en específico sustituye un grupo de caracteres en específico, las cuales tienen que estar separadas por comas, por ejemplo, {abc,123,alfa beta gama,lo que sea}
, es útil si se quieren crear varias carpetas de una sola vez, por ejemplo:

mkdir -p carpeta/{carpetaA,carpetaB,carpetaC}

(en el ejemplo se tiene que usar el parámetro -p porque se colocan varias carpetas dentro de otra).
Eso crearía una carpeta llamada carpeta y dentro pondría las carpetas carpetaA, carpetaB y carpetaC.


Los comodines pueden combinarse en cualquier combinación en cualquier argumento de casi cualquier comando, solo hay que usar la imaginación y la cabeza.

_________________________________

Comprimir y descomprimir archivos

Para comprimir archivos hay muchos formatos, pero solo pondré instrucciones para los formatos .tar, gzip, bz2, zip, rar y 7z.
el formato tar sirve para archivar, o sea, combina muchos archivos y carpetas en un solo archivo, pero no comprime, por el contrario gzip y bz2 comprimen, pero no archivan. Se puede combinar tar con gzip o bz2 para archivar y comprimir a la vez. El formato 7z sirve para archivar y comprimir al mismo tiempo, es el mas potente a la hora de comprimir, mas que rar.

para comprimir un archivo en formato gzip el comando es:

gzip archivo

Hay que tomar en cuenta que el archivo original no se preserva.

para descomprimir un archivo hay 2 formas:

gzip -d archivo
gunzip archivo

El parámetro -d es de decompress, descomprimir en inglés.

para comprimir un archivo en formato bz2 el comando es:

bzip2 archivo

para descomprimir un archivo se puede hacer de 2 formas:

bzip2 -d archivo
bunzip2 archivo

bzip2 comprime mas que gzip pero tarda mas.

para crear un archivo tar la sintaxis es:

tar -cf archivo.tar carpeta

si se fijan hay 2 parámetros:
-c: indica que se usará el programa tar para archivar.
-f archivo.tar: -f significa file, (archivo en inglés), sirve para indicar el nombre del archivo tar que se quiera crear (en ese caso archivo.tar).

Pueden comprimirse muchas carpetas (o archivos) en un solo archivo tar:

tar -cf archivo.tar carpeta1 carpeta2 carpeta3

Para extraer lo que hay adentro del archivo tar se usa el parámetro -x, suponiendo que se quisiera extraer el contenido del archivo creado anteriormente (archivo.tar) sería:

tar -xf archivo.tar

-x es el parámetro para descomprimir los archivos (x es de extract, extraer en inglés, en inglés la letra x se pronunica ex), -f archivo.tar sirve para indicar el nombre del archivo a extraer (en ese caso archivo.tar).

El programa tar no comprime, solo archiva, pero hay parámetros que, si se tiene instalado los programas para comprimir y descomprimir en gzip y bz2, permite combinar tar con gzip o con bz2. Para combinar tar con gzip hay que usar el parámetro -z, para combinar tar con bz2 hay que usar el parámetro -j, por ejemplo:

comprimir en gzip:

tar -czf archivo.tar.gz carpeta

comprimir en bz2:

tar -cjf archivo.tar.bz2 carpeta

Si te fijas el procedimiento es igual para archivar con tar, solo que se le agrega otro parámetro. Si te fijas la extensión es .tar.gz si se combina tar con gzip, o .tar.bz2 si se combina tar con bz2.

Para ver los archivos que hay dentro de un archivo tar sin descomprimirlo se usa la opción -t, por ejemplo:

tar -tf archivo.tar.gz

para comprimir y descomprimir en zip se tienen que instalar los programas zip y unzip si no se los tiene instalados (sudo apt-get install zip unzip), para comprimir en zip el comando es

zip archivo.zip carpeta

se pueden comprimir muchas carpetas (o archivos) en el mismo archivo zip:

zip archivo.zip carpeta1 carpeta2 carpeta3

para descomprimir la sintaxis sería:

unzip archivo.zip

para ver los archivos dentro de un archivo zip sin descomprimirlo la sintaxis es:

unzip -v archivo.zip

Para comprimir en rar el comando es:

rar a archivo.rar carpeta

El parámetro a es de Add (añadir en inglés).

como en el resto se puede poner mas de una carpeta (o archivo):

rar a archivo.rar carpeta1 carpeta2 carpeta3

Para descomprimir el comando es:

rar x archivo.rar

(El parámetro x es de extract).

para ver el contenido del archivo se usa el parámetro v:

rar v archivo.tar

Para comprmir y descomprimir en 7z hay que instalar el paquete p7zip, está en los repositorios.

Para comprimir en 7z el comando es:

p7zip archivo.7z carpeta

Como en todos los demás se pueden poner muchas carpetas (o archivos) en el mismo archivo:

p7zip archivo.7z carpeta1 carpeta2 carpeta3

Para descomprimir en 7z el comando es:

p7zip -d archivo.7z

_________________________________

ver archivos de texto

Para un archivo de texto se usa el comando cat. La sintaxis es:

cat dirección_del_archivo

cat imprime todo el archivo en pantalla, por lo que si el archivo es muy grande tendrás que mover el scroll para arriba para ver el archivo desde el principio, para ver archivos grandes lo mejor es usar los programas more y less. more muestra las primeras lineas (todas las que caben en pantalla) y para ver las siguientes hay que presionar enter para avanzar una linea o espacio para avanzar una pantalla, se sale con q o llegando al final del archivo. Con more no se puede retroceder, para eso se usa el comando less. Con less se avanza como con more pero también se puede usar las flechas del teclado para moverse y se puede retroceder, además no se sale si llegas al final del documento.

_________________________________

Enviar la salida de un comando a un archivo de texto y viceversa


Se puede enviar la salida de un comando a un archivo colocando un signo de mayor a ( > ) , por ejemplo, si se quiere enviar la salida de una carpeta listada a un archivo sería:

ls > archivo.txt

si el archivo ya existe borra todo lo que hay dentro, si se quiere evitar eso hay que colocar 2 signos en vez de uno, así el resultado del comando iría al final del archivo:

ls >> archivo.txt

También puede ser al revés, usar el contenido de un archivo de texto como entrada a un programa, para eso se tiene que usar el signo <.

_________________________________

Enviar la salida de un comando a la entrada de otro

Un comando generalmente toma una entrada de texto y crea una salida de texto, se puede enviar la salida de un comando a la entrada de otro usando colocando una barra (|) entre los 2 comandos, por ejemplo, si usas el comando ls para mostrar el contenido de una carpeta y es muy largo se puede mandar la salida al comando less, queda así:

ls | less

se puede hacer cualquier combinación, volviendo a la terminal una herramienta muy poderosa.

_________________________________

editar texto

Para editar texto en la terminal hay muchos programas, el mas sencillo es nano, para editar un archivo la sintaxis es:

nano nombre_del_archivo

Si el archivo que pusiste no existe lo crea. Si colocas solo nano abre un archivo nuevo.

Despues de colocar nano nombre_del_archivo aparece una especie de block de notas en modo texto:

consola linux para principiantes

las funciones mas usadas aparecen abajo, (el signo ^ representa la tecla control).

_________________________________

Calendario

Para mostrar un calendario se usa el programa cal. Al colocar cal en la consola muestra el calendario del mes actual. Se puede ver un calendario de todos los meses de un determinado año colocando el año junto a cal, por ejemplo si colocas:

cal 2003

muestra un calendario de todos los meses del año 2003.

se puede ver un calendario de un mes de un año determinado colocando el mes y el año junto a cal, el mes puede ser el nombre o el numero de mes, por ejemplo, si quisiera ver el calendario de junio de 2003 hay 2 opciones:

cal junio 2003
cal 6 2003

Puedes colocar fechas futuras para hacer cálculos, por ejemplo, en futurama en el primer episodio bender dijo que el museo abre gratis los martes, era 31 de diciembre de 2999, a ver si es cierto que el 31 de diciembre de 2999 era martes:

cal diciembre 2999

Parámetros de cal:

-m: Sirve para ver el calendario de un mes determinado del año actual, por ejemplo, al colocar cal -m junio sirve para ver el calendario de junio de este año.
-3: Hace que muestre el calendario del mes actual, el anterior y el siguiente.
-y: Muestra un calendario del año actual.
-A: Muestra el mes actual y una determinada cantidad de meses siguientes, por ejemplo, cal -A 4 muestra el mes actual y los 4 meses siguientes.
-B:Es parecido al anterior pero muestra el mes actual y una determinada cantidad de meses anteriores.

_________________________________

Apagar y reiniciar la máquina

Para apagar y reiniciar están los programas halt y reboot. Para usarlos hay que usar sudo.

para apagar:

sudo halt

para reiniciar:

sudo reboot

_________________________________

Ver los manuales de los programas

Los programas de consola tienen manuales que detallan de manera precisa su funcionamiento. Esos manuales se pueden acceder con el programa man (man es abreviatura de manual). Por ejemplo, para ver un manual del programa ls se tendría que poner:

man ls

después aparece un manual que explica de manera detallada el funcionamiento de un programa. Se navega con las teclas de dirección, para salir del manual hay que presionar la letra q.
Los manuales casi siempre están en inglés, para que estén en español hay que instalar los paquetes manpages-es y manpages-es-extra, (sudo apt-get install manpages-es manpages-es-extra). Eso no traducirá todos los manuales pero si la mayoría.
Lo primero que deberías leer es el manual de man y el manual de bash.

_________________________________

Finalmente si uno va a usar una consola con frecuencia le convendría usar Guake, es una consola que se abre y se oculta presionando f12 (se puede cambiar el botón para abrirla), desplegándose desde arriba. Es como la consola del Quake:

GNU


Otra ventaja que tiene es que cuando se oculta los programas corriendo bajo la consola siguen ejecutándose, es como si estuviera minimizada. Si usas kde hay otra consola mejor adaptada a Kde, Yakuake, ambos deben estar en los repositorios de cualquier distribución.

Si se va a usar con frecuencia se debería cargar al inicio del sistema, Yakuake lo hace por defecto, Guake no. Para cargar Guake al inicio del sistema hay que ir a Aplicaciones al inicio, luego hacer clic en añadir.
Donde dice nombre hay que colocar Guake Terminal y donde dice orden colocar guake, quedaría así:

consola

En mi caso eso ya estaba pero la casilla estaba desactivada, solo la activé, no se si será así en otras distribuciones.

Eso es todo, espero que les haya servido, tal vez haga una segunda parte con comandos no tan básicos.

21 comentarios - consola linux para principiantes

@tati_22
Buen post gracias
@fgadea
te dejo los que tengo. gracias pro
@defec
es lo más interesante de hoy....
@Tezoyucaruler +2
Muy útil para novatos que no saben casi nada como yo , te dejare puntos alrato que vuelva a tener.
@Boy__Fox +1
No te miento.. me cuesta leer, haha.. pero muy buen post.. lo estoy leyendo de apoco.. Linux es mucho mejor que Windows por eso estoy tratando de cambiarme, me harté de los virus y tener que estar formateando mil veces.. Gracias por el Post
@Samurai_Eche
que bien, a fav y todos los que puedo dar 5
@EpilepticMAN
te mataste escribiendo o fue un copy paste.
una pregunta &quot;no creo que la contestes&quot; el comando mv se usa asi no?
mv 1.ogv videos
perfecto ahora quiero copiar dos archivos a la carpeta videos y no vale usar comodin * por que uno es ogv y el otro es avi mp4 o lo que gustes.
como hago para copiar los dos archivos en una sola maniobra desde terminal?
@EpilepticMAN
ya lo resolvi xD me salio de carambola provando en la terminal
@Gallego777
Tu otro post no está mal pero este me gustó mucho más +5 (es todo lo que puedo dar desde mi rango)
@venito_camelas
Que buen post! me quede sin puntos.. recomiendo
@PinEchiN_Es
Ahí te dejo diez puntos, esto sigue siendo útil