Tuesday, December 25, 2012

Comandos Básicos en Linux

Pequeño manual dedicado a los comándos básicos en la consola del sistema, lo realizo con el propósito de que los usuarios pierdan el miedo a la terminal ya que es una de las principales causas por las cuáles las personas no entran de lleno en el mundo de linux porque piensan que es demasiado complicado instalar programas, copiar archivos, mover, eliminar, etc.

Como tal solo es un resumen de los más comunes y utilizados, como experiencia propia y recomendación que puedo dar es que traten de realizar todo desde la terminal y no como acostumbramos la mayoría a hacerlo tan automatizado con interfaces gráficas tipo Windows ("tan solo dar click y ya").

Bien, dicho lo anterior es hora de comenzar, en algunos comandos agregué imágenes de mi equipo para que se den una idea.

Hay que recordar que en linux hay distinción de mayúsculas y minúsculas, no como en windows, un ejemplo sencillo en windows al ejecutar el comando:

cd program files ó CD Program Files

da lo mismo, pero en linux no, hay que tenerlo presente.

===================================================
Lista de comandos:
 

ls <==== Muestra todos los archivos y carpetas en el directorio que nos encontremos

ls -l <=== Muestra todos los archivos y carpetas con detalles  como permisos de usuario, grupos, propietario del archivo, la fecha de la última modificación del archivo y el nombre

Ejemplo del comando ls y ls -l


===================================================================

Comando cd <==== para movernos entre carpetas

Ejemplo:

cd /admin/Desktop <==== Estoy indicado que deseo moverme hasta ese Directorio

cd /admin/Music/'House y Trance' <=== Para indicar que deseo moverme a este directorio, pero ¿Por qué agregué comillas simples?
R= Sencillo, debo de agregar comillas simples para indicar que House y Trance son una misma carpeta ya que si no agrego las comillas simples los toma como directorios distintos y va arrojar un error al final.

cd .. <===== Para regresar a un directorio anterior

Ejemplo: me encuentro en la ruta /home/admin/Documentos/Pictures , si deseo regresar a un directorio anterior, en este caso el directorio anterior es Documentos tan solo ejecuto la sintaxis

cd .. y presiono enter, entonces ahora estaré en la ruta /home/admin/Documentos


==================================================================

Comando rm <==== para eliminar archivos 

rmdir <== para eliminar directorios vacíos

rm -r <==== para eliminar carpetas que contienen archivos


Ejemplos:

rm reporte.txt <== estamos indicando que deseamos borrar el archivo reporte.txt

rmdir Consultas <== estamos indicando que deseamos eliminar la carpeta Consultas que está vacía

rm -r Documentos <== estamos indicando que deseamos borrar la carpeta Documentos con todos los archivos que contenga.

Ejemplo: Se va a eliminar el archivo derelict_house-1366x768.jpeg , como es solamente un archivo la sintaxis es la siguiente:

rm derelict_house-1366x768.jpeg

En la pantalla de abajo al presionar enter la consola no devuelve mensaje de error, lo que significa que ejecutamos correctamente el comando.



Cuando se empieza en linux y que no estamos muy acostumbrados a utilizar la terminal, tendemos a cometer ciertos errores como los siguientes.




En esta pantalla se muestra como al intentar eliminar Mirrors la consola nos devuelve un mensaje de error indicándonos que Mirrors no es un archivo, sino una carpeta que aparte contiene archivos, esto se soluciona fácilmente agregando el recursivo, la sintaxis quedaría entonces de la siguiente manera

rm -r Mirrors


Abajo se muestra la sintaxis correcta y se observa que al presionar enter la terminal no devuelve ningún error y para terminar de validar se observa que en el escritorio ya desapareció la carpeta mirrors




Otro error que podemos cometer cuando estamos empezando es al querer eliminar un archivo que contiene espacios en su nombre, anteriormente se mencionó que para que la máquina entienda que un conjunto de palabras son un mismo archivo o directorio se agregan comillas simples.

Ejemplo: quiero eliminar el archivo 'Texto de Prueba'

si lo intento eliminar con la sintaxis

rm Texto de Prueba

Se observa en la imagen de abajo que devuelve varios errores la consola y esto es porque esta tomando cada palabra como si fuera un archivo o carpeta independiente, por obvias razones no lo encuentra.




Para corregir el error solo se agregan comillas simples a 'Texto de Prueba' para que los tome como un mismo archivo, presionamos enter, se muestra en la pantalla que no devolvió ya ningún error y el archivo 'Texto de Prueba' desapareció del escritorio.



Otro error un poco más compicado es cuando tenemos un archivo que queremos eliminar y aparte de contar con espacios en el nombre, también tiene carácteres especiales, si agregamos comillas simples nos va a mandar el mismo error.

Ejemplo: tengo el archivo negrocan - cada vez que te veo (tribe remix).mp3

Al ejecutar:

rm negrocan - cada vez que te veo (tribe remix).mp3

Manda mensaje de error.




Observamos que aparte de tener espacios cuenta con carácteres especiales, en este caso los paréntesis y el guión medio, para poder eliminarlo sin ningún problema agregamos comillas dobles, la sintaxis quedará de la siguiente manera

rm "negrocan - cada vez que te veo (tribe remix).mp3"

En la imágen de abajo se muestra que al ejecutar el comando no devuelve mensaje de error y el archivo desapareció del escritorio.




Con lo entendido hasta ahora viene un ejemplo de una carpeta vacía con espacios en el nombre y carácteres especiales.

Ejemplo: Tengo la carpeta "Configuracion de Red (2)" y la quiero eliminar, entonces la sintaxis será la siguiente:

rmdir "Configuracion de Red (2)"




El ejecutar el comando será eliminada la carpeta "Configuracion de Red (2)" solo si esta se encuentra vacía, si contiene archivos entonces solo se agrega el recursivo y se sustituye rmdir por rm ,quedando de la siguiente manera:

rm -r "Configuracion de Red (2)"

Por último, si deseamos eliminar varios archivos a la vez, tan solo basta con separarlos con un espacio.

Ejemplo: Tengo los archivos 'Config' , 'Archivo1' y 'Texto 3' en el escritorio, si deseo eliminar los tres en un solo comando la sintaxis será la siguiente

rm 'Texto 3' Config Archivo1

En la imagen se observa que separamos solo por un espacio cada archivo y en caso de tener espacios en el nombre o carácteres especiales agregar ya sean comillas simples o dobles para delimitar el nombre completo del archivo.



Lo mismo aplicará para carpetas, si deseamos eliminar más de una en una sola sintaxis.

Ejemplo: Tengo las carpetas vacías 'Enero' 'Febrero' 'Marzo' en el escritorio, si deseo eliminar las tres en una sola línea de igual forma separamos las carpetas por un espacio y en caso de contener carácteres especiales y espacios, ya sea que agreguemos comillas simples o dobles. En este ejemplo como ninguna tiene nombre con espacios o carácteres especiales nos limitamos a solo separarlas con un espacio como en la imagen de abajo y presionamos enter, observamos que la consola no devuelve mensaje de error, lo que significa ejecutamos correctamente la sintaxis y eliminamos tres carpetas en una sola línea de comandos.


rmdir Enero Febrero Marzo





=====================================================

Comando mkdir <== sirve para crear nuevas carpetas

Ejemplo: me encuentro en la ruta /Desktop y quiero crear una carpeta que se llame Documentos para que ahí pueda empezar almacenar archivos, la sintaxis es la siguiente:

mkdir Documentos <== estamos indicando que crearemos la carpeta Documentos en la ruta en la cuál nos encontramos que en este caso es /Desktop


En la pantalla de abajo ejecuto el comando ls para mostrar todos los archivos y carpetas que hay en el escritorio, por el momento no muestra nada ya que no hay archivos o carpetas, posteriormente de crear la carpeta con la sintaxis anterior vuelvo a ejecutar el comando ls y aparecerá la carpeta que acabamos de crear.




También podemos crear otras carpetas aunque no estemos en el directorio, pero tendremos que agregar la ruta completa donde queremos crear la carpeta

Ejemplo: Me encuentro en la ruta /etc/share y deseo crear una carpeta llamada 'Backup' dentro de el directorio de admin, para eso la sintaxis será la siguiente:


mkdir /usr/local/users/admin/Backup

En la pantalla se muestra como ejecutamos el comando y no devuelve mensaje de error, posteriormente me muevo hasta el directorio /usr/local/users/admin y ejecuto el comando ls para enlistar archivos y carpetas, podemos observar que ya aparece una carpeta llamada 'Backup' dentro de admin.



Aplicando lo aprendido hasta ahora, también podemos crear bastantes carpetas con una sola línea de comandos, dependiendo del nombre que se le dé a la carpeta aplicaremos las reglas, ya sea comillas simples o dobles.

Ejemplo: deseo crear las carpetas 'Base de Datos', 'Música (Trance)' y Reportes en el directorio /usr/local/users/admin/Desktop

Hay dos formas de hacerlo, la primera es despalzarte hasta esa ruta y ejecutar

mkdir 'Base de Datos' "Música (Trance)" Reportes

Y la otra forma desde el directorio donde te encuentres (no importa cuál), ejecutar:

mkdir /usr/local/users/admin/Desktop/'Base de Datos' "Música (Trance)" Reportes

En la pantalla se observa que la consola no devuelve error y en el escritorio ya aparecen las tres carpetas que acabamos de crear.




=============================================================

Comando mv <== Tiene dos funciones, una es mover archivos o carpetas de directorio o cambiarles el nombre tanto a carpetas como archivos, dos ejemplos.

Ejemplo 1: Deseo mover la carpeta 'Prueba' que se encuentra en /usr/local/users/admin a el escritorio que se encuentra en /usr/local/users/admin/Desktop, el comando a ejecutar entonces será

mv Prueba /usr/local/users/admin/Desktop

En la imágen se muestra como va la sintaxis, consola no devuelve error y muestra la carpeta Prueba en el escritorio.




Ejemplo 2: ahora esa misma carpeta que se encuentra en el escritorio, deseo cambiarle el nombre a 'Pruebas 2', como el nombre tiene espacios, recuerden ingresar en la sintaxis comillas simples para delimitar el nombre completo del archivo como se muestra en la imágen de abajo. La sintaxis es la siguiente:

mv Prueba 'Pruebas 2'

Ahora observamos que el nombre de la carpeta es 'Pruebas 2'




Ejemplo 3: Ahora deseo mover la carpeta que se encuentra en el escritorio llamada 'Pruebas 2' al directorio /usr/local/users/admin/Videos y aparte cambiarle el nombre a 'Clasicos', entonces el comando será el siguiente:

mv 'Pruebas 2' /usr/local/users/admin/Videos/Clasicos
En la pantalla de abajo se muestra que no devuelve ningún error la consola al momento de realizar el movimiento y cambio de nombre de la carpeta 'Pruebas 2' al directorio /usr/local/users/admin/Videos/ y posteriormente me desplazo hasta ese mismo directorio y ejecuto el comando ls para validar que se movió la carpeta 'Pruebas 2' y al mismo tiempo le cambiamos el nombre a 'Clasicos'.


=============================================================

Comando cp <=== copia archivos a otra ubicación.

Ejemplo:

cp libflash-player.so /lib/firmware/mozilla/plugins

Con este comando estamos indicando que deseamos copiar el archivo libflash-player.so a la ruta /lib/firmware/mozilla/plugins

cp -r <== copia una carpeta completa a otra ubicación

Otro ejemplo: copiar el archivo derelict_house-1366x768.jpeg al escritorio.

cp derelict_house-1366x768.jpeg /usr/local/users/admin/Desktop




Se puede cometer el error de querer copiar una carpeta a otra ubicación con el comando cp, como el ejemplo de abajo. En el que se desea copiar la carpeta 'Mirrors' a la ubicacion /usr/local/users/admin/Desktop


Se observa que la terminal nos devuelve un error, y es por lo descrito anteriormente, este problema se soluciona agregando el recursivo a la sintaxis para que copie todo el contenido de la carpeta en otra ruta. La forma correcta de hacerlo es:

cp -r Mirrors /usr/local/users/admin/Desktop

En la siguiente pantalla la terminal ya no devuelve el mensaje de error y se observa que la carpeta 'Mirrors' ya aparece en el escritorio.




Otro error común, tratar de mover un archivo que en su nombre contiene carácteres especiales sin ingresar comillas dobles en nuestra sintaxis, como se observa en la imagen de abajo.




Para solucionar este problema solo agregamos comilas dobles al nombre del archivo, se observa que la pantalla no devuelve mensaje de error y el archivo de música ya se encuentra en el escritorio.



==============================================================

Comando cal <== muestra el calendario en la terminal.



================================================================

Comando date <== muestra la el día de la semana, mes, día del mes y la hora en la terminal, así como el año.



===================================================================

Comando slocate <== hace una búsqueda de archivos en nuestro sistema dependiendo de las palabras que ingresemos, es importante actualizar la base de datos de nuestro sistema constantemente con el comando

updatedb <== update database, lo que realiza este comando actualiza la cache de la base de datos para realizar las búsquedas de manera más rápida y eficaz.

Es muy útil para buscar archivos de los cuales no tenemos idea de su ubicación.

Ejemplo: Deseo buscar el archivo de configuración del gestor de arranque en mi sistema, se llama "lilo.conf" pero no se en donde se encuentra, para ello realizamos lo siguiente:

updatedb

slocate lilo.conf

En la imagen de abajo se muestra como realiza la búsqueda y nos trae los resultados obtenidos de acuerdo a las palabras que coinciden con la búsqueda
.



====================================================================

Comando history <=== nos muestra el historial de comandos ejecutados en la terminal.


====================================================================

comando df <== muestra los dispositivos montados, la ruta donde están montados, el porcentaje que lleban ocupado, el tamaño disponible, tamaño en bytes.



======================================================================

Comando free <== muestra la memoria RAM disponible, la ocupada y la memoria secundaria SWAP, la vista por defecto es en bytes, aunque se puede cambiar a kilobytes, megabytes y gygabytes con los recursivos.

free -k <== muestra memoria en kilobytes

free -m <== muestra memoria en megabytes

free -g <== muestra memoria en gygabytes

===============================================================

Comando top <=== muestra los procesos activos del sistema, si deseamos ver solo los procesos que está ejecutando un usuario lo podemos cambiar como:

top -u [user]

Ejemplo: deseo ver los procesos que está corriendo el usuario admin, entonces ejecutamos.

top -u admin




==============================================================

Comando cat <=== tiene dos funciones, el de ver archivos que no son de texto y el de concatenar archivos, por el momento solo veremos la opción para ver archivos que no son de texto.

Ejemplo: Deseo ver el archivo shells si obvervan bien en la imágen no es un archivo de texto que pueda ver con el editor nano. Para esto ejecutamos la sintaxis


cat /etc/shells

y podremos ver en terminal el contenido del archivo.




=====================================================================

Comando lynx <== Básicamente es un navegador de internet pero en terminal, un ejemplo muy simple es ejecutar el comando

lynx www.google.com

Entonces en la terminal se verá la página web de google pero en modo texto, aquí si podemos utilizar el mouse en algunos links, pero lo recomendable es navegar con tabulación y flechas de desplazamiento. Agrego una imágen de la página web de google vista desde la terminal. Este comando es utilizado más que nada cuando se está instalando un sistema linux desde la red e ingresamos al navegador en terminal para navegar en la página donde vamos a descargar los paquetes para la instalación por mirrors.




=====================================================================

Comando wget <== wget es un gestor de descargas en terminal.

Ejemplo: deseamos descargar el archivo README-2.11.1 de la página http://ftp.gnu.org/gnu/binutils/README-2.11.1, primero nos desplazamos hacia el directorio donde deseamos que sea guardado, como ejemplo el directorio /usr/local/users/admin/Downloads:

cd /usr/local/users/admin/Downloads

Después solo ejecutamos la sintaxis para proceder a descargar el archivo, quedando de la siguiente manera:

wget http://ftp.gnu.org/gnu/binutils/README-2.11.1

Presionamos enter y comenzará a descargar el archivo.




La otra opción es indicarle al gestor donde deseamos que guarde el archivo, en vez de desplazarnos primero hasta el directorio, se agrega -P (mayúscula).

wget -P <==== Descarga el archivo en la ruta que le indicamos

Ejemplo: deseo descargar el archivo http://ftp.gnu.org/gnu/binutils/README-2.11.1 en el escritorio, pero yo me encuentro en otro directorio distinto, entonces la sintaxis es la siguiente para indicarle que queremos que lo guarde en el escritorio.


wget http://ftp.gnu.org/gnu/binutils/README-2.11.1 -P /usr/local/users/admin/Desktop

y entonces lo abrá guardado en el escritorio y se puede visualizar en la imágen de abajo.



===================================================================

Comando tar <== es un descompresor de archivos

Ejemplo: tengo el archivo binutils-2.8.1.tar.gz y deseo descomprimirlo, se ejecuta el siguiente comando

tar xf binutils-2.8.1.tar.gz

Presionamos enter y la consola no muestra error, lo que significa que ya descomprimió el archivo y por lo tanto ahora se abrá creado una nueva carpeta donde están los archivos que se descomprimieron, en la sintaxis

tar <=== es el descompresor

x <=== significa extract (extraer)

f <=== significa file (archivo que vamos a descomprimir)

y podemos agregar otraz opciones, la más comun des agregar:

v <=== significa verbose (muestra el progreso de descompresión del archivo).











=================================================================

Comando groups <=== muestra los grupos del sistema a los cuales pertenece tu usuario

ejemplo: Deseo saber a que grupos pertenece mi usuario en este caso admin

groups admin

ejemplo 2: deseo saber a que grupos pertenece el usuario root

groups root





================================================================

Por el momento es todo, ojalá sea de su agrado el manual, en cierto modo un poco redundante en algunos términos pero es para que tengamos una idea más clara de como hacer tareas sencillas en la terminal y practicar más, existen muchos comandos que me hicieron falta, es muy extensa la lista, pero por el momento solo me enfoqué a estos que son los más utilizados para empezar aprender a utilizar la terminal.

Espero les sea de ayuda si están aprendiendo Linux.

Gracias por visitar el Blog.

No comments:

Post a Comment