Sei sulla pagina 1di 17

Comandos bsicos para Ubuntu

man: aprende ms acerca de los comandos


El comando man debera estar en la cima de toda la lista de comandos importantes de Linux.
La razn es muy simple: basta con ejecutarlo para cargar una pgina de manual (man page)
acerca de los comandos del sistema, con definiciones no slo del uso de cada herramienta,
sino tambin descripciones detalladas de los numerosos parmetros del software y ejemplos
de uso.
Para leer las man pages es muy fcil y slo hay que ejecutar man seguido del nombre del
comando del que deseas buscar ayuda. No te olvides de pulsar la tecla Enter despus de
escribir el comando, en caso contrario no se ejecutar.
Al ejecutar man cp, por ejemplo, puedes leer todas las instrucciones para el uso del
comando cp. Y antes de pasar al siguiente elemento de la lista, valen dos consejos: el primero
es que existe el comando man man, para el caso de dudas sobre el uso del propio man. La
segunda es que es posible traducir el contenido de las pginas de manual al espaol, en caso
de que estn en ingls, instalando manpages-es a travs del Centro De Software de Ubuntu.

ls: lista de archivos


Para listar los archivos existentes en algn directorio, basta con utilizar el comando ls. Si se
ejecuta sin parmetros, se mostrar el contenido del directorio en el que te encuentras. Pero
puedes indicar un camino para ls, como ls /usr/bin, por ejemplo. Tambin es posible utilizar el
comando ls para ver el tamao y la fecha de creacin de cada archivo o carpeta. Para ello,
utiliza el parmetro -lh, como en el ejemplo siguiente: ls -lh.
Y si tambin quieres listar los archivos ocultos, que comienzan con un punto, utiliza la opcin -a
(ls -lha).

cd: navega por el sistema de archivos


Para ir de carpeta en carpeta, no es necesario abrir el administrador de archivos. En el propio
terminal, es posible navegar por el sistema de archivos usando el comando cd seguido del
camino que deseas seguir.
Ejemplo: cd /usr. Vale la pena sealar que hay algunos atajos que pueden facilitar la vida del
usuario. Si ejecutas el comando cd sin parmetros, te devuelve a la carpeta del usuario, que se
encuentra en /home. Para retroceder un nivel en el rbol de directorio, utiliza cd, sin las
comillas. De esta forma, si ests en /usr/bin y ejecutas cd, volvers al directorio /usr.

cp: copiar archivos y carpetas


Copiar un archivo desde la terminal tambin es algo sencillo. Utiliza el comando cp seguido del
archivo de origen y el destino, que puede ser tanto una nueva carpeta como un nuevo archivo
con un nombre diferente.
Ejemplo: cp archivo1.txt archivo2.txt o cp archivo1.txt pastanova/. Para copiar un directorio
entero, no te olvides de introducir el parmetro -r. Si quieres clonar una carpeta, utiliza cp -r
libro1 libro2, por ejemplo.
Os recomendamos la lectura del anlisis Ubuntu 16.04 LTS.

mv: mover archivos y carpetas


Para mover archivos, existe el comando mv que puede ser utilizado tanto para transferir
archivos como para cambiarles el nombre. Si deseas enviar el archivo de una carpeta a otra,
basta con seguir el ejemplo mv carpeta1/archivo1 carpeta2/. Si prefieres slo cambiarle el
nombre, utiliza mv archivo1 archivo2.

more: leer archivos de texto


En caso de que necesites leer el contenido de un archivo de texto, utiliza el
comando more seguido de la ruta de acceso y nombre del archivo, como en more
/home/user/archivo.txt.
Todo el contenido del archivo se mostrar en la terminal, llenando la pantalla con el texto. Para
continuar con la lectura, pulsa la barra de espacio y, en caso de que necesites volver una o
ms pginas, utiliza la tecla b. Si quieres salir antes del final del archivo, pulsa q.

df: comprobar el espacio en disco


Quieres saber cul es el espacio total y cuntos GB disponibles hay en cada particin del
sistema? Utiliza el comando df -h. La opcin -h, por cierto, quiere decir human-readable, o
sea, legible para los humanos. Si ejecutas el comando sin esta opcin, la informacin se
muestra en kilobytes y ser necesario convertirlas mentalmente a otras unidades.

sudo: permisos especiales


Por razones de seguridad, Linux trabaja con los permisos de los usuarios. Por eso, ciertos
comandos o archivos son accesibles slo por el propietario o por el usuario administrador
(root). Para que no tengas que cambiar de usuario, en todo momento, existe el comando sudo,
que garantiza credenciales de usuario root temporalmente, mediante la informacin de una
contrasea.
Para hacer el examen, trata de ejecutar el comando ls /root. Recibirs un aviso de permiso
denegado. A continuacin, ejecuta sudo ls /root. Despus de informar la contrasea de tu
propio usuario (en el caso de Ubuntu), el comando se ejecuta con normalidad, y los archivos de
la carpeta root se muestran en la terminal.

grep: bsquedas en textos


Imagina la siguiente situacin: tienes un archivo de texto con cerca de 200 nombres de los
alumnos de cierta escuela, pero no ests seguro de si el nombre de un alumno especfico est
en la lista.
El comando grep te ayuda a buscar a ese alumno y a hacer mucho ms con la ayuda de
expresiones regulares.
Basta con ejecutar el comando grep Nombre del Alumno archivo.txt para que el terminal
busque por el nombre que aparece dentro de la relacin. En caso de que no ests seguro de si
el nombre del alumno fue escrito respetando las maysculas, agrega el parmetro -i para
que grep pase a ignorar esta distincin durante la bsqueda.

clear: borrar el bfer


Por ltimo, un comando que ayuda a organizar un poco la confusin de letras que se
encuentran en la terminal despus de horas de uso. Para limpiar todo el bfer, ejecuta el
comando clear. Despus, slo hay que volver a usar el terminal normalmente, como si nada
hubiera pasado.
Hay que tener en cuenta que hay muchas ventajas en el uso del modo consola o un emulador
de terminal. El modo de texto de Linux ofrece ms libertad al usuario, que puede abusar de los
parmetros de cada comando, ejecutando acciones muy personalizadas.
Qu te parece nuestra gua rpida de los mejores comandos bsicos para Ubuntu? Como
siempre os recomendamos la lectura de nuestros tutoriales y ante cualquier duda podis
consultarnos.
Cmo actualizar Ubuntu desde
la terminal?
Para ello emplearemos el comando apt-get de dos formas diferentes:
Con el siguiente comando actualizaremos los repositorios de nuestro
sistema:

sudo apt-get update


Y que significa?

sudo -> Lo empleamos para obtener privilegios de ejecucin de superusuario.


apt-get -> Es el gestor de paquetes de Ubuntu.
update -> Accin para actualizar los repositorios del sistema.
Una vez actualizados los repositorios, procederemos a actualizar los archivos
disponibles con:

sudo apt-get upgrade


Y que significa?

upgrade -> Accin para comparar las versiones instaladas en el sistema con
las nuevas versiones disponibles en los repositorios, para descargarlas y
actualizarlas.

MANERAS DE INSTALAR SOFTWARE:

1. "Centro de Software de Ubuntu"


Es el ms simple e intuitivo de todos y segn van saliendo las nuevas versiones de Ubuntu, se le van
implementando ms funcionalidades. Es una autntica tienda de software, con ms de mil aplicaciones a
tu disposicin.

Para abrirlo, pulsamos en el Icono "Centro de Software", en la barra de lanzadores (Launcher) de la


izquierda o tambin podemos pulsar en el primer lanzador de la barra con el logo de Ubuntu, para abrir
el Tablero (Dash) y escribir / buscar: Centro de Software.

La aplicacin se divide en:

1. En las pestaas superiores tenemos las siguientes opciones "Todas las aplicaciones", "Instaladas" y el
"Historial".
2. A la izquierda tenemos las aplicaciones divididas en subcategoras.
3. En el Centro las aplicaciones divididas en "Ms recientes" y "Mejor valoradas".
4. Arriba a la derecha tenemos la opcin de Bsqueda.
Una vez elegido el paquete o aplicacin, podemos instalarlo directamente pulsando en el botn "Instalar".
Si queremos saber con ms detalle para que sirve la aplicacin, plugins a instalar y valoraciones y
comentarios de los usuarios, pulsamos en "Ms informacin".

Una vez instalada la aplicacin, el botn "Instalar" se convertir en "Desinstalar", para la desinstalacin
de la aplicacin.

2. Gestor de paquetes Synaptic


Synaptic es un avanzado sistema para instalar o eliminar aplicaciones de tu sistema. El entorno es grfico
y muy potente. Con Synaptic tienes el control completo de los paquetes (aplicaciones) instalados en tu
sistema, sus dependencias y desde aqu puedes seleccionar las diferentes versiones de los paquetes a
instalar segn las necesidades.

A partir de Ubuntu 12.04 no viene instalado por defecto y si queremos utilizarlo hay que instalarlo desde
el Centro de Software, buscando "Synaptic".

Para abrir Synaptic, pulsar en el primer lanzador de la barra con el logo de Ubuntu, para abrir el Tablero
(Dash) y escribir / buscar: Gestor de paquetes Synaptic.

Este gestor de paquetes nos permitir instalar, reinstalar y eliminar paquetes de una forma grfica muy
sencilla.

La pantalla de Synaptic est dividida en 4 secciones.

Las dos ms importantes son la lista de categoras (1) en el lado izquierdo y la de los paquetes (3) en el
lado derecho.

Al seleccionar un paquete de la lista se mostrar una descripcin del mismo (4).


Para instalar un paquete puedes seleccionar una categora, pulsar con el botn derecho en el paquete
deseado y seleccionar marcar para instalar o hacer doble-click en el nombre del paquete.

Marca de esta forma todos los paquetes que desees instalar en el sistema y pulsa Aplicar para proceder a
su instalacin. Synaptic descargar ahora los paquetes necesarios desde los repositorios en internet o
desde el CD de instalacin.

Tambin puedes usar el botn Buscar para encontrar los paquetes que desees instalar.

Pulsando en el botn de buscar, podremos realizar bsquedas de programas mediante su nombre o


descripcin. Una vez localizado el programa que deseamos instalar hacemos doble clic sobre l para
instalarlo. Si queremos eliminar un programa bastar con pulsar con el botn derecho encima de ste y
seleccionar eliminar o eliminar por completo.

Para que se apliquen los cambios es necesario pulsar en el botn de Aplicar.

El sistema de instalacin de software en Ubuntu es muy potente y verstil. Dentro de los repositorios las
aplicaciones estn organizadas en "paquetes". Cada paquete tiene otros de los que depende para su
correcto funcionamiento. Synaptic se encarga de resolver estas dependencias e instalar los paquetes
necesarios por ti. Pero no slo eso. En los paquetes de aplicaciones tambin se indican otros paquetes que
aunque no son necesarios para que funcione la aplicacin que queremos instalar si son de utilidad. Estos
son los "paquetes recomendados".

Podemos configurar Synaptic para que considere esos paquetes "recomendados" como si fuesen
dependencias y as los instalar tambin automticamente.

Arranca Synaptic y ve a Configuracin -> Preferencias, en la Pestaa General marca la casilla


"Considerar los paquetes recomendados como si fuesen dependencias".

4. Comandos apt-get (apt) y aptitude en una terminal o consola


Aunque podemos instalar programas de forma grfica como hemos visto en los puntos anteriores, siempre
podemos recurrir a la terminal para instalar cualquier programa.

A muchos usuarios noveles esta opcin les puede parecer un poco ms complicada y algo crptica. Nada
ms lejos de la realidad; cuando uno se acostumbra es mucho ms cmodo, fcil, potente y rpido.

Nota: La mayora de las guas de instalacin de aplicaciones en este blog vienen explicadas con el uso de
la Terminal.
Existen dos comandos para instalar programas en modo texto: con apt-get (apt) o con aptitude.

Ambos programas son muy similares, pero nos vamos a centrar en el apt-get.

Actualizacin: A partir de Ubuntu 14.04 se puede sustituir "apt-get" por simplemente "apt".

La instalacin de software es una tarea administrativa y por ello hay que que utilizar el comando "sudo",
anteponindolo a "apt-get" o "aptitude".

Uso: Abrimos una terminal pulsar en el primer lanzador de la barra con el logo de Ubuntu, para abrir el
Tablero (Dash) y escribir / buscar: Terminal. Tambin se abre pulsando la combinacin de
teclas Ctrl + Alt + T

Nota: los paquetes con nombres compuestos traen un guin entre las palabras: Ej: compizconfig-settings-
manager

* Instalar paquetes:

sudo apt-get install nombre_paquete

* Instalar varios paquetes a la vez dejando un espacio en blanco entre ellos ej.

sudo apt-get install gnome-do pidgin amsn

* Desinstalar paquetes:

sudo apt-get remove nombre_paquete

* Desinstalar paquetes (incluyendo archivos de configuracin):

sudo apt-get remove --purge nombre_paquete

* Actualizar la lista de paquetes disponibles:

sudo apt-get update

* Actualizar el sistema con las actualizaciones de paquetes disponibles:

sudo apt-get upgrade

* Obtener una lista de opciones del comando:

sudo apt-get help

Despus de poner el comando: Le damos al "Enter" y ponemos la contrasea, que por seguridad no veris
al teclearla, pero S se est escribiendo y le volvemos a dar al "Enter".

Nos preguntar si queremos seguir, le decimos que SI y damos al "Enter".

Ms informacin en: http://www.ubuntu-guia.com/2011/01/comando-apt-get-en-


ubuntu.html

5. Paquetes con extensin .deb


Otra forma de instalar aplicaciones en el sistema es por medio de los paquetes ya preparados para ser
instalados y con extensin .deb.
Para instalar estos paquetes slo tienes que hacer doble click sobre el fichero en el navegador Nautilus y
automticamente se lanzar el "Centro de Software" o la aplicacin gdebi (si la tenemos instalada), que se
ocupar de instalar el paquete y buscar las dependencias de otros paquetes que pudiera necesitar para su
correcta instalacin.

Si lo preferimos, tambin se pueden instalar mediante la lnea de comandos, mediante el comando dpkg:

sudo dpkg -i nombre_del_paquete.deb

El mismo comando tambin se puede usar para desinstalar el paquete:

sudo dpkg -r nombre_del_paquete

Convertir ficheros .rpm a .deb

Algunas distribuciones de Linux, como por ejemplo Red-Hat y Mandriva, usan paquetes .rpm,
organizados de manera diferente a los paquetes .deb de Debian y Ubuntu.Para instalar estos paquetes es
preciso convertirlos antes a .deb. Para ello se usa la aplicacin "alien". Se puede instalar via Synaptic o
Terminal con apt-get.

Uso: Abre una terminal (Aplicaciones Accesorios Terminal) y ejecutar la siguiente instruccin:

sudo alien nombre_del_paquete.rpm

De esta forma el programa crea un fichero con el nombre del paquete, pero con extensin .deb, que se
podr instalar siguiendo la explicacin Paquetes con extensin .deb

6. Archivos con extensin .bin


Los archivos con extensin .bin son archivos binarios. No contienen un conjunto de programas o libreras
como los paquetes, sino que son el programa en s mismo.

Normalmente se suelen distribuir bajo este sistema programas comerciales, que pueden ser o no gratuitos,
pero que normalmente no son libres.

Cuando descargas un fichero de este tipo de internet y lo guardas en tu sistema, no tendr permiso para
ejecutarse. Para drselos:

Lo primero que debes hacer, por consiguiente, es dar a ese fichero el permiso para ejecutarse. Para ello
pulsa con el botn derecho sobre l y elige la opcin Propiedades. En la pestaa Permisos, vers que el
fichero tiene permisos de lectura y escritura para el propietario pero no para ejecucin. Activa la casilla
"permitir al archivo ejecutarse como un programa" y cierra la ventana.

Ahora que ya has dado permiso al fichero para poder ejecutarlo haz doble clic. Al hacerlo te aparecer
una ventana dndote varias opciones.
Elije ejecutar.

Para realizar esto mismo desde un terminal:

Damos permisos de ejecucin con el comando.

sudo chmod +x [nombre_binario].bin

Instalamos el archivo binario con el comando:

sudo ./[nombre_binario].bin
7. Paquetes con extensin .sh
Los archivos .sh son scripts y para ejecutarlos en el sistema, hacemos doble click sobre ellos y
seleccionamos "ejecutar desde terminal" y si alguno no funciona ejecutamos en una terminal el comando:

bash nombre-paquete.sh

Manera tradicional para todos los GNU-Linux:

Abrimos una terminal, nos situamos en la carpeta donde est el archivo con el siguiente comando:

cd direccion

Damos permisos con:

chmod +x nombrepaquete.sh

Y ejecutamos el script con:

./nombrepaquete.sh

Si necesitamos hacerlo como root, anteponemos "sudo" al comando:

sudo ./nombrepaquete.sh

8. Archivos de extensin .run


Los archivos .run son asistentes, normalmente grficos, que ayudan a la instalacin. Para ejecutarlos basta
con introducir en el terminal:

sh ./[archivo].run

Normalmente en el caso de que necesite permisos de superusuario (administrador) pedir la contrasea;


de no ser as basta con ejecutar en el terminal:

sudo sh ./[archivo].run

9. Instalar a partir del cdigo fuente (Compilar)


Paquetes con extensin (.tar.gz) (.tar.bz2)

A veces se encuentran aplicaciones que no proporcionan paquetes de instalacin, y hay que compilar a
partir del cdigo fuente. Para ello, lo primero que hay que hacer en Ubuntu es instalar un meta-paquete
llamado build-essential. Para ello, abrir una terminal y ejecutar los siguientes comandos:

sudo apt-get update


sudo apt-get install build-essential
Tambin podemos necesitar instalar las libreras de desarrollo del kernel, necesarias para determinados
paquetes:
sudo apt-get install linux-headers-`uname -r`

Nota: debemos de tener en cuenta que estos paquetes pueden tener formas diferentes de empaquetado
(con archivos diferentes) y por lo tanto maneras diferentes de instalacin, por lo que si hay algn archivo
como "readme, leadme o txt", debemos leerlo antes de nada por si nos dice la forma de instalacin.

En general, los pasos a seguir para compilar una aplicacin son los siguientes:

1. Descargar el cdigo fuente (.tar.gz o .tar.bz2).

2. Como vemos, por la extensin .gz o .bz2 son archivos comprimidos, por lo que descomprimimos el
cdigo con Click derecho sobre l y elegimos "extraer aqu", creando una carpeta con el cdigo.

3. Entrar en el directorio creado al descomprimir el cdigo con el comando cd. Por ejemplo si lo hemos
descargado en el Escritorio, ponemos en la terminal ->

cd Escritorio/nombre_carpeta_descomprimida
Nota: Ponemos el nombre exacto de la carpeta descomprimida.

4. Ejecutar el script "configure" que sirve para comprobar las caractersticas del sistema que afectan a la
compilacin, configurando la compilacin segn estos valores, y que crea el archivo makefile (algunos
paquetes ya lo traen) ->

./configure

5. Ejecutar el comando make, encargado de la compilacin.

make

6. Ejecutar el comando, que instala la aplicacin en el sistema:

sudo make install

O mejor an, instalar checkinstall con el comando:

sudo apt-get install checkinstall


Y ya podemos ejecutar:

sudo checkinstall

El uso de checkinstall tiene tambin la ventaja de que el sistema tendr constancia de los programas
instalados de esa forma, facilitando tambin su desinstalacin.

Os dejo un ejemplo completo de ejecucin de este procedimiento:


Nos descargamos el paquete sensors-applet-0.5.1.tar.gz en el Escritorio:

Descomprimimos y obtenemos la carpeta sensors-applet-0.5.1

En la terminal nos situamos en la carpeta descomprimida:

cd Escritorio/sensors-applet-0.5.1
Compilamos e instalamos:

./configure
make
sudo make install
Este ltimo comando lo podemos cambiar por:

sudo checkinstall
Cosas que se pueden hacer en la terminal de Ubuntu Linux

Servidores

Montar un servidor FTP rpido

sta es una solucin para un apao, para el caso en que necesitemos activar un servidor FTP
para pasar un fichero a alguien, o para que nos pasen algn fichero o por ejemplo por si
queremos instalar un plugin en WordPress rpidamente y somos unos paranoicos de la
seguridad (y por tanto no queremos dejar un servidor FTP corriendo siempre).
Dependencias: python y pyftpdlib

1 $ sudo python -m pyftpdlib

Si queremos lanzar el servidor en un puerto diferente al 21:

1 $ sudo python -m pyftpdlib -p2121

Si adems queremos dar permisos de escritura en la carpeta actual:

1 $ sudo python -m pyftpdlib -p2121 -w

Sacar listado de las ips que ms han visitado una web


servida por Apache

Dependencias: Apache
Si queremos conocer las direcciones que ms han entrado hoy nuestro servidor.

cat /path/to/access.log |awk '{print $1}' |sort |uniq -c |sort -


1
n |tail

Podramos cambiar el cat por tail -n X, as vemos slo las ltimas visitas.
Fuente: Count IP Addresses in Access Log File

Descargar una URL cambiando el User-agent

Para ver con los ojos de un robot, o para hacer pruebas con nuestros scripts:
$ curl -A "Mozilla/5.0 (compatible; bingbot/2.0;
1
+http://www.bing.com/bingbot.htm)" http://mi-web.com

As me disfrazo del robot de rastreo de Microsoft

Borrar todas las bases de datos de un servidor MySQL


excepto mysql, test e information_schema

A veces, necesitamos limpiar un servidor de base de datos, o quitar todas las tablas menos
algunas:
Dependencias: MySQL

mysql -uroot -p[password] -e "SHOW DATABASES" grep -


1 v 'Database\|mysql\|test\|information_schema' | awk '{print "DROP
DATABASE " $1 ";select sleep(0.1);"}' | mysql -uroot -p[password]

Si no queremos poner el password de la base de datos en la lnea de comandos, nos lo pedir


dos veces.

Barra de progreso al importar datos a MySQL

Cuando tenemos gran cantidad de datos para importar, muchas veces nos ponemos de los
nervios al ver que no acaba, y como no sabemos cunto queda, nos frustramos y
desesperamos. Para ello, tengo varias soluciones, una sin entorno grfico (para servidores) y
otra con l (para escritorio)

Dependencias: mysql, pv

1 $ pv -n backup.sql | mysql -uroot -ppassword base

Y ahora con entorno grfico, vamos con barra de progreso y notificacin al final:
Dependencias: mysql, pv, zenity, notify-send

$ (pv -n backup.sql | mysql -uroot -ppassword base) 2>&1 | zenity -


1 -progress --auto-close --title "Importando..." ; notify-send "La
importacin de base de datos ha terminado"
Adminsitracin

Mdulos del kernel instalados en el sistema

En muchas instalaciones podemos pedir el listado de mdulos instalados en el sistema con:

1 $ modprobe -l

Pero en otros sitios no funciona. De todas formas, es un listado de archivos con


extensin .ko a partir de una ruta especfica, as que:

1 $ find /lib/modules/$(uname -r)/ -iname "*$1*.ko*" | cut -d/ -f5-

Dibujar un rbol jerrquico de archivos y directorios


(tree)

Bueno, el caso es hacer algo parecido al comando tree sin tener el comando tree.

$ ls -R | grep ":$" | sed -e 's/:$//' -e 's/[^-][^\/]*\//--/g' -


1
e 's/^/ /' -e 's/-/|/'

Fuente: Tree

Borrar una estructura de archivos y directorios en una


carpeta a parte

No s cmo explicar esto, es un poco difcil, imaginemos que estamos dentro de un directorio
X que tiene unos archivos y unos directorios dentro, luego tenemos un directorio Y que tiene
lo mismo que X junto con ms cosas.
El caso tpico es la instalacin a mano de plugins en ciertos programas. El plugin tiene muchos
archivos que se copian junto con otros archivos del programa, por lo que tendremos los
archivos del programa y el plugin mezclados.
Lo que queremos hacer es borrar el plugin:

function deltwin() { FILE=${1:2}; DPATH=$3; COMMAND=$2; $COMMAND $DP


1 ATH$FILE; }; find . | while read file; do deltwin "$file" rm "/dire
ctorio/de/programa"; done
Para usar esto, nos ponemos en el directorio que contiene la estructura que queremos borrar
(pero la queremos borrar de /directorio/de/programa).

Cambiar stack size sin ser root (o cualquier cosa de


ulimit)

Tal vez queremos cambiar algn parmetro de ulimit dentro del usuario actual y nos deniega
el permiso. Puesto que ulimit no tiene ejecutable asociado, no podemos usarlo directamente
con sudo. Y si nos hacemos root, no somos el usuario que queremos ser

Dependencias: sudo configurado y usuario en sudoers.

1 $ sudo sh -c "ulimit -s 8192000 && exec su user"

Sacar un listado de directorios ordenados por


tamao

Muy til cuando nos estamos quedando sin sitio en el disco y no sabemos dnde se nos ha
ido. Aunque tarda un montn si nuestro disco es grande.

1 du -kx | egrep -v "\./.+/" | sort -n

Listar los archivos ms grandes dentro de todas las


carpetas

Encuentra todos los archivos a partir de la ruta actual y los ordena por tamao. Alguna vez
he encontrado un .iso perdido en mi hdd que no haca ms que comer espacio.

1 find ~ -type f -exec ls -s {} \; | sort -n

Reiniciar un dispositivo de entrada en Linux

En ocasiones, puede que un ratn / touchpad u otro dispositivo de entrada deje de funcionar
correctamente en nuestro servidor X. Para ello, primero averiguamos el ID del dispositivo
con:
1 $ xinput

Luego hacemos:

1 $ xinput disable ID
2 $ xinput enable ID

Nos podemos ahorrar muchos reinicios innecesarios con esto.

Cambiar el ttulo de una ventana bajo el ratn

Escribimos el nombre, hacemos click en la ventana y tendr otro nombre. Muy til para
organizar nuestro escritorio.
Dependencias: zenity, wmctrl

$ zenity --entry "Titulo de la ventana" | xargs -


1
i /usr/bin/wmctrl -r :SELECT: -N "{}"

Comprimir un tar.gz en multi-hilo

Cuando creamos un archivo tar.gz con

$ tar cvzf archivo.tar.gz archivo_a_comprimir1 archivo_a_comprimir1


1
...

la compresin se realiza en un slo ncleo del procesador por lo que, cuando hay gran
cantidad de datos, la compresin puede ser muy lenta. Pero podemos utilizar pigz para
comprimir, si tenemos varios procesadores o varios ncleos, podremos aprovecharlos todos
para realizar la compresin. Y es tan fcil como:

1 $ tar -I pigz -vcf archivo.tar.gz [archivos a comprimir]

Es lo mismo pero sustituyendo el argumento z por el comando que queremos utilizar para
realizar la compresin. Si por ejemplo quiero comprimir mi carpeta de documentos y
descargas:

$ tar -I pigz -vcf documentos_y_descargas.tar.gz


1
Documentos/ Descargas/

Para descomprimir, como siempre, en lugar de usar c, usamos x:


1 $ tar -I pigz -vxf documentos_y_descargas.tar.gz

Cifras y letras

Bsquedas en un archivo con contexto

Con la siguiente instruccin podemos buscar un patrn dentro de un fichero y veremos 3


lneas por arriba y 3 lneas por abajo. Muy til para no perdernos cuando buscamos en textos
muy extensos.

1 $ grep -C3 patron fichero

Por cierto, el patrn puede ser un texto sencillo o una expresin regular.

Sacar N dgitos del nmero PI

Una frikada en toda regla

1 $ echo "scale=N; a(1)*4" | bc -l

Donde N=10, 100, 1000, 12345 no lo hagis muy grande porque puede tardar mucho
tiempo

Obtener un nmero aleatorio

Es nuestro dado para la terminal:

1 head -c 1 /dev/random | od -An -td | sed 's/\s*\(.*\)\s/\1/g'

Ya que slo sacamos un byte, el nmero ms grande ser 255, pero podemos sacar nmeros
ms grandes aumentando el valor. Si pedimos ms de 4 bytes, el resultado se dividir en dos
nmeros.
Fuente: Cdigo para llevar

Extraer una cadena de texto aleatoria

1 $ echo "$(dd if=/dev/urandom bs=30 count=1 2> /dev/null)"

Si te parece demasiado aleatoria, dmosle caracteres ms normales


$ echo "$(dd if=/dev/urandom bs=64 count=1 2> /dev/null)" | tr -
1
dc 'a-zA-Z0-9'

Tambin lo podemos hacer con openssl:

1 $ openssl rand -base64 32

Esta forma puede dar el siguiente error: unable to write random state, normalmente se debe
a que el archivo $HOME/.rnd es propiedad de otro usuario, como puede ser root.

Crear un comando rot13 para consola

Diversin sin lmites codificando mensajes con el algoritmo rot13:

1 alias rot13="tr a-zA-Z n-za-mN-ZA-M"

As podremos hacer lo siguiente:

$ echo Hola mundo! | rot13


Ubyn zhaqb!
$ echo Ubyn zhaqb! | rot13
Hola mundo!

Quieres hacer un rot47? Puedes hacer (ten cuidado, tienes que escapar los !):

1 alias rot47="tr '\!-~' 'P-~\!-O'"

Y la cosa quedar as:

$ echo Hola Mundo! | rot47


w@=2 |F?5@P
$ echo w@=2 |F?5@P | rot47
Hola Mundo!

Reemplazar espacios por guiones bajos slo en el


texto entrecomillado

$ echo "<a href="http://miweb.com/una">Una ruta con


1 espacios</a>" | awk 'BEGIN { FS = """; OFS=""" } { gsub("
","_",$2); print }'
En el ejemplo se ve muy claro, slo cambiamos los espacios de la URL que est entre
comillas.

Potrebbero piacerti anche