domingo, 28 de diciembre de 2014

Saber qué versión de un programa instalado en GNU/Linux

Hoy toca hacer otro pequeño tutorial, hay que saber si el programa que tenemos instalado es la última versión del programa o no, por el tema de si toca actualizarlo... pues tenemos un código para la terminal para saberlo

He sacado este tutorial de la siguiente página:

Enlace a paraisolinux

Adelante:


En GNU/Linux estamos acostumbrados a las actualizaciones de programas, gracias a que existen los repositorios, casi siempre tenemos la última versión de cada programa haciendo un simple update.

Pero a veces pudes tener alguna razón para saber que versión de tal programa está instalado.

Ejemplo, quieres instalar firefox, pero antes quieres saber si tienes la última versión instalada. Lo más fácil es ir al programa en cuestión, y en alguno de los menus superiores dirá algo como, "Ayuda", y dentro de ese menú, algo como "About" o "Acerca de...".

Pero a veces los programas no tienen eso, en especial si son para la consola, o tal vez estamos buscando versiones de otra clase de paquetes, como el entorno de ventanas.

La manera de hacerlo es sencilla. En la consola escribimos:

firefox --version

Seria igual para otros programas, openbox, por ejemplo:

openbox --version

A veces no sale con sólo escribir el nombre del programa y hay que escribir su ruta completa. Por ejemplo con geany

/etc/bin/geany --version

En distribuciones basadas en debian, como ubuntu, también podemos usar:

sudo dpkg -l | grep ^ii | grep gnome




Y hasta aquí este nuevo tutorial, que para la posteridad quede.

lunes, 24 de noviembre de 2014

Crear y eliminar enlaces simbólicos

Hoy toca hacer un pequeño tutorial para crear enlaces simbólicos, ganas en comodidad, por el asunto de que algunas carpetas están ocultas, pero que a veces necesitas meterte para cambiar algún parámetro o algo así, que si lo haces tú manualmente, no pasa nada, pero si tienes que buscar esas carpetas a través de un programa, no los encuentras, porque los programas no pueden meterse en esas carpetas.

El tutorial lo he sacado de la siguiente página:

http://perdigue.wordpress.com/2009/02/17/crear-un-enlace-simbolico-en-linux/

Y ahora, empezamos con el tutorial:


Un ”enlace simbólico” es el equivalente a un ”acceso directo“, así de simple, y su uso en GNU/Linux es muy importante, dado que si por ejemplo queremos dar acceso a un usuario a una determinada carpeta, pero no de forma directa, lo mas fácil es crearle un enlace simbólico en su directorio /home/<usuario>, para que acceda a dicho contenido sin que que tenga porqué estar navegando o accediendo a partes del sistema que no queremos.

El caso mas común es el siguiente. Imaginaros que creamos un usuario FTP, con acceso a su /home/<usuario>, e imaginaros también, que ese usuario tiene que publicar contenido web dentro de la carpeta /var/www, o a la carpeta /opt/lampp/htdocs donde se ubicarán nuestros sitios web.

Pues la solución a este problema la tenemos con los enlaces simbólicos, dado que lo único que temos que hacer, es crear una carpeta llamada por ejempo www, dentro de su /home por tanto:

/home/<usuario>/www

Y haremos que su directorio web, dentro de /opt/lampp/htdocs, esté enlazada con esta.

Con esto se consigue que puedas utilizar la carpeta creada en tu usuario como la carpeta raíz de tu servidor web, que es lo que queremos nosotros para tener un correcto nivel de seguridad en nuestro equipo.

Para realizar todo esto, lo haríamos por tanto con el comando ”ln“, que es el que GNU/Linux se utiliza para crear estos enlaces. Así pues, la forma de utilizar este comando con el ejemplo que he expuesto, sería la siguiente:

Para publicar ficheros en el servidor web, se crea una carpeta llamada por ejemplo /home/<tu_usuario>/www

$ cd /home/<tu_usuario>
$ mkdir www

Posteriormente creamos un enlace simbólico de esta carpeta en /var/www/<tu_usuario>

$ sudo ln -s /home/<tu_usuario>/www /opt/lampp/htdocs/www
Ccon esto se consigue seguridad, y que todo lo que publiques en tu carpeta www de tu directorio personal se vea automáticamente en la página web dentro del directorio de tu usuario).

Como véis, he puesto un ejemplo muy práctico si tenéis instalado xampp, pero se os pueden ocurrir mil ideas, y ahora que ya conocéis el comando, eso ya depende de vosotros.

Pero ahora imagínate que la carpeta que has creado te deja de ser útil, o que te equivocas, entonces te toca eliminar la carpeta:

$ rm www

Fácil y sencillo.

miércoles, 8 de octubre de 2014

Alojar nuestro dominio .tk en Hostinger

Esto no tiene nada que ver con GNU/Linux ni nada, pero es una cosilla que también quiero tener apuntada, por si acaso en alguna ocasión me viene bien.

El tutorial lo pillo de la siguiente página:

http://webgratis.tk/2012/manual-como-crear-una-web-gratis-con-dominio-tk/


Venga, ahora empezamos con el tutorial:


1º: Vamos a http://www.dot.tk/es/pageB00.html y nos creamos un dominio:


En este ejemplo usamos “mi-dominio.tk” que esta libre, despues de registraros, buscar vuestro propio nombre de dominio, la mayoria de los dominios TK son Gratis, pero hay una lista de dominios premiun que si nos cobraran, Nosotros cuando encontremos uno disponible, seleccionamos la opcion de “dominio gratuito” y procederemos a enlazarlo a nustro Hosting Gratuito, para lo cual seleccionamos “use my own DNS Services” e introducimos las DNS del Hosting Gratuito Hostinger que vamos a usar, estas son: “ns1.hostinger.es” y “ns2.hostinger.es”  , mas abajo seleccionamos el periodo de registro, ponemos 12 meses, introducimos el captcha y confirmamos, ya tenemos un dominio tk registrado.

Lo que yo no sé es si cuando hayan pasado esos 12 meses, te dejarán renovarlo gratuitamente igual, en fin, cuando lo sepa ya actualizaré esta entrada.


2º: Pero, ¿y qué pasa si ya tienes registrado un dominio .tk? Vale, tienes la siguiente ruta:

Domains->My Domains->Manage Domain->Management Tools->Name Servers

Una vez allí, tienes que apuntar los DNSs de Hostinger en donde están los "Nameserver":


Perfecto, ahora queda indicárselo todo a Hostinger.

3º: Ahora nos vamos a Hostinger y vamos a crear una cuenta gratuita de hosting, al registrarnos seleccionaremos “dominio” e introducimos el nuestro que registramos antes, aceptamos y ya esta!! cuando se propagen los DNS por la red (2-12hr) podremos acceder a nuestro dominio desde un navegador de internet y empezar a trabajar con el:



4º: Cuando los DNS estén listos y el dominio que hemos elegido antes ya nos lleve a la web de hostinger, accederemos a nuestra cuenta y buscaremos en el panel web “Sitios Web/ Instalador Automatico” donde tendremos un montón de sistemas de blog, wikis, portales web, tiendas online, foros…



5º: Buscamos e instalamos automáticamente el que mas se adapte a nuestro proyecto, en un par de clicks tendrás la web instalada y funcionando, lista para configurar y empezar a editar estilos y crear contenido, pero eso lo veremos en un próximo manual para los sistemas mas usados como son blogs de wordpress, foros phpbb3 o tiendas online con prestashop, pero por ahora ya puedes entretenerte un poco.






Y ya está, la verdad es que los dos últimos pasos los veo bastante innecesarios, por lo menos para lo que son mis necesidades actuales, pero bueno, como el saber no ocupa lugar, pues ahí queda.

miércoles, 10 de septiembre de 2014

Qué hacer para dejar "niquelao" Kubuntu 14.04

Voy a poner una guía bastante interesante de qué cosas hacer para que mi Kubuntu quede en las mejores condiciones para ser utilizado sin problemas ni nada.

Esta guía está sacada de este enlace:

http://diversidadyunpocodetodo.blogspot.com.es/2014/04/despues-instalar-kubuntu-1404-lts-configuracion-software-codecs-grafica.html

Bien, y ahora vamos con la guía.



Después de instalar Kubuntu 14.04 LTS. Instalación y configuración de software y algunas cosas que debemos saber.


Contenido: Configurar teclado. Actualización sistema. Gestor de software Muon. Configurar repositorios. Software del sistema. Codecs multimedia, tipografías, openJDK, compresores. Tarjeta gráfica. Cortafuegos UFW. Gestión de particiones, permisos y configuración para que se monten en el arranque. Crear un usuario. Configuración de KDE.

Aunque soy usuario de Kubuntu no he actualizado a la versión 14.04 desde la 12.04, sino que he hecho una instalación limpia, desde cero, lo prefiero así. Llevo unos pocos días configurándola, completando el software, comprobando esto y aquello, y trabajando en “mis cosas”. Como cabía esperar, y dado que es una versión LTS de Ubuntu con Kernel 3.13, entorno de escritorio KDE Workspaces 4.11, también LTS, KDE Aplications 4.12, y, por supuesto, el buen hacer de los desarrolladores y de la comunidad Kubuntu, pues estamos ante un sistema operativo -disculpen mi entusiasmo- espectacular, excelente, en el que nos sentiremos muy “confortables” y que nos hará la vida más fácil y divertida.


1. Introduciendo el tema

Como es costumbre en este blog, expondré lo que hago en la post-instalación para configurar y completar el sistema a modo de guía. En principio va dirigida a usuarios noveles aunque también a los no tan noveles que les puede ser útil como “chuleta” o recordatorio. Sobre todo para los primeros también he puesto enlaces a lo largo del texto sobre temas básicos que creo “debemos saber” para sacar el mayor partido posible a Kubuntu y, por otro lado, es una información útil también para otras distribuciones Debian/Ubuntu.


1.1. Configurar Teclado

El teclado, y según la marca que sea, puede no estar configurado correctamente. Abre LibreOffice Writer, escribe, utiliza guión, acentos y demás símbolos (?, !, “, {, etc), si no funciona correctamente lo solucionamos rápidamente. En mi caso el teclado que tengo es Logitech y he tenido que configurarlo.

Vamos a:

Preferencias del Sistema>Hardware>Dispositivos de entrada>Teclado

En “Modelo de teclado” está seleccionado “Generic PC genérico 101 teclas”, picamos en el desplegable, y buscamos el nuestro, lo seleccionamos y “Aplicar”. En mi caso me vale con “Logitech, teclado genérico”. Ya podemos escribir correctamente para comunicarnos con el sistema.


1.2. Actualizar el sistema

Recién abierto Kubuntu, y al igual que en otras distribuciones, lo primero que se tiene que hacer es actualizar el sistema, que es también lo que siempre se tiene que hacer justo antes de instalar paquetes. Si durante la instalación marcastes la opción “Actualizar paquetes”, esto no será necesario, pero sí no es así, o en cualquier caso, vamos a ello:

Abrimos la terminal:

Sistema>Konsole (Terminal)

Y escribimos lo siguiente:

$ sudo apt-get update
$ sudo apt-get upgrade

Como es posible que haya actualizaciones de la versión del kernel:

$ sudo apt-get dist-upgrade


1.3. El gestor de software de Muon


1.3.1. Instalar el gestor de paquetes (o de software) Muon

Está instalado el Gestor Actualizaciones Muon pero no el Gestos de Paquetes Muon. También viene instalado Muon Discover que es muy práctico y visual para buscar e instalar aplicaciones, pero no sustituye completamente al gestor de paquetes Muon que nos será muy útil. En terminal tecleamos:

$ sudo apt-get install muon


1.3.2. Echemos un vistazo a las fuentes de software y configuremos algunos temas en Muon

Vamos a:

Sistema>Gestor paquetes Muon>Preferencia>Configurar las fuentes de software

En la pestaña “Software de Kubuntu” estarán marcados los 4 repositorios: main, universe, restricted y multiverse. Si no fuera así los marcas para que estén disponibles todos los paquetes oficiales de la distribución.

En la pestaña “Otro software” tenemos “cdrom: ...” desmarcado, y así está bien ya no lo necesitamos. “Independiente” que estará marcado, sí no es así lo marcas. “Socios de Canonical” lo marcamos ya que nos proporcionará los paquetes adobe-flashplugin y skype. Tanto en este repositorio como en “Independiente” podemos desmarcar “Código fuente”. Picamos en “Cerrar" y se actualizarán los repositorios.

En la pestaña “Actualizaciones” la actualización automática debe estar marcada, podemos cambiar la periodicidad (1 día, 2 días, etc.), o también desmarcarla y hacerla manualmente por terminal cuando en cada momento lo creamos oportuno. En lo demás podemos dejar la configuración por defecto.


1.3.3. Actualizar el sistema con Muon

Actualizar el sistema (Lo que hicimos por terminal, apartado 2) lo podemos hacer también gráficamente en la ventana principal de Muon:

Picamos en “Comprobar actualizaciones” (equivalente a apt-get update) y seguidamente “Aplicar cambios” si hay actualizaciones (equivalente apt-get upgrade).


1.3.4. Añadir el repositorio Kubuntu-ppa Backports para mantener actualizado KDE

Kubuntu-ppa Backports es el repositorio de la Comunidad para mantener actualizado KDE:

$ sudo add-apt-repository ppa:kubuntu-ppa/backports

P:D: A mí así no me funcionaba, así que tuve que quitar el "blackports", así que yo escribí esto (que sí que me funcionó, lógicamente, sino no sé para qué lo iba a poner):

sudo add-apt-repository ppa:kubuntu-ppa


1.4. Instalar software del sistema

En algún momento para instalar alguna aplicación o para alguna configuración puede que necesitemos algunos paquetes, bien nosotros para ejecutar alguna acción o bien el sistema sin que seamos consciente de ello, así que al menos instalemos estos.

$ sudo apt-get install linux-headers-$(uname -r)

$ sudo apt-get install build-essential checkinstall dpkg make automake cmake autoconf git git-core gksu

Las cabeceras del kernel (El primer paquete “headers”) y make y dpkg lo normal es que ya estén instalados, pero, bueno, nos aseguramos, y si están, el sistema nos infomará que “ya están en su versión más reciente”.


1.5. Tarjeta gráfica, aceleración 3D y efectos de escritorio

Kubuntu debe haber detectado nuestra tarjeta gráfica y automáticamente haber instalado los drivers libres, que, por otro lado, son los recomendados por la distribución. En mi caso, y como siempre, así ha sido y funciona correctamente. Mi tarjeta gráfica es AMD/ATI. En cualquier caso, se puede uno pasar por:

Preferencias del sistema>Administración del sistema>Driver Manager

Y aquí podrías seleccionar el controlador privativo, que en mi caso sería fglrx, pero como digo me quedo con el recomendado que es el libre. Para comprobar que todo funciona correctamente configuro el “Cubo de escritorio” , y la “Selección de ventana en modo carátula”


1.6. Codecs multimedia, tipografías, Java y compresores

1.6.1. Algunos codecs multimedia así como las tipografías de Microsft pueden estar disponibles en nuestro sistema instalando el siguiente paquete:

$ sudo apt-get install kubuntu-restricted-extras

Durante la instalación, concretamente de las tipografías de Microsoft, se abrirá una ventana pidiendo el acuerdo de licencia, tenemos que teclear la tecla Tab (tabulador) que se selecciona y colorea de rojo “Aceptar”; pulsamos la tecla “Enter”. En la siguiente ventana por defecto está seleccionado “No”, con la tecla Tab conmutamos entre esta y “Si”; seleccionamos “Si” y “Enter”, y la instalación continuará.


1.6.2. Para añadir soporte de DVDs encriptados, abrimos una terminal para instalar el siguiente paquete:

$ sudo apt-get install libdvdread4

Este paquete puede que ya esté instalado pero, en cualquier caso, ejecutamos la siguiente orden:

$ sudo /usr/share/doc/libdvdread4/install-css.sh


1.6.3. OpenJDK (código abierto)

Hay que instalas los siguientes paquetes, el primero es posible que ya esté instalado:

$ sudo apt-get install openjdk-7-jre icedtea-7-plugin


1.6.4. Herramientas de compresión/descompresión

Para poder comprimir y descomprimir algunos formatos propietarios y libres populares, podemos instalar los siguientes paquetes, algunos de los cuales es posible que ya estén instalados:

$ sudo apt-get install rar unrar unace p7zip-full p7zip-rar bzip2 lzop sharutils mpack lhasa arj


1.7. Activar y configurar el cortafuegos UFW

El gestor del cortafuegos de Kubuntu es UFW (Uncomplicated Firewall) está instalado por defecto pero no está activado. Funciona por línea de comandos pero podemos utilizarlo también en modo gráfico mediante GUFW.

$ sudo apt-get install gufw


1.8. Gestión de particiones, permisos y configuración para que se monten en el arranque con PySDM

En esta versión no está disponible PySDM en los repositorios oficiales pero podemos descargar el paquete .deb desde http://pysdm.uptodown.com/ubuntu/descargar e instalarlo (botón derecho e instalar). Hay que instalar también el paquete gksu, que quizás ya lo instalaste en el apartado 4.

PySDM es una aplicación para administrar los dispositivos de almacenamiento que permite gestionar los puntos de montaje de discos duros en modo gráfico y de forma sencilla. Autodetecta las particiones de nuestro equipo y configura automáticamente los nuevos dispositivos, para diversos formatos de archivos como ext3, ext4, FAT o NTFS.

Nota: A fecha de hoy el paquete .deb que descargamos desde http://sourceforge.net/projects/pysdm/ da error al instalarlo.


1.9. Instalar sensores de temperatura para monitorear el hardware

Para monitorear la temperatura de discos locales y del procesador tenemos que instalar dos paquetes hddtemp y lm-sensors y seguir un precedimiento sencillo pero concreto. Si estas interesado esto lo puedes consultar en una guía para Debian Wheezy (la reina madre) en el apartado 2.7.


1.10. Activar al usuario "root" o superusuario

Es política de seguridad en Ubuntu y, consiguientemente, en Kubuntu no tener activada la cuenta del usuario root o superusuario, que es el que tiene permisos totales sobre el sistema. SEGUIR LEYENDO ...

P.D.:Este último enlace lo dejo, la verdad es que me interesa mucho el asunto de la política de seguridad. Linux es muy seguro, pero tampoco podemos coger y pensar que ya somos invencibles, eso mismo se pensaban los usuarios de Mac, y mira, ahora resulta que ya no es tan seguro como se pensaban.


1.11. Crear un usuario “físico” o “virtual”

Nos puede interesar crear uno o más usuarios que utilicen la máquina (usuario “físico”) o quizás no; sólo nosotros utilizamos la computadora. Pero aún así es buena idea crear un usuario, un usuario que yo llamo “virtual” por seguridad. Ante algunos tipos de problemas que se nos presenten y no nos permitan entrar en el sistema con nuestro usuario, quizás podamos entrar con el del usuario “virtual” y quizás podamos solucionar así el problema. O también nos puede servir para experimentar con el escritorio. Para crearlo en consola:

$ sudo adduser nombre_usuario

Yo por ejemplo he creado el usuario virtual:

$ sudo adduser kubuntu1404

Nos pedirá la contraseña del nuevo usuarios y verificación de la misma, el nombre completo para el nuevo usuario, el nombre completo y una serie de datos que podemos no cumplimentar (nº de habitación, teléfono de trabajo y de casa y otros).Finalmente ¿Es correcta la información? Si.

El nuevo usuario también lo podemos crear gráficamente en:

Preferencias del sistema>Administración del sistema>Gestor de usuarios

Picamos en “Nuevo usuario” y suministramos los datos. También muy fácil.





Hale, aquí dejo la guía, como es la guía de una versión concreta de Kubuntu quizá en el futuro haya algunas cosas que modificar, pero bueno, ya iré actualizando esta entrada si fuera necesario.

viernes, 29 de agosto de 2014

Monoventana para Gimp

En la versión 2.8 de Gimp, implementaron una opción que te permite hacer que todo esté en una sola ventana, la verdad es que a mí me viene muy bien, siento que todo lo tengo más a mano, además han dejado que se pueda seguir usándolo por ventanas como siempre, así cada uno podrá trabajar de la forma que se sienta más cómodo.

Voy a hacer un minitutorial para saber cómo se hace, no es que sea muy complicado ni nada, pero siempre es bueno tener una pequeña chuleta, para por si acaso.

Minitutorial monoventana


1º  Esta es la forma original como se abre Gimp:








2º  Vamos al menú "Ventana", y en el desplegable pinchamos en "Modo de ventana única"




3º  Y ya nos quedará así:

 

Cuando tengas varias imágenes abiertas, en la parte superior tendrás una pestaña para cada una:




Okis, nos vemos, chao

miércoles, 9 de julio de 2014

Cambiar el porcentaje del cambio de volumen

Con esto me refiero a cuánto cambia el volumen cada vez que le das a los botones de subir o bajar, que por defecto a mí me viene de cinco en cinco, y para mi modo de ver, me resulta un tanto excesivo, así que voy a indicar cómo se hace para poder cambiarlo a nuestro gusto.

Esta guía la he sacado de esta página:

http://flexible.xapient.net/?p=928


Y como está en inglés, voy a hace lo posible por traducirlo, dentro de lo que mi pobre inglés es capaz de hacer:

  1. Detener KMix (click derecho sobre el icono de KMix, y en el menú contextual que sale, le das a "Salir")
  2. Editar el fichero de configuración (la ruta a seguir es la siguiente "~/.kde/share/config/kmixrc")
  3. Hay que añadir la siguiente línea: "VolumePercentageStep=1" (este es el valor en porcentaje que el volumen cambiará, así que pon lo que a ti te apetezca)
  4. Hay que cambiar a "true" el valor de VolumeFeedback (y además creo que hay que añadir esa línea, que creo recordar que yo no la tenía)
  5. Guardar los cambios (lógico, ¿no?)
  6. Abrir otra vez KMix.
  7. Et voilá! Ya funciona como tú quieras, que lo disfrutes.

domingo, 27 de abril de 2014

Guía de comandos de Emacs

Hoy voy a poner una pequeña referencia a los comandos usados en este editor de textos por consola. Es interesante terner un buen manejo de él, ya que te permite editar textos sin necesidad de un entorno gráfico, vamos, si alguna vez el escritorio se va al carajo, no tienes porqué estar fuera de juego.

El texto original lo recojo de estas páginas:

picandocodigo    emacsyyo

Hay manuales que llaman a las teclas clave de distintas formas, que serían de la siguiente manera:

     Ctrl o C, se refieren a la tecla "Control".
     Alt, M o Meta, y se refieren a la tecla "Alt".


Mover por páginas

Ctrl v: Siguiente.
Alt v: Anterior.
Ctrl l: Limpiar la pantalla y volver a mostrar todo el texto, moviendo el texto alrededor del cursor al centro de la pantalla.

Moverse entre el texto

Ctrl f: Moverse un caracter hacia adelante.
Ctrl b: Moverse un caracter hacia atrás.
Alt f: Moverse una palabra hacia adelante.
Alt b: Moverse una palabra hacia atrás.
Ctrl n: Moverse a la siguiente línea.
Ctrl p: Moverse a la línea anterior.
Ctrl a: Moverse al comienzo de una línea.
Ctrl e: Moverse al final de una línea.
Alt a: Moverse al inicio de una oración.
Alt e: Moverse al final de una oración.

Alterando el texto

Ctrl k: kill, “mata” el texto. Esto implica que lo borra, pero lo mantiene guardado y puede ser recuperado con Ctrl Y.
Ctrl d: Borra un caracter (borra, no mata, no puede ser recuperado).
Alt d: Borra palabras.
Ctrl @ / Ctrl Espacio: Marca el texto (primera marca).
Ctrl w: Corto texto desde la marca de texto.
Alt w: Copia texto desde la marca de texto.
Ctrl h: Marcar todo el buffer, como “Seleccionar todo”.
Ctrl y: “Yanks text”, pega el texto matado o cortado/copiado con w.
Alt y: Recorre yanks previos, podemos recuperar algo que matamos varios Ctrl k antes.
Ctrl g: Cancelar comandos. Genial por si has metido la pata (a mí me viene genial, siempre meto la pata en algo)
Ctrl x u: Deshacer.
Ctrl /: Deshacer.

Ctrl x – Comandos

Varios comandos se realizan presionando Ctrl x y después una tecla, o Ctrl una tecla. Por ejemplo el “deshacer” de las líneas anteriores, se tiene que presionar Ctrl x (soltar) y presionar u.

Ctrl x Ctrl f: “Visitar” nuevo archivo (si existe lo abre, sino lo crea).
Ctrl g: Cancelar comandos.

Buffers

Ctrl x Ctrl b: Listar buffers. En Emacs no hay “pestañas” o “ventanas”. Cada archivo se abre en un buffer. Con este comando vemos todos los buffers que hayan abiertos en esta sesión de Emacs.
Ctrl x b: Cambiar de buffer. Muy práctico, podemos usar el tabulador para autocompletar el nombre de un buffer.
Ctrl x k: Cerrar buffer.
Ctrl x Ctrl s: Guardar un archivo.
Ctrl x s: Guardar buffers.
Ctrl X Ctrl C: Salir de Emacs.
Ctrl z: Suspende la sesion de emacs. Volvemos desde la consola con fg.
Alt x: Modo comandos. Nos permite ejecutar comandos como los siguientes:
Alt x replace-string: Reemplazo de strings.
Alt x recover file: Levantar respaldo del archivo.
Ctrl S: Buscar strings incrementalmente (con Ctrl S sigo buscando hacia adelante, con Ctrl R busco hacia atrás y con enter termino la busqueda)
Alt % buscar ENTER reemplazar: Buscar y reemplazar.
Ctrl x 2: Divide la ventana en 2 de forma horizontal.
Ctrl x 3: Divide la ventana en 2 de manera vertical.
Ctrl x 1: Deja solo una ventana abierta.
Ctrl Alt v: Scrollea la ventana donde no tengo el foco.
Ctrl x o: Cambia el cursor de una ventana a otra.

miércoles, 23 de abril de 2014

Algunos comandos para la Terminal de GNU/Linux

Comienzo con mi primera entrada, que es una lista bastante completa de comandos que se usan en la Terminal, es bastante interesante, porque hay que saber usarla, es muy útil.

Origen

Información del sistema

  1. arch → Mostrar la arquitectura de la máquina (1).
  2. uname -m → Mostrar la arquitectura de la máquina (2).
  3. uname -r → Mostrar la versión del kernel usado.
  4. uname -a → Mostrar la información completa.
  5. cat /etc/issue → Mostrar el nombre de la distribución
  6. dmidecode -q → Mostrar los componentes (hardware) del sistema.
  7. hdparm -i /dev/hda → Mostrar las características de un disco duro.
  8. hdparm -tT /dev/sda → Realizar prueba de lectura en un disco duro.
  9. cat /proc/cpuinfo → Mostrar información de la CPU.
  10. grep -c ^processor /proc/cpuinfo → Mostrar número de procesadores.
  11. cat /proc/interrupts → Mostrar las interrupciones.
  12. cat /proc/meminfo → Verificar el uso de memoria.
  13. cat /proc/swaps → Mostrar ficheros swap.
  14. cat /proc/version → Mostrar la versión del kernel.
  15. cat /proc/net/dev → Mostrar adaptadores de red y estadísticas.
  16. cat /proc/mounts → Mostrar el sistema de ficheros montado.
  17. lspci -tv → Mostrar los dispositivos PCI.
  18. lsusb -tv → Mostrar los dispositivos USB.
  19. lshw → Listar el hardware.
  20. discover → Listar el hardware.
  21. date → Mostrar la fecha del sistema.
  22. cal 2011 → Mostrar el almanaque de 2011.
  23. cal 07 2011 → Mostrar el almanaque para el mes julio de 2011.
  24. date 041217002011.00 → Colocar (declarar, ajustar) fecha y hora.
  25. clock -w → Guardar los cambios de fecha en la BIOS.
  26. blkid → Mostrar información (nombre, etiqueta, UUID, tipo de partición) sobre los dispositivos de bloque (discos rígidos, etc.)

Apagar, reiniciar o cerrar sesión

  1. shutdown -h now → Apagar el sistema (1).
  2. init 0 → Apagar el sistema (2).
  3. telinit 0 → Apagar el sistema (3).
  4. halt → Apagar el sistema (4).
  5. poweroff → Apagar sistema (5).
  6. shutdown -h hours:minutes & → Apagado planificado del sistema.
  7. shutdown -c → Cancelar un apagado planificado del sistema.
  8. shutdown -r now → Reiniciar (1).
  9. reboot → Reiniciar (2).
  10. logout → Cerrar sesión.
  11. skill nombre_de_usuario → Cerrar sesión (2)
     (Es preciso ejecutarlo con privilegios de root)
  12. exit → Salir del intérprete de comandos (si solo hay uno, equivale a cerrar sesión).

Gestionar archivos y directorios

  1. cd → Ir al directorio personal.
  2. cd /home → Cambiar al directorio “/home”.
  3. cd .. → Retroceder un nivel.
  4. cd ../.. → Retroceder 2 niveles.
  5. cd ~user1 → Ir al directorio user1.
  6. cd - → Ir (regresar) al directorio anterior.
  7. pwd → Mostrar el camino del directorio actual.
  8. ls → Listar el contenido de un directorio.
  9. ls -F → Listar el contenido de un directorio (distinguiendo los directorios con una barra)
  10. ls -l → Listar el contenido de un directorio, mostrando los detalles.
  11. ls -lh → Listar el contenido de un directorio, mostrando los detalles (y el tamaño en un formato “humanizado”).
  12. ls -a → Listar el contenido de un directorio, incluendo los ficheros ocultos.
  13. ls *[0-9] → Listar los ficheros y carpetas que contienen números.
  14. ls -laR | less → Listar recursivamente el contenido del directorio actual y todos los subdirectorios y archivos, incluyendo los ocultos, separados por página.
  15. tree → Mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(1)
  16. lstree → Mostrar los ficheros y carpetas en forma de árbol comenzando por la raíz.(2)
  17. mkdir dir1 → Crear un directorio de nombre 'dir1'.
  18. mkdir dir1 dir2 → Crear dos directorios a la vez (en la ubicación actual).
  19. mkdir -p /tmp/dir1/dir2 → Crear una estructura de directorios, si no existe.
  20. rm file1 → Eliminar el archivo 'file1'.
  21. rm -f file1 → Eliminar el archivo 'file1' en modo forzado.
  22. rmdir dir1 → Borrar el directorio 'dir1'.
  23. rm -rf dir1 → Eliminar recursivamente y en modo forzado el directorio 'dir1' con todo lo que contenga.
  24. rm -rf dir1 dir2 → Borrar dos directorios con su contenido de forma recursiva.
  25. mv dir1 new_dir → Renombrar o mover un fichero o carpeta (directorio).
  26. cp file1 destino/ → Copiar un fichero al destino elegido.
  27. cp file1 file2 destino/ → Copiar a la vez dos ficheros a un mismo directorio.
  28. cp file1 file2 → Copiar file1 en file2.
  29. cp dir /* . → Copiar todos los ficheros de un directorio dentro del directorio de trabajo actual.
  30. cp -a /tmp/dir1 . → Copiar un directorio dentro del directorio actual de trabajo.
  31. cp -a dir1 → Copiar un directorio.
  32. cp -a dir1 dir2 → Copiar dos directorio al unísono.
  33. ln -s file1 lnk1 → Crear un enlace simbólico al fichero o directorio.
  34. ln file1 lnk1 → Crear un enlace físico al fichero o directorio.
  35. touch file1 → Actualizar la fecha de modificación de file1, o crearlo si no existe.
  36. touch -t 0712250000 file1 → Modificar el tiempo real (tiempo de creación) de un fichero o directorio.
  37. file file1 → Salida (volcado en pantalla) del tipo mime de un fichero texto.
  38. iconv -l → Listas de cifrados conocidos.
  39. iconv -f fromEncoding -t toEncoding inputFile > outputFile → Crea una nueva forma del fichero de entrada asumiendo que está codificado en fromEncoding y convirtiéndolo a ToEncoding.

Encontrar archivos

  1. find / -name file1 → Buscar fichero y directorio a partir de la raíz del sistema.
  2. find / -user user1 → Buscar ficheros y directorios pertenecientes al usuario 'user1'.
  3. find /home/user1 -name \*.bin → Buscar ficheros con extensión '. bin' dentro del directorio '/ home/user1'.
  4. find /usr/bin -type f -atime +100 → Buscar ficheros binarios no usados en los últimos 100 días.
  5. find /usr/bin -type f -mtime -10 → Buscar ficheros creados o cambiados dentro de los últimos 10 días.
  6. find / -name \*.rpm -exec chmod 755 '{}' \; → Buscar ficheros con extensión '.rpm' y modificar permisos.
  7. find . -type f -print0 | xargs -0 chmod 644 → Modificar recursivamente los permisos a todos los ficheros bajo el directorio actual.
  8. find / -xdev -name \*.rpm → Buscar ficheros con extensión '.rpm' ignorando los dispositivos removibles como cdrom, pen-drive, etc.…
  9. find . -maxdepth 1 -name *.jpg -print -exec convert ”{}” -resize 80×60 “thumbs/{}” \; → Agrupar ficheros redimensionados en el directorio actual y enviarlos a directorios en vistas de miniaturas (requiere convertir desde ImagemagicK).
  10. find /tmp/dir1 -depth -regextype posix-extended -regex '.*(\s+|:+|\\+|>+|<+|”+|\*+|\?+|\|+).*' -execdir rename 's/(\s+|:+|\\+|>+|<+|”+|\*+|\?+|\|+)/_/g' ”{}” \; → Renombrar recursivamente todos los directorios y ficheros bajo '/tmp/dir1', cambiando los espacios y otros caracteres extraños por guiones bajos.
  11. locate \*.ps → Encuentra ficheros con extensión '.ps' ejecutados primeramente con el command 'updatedb'.
  12. whereis halt → Mostrar la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está el comando 'halt'.
  13. which comando → Mostrar la ruta completa a un comando.

Montando un sistema de ficheros

  1. mount /dev/hda2 /mnt/hda2 → Montar un disco llamado hda2. Verifique primero la existencia del directorio '/ mnt/hda2'; si no está, debe crearlo.
  2. umount /dev/hda2 → Desmontar un disco llamado hda2. (Antes es necesario salir del punto '/mnt/hda2'.
  3. fuser -km /mnt/hda2 → Forzar el desmontaje cuando el dispositivo está ocupado.
  4. umount -n /mnt/hda2 → Correr el desmontaje sin leer el fichero /etc/mtab. Útil cuando el fichero es de solo lectura o el disco duro está lleno.
  5. mount /dev/fd0 /mnt/floppy → Montar un disco flexible (floppy).
  6. mount /dev/cdrom /mnt/cdrom → Montar un cdrom / dvdrom.
  7. mount /dev/hdc /mnt/cdrecorder → Montar un cd regrabable o un dvdrom.
  8. mount /dev/hdb /mnt/cdrecorder → Montar un cd regrabable / dvdrom (un dvd).
  9. mount -t udf,iso9660 -o loop file.iso /mnt/cdrom → Montar un fichero de imagen de un medio óptico (como un CD o DVD en formato ISO).
  10. mount -t vfat /dev/hda5 /mnt/hda5 → Montar un sistema de ficheros FAT32.
  11. mount -t ntfs-3g /dev/hda5 /mnt/hda5 → Montar un sistema de ficheros NTFS.
  12. mount /dev/sda1 /mnt/usbdisk → Montar un usb pen-drive o una memoria (sin especificar el tipo de sistema de ficheros).

Espacio en disco

  1. df -h → Mostrar una lista de las particiones montadas.
  2. ls -lSr | more → Mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
  3. du -sh dir1 → Estimar el espacio usado por el directorio 'dir1'.
  4. du -h --max-depth=1 | sort -nr → Mostrar en orden descendente el tamaño de todos los subdirectorios en la ubicación actual.
  5. du -sk * | sort -rn → Mostrar el tamaño de los ficheros y directorios ordenados por tamaño.
  6. rpm -q -a --qf '%10{SIZE}t%{NAME}n' | sort -k1,1n → Mostrar el espacio usado por los paquetes rpm instalados organizados por tamaño (Fedora, Redhat y otros).
  7. dpkg-query -W -f='${Package}\t${Installed-Size}\n' | sort -k 2 -nr | grep -v deinstall | head -n 25 | awk '{printf "%.3f MB\t%s\n", $2/(1024), $1}' → Mostrar (en Debian o derivadas) un listado con los 25 paquetes instalados que más espacio consumen (en orden descendente).

Usuarios y grupos

  1. groupadd nombre_del_grupo → Crear un nuevo grupo.
  2. groupdel nombre_del_grupo → Borrar un grupo.
  3. groupmod -n nuevo_nombre_del_grupo viejo_nombre_del_grupo → Renombrar un grupo.
  4. useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1 → Crear un nuevo usuario perteneciente al grupo “admin”.
  5. useradd user1 → Crear un nuevo usuario.
  6. userdel -r user1 → Borrar un usuario ('-r' elimina el directorio Home).
  7. usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin user1 → Cambiar los atributos del usuario.
  8. usermod -aG plugdev,dialout,pip user1 → Agregar el usuario user1 a otros grupos existentes, para incrementar sus permisos (en este caso, agregar la posibilidad de conectar dispositivos, configurar y utilizar el modem)
  9. passwd → Cambiar contraseña.
  10. passwd user1 → Cambiar la contraseña de un usuario (solamente por root).
  11. chage -E 2011-12-31 user1 → Colocar un plazo para la contraseña del usuario. En este caso dice que la clave expira el 31 de diciembre de 2011.
  12. pwck → Chequear la sintaxis correcta el formato de fichero de '/etc/passwd' y la existencia de usuarios.
  13. grpck → Chequear la sintaxis correcta y el formato del fichero '/etc/group' y la existencia de grupos.
  14. newgrp group_name → Registra a un nuevo grupo para cambiar el grupo predeterminado de los ficheros creados recientemente.

Permisos en ficheros (usar "+" para colocar permisos y "-" para eliminar)

  1. ls -lh → Mostrar permisos.
  2. ls /tmp | pr -T5 -W$COLUMNS → Dividir la terminal en 5 columnas.
  3. chmod ugo+rwx directory1 → Colocar permisos de lectura ®, escritura (w) y ejecución(x) al propietario (u), al grupo (g) y a otros (o) sobre el directorio 'directory1'.
  4. chmod go-rwx directory1 → Quitar permiso de lectura ®, escritura (w) y (x) ejecución al grupo (g) y otros (o) sobre el directorio 'directory1'.
  5. chown user1 file1 → Cambiar el dueño de un fichero.
  6. chown -R user1 directory1 → Cambiar el propietario de un directorio y de todos los ficheros y directorios contenidos dentro.
  7. chgrp group1 file1 → Cambiar grupo de ficheros.
  8. chown user1:group1 file1 → Cambiar usuario y el grupo propietario de un fichero.
  9. find / -perm -u+s → Visualizar todos los ficheros del sistema con SUID configurado.
  10. chmod u+s /bin/file1 → Colocar el bit SUID en un fichero binario. El usuario que corriendo ese fichero adquiere los mismos privilegios como dueño.
  11. chmod u-s /bin/file1 → Deshabilitar el bit SUID en un fichero binario.
  12. chmod g+s /home/public → Colocar un bit SGID en un directorio –similar al SUID pero por directorio.
  13. chmod g-s /home/public → Desabilitar un bit SGID en un directorio.
  14. chmod o+t /home/public → Colocar un bit STIKY en un directorio. Permite el borrado de ficheros solamente a los dueños legítimos.
  15. chmod o-t /home/public → Desabilitar un bit STIKY en un directorio.

Atributos especiales en ficheros (usar "+" para colocar permisos y "-" para eliminar)

  1. chattr +a file1 → Permite escribir abriendo un fichero solamente modo append.
  2. chattr +c file1 → Permite que un fichero sea comprimido / descomprimido automaticamente.
  3. chattr +d file1 → Asegura que el programa ignore borrar los ficheros durante la copia de seguridad.
  4. chattr +i file1 → Convierte el fichero en inmutable o invariable, por lo que no puede ser eliminado, alterado, renombrado, ni enlazado.
  5. chattr +s file1 → Permite que un fichero sea borrado de forma segura.
  6. chattr +S file1 → Asegura que un fichero sea modificado, los cambios son escritos en modo synchronous como con sync.
  7. chattr +u file1 → Te permite recuperar el contenido de un fichero aún si este está cancelado.
  8. lsattr → Mostrar atributos especiales.

Archivos y ficheros comprimidos

  1. 7za a -mx=9 -ms=on -mhe=on -p archivocomprimido directorio1 archivo1 archivo2 → Comprimir un directorio y dos archivos en formato 7zip, con compresión sólida máxima, y protección por contraseña (la extensión 7z se agrega automáticamente).
  2. 7za x archivocomprimido.7z → Extraer un archivo comprimido en 7zip (7zip también permite descomprimir otros formatos, como por ejemplo, zip).
  3. bunzip2 file1.bz2 → Descomprime in fichero llamado 'file1.bz2'.
  4. bzip2 file1 → Comprime un fichero llamado 'file1'.
  5. gunzip file1.gz → Descomprime un fichero llamado 'file1.gz'.
  6. gzip file1 → Comprime un fichero llamado 'file1'.
  7. gzip -9 file1 → Comprime con compresión máxima.
  8. rar a file1.rar test_file → Crear un fichero rar llamado 'file1.rar'.
  9. rar a file1.rar file1 file2 dir1 → Comprimir 'file1', 'file2' y 'dir1' simultáneamente.
  10. rar x file1.rar → Descomprimir archivo rar.
  11. unrar x file1.rar → Descomprimir archivo rar.
  12. tar -cvf archive.tar file1 → Crear un tarball descomprimido.
  13. tar -cvf archive.tar file1 file2 dir1 → Crear un archivo conteniendo 'file1', 'file2' y'dir1'.
  14. tar -tf archive.tar → Mostrar los contenidos de un archivo.
  15. tar -xvf archive.tar → Extraer un tarball (si el archivo además está comprimido con gzip, bzip2 o xz, descomprimirlo automáticamente).
  16. tar -xvf archive.tar -C /tmp → Extraer un tarball en /tmp.
  17. tar -cjvf archive.tar.bz2 dir1 → Crear un tarball comprimido en bzip2.
  18. tar -xjvf archive.tar.bz2 → Descomprimir un archivo tar comprimido en bzip2
  19. tar -cJvf archive.tar.xz dir1 → Crear un tarball comprimido en xz.
  20. XZ_OPT=-9e tar -cJvf archive.tar.xz dir1 → Crear un tarball comprimido en xz (con máxima compresión).
  21. tar -xJvf archive.tar.xz → Descomprimir un archivo tar comprimido en xz.
  22. tar -czvf archive.tar.gz dir1 → Crear un tarball comprimido en gzip.
  23. tar -I pigz -cf archive.tar.gz dir1 → Crear un tarball comprimido en gzip, pero utilizando pigz, que comprime en paralelo aprovechando todos los núcleos de los microprocesadores del equipo.
  24. GZIP=-9 tar -czvf archive.tar.gz dir1 → Crear un tarball comprimido en gzip (con máxima compresión).
  25. tar -xzvf archive.tar.gz → Descomprimir un archive tar comprimido en gzip.
  26. zip file1.zip file1 → Crear un archivo comprimido en zip.
  27. zip -r file1.zip file1 file2 dir1 → Comprimir, en zip, varios archivos y directorios de forma simultánea.
  28. unzip file1.zip → Descomprimir un archivo zip.

Paquetes rpm (Red Hat, Fedora y similares)

  1. rpm -ivh package.rpm → Instalar un paquete rpm.
  2. rpm -ivh --nodeeps package.rpm → Instalar un paquete rpm ignorando las peticiones de dependencias.
  3. rpm -U package.rpm → Actualizar un paquete rpm sin cambiar la configuración de los ficheros.
  4. rpm -F package.rpm → Actualizar un paquete rpm solamente si este está instalado.
  5. rpm -e package_name.rpm → Eliminar un paquete rpm.
  6. rpm -qa → Mostrar todos los paquetes rpm instalados en el sistema.
  7. rpm -qa | grep httpd → Mostrar todos los paquetes rpm con el nombre “httpd”.
  8. rpm -qi package_name → Obtener información en un paquete específico instalado.
  9. rpm -qg “System Environment/Daemons” → Mostar los paquetes rpm de un grupo software.
  10. rpm -ql package_name → Mostrar lista de ficheros dados por un paquete rpm instalado.
  11. rpm -qc package_name → Mostrar lista de configuración de ficheros dados por un paquete rpm instalado.
  12. rpm -q package_name --whatrequires → Mostrar lista de dependencias solicitada para un paquete rpm.
  13. rpm -q package_name --whatprovides → Mostar la capacidad dada por un paquete rpm.
  14. rpm -q package_name --scripts → Mostrar los scripts comenzados durante la instalación /eliminación.
  15. rpm -q package_name --changelog → Mostar el historial de revisions de un paquete rpm.
  16. rpm -qf /etc/httpd/conf/httpd.conf → Verificar cuál paquete rpm pertenece a un fichero dado.
  17. rpm -qp package.rpm -l → Mostrar lista de ficheros dados por un paquete rpm que aún no ha sido instalado.
  18. rpm --import /media/cdrom/RPM-GPG-KEY → Importar la firma digital de la llave pública.
  19. rpm --checksig package.rpm → Verificar la integridad de un paquete rpm.
  20. rpm -qa gpg-pubkey → Verificar la integridad de todos los paquetes rpm instalados.
  21. rpm -V package_name → Chequear el tamaño del fichero, licencias, tipos, dueño, grupo, chequeo de resumen de MD5 y última modificación.
  22. rpm -Va → Chequear todos los paquetes rpm instalados en el sistema. Usar con cuidado.
  23. rpm -Vp package.rpm → Verificar un paquete rpm no instalado todavía.
  24. rpm2cpio package.rpm | cpio --extract --make-directories *bin → Extraer fichero ejecutable desde un paquete rpm.
  25. rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm → Instalar un paquete construido desde una fuente rpm.
  26. rpmbuild --rebuild package_name.src.rpm → Construir un paquete rpm desde una fuente rpm.

Actualizador de paquetes yum (Fedora, Redhat y otros)

  1. yum install package_name → Descargar e instalar un paquete rpm.
  2. yum localinstall package_name.rpm → Este instalará un RPM y tratará de resolver todas las dependencies para ti, usando tus repositorios.
  3. yum update package_name.rpm → Actualizar todos los paquetes rpm instalados en el sistema.
  4. yum update package_name → Modernizar / actualizar un paquete rpm.
  5. yum remove package_name → Eliminar un paquete rpm.
  6. yum list → Listar todos los paquetes instalados en el sistema.
  7. yum search package_name → Encontrar un paquete en repositorio rpm.
  8. yum clean packages → Limpiar un caché rpm borrando los paquetes descargados.
  9. yum clean headers → Eliminar todos los ficheros de encabezamiento que el sistema usa para resolver la dependencia.
  10. yum clean all → Eliminar desde los paquetes caché y ficheros de encabezado.

Paquetes deb (Debian, Ubuntu y otros)

  1. dpkg -i package.deb → Instalar / actualizar un paquete deb.
  2. dpkg -r package_name → Eliminar un paquete deb del sistema.
  3. dpkg -l → Mostrar todos los paquetes deb instalados en el sistema.
  4. dpkg -l | grep httpd → Mostrar todos los paquetes deb con el nombre “httpd”
  5. dpkg -s package_name → Obtener información en un paquete específico instalado en el sistema.
  6. dpkg -L package_name → Mostar lista de ficheros dados por un paquete instalado en el sistema.
  7. dpkg --contents package.deb → Mostrar lista de ficheros dados por un paquete no instalado todavía.
  8. dpkg -S /bin/ping → Verificar cuál paquete pertenece a un fichero dado.

Actualizador de paquetes apt y aptitude (Debian, Ubuntu y otros)

  1. apt-get install package_name → Instalar / actualizar un paquete deb.
  2. apt-cdrom install package_name → Instalar / actualizar un paquete deb desde un cdrom.
  3. apt-get update → Actualizar la lista de paquetes.
  4. apt-get upgrade → Actualizar todos los paquetes instalados.
  5. apt-get remove package_name → Eliminar un paquete deb del sistema.
  6. apt-get check → Verificar la correcta resolución de las dependencias.
  7. apt-get clean → Limpiar cache desde los paquetes descargados.
  8. apt-cache search searched-package → Retorna lista de paquetes que corresponde a la serie «paquetes buscados».
  9. aptitude search paquete → Busca un paquete por el nombre.
  10. aptitude search ~dpaquete → Busca un paquete por la descripción.
  11. aptitude show paquete | less → Muestra información sobre un paquete.
  12. aptitude install paquete1 paquete2 … → Instala varios paquetes con sus dependencias y recomendaciones.
  13. aptitude -R install paquete → Instala un paquete con sus dependencias, pero sin las recomendaciones.
  14. aptitude why paquete → Lista las razones por las que se debería instalar el paquete.
  15. aptitude why-not paquete → Lista las razones por las que no se puede instalar el paquete.
  16. aptitude -rsvW install paquete → Simula la instalación de un paquete con sus dependencias y recomendaciones, detallando cada una.
  17. aptitude remove paquete → Desinstala un paquete.
  18. aptitude purge paquete → Desinstala un paquete y lo limpia de la cache.
  19. aptitude clean → Limpia la cache de paquetes.

Ver el contenido de un fichero

  1. cat file1 → Ver los contenidos de un fichero comenzando desde la primera hilera.
  2. tac file1 → Ver los contenidos de un fichero comenzando desde la última línea.
  3. more file1 → Ver el contenido a lo largo de un fichero.
  4. less file1 → Parecido al commando 'more' pero permite salvar el movimiento en el fichero así como el movimiento hacia atrás.
  5. head -2 file1 → Ver las dos primeras líneas de un fichero.
  6. tail -2 file1 → Ver las dos últimas líneas de un fichero.
  7. tail -f /var/log/messages → Ver en tiempo real qué ha sido añadido al fichero.

Manipulación de texto

  1. cat file1 file2 … | command <> file1_in.txt_or_file1_out.txt → Sintaxis general para la manipulación de texto utilizando PIPE, STDIN y STDOUT.
  2. cat file1 | command( sed, grep, awk, grep, etc…) > result.txt → Sintaxis general para manipular un texto de un fichero y escribir el resultado en un fichero nuevo.
  3. cat file1 | command( sed, grep, awk, grep, etc…) >> result.txt → Sintaxis general para manipular un texto de un fichero y añadir resultado en un fichero existente.
  4. grep Aug /var/log/messages → Buscar palabras “Aug” en el fichero '/var/log/messages'.
  5. grep ^Aug /var/log/messages → Buscar palabras que comienzan con “Aug” en fichero '/var/log/messages'
  6. grep [0-9] /var/log/messages → Seleccionar todas las líneas del fichero '/var/log/messages' que contienen números.
  7. grep Aug -R /var/log/ → Buscar la cadena “Aug” en el directorio '/var/log' y debajo.
  8. sed 's/string1/string2/g' ejemplo.txt → Reemplazar en ejemplo.txt todas las ocurrencias de “string1” con “string2”
  9. sed '/^$/d' ejemplo.txt → Eliminar todas las líneas en blanco desde el ejemplo.txt
  10. sed '/ *#/d; /^$/d' ejemplo.txt → Eliminar comentarios y líneas en blanco de ejemplo.txt
  11. echo 'ejemplo' | tr '[:lower:]' '[:upper:]' → Convertir “ejemplo” de minúsculas a mayúsculas.
  12. sed -e '1d' ejemplo.txt → Elimina la primera línea del fichero ejemplo.txt
  13. sed -n '/string1/p' → Visualizar solamente las líneas que contienen la palabra “string1”.
  14. sed -r 's/(cadena1)(cadena2)/\2\1/g' → Utilizar expresiones regulares extendidas para intercambiar el orden de dos cadenas de texto, en todas las instancias que aparezcan.

Establecer caracter y conversión de ficheros

  1. dos2unix filedos.txt fileunix.txt → Convertir un formato de fichero texto desde MSDOS a UNIX.
  2. unix2dos fileunix.txt filedos.txt → Convertir un formato de fichero de texto desde UNIX a MSDOS.
  3. recode ..HTML < page.txt > page.html → Convertir un fichero de texto en html.
  4. recode -l | more → Mostrar todas las conversiones de formato disponibles.

Análisis del sistema de ficheros

  1. badblocks -v /dev/hda1 → Chequear los bloques defectuosos en el disco hda1.
  2. fsck /dev/hda1 → Reparar / chequear la integridad del fichero del sistema Linux en el disco hda1.
  3. fsck.ext2 /dev/hda1 → Reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1.
  4. e2fsck /dev/hda1 → Reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1.
  5. e2fsck -j /dev/hda1 → Reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1.
  6. fsck.ext3 /dev/hda1 → Reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1.
  7. fsck.vfat /dev/hda1 → Reparar / chequear la integridad del fichero sistema fat en el disco hda1.
  8. fsck.msdos /dev/hda1 → Reparar / chequear la integridad de un fichero del sistema dos en el disco hda1.
  9. dosfsck /dev/hda1 → Reparar / chequear la integridad de un fichero del sistema dos en el disco hda1.

Formatear un sistema de ficheros

  1. mkfs /dev/hda1 → Crear un fichero de sistema tipo Linux en la partición hda1.
  2. mke2fs /dev/hda1 → Crear un fichero de sistema tipo Linux ext 2 en hda1.
  3. mke2fs -j /dev/hda1 → Crear un fichero de sistema tipo Linux ext3 (periódico) en la partición hda1.
  4. mkfs -t vfat 32 -F /dev/hda1 → Crear un fichero de sistema FAT32 en hda1.
  5. fdformat -n /dev/fd0 → Formatear un disco flooply.
  6. mkswap /dev/hda3 → Crear un fichero de sistema swap.

Partición de sistema swap

  1. mkswap /dev/hda3 → Crear fichero de sistema swap.
  2. swapon /dev/hda3 → Activando una nueva partición swap.
  3. swapon /dev/hda2 /dev/hdb3 → Activar dos particiones swap.

Salvas

  1. dump -0aj -f /tmp/home0.bak /home → Hacer una salva completa del directorio '/home'.
  2. dump -1aj -f /tmp/home0.bak /home → Hacer una salva incremental del directorio '/home'.
  3. restore -if /tmp/home0.bak → Restaurando una salva interactivamente.
  4. rsync -rogpav --delete /home /tmp → Sincronización entre directorios.
  5. rsync -rogpav -e ssh --delete /home ip_address:/tmp → rsync a través del túnel SSH.
  6. rsync -az -e ssh --delete ip_addr:/home/public /home/local → Sincronizar un directorio local con un directorio remoto a través de ssh y de compresión.
  7. rsync -az -e ssh --delete /home/local ip_addr:/home/public → Sincronizar un directorio remoto con un directorio local a través de ssh y de compresión.
  8. dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz' → Hacer una salva de un disco duro en un host remoto a través de ssh.
  9. dd if=/dev/sda of=/tmp/file1 → Salvar el contenido de un disco duro a un fichero. (En este caso el disco duro es “sda” y el fichero “file1”).
  10. tar -Puf backup.tar /home/user → Hacer una salva incremental del directorio '/home/user'.
  11. tar -czv --exclude=/root/dir1/* -f /var/salvas/cfg_$(date +%F_%H%M).tgz /etc /root → Salvar los directorios /etc y /root (excluyendo el contenido del subdirectorio /root/dir1/) en un archivo comprimido, cuyo nombre contenga la fecha y hora actual.
  12. ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p' → Copiar el contenido de un directorio en un directorio remoto a través de ssh.
  13. ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p' → Copiar un directorio local en un directorio remoto a través de ssh.
  14. tar cf - . | (cd /tmp/backup ; tar xf - ) → Copia local conservando las licencias y enlaces desde un directorio a otro.
  15. find /home/user1 -name '*.txt' | xargs cp -av --target-directory=/home/backup/ --parents → Encontrar y copiar todos los ficheros con extensión '.txt' de un directorio a otro.
  16. find ~/ -type f -not -iname '*.mp*' -not \( -iregex '.*\.mozilla/.*' -o -iregex '.*\.thumbnails/.*' \) -prune -mtime 14 -print0 | xargs -0 tar -czf /var/salvas/myhome.tgz → Realizar una salva de todos los archivos de nuestro perfil de usuario modificados dentro de los últimos 14 días, exceptuando los archivos mp3, mpg y similares, y los directorios .mozilla/ y .thumbnails/.
  17. find /var/log -name '*.log' | tar cv --files-from=- | bzip2 > log.tar.bz2 → Encontrar todos los ficheros con extensión '.log' y hacer un archivo bzip.
  18. dd if=/dev/hda of=/dev/fd0 bs=512 count=1 → Hacer una copia del MRB (Master Boot Record) a un disco floppy.
  19. dd if=/dev/fd0 of=/dev/hda bs=512 count=1 → Restaurar la copia del MBR (Master Boot Record) salvada en un floppy.

CDROM

  1. cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force → Limpiar o borrar un cd regrabable.
  2. mkisofs /dev/cdrom > cd.iso → Crear una imagen iso de cdrom en disco.
  3. mkisofs /dev/cdrom | gzip > cd_iso.gz → Crear una imagen comprimida iso de cdrom en disco.
  4. mkisofs -J -allow-leading-dots -R -V “Label CD” -iso-level 4 -o ./cd.iso data_cd → Crear una imagen iso de un directorio.
  5. cdrecord -v dev=/dev/cdrom cd.iso → Quemar una imagen iso.
  6. gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom - → Quemar una imagen iso comprimida.
  7. mount -t udf,iso9660 -o loop cd.iso /mnt/iso → Montar una imagen iso.
  8. cd-paranoia -B → Llevar canciones de un cd a ficheros wav.
  9. cd-paranoia -- ”-3” → Llevar las 3 primeras canciones de un cd a ficheros wav.
  10. cdrecord --scanbus → Escanear bus para identificar el canal scsi.
  11. dd if=/dev/hdc | md5sum → Hacer funcionar un md5sum en un dispositivo, como un CD.
  12. eject -v → Expulsar un medio o disco extraíble, ofreciendo información adicional.

Trabajo con la red (LAN Y WIFI)

  1. ifconfig eth0 → Mostrar la configuración de una tarjeta de red Ethernet.
  2. ifup eth0 → Activar una interface 'eth0'.
  3. ifdown eth0 → Deshabilitar una interface 'eth0'.
  4. ifconfig eth0 192.168.1.1 netmask 255.255.255.0 → Configurar una dirección IP.
  5. ifconfig eth0 promisc → Configurar 'eth0'en modo común para obtener los paquetes (sniffing).
  6. dhclient eth0 → Activar la interface 'eth0' en modo dhcp.
  7. route -n → Mostrar mesa de recorrido.
  8. route add -net 0/0 gw IP_Gateway → Configurar entrada predeterminada.
  9. route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1 → Configurar ruta estática para buscar la red '192.168.0.0/16'.
  10. route del 0/0 gw IP_gateway → Eliminar la ruta estática.
  11. echo “1” > /proc/sys/net/ipv4/ip_forward → Activar el recorrido ip.
  12. hostname → Mostrar el nombre del host del sistema.
  13. host www.example.com → Buscar el nombre del host para resolver el nombre a una dirección ip(1).
  14. nslookup www.example.com → Buscar el nombre del host para resolver el nombre a una direccióm ip y viceversa(2).
  15. ip link show → Mostar el estado de enlace de todas las interfaces.
  16. mii-tool eth0 → Mostar el estado de enlace de 'eth0'.
  17. ethtool eth0 → Mostrar las estadísticas de tarjeta de red 'eth0'.
  18. netstat -tup → Mostrar todas las conexiones de red activas y sus PID.
  19. netstat -tupl → Mostrar todos los servicios de escucha de red en el sistema y sus PID.
  20. netstat -punta → Mostrar todas las conexiones activas por dirección IP y puerto.
  21. tcpdump tcp port 80 → Mostrar todo el tráfico HTTP.
  22. iwlist scan → Mostrar las redes inalámbricas.
  23. iwconfig eth1 → Mostrar la configuración de una tarjeta de red inalámbrica.
  24. whois www.example.com → Buscar en base de datos Whois.
  25. iftop -nNP -i eth0 → Mostrar en tiempo real las conexiones abiertas en eth0 y su tasa de transferencia.
  26. sockstat → Mostrar información sobre las conexiones abiertas.
  27. arp-scan -l → Descubrir en la red las direcciones IP y MAC.

Redes de Microsoft Windows (Samba)

  1. nbtscan ip_addr → Resolución de nombre de red bios.
  2. nmblookup -A ip_addr → Resolución de nombre de red bios.
  3. smbclient -L ip_addr/hostname → Mostrar acciones remotas de un host en windows.

Cortafuegos (iptables)

  1. iptables -t filter -L → Mostrar todas las cadenas de la tabla de filtro.
  2. iptables -t nat -L → Mostrar todas las cadenas de la tabla nat.
  3. iptables -t filter -F → Limpiar todas las reglas de la tabla de filtro.
  4. iptables -t nat -F → Limpiar todas las reglas de la tabla nat.
  5. iptables -t filter -X → Borrar cualquier cadena creada por el usuario.
  6. iptables -t filter -A INPUT -p tcp --dport telnet -j ACCEPT → Permitir las conexiones telnet para entar.
  7. iptables -t filter -A OUTPUT -p tcp --dport http -j DROP → Bloquear las conexiones HTTP para salir.
  8. iptables -t filter -A FORWARD -p tcp --dport pop3 -j ACCEPT → Permitir las conexiones POP a una cadena delantera.
  9. iptables -t filter -A INPUT -p tcp -m multiport --dports 80,443,8080 -m state --state NEW -m limit --limit 4/sec --limit-burst 8 -j ACCEPT → Establecer un límite de 4 peticiones por segundo de nuevas conexiones, con posibles ráfagas ocasionales (útil para políticas de denegación por defecto).
  10. iptables -t filter -A INPUT -p tcp -m multiport --dports 80,443,8080 -m state --state ESTABLISHED,RELATED -m connlimit ! --conlimit-above 6 -j ACCEPT → Establecer un límite de 6 conexiones simultáneas por equipo a nuestro servidor web (útil para políticas de denegación por defecto).
  11. iptables -t filter -A INPUT -j LOG --log-prefix “DROP INPUT” → Registrando una cadena de entrada.
  12. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE → Configurar un PAT (Puerto de traducción de dirección) en eth0, ocultando los paquetes de salida forzada. (Indicado para enlaces tipo ppp)
  13. iptables -t nat -A POSTROUTING -s 192.168.0.127 -o eth0 -j SNAT --to-source 169.158.158.169 → Enrutar los paquetes desde 192.168.0.127 hacia otras redes por eth0 y asignarles un dirección ip externa. (Indicado para enlaces tipo ADSL)
  14. iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp --dport 22 -j DNAT --to-destination 10.0.0.2:22 → Redireccionar los paquetes diriguidos de un host a otro.
  15. iptables -t nat -S → Listar todas las reglas activas en la tabla nat.
  16. iptables-save -c > archivo → Salvar las reglas en un archivo (incluyendo los contadores de paquetes y bytes).
  17. iptables-restore -c < archivo → Restaurar las reglas desde un archivo (incluyendo los contadores de paquetes y bytes).

Monitoreando y depurando

  1. top → Mostrar las tareas de linux usando la mayoría cpu.
  2. htop → Mostrar y gestionar las tareas con una interfaz amistosa.
  3. ps -eafw → Muestra las tareas Linux.
  4. ps -e -o pid,args --forest → Muestra las tareas Linux en un modo jerárquico.
  5. ps -efw | grep -v grep | grep -i wget → Listar todas las tareas activas que incluyen el comando wget (excluyendo al propio grep).
  6. pstree → Mostrar un árbol sistema de procesos.
  7. kill -9 ID_Processo → Forzar el cierre de un proceso y terminarlo.
  8. kill -1 ID_Processo → Forzar un proceso para recargar la configuración.
  9. killall Nombre_Proceso → Ferminar un proceso por el nombre del comando y no por el ID.
  10. lsof -p $$ → Mostrar una lista de ficheros abiertos por procesos.
  11. lsof /home/user1 → Muestra una lista de ficheros abiertos en un camino dado del sistema.
  12. strace -c ls >/dev/null → Mostrar las llamadas del sistema hechas y recibidas por un proceso.
  13. strace -f -e open ls >/dev/null → Mostrar las llamadas a la biblioteca.
  14. watch -n1 'cat /proc/interrupts' → Mostrar interrupciones en tiempo real.
  15. last reboot → Mostrar historial de reinicio.
  16. lsmod → Mostrar los módulos del kernel cargados.
  17. free -m → Muestra el estado de la RAM en megabytes.
  18. smartctl -A /dev/hda → Monitorear la fiabilidad de un disco duro a través de SMART.
  19. smartctl -i /dev/hda → Chequear si SMART está activado en un disco duro.
  20. tail /var/log/dmesg → Mostrar eventos inherentes al proceso de carga del kernel.
  21. tail /var/log/messages → Mostrar los eventos del sistema.
  22. multitail --follow-all /var/log/dmesg /var/log/messages → Mostrar dos registros de eventos en una misma pantalla.

Seguridad y Cifrado

  1. base64 /home/archivo > /home/archivo-codificado → Codifica “archivo” en 'base64' y lo guarda en /home
  2. base64 -d /home/archivo-codificado > /home/archivo → Decodifica “archivo-codificado” y lo guarda en /home
  3. openssl req -x509 -nodes -days 3650 -newkey rsa:1024 -out /etc/millave.crt -keyout /etc/millave.key → Crea un certificado auto-firmado para cifrar el tráfico web con SSL.
  4. htpasswd -c -m /etc/apache2/.htpasswd nombreusuario → Genera un archivo '.htpasswd' para proteger un sitio web con auntenticación

Otros comandos útiles

  1. apropos palabraclave → Mostrar una lista de comandos que pertenecen a las palabras claves de un programa; son útiles cuando tú sabes qué hace tu programa, pero desconoces el nombre del comando.
  2. man ping → Mostrar las páginas del manual on-line; por ejemplo, en un comando ping, usar la opción '-k' para encontrar cualquier comando relacionado.
  3. man -t ping | ps2pdf - ping.pdf → Convertir las páginas del manual del comando ping en un archivo pdf (para lo cual es necesario haber instalado Ghostscript).
  4. mkbootdisk --device /dev/fd0 `uname -r` → Crear un floppy boteable.
  5. gpg -c file1 → Codificar un fichero con guardia de seguridad GNU.
  6. gpg file1.gpg → Decodificar un fichero con Guardia de seguridad GNU.
  7. wget -r www.example.com → Descargar un sitio web completo.
  8. wget -c www.example.com/file.iso → Descargar un fichero con la posibilidad de parar la descargar y reanudar más tarde.
  9. echo 'wget -c www.example.com/files.iso' | at 09:00 → Comenzar una descarga a cualquier hora. En este caso empezaría a las 9 horas.
  10. ldd /usr/bin/ssh → Mostrar las bibliotecas compartidas requeridas por el programa ssh.
  11. alias hh='history' → Colocar un alias para un commando –hh= Historial.
  12. chsh → Cambiar el comando Shell.
  13. chsh --list-shells → Es un comando adecuado para saber si tienes que hacer remoto en otra terminal.
  14. who -a → Mostrar quien está registrado, e imprimir hora del último sistema de importación, procesos muertos, procesos de registro de sistema, procesos activos producidos por init, funcionamiento actual y últimos cambios del reloj del sistema.
  15. echo “128*1024*1024” | bc → Calcular desde la consola el tamaño en bytes de 128 MiB.
  16. sudo !! → Ejecutar como superusuario el último comando tecleado.
  17. clear → Limpiar la pantalla.
  18. uncomando > archivodesalida.txt 2>&1 → Ejecuta un comando y redirige la salida a un archivo, combinando en este tanto STDOUT como STDERR.
  19. uncomando | tee archivodesalida.txt → Ejecuta un comando, muestra la salida en la pantalla y simultáneamente la escribe a un archivo.