29 ene 2011

TIPS LINUX


MONTAR ISO

142fc496eac1104b24ae30fdcb1cffa1
El comando es muy sencillo:

mount -t iso9660 -o loop mis_archivos.iso /home/user/iso

Donde:
mount -> Comando que va a montar la imagen.
-t iso9660 -> Indica que la imagen es iso9660, es decir, de CD.
-o loop -> indica que es de tipo bucle.
/home/user/iso/ -> Indica el destino donde se va a montar.



UNIR ARCHIVOS PARTIDOS POR HACHA


1-
Para las primeras versiones de Hacha, los archivos generados por este programa tienen la extension .0, .1, .2 …y así hasta ocupar el tamaño oríginal del fichero.

Para los que no tengamos Hacha, puesto que no tienen una versión liberada para plataformas UNIX, lo único que tenemos que hacer es:

cat /home/user/video.avi.0 /home/user/video.avi.1 /home/user/video.avi.2 > /home/user/video.avi
En el caso de que sean muchos los archivos se puede abreviar de la siguiente manera:

cat prefijo* > archivo

2-
Para unir estos archivos que se crean con programas como Hacha o similares en windows y que a veces nos es imprescindible descargar tenemos una herramienta gráfica que nos ayudará, Dalle:

Para instalarlo podemos ir a la página oficial o instalarlo mediante la consola. (http://dalle.sourceforge.net/)

Para las primeros versiones de hacha en las que simplemente se partía el archivo sin añadirle ningún tipo de información adicional, lo tenemos aún más fácil ya que podemos unirlos con el comando cat desde la consola.


TIP shorcuts (atajos de teclado) para bash


Ctrl+l Limpia la pantalla, hace lo mismo que el comando clear pero no limpia la linea actual.
Ctrl+r Busca un comando tecleado con anterioridad que empiece con las letras que tecleamos.
Ctrl+u Limpia desde la posicion actual del cursor hasta el principio de la linea.
Ctrl+a Posiciona el cursos al principio de la linea de comandos.
Ctrl+e Posiciona el cursos al final de la linea de comandos.
Ctrl+-> Mueve el cursor una palabra hacía adelante
Ctrl+<- Mueve el cursor una palabra hacía atras.
Esc+u Cambia a Mayusculas la palabra adelante del cursor.
Esc+t Inverte el orden de dos palabras contiguas.
Esc+p Busca en el historial de comandos.
Ctrl+c Cancela la ejecucion de el proceso actual.
Ctrl+d Hace logout y/o cierra la sesion actual (equivalente al comando exit)
Ctrl+h Borra una letra atras del curso (igual que la tecla backspace/retroceso).
Ctrl+z Manda el proceso actual al background (segundo plano), el proceso puede ser regresado a primer plano con los comandos: jobs y fb.
Esc+p Similar a Ctrl+r


Aquí un breve resumen de como comprimir y descomprimir archivos en Linux. Puesto que es una tarea fácil pero que a veces uno no recuerda o se ha acostumbrado a hacerlo en un gestor de archivos y en ese momento tiene que hacerlo en una terminal…Por tanto aquí os lo dejo:

Ficheros .tar
tar empaqueta varios archivos en uno solo, pero no comprime.

Empaquetar:
# tar cf archivo.tar ficheros

Desempaquetar:
# tar -xvf archivo.tar

Ver contenido:
# tar -tf archivo.tar


Ficheros .gz
gzip sólo comprime fichero a fichero, no empaqueta varios ficheros en uno ni comprime directorios.

Comprimir:
# gzip fichero

Descomprimir:
# gzip -d fichero.gz


Ficheros .bz2
bzip2 sólo comprime fichero a fichero, no empaqueta varios ficheros en uno ni comprime directorios.

Comprimir:
# bzip2 fichero

Descomprimir:
# bzip2 -d fichero.bz2
Para comprimir múltiples ficheros y archivarlos en uno sólo hay que combinar tar con gzip o bzip 2:


Ficheros .tar.gz

Comprimir:
# tar -czf archivo.tar.gz ficheros

Descomprimir:
# tar -xvzf archivo.tar.gz

Ver contenido:
# tar -tzf archivo.tar.gz


Ficheros .tar.bz2

Comprimir:
# tar -c ficheros | bzip2 &gt; archivo.tar.bz2

Descomprimir:
# bzip2 -dc archivo.tar.bz2 | tar -xv

Ver contenido:
# bzip2 -dc archivo.tar.bz2 | tar -t


Ficheros .zip

Comprimir:
# zip archivo.zip ficheros

Descomprimir:
# unzip archivo.zip

Ver contenido:
# unzip -v archivo.zip


Ficheros .rar

Comprimir:
# rar a archivo.rar ficheros

Descomprimir:
# rar x archivo.rar

Ver contenido:
# rar l archivo.rar
o
# rar v archivo.rar


Ficheros .lha

Comprimir:
# lha a archivo.lha ficheros

Descomprimir:
# lha x archivo.lha

Ver contenido:
# lha v archivo.lha
o
# lha l archivo.lha


Ficheros .arj

Comprimir:
# arj a archivo.arj ficheros

Descomprimir:
# unarj archivo.arj
o
# arj x archivo.arj

Ver contenido:
# arj v archivo.arj
o
# arj l archivo.arj

Ficheros .zoo

Comprimir:
# zoo a archivo.zoo ficheros

Descomprimir:
# zoo x archivo.zoo

Ver contenido:
# zoo L archivo.zoo
o
# zoo v archivo.zoo


Compartir un directorio rapidamente desde consola por HTTP


Para compartir por consola una carpeta por el protocolo HTTP tan sólo tienes que disponer de python (a parte de tener configurado el router bien en caso de tenerlo). Los pasos son muy sencillos:

En la carpeta que desees compartir tecleas:

$ python -m SimpleHTTPServer
Y desde este momento podrás acceder desde el navegador con http://tu_ip:8000 tan sencillo como eso.

Lo puedes probar con http://localhost:8000.





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

Comando find

142fc496eac1104b24ae30fdcb1cffa1
Hay multitud de archivos en nuestro ordenador. Buscar un archivo en particular puede ser un problema si somos desorganizados y/o no recordamos dónde está.
Afortunadamente, hay una linea de comando (disponible en cualquier sistema Linux) que nos va a salvar en estas situaciones: find.
Find es capaz de encontrar cualquier archivo dentro de nuestro sistema que coincida con los patrones que le indicamos. Bien utilizado es una herramienta potente que nos permite ahorrar tiempo y mantener a salvo nuestra paciencia.
Supongamos que deseamos buscar todos los archivos avi dentro de las carpetas personales de los usuarios(/home). Escribimos en el terminal:
find /home -name '*.avi'
Fíjate en la posición del asterisco. Esto hace que busque archivos con cualquier texto (*) y que terminen en .avi
Si estamos buscando vídeos, limitarnos al formato avi no es una buena idea. Ahora vamos a hacer una
búsqueda de todos los archivos .avi o .mpg:
find /home -name '*.mpg' -o -name '*.avi'
Un aviso: como ya sabrás, los sistemas Linux son sensibles a las mayúsculas y minúsculas. Las búsquedas
anteriores no muestran archivos en los que el texto AVI este escrito en mayúsculas. ¿Cómo hacer una
búsqueda que englobe todos los archivos sin distinciones de mayúsculas/minúsculas? Sustituimos -name por -
iname.
find /home -iname '*.mpg' -o -iname '*.avi'
Añadiendo más criterios
Estas búsquedas nos pueden devolver decenas o cientos de resultados, por lo que tal vez nos interesa afinar
más la búsqueda. El comando find nos brinda esta posibilidad.
Vamos a buscar los archivos avi con tamaño superior a 700MB:
find /home/ -name '*.avi' -a -size +700M
Y ahora, aquellos archivos que se han modificado en los últimos 15 días:
find /home/ -name '*.avi' -a -size +700M -mtime -15
Si no acostumbras a utilizar la terminal puede que te parezca un poco engorroso. Pero te aseguro que con un
poco de practica acaba siendo un método ágil y rápido.

Crear Alias


En ocasiones debemos escribir las mimas instrucciones una y otra vez, y ya sea por los parámetros como por
la sintaxis la línea de comandos se vuelve excesivamente larga y difícil de recordar.
Para solucionar esto podemos recurrir a utilizar alias para cuando trabajemos en una terminal o con scripts.
Abrimos una terminal y escribimos lo siguiente:
[$] sudo gedit $HOME/.bashrc
(o bien simplemente podemos utilizar ~ en lugar de $HOME)
Bajamos hasta el final del fichero, y debajo de donde aparece: “# some more ls aliases”
Podemos escribir nuestros alias con la siguiente sintaxis:
alias nombre_alias='conjunto_de_instrucciones -parametro1'
Por ejemplo, en algunas distribuciones como Ubuntu o Debian, la configuración por defecto deja como alias ls,
de modo que sobreescribe la instrucción con el mismo nombre.
Por lo que al escribir ls, en realidad procesa ls –color=auto
Es realmente útil si utilizamos de forma habitual apt:
alias api='sudo apt-get install'
alias aps='sudo apt-cache search'
alias apu='sudo apt-get update'
alias apg='sudo apt-get upgrade'
alias apd='sudo apt-get dist-upgrade'
alias apr='sudo apt-get remove'
Si no queremos desactivar algún alias que esté en uso, simplemente comentamos la línea usando #
#alias dir='ls --color=auto –format=vertical'
Para finalizar guardamos el fichero. Los cambios son efectivos al abrir una nueva terminal.

No hay comentarios:

Publicar un comentario