Ultimamente he aprendido mucho sobre linux y quiero compartirlo con ustedes, en esta segunda entrega de tips linux les mostraré la correcta utilización de algunos comandos.
Por defecto, estamos situados en la carpeta personal (home/steven en mi caso).
Por tanto, si queremos regresar a nuestra carpeta personal, escribimos:
cd
El símbolo ~ reemplaza a la ruta de nuestra carpeta personal. En mi caso, ~ es igual a /home/steven. Si no
sabes cómo escribir este símbolo, se hace pulsando la tecla Alt Gr+ñ. Es decir, que para hacer referencia a la
ubicación de nuestra carpeta personal escribimos:
cd ~
Enseguida vemos unos ejemplos de cómo utilizarlo.
Para subir un nivel de directorio (para ir a /home desde /home/steven) escribimos:
cd ..
Y para ir atrás, al último directorio que hemos visitado:
cd -
Ahora vamos a ver unos ejemplos. Supongamos que estamos en el directorio /var/games y queremos ir a
nuestro directorio de Videos. Podemos hacerlo escribiendo:
cd /home/steven/Videos
También podemos hacerlo escribiendo:
cd ~/Videos
Como ves, ~ sustituye a /home/steven. De esta forma ahorramos tiempo al no tener que escribir toda la ruta.
Ahora supongamos que queremos ir a otra carpeta dentro de nuestro directorio, a la carpeta Documentos:
cd ../Documentos
Esto es lo que hace este último comando: estábamos ubicados en /home/steven/Videos. Con .. hemos subido
a /home/steven y con /Documentos entramos en esta carpeta.
Ahora queremos volver a la carpeta de Videos. Es decir, volver atrás, al último directorio que hemos visitado
antes de entrar en la carpeta Documentos. Escribimos:
cd -
Para ir al directorio raiz de nuestro equipo, utilizamos el comando:
cd /
- Para encontrar los procesos que consumen más recursos. Si tu equipo va lento y quieres saber qué
programa está consumiendo demasiada memoria:
ps aux | sort -nrk 4 | head
- Para ver qué versión tenemos instalada de determinado paquete, por ejemplo para decidir si actualizamos
determinada aplicación o no:
apt-cache policy xxxxxx
(reemplazamos xxxxxx con el nombre del paquete, por ejemplo deluge u cualquier otro).
- Para saber dónde está determinado paquete:
whereis xxx (reemplazando xxx por el nombre del paquete)
- ¿Has instalado una nueva versión de un programa, y la vieja configuración sigue en marcha? Para eliminar
los archivos de configuración:
sudo aptitude purge `dpkg --get-selections | grep deinstall | awk '{print $1}'`
- Ver los últimos comandos que has utilizado:
history
- Crear una imagen iso de un CD o un DVD:
mkisofs -r -o xxxxxx.iso /cdrom/ (reemplazando xxx por el nombre del archivo que queremos crear)
- Hacer una copia de seguridad antes de editar un archivo importante (por ejemplo, sources.list):
sudo cp /xxx/sources.list /xxx/sources.list.bak
(reeemplazamos xxx por el directorio correspondiente)
- Añadir una entrada al archivo sources.list desde el terminal:
sudo echo "xxx" >> /etc/apt/sources.list (reemplazando xxx por la linea a añadir)
- Borrar (dejar en blanco) un CD regrabable:
cdrecord -v dev=/dev/cdrom blank=fast
- Obtener un archivo de texto con la lista de los paquetes instalados (se crea este archivo llamadoinstalled-
packages en tu directorio de usuario):
dpkg --get-selections > installed-packages
- Matar (o cerrar, que suena más suave) un proceso:
killall xxx
(reemplazando xxx por el nombre del proceso)
- Forzar la expulsión del CD:
sudo umount /media/cdrom0/ -l
- Seguridad: mantiene el terminal abierto pero limpia la clave sudo introducida.
sudo -k
El comando grep es uno de los más útiles en Linux. Bien utilizado nos ahorra mucho tiempo a la hora de
buscar en archivos y documentos. Puede que al principio no le des mucha importancia, pero cuando lo usas
con soltura se vuelve imprescindible.
¿Qué hace el comando grep? Algo muy simple, busca determinada palabra o frase entre los archivos de texto.
Si el termino buscado aparece varias veces en un mismo archivo, nos muestra varias lineas de resultado, una
por cada coincidencia.
Para entender su funcionamiento, nada mejor que un ejemplo:
grep -r curso /home/steven/Documentos/*
Con ese comando, buscamos la palabra curso en cualquier fichero del directorio Documentos. Esto incluye las
carpetas que existan dentro de Documentos (hemos indicado esto al escribir -r). Si deseamos buscar en un
fichero concreto, sustituimos * por el nombre del fichero.
Hay un detalle importante, el comando anterior diferencia entre mayúsculas y minúsculas. Está buscando la
palabra curso, que no es igual que Curso. Por norma general, nos resulta más interesante que no haga esta
distinción. Para que busque el término, independientemente de mayúsculas/minúsculas:
grep -ir curso /home/steven/Documentos/*
Si el termino a buscar contiene más de una palabra, se debe indicar entre comillas. En el siguiente ejemplo
buscamos Curso Linux dentro del fichero notas.txt:
grep -i "curso linux" /home/steven/Documentos/notas.txt
Al incluir -i no hace distinción entre mayúsculas o minúsculas. Para más información sobre el comando grep,
teclea man grep en tu terminal
Seguramente todos conocéis el comando Man. Para los que no sepan su función, man nos proporciona un manual del programa que indiquemos.
Si encuentra un manual que coincide con el programa que hemos indicado, lo muestra en pantalla. En caso contrario, nos avisa de que no hay ningún manual asociado.
Por poner un ejemplo, imaginamos que utilizamos el editor gedit, y queremos saber cómo podemos manejarlo desde la consola. Escribimos:
man gedit
Este comando nos muestra en pantalla la información disponible sobre los comandos
de gedit y su función. Este pequeño manual se muestra en la propia ventana del terminal. Ahora vamos a ver
cómo hacer que el manual que nos muestra man se guarde en un archivo PDF. Simplemente escribimos:
man -t gedit | ps2pdf - > gedit.pdf
Al ejecutar esta linea, se crea el archivo gedit.pdf en nuestra carpeta personal. Este archivo contiene los datos
que nos muestra man, en formato PDF. Podemos definir el comando del que queremos ver el manual, y el
nombre del archivo (y la ruta) en que se guarda.
Otro ejemplo. En este caso, queremos ver el manual del reproductor Totem. Y queremos que se genere en un
PDF llamado manual_totem.pdf en nuestro escritorio. Para ello escribimos:
man -t totem | ps2pdf - > Escritorio/manual_totem.pdf
Mediante el comando mkdir creamos nuevas carpetas (o directorios). Crearemos el directorio Tierra. Para ello, simplemente ejecutamos en el terminal este comando:
mkdir Tierra
Dos apuntes importantes: no es lo mismo escribir mkdir Tierra que mkdir tierra.
Recuerda que Linux diferencia entre mayúsculas y minúsculas. Por otra parte, para crear directorios fuera de
nuestra carpeta personal, debemos hacerlo escribiendo sudo delante del comando. Esto es necesario ya que
por defecto no tenemos permisos suficientes para hacerlo directamente.
A continuación, para crear la carpeta Continentes dentro de Tierra:
mkdir Tierra/Continentes
Crear varias subcarpetas linea a linea es lento. Con el comando mkdir vamos a crear varias subcarpetas en
una sola linea:
mkdir -p Júpiter/Satélites/Calisto
En este ejemplo se ha creado la carpeta Júpiter. Dentro de Júpiter encontramos la carpeta Satélites, y dentro
de ella Calisto. Para crear varias subcarpetas del tirón, es necesario escribir -p antes de los nombres de las
carpetas a generar.
En caso de que queramos generar una nueva carpeta con ciertos permisos, lo hacemos de la siguiente
manera:
mkdir -m777 Saturno
Para borrar carpetas tenemos el comando rmdir. Eliminamos la carpeta Saturno:
rmdir Saturno
Este comando elimina los directorios que están vacíos. Si hay algún archivo dentro de la carpeta nos devuelve
un error. Para eliminar un archivo dentro de la carpeta Saturno escribimos en el terminal:
rm Saturno/archivo.txt
Con el comando cp copiamos archivos de una ubicación a otra. En el siguiente ejemplo vamos a copiar el
archivo Presupuesto.pdf que esta ubicado en la carpeta Documentos al escritorio.
cp Documentos/Presupuesto.pdf Escritorio/Presupuesto.pdf
La primera parte del comando indica la ruta dónde está el archivo (Documentos/Presupuesto.pdf) y la segunda
dónde queremos copiar el archivo (Escritorio/Presupuesto.pdf).
Podemos copiar el archivo con un nombre distinto al original. Tan solo hay que escribir el nombre que
deseamos al indicar la ruta donde copiar el archivo. Para ello, el ejemplo quedaría así:
cp Documentos/Presupuesto.pdf Escritorio/nuevo_nombre.pdf
Mover un archivo de carpeta es muy similar, sustituimos el comando cp por mv:
mv Documentos/Presupuesto.pdf Escritorio/Presupuesto.pdf
Igual que antes, podemos guardar el archivo con un nombre distinto al original. Este comando nos sirve
también para renombrar un archivo sin moverlo de carpeta. Escribimos en el terminal:
mv Documentos/Factura.pdf Documentos/Factura_pagada.pdf
¿Cómo podemos ver qué archivos hay en cada carpeta? Escribiendo en el terminal el comando ls. Para ver
qué archivos hay en nuestra carpeta personal:
ls
Para ver qué archivos hay en la carpeta Documentos:
ls Documentos
Con el comando ls -A veremos también los archivos ocultos. Ejemplo:
ls -A
Espero que les haya resultado útil, por mi parte, en breve continuaré la serie de tips linux. Si de verdad quieren agradecerme el esfuerzo, aporten muchas cosas útiles y compartan conocimiento. El post está hecho a partir de unos resúmenes que tenía en el ordenador de 120linux
Comando cd
Por defecto, estamos situados en la carpeta personal (home/steven en mi caso).
Por tanto, si queremos regresar a nuestra carpeta personal, escribimos:
cd
El símbolo ~ reemplaza a la ruta de nuestra carpeta personal. En mi caso, ~ es igual a /home/steven. Si no
sabes cómo escribir este símbolo, se hace pulsando la tecla Alt Gr+ñ. Es decir, que para hacer referencia a la
ubicación de nuestra carpeta personal escribimos:
cd ~
Enseguida vemos unos ejemplos de cómo utilizarlo.
Para subir un nivel de directorio (para ir a /home desde /home/steven) escribimos:
cd ..
Y para ir atrás, al último directorio que hemos visitado:
cd -
Ahora vamos a ver unos ejemplos. Supongamos que estamos en el directorio /var/games y queremos ir a
nuestro directorio de Videos. Podemos hacerlo escribiendo:
cd /home/steven/Videos
También podemos hacerlo escribiendo:
cd ~/Videos
Como ves, ~ sustituye a /home/steven. De esta forma ahorramos tiempo al no tener que escribir toda la ruta.
Ahora supongamos que queremos ir a otra carpeta dentro de nuestro directorio, a la carpeta Documentos:
cd ../Documentos
Esto es lo que hace este último comando: estábamos ubicados en /home/steven/Videos. Con .. hemos subido
a /home/steven y con /Documentos entramos en esta carpeta.
Ahora queremos volver a la carpeta de Videos. Es decir, volver atrás, al último directorio que hemos visitado
antes de entrar en la carpeta Documentos. Escribimos:
cd -
Para ir al directorio raiz de nuestro equipo, utilizamos el comando:
cd /
Aquí va un listado con comandos bastante útiles
- Para encontrar los procesos que consumen más recursos. Si tu equipo va lento y quieres saber qué
programa está consumiendo demasiada memoria:
ps aux | sort -nrk 4 | head
- Para ver qué versión tenemos instalada de determinado paquete, por ejemplo para decidir si actualizamos
determinada aplicación o no:
apt-cache policy xxxxxx
(reemplazamos xxxxxx con el nombre del paquete, por ejemplo deluge u cualquier otro).
- Para saber dónde está determinado paquete:
whereis xxx (reemplazando xxx por el nombre del paquete)
- ¿Has instalado una nueva versión de un programa, y la vieja configuración sigue en marcha? Para eliminar
los archivos de configuración:
sudo aptitude purge `dpkg --get-selections | grep deinstall | awk '{print $1}'`
- Ver los últimos comandos que has utilizado:
history
- Crear una imagen iso de un CD o un DVD:
mkisofs -r -o xxxxxx.iso /cdrom/ (reemplazando xxx por el nombre del archivo que queremos crear)
- Hacer una copia de seguridad antes de editar un archivo importante (por ejemplo, sources.list):
sudo cp /xxx/sources.list /xxx/sources.list.bak
(reeemplazamos xxx por el directorio correspondiente)
- Añadir una entrada al archivo sources.list desde el terminal:
sudo echo "xxx" >> /etc/apt/sources.list (reemplazando xxx por la linea a añadir)
- Borrar (dejar en blanco) un CD regrabable:
cdrecord -v dev=/dev/cdrom blank=fast
- Obtener un archivo de texto con la lista de los paquetes instalados (se crea este archivo llamadoinstalled-
packages en tu directorio de usuario):
dpkg --get-selections > installed-packages
- Matar (o cerrar, que suena más suave) un proceso:
killall xxx
(reemplazando xxx por el nombre del proceso)
- Forzar la expulsión del CD:
sudo umount /media/cdrom0/ -l
- Seguridad: mantiene el terminal abierto pero limpia la clave sudo introducida.
sudo -k
El comando grep
El comando grep es uno de los más útiles en Linux. Bien utilizado nos ahorra mucho tiempo a la hora de
buscar en archivos y documentos. Puede que al principio no le des mucha importancia, pero cuando lo usas
con soltura se vuelve imprescindible.
¿Qué hace el comando grep? Algo muy simple, busca determinada palabra o frase entre los archivos de texto.
Si el termino buscado aparece varias veces en un mismo archivo, nos muestra varias lineas de resultado, una
por cada coincidencia.
Para entender su funcionamiento, nada mejor que un ejemplo:
grep -r curso /home/steven/Documentos/*
Con ese comando, buscamos la palabra curso en cualquier fichero del directorio Documentos. Esto incluye las
carpetas que existan dentro de Documentos (hemos indicado esto al escribir -r). Si deseamos buscar en un
fichero concreto, sustituimos * por el nombre del fichero.
Hay un detalle importante, el comando anterior diferencia entre mayúsculas y minúsculas. Está buscando la
palabra curso, que no es igual que Curso. Por norma general, nos resulta más interesante que no haga esta
distinción. Para que busque el término, independientemente de mayúsculas/minúsculas:
grep -ir curso /home/steven/Documentos/*
Si el termino a buscar contiene más de una palabra, se debe indicar entre comillas. En el siguiente ejemplo
buscamos Curso Linux dentro del fichero notas.txt:
grep -i "curso linux" /home/steven/Documentos/notas.txt
Al incluir -i no hace distinción entre mayúsculas o minúsculas. Para más información sobre el comando grep,
teclea man grep en tu terminal
Man en PDF
Seguramente todos conocéis el comando Man. Para los que no sepan su función, man nos proporciona un manual del programa que indiquemos.
Si encuentra un manual que coincide con el programa que hemos indicado, lo muestra en pantalla. En caso contrario, nos avisa de que no hay ningún manual asociado.
Por poner un ejemplo, imaginamos que utilizamos el editor gedit, y queremos saber cómo podemos manejarlo desde la consola. Escribimos:
man gedit
Este comando nos muestra en pantalla la información disponible sobre los comandos
de gedit y su función. Este pequeño manual se muestra en la propia ventana del terminal. Ahora vamos a ver
cómo hacer que el manual que nos muestra man se guarde en un archivo PDF. Simplemente escribimos:
man -t gedit | ps2pdf - > gedit.pdf
Al ejecutar esta linea, se crea el archivo gedit.pdf en nuestra carpeta personal. Este archivo contiene los datos
que nos muestra man, en formato PDF. Podemos definir el comando del que queremos ver el manual, y el
nombre del archivo (y la ruta) en que se guarda.
Otro ejemplo. En este caso, queremos ver el manual del reproductor Totem. Y queremos que se genere en un
PDF llamado manual_totem.pdf en nuestro escritorio. Para ello escribimos:
man -t totem | ps2pdf - > Escritorio/manual_totem.pdf
Administrar carpetas y archivos desde el terminal
Mediante el comando mkdir creamos nuevas carpetas (o directorios). Crearemos el directorio Tierra. Para ello, simplemente ejecutamos en el terminal este comando:
mkdir Tierra
Dos apuntes importantes: no es lo mismo escribir mkdir Tierra que mkdir tierra.
Recuerda que Linux diferencia entre mayúsculas y minúsculas. Por otra parte, para crear directorios fuera de
nuestra carpeta personal, debemos hacerlo escribiendo sudo delante del comando. Esto es necesario ya que
por defecto no tenemos permisos suficientes para hacerlo directamente.
A continuación, para crear la carpeta Continentes dentro de Tierra:
mkdir Tierra/Continentes
Crear varias subcarpetas linea a linea es lento. Con el comando mkdir vamos a crear varias subcarpetas en
una sola linea:
mkdir -p Júpiter/Satélites/Calisto
En este ejemplo se ha creado la carpeta Júpiter. Dentro de Júpiter encontramos la carpeta Satélites, y dentro
de ella Calisto. Para crear varias subcarpetas del tirón, es necesario escribir -p antes de los nombres de las
carpetas a generar.
En caso de que queramos generar una nueva carpeta con ciertos permisos, lo hacemos de la siguiente
manera:
mkdir -m777 Saturno
Para borrar carpetas tenemos el comando rmdir. Eliminamos la carpeta Saturno:
rmdir Saturno
Este comando elimina los directorios que están vacíos. Si hay algún archivo dentro de la carpeta nos devuelve
un error. Para eliminar un archivo dentro de la carpeta Saturno escribimos en el terminal:
rm Saturno/archivo.txt
Con el comando cp copiamos archivos de una ubicación a otra. En el siguiente ejemplo vamos a copiar el
archivo Presupuesto.pdf que esta ubicado en la carpeta Documentos al escritorio.
cp Documentos/Presupuesto.pdf Escritorio/Presupuesto.pdf
La primera parte del comando indica la ruta dónde está el archivo (Documentos/Presupuesto.pdf) y la segunda
dónde queremos copiar el archivo (Escritorio/Presupuesto.pdf).
Podemos copiar el archivo con un nombre distinto al original. Tan solo hay que escribir el nombre que
deseamos al indicar la ruta donde copiar el archivo. Para ello, el ejemplo quedaría así:
cp Documentos/Presupuesto.pdf Escritorio/nuevo_nombre.pdf
Mover un archivo de carpeta es muy similar, sustituimos el comando cp por mv:
mv Documentos/Presupuesto.pdf Escritorio/Presupuesto.pdf
Igual que antes, podemos guardar el archivo con un nombre distinto al original. Este comando nos sirve
también para renombrar un archivo sin moverlo de carpeta. Escribimos en el terminal:
mv Documentos/Factura.pdf Documentos/Factura_pagada.pdf
¿Cómo podemos ver qué archivos hay en cada carpeta? Escribiendo en el terminal el comando ls. Para ver
qué archivos hay en nuestra carpeta personal:
ls
Para ver qué archivos hay en la carpeta Documentos:
ls Documentos
Con el comando ls -A veremos también los archivos ocultos. Ejemplo:
ls -A
Espero que les haya resultado útil, por mi parte, en breve continuaré la serie de tips linux. Si de verdad quieren agradecerme el esfuerzo, aporten muchas cosas útiles y compartan conocimiento. El post está hecho a partir de unos resúmenes que tenía en el ordenador de 120linux