Inicio » consola

consola

Trucos para la consola, terminales, bash y otros shells.

Guardar desde vim sin tener permisos sobre el fichero

Enviado por queru el 4 July 2010 - 11:01am.

A veces abrimos ficheros en vim con nuestro usuario actual, y resulta que el fichero sólo tiene permisos de escritura para root. A mí me pasa mucho con el /etc/hosts, y anda que no fastidia hacer todas las modificaciones y darte cuenta al final de que no puedes sobreescribir el fichero.

Hasta ahora lo que hacía es grabarlo con otro nombre y luego moverlo con sudo, pero eso se acabó gracias a este ingenioso truco:

:w !sudo tee %

Servir mediante http el directorio actual

Enviado por queru el 4 July 2010 - 10:52am.

Si queremos servir de forma rápida el fácil el directorio actual mediante protocolo HTTP, para compartir un fichero, un documento o lo que sea, no hace falta montar un Apache ni nada parecido. Sencillamente podemos hacer lo siguiente:

$> python -m SimpleHTTPServer

/dev/null ilegible en Ubuntu

Enviado por queru el 14 March 2010 - 11:17am.

A los genios de Ubuntu, respetuosos con los servidores como nadie (sic), se les ha ocurrido en algún update dejar sólo con permisos de root al /dev/null, con lo cual cosas como "clamav-daemon" fallan estrepitosamente al arrancar al no poder leer ni escribir en este dispositivo falso.

Una de esas enormes estupideces que cometen todas las distros y que le hacen a uno permanecer fiel a Debian, prometan lo que prometan las demás.

En fin, la solución es sencilla, eso sí, después de haber tenido a los clientes con todos los antispam caídos:

#> sudo chmod a+w /dev/null
#> sudo chmod a+r /dev/null

Suerte con las distros cool, la vais a necesitar.

Canciones duplicadas en KDE o GNOME

Enviado por queru el 22 January 2010 - 3:42pm.

Por Calocén:

Para sacar una lísta de canciones sin duplicar de la carpeta Music. Serviría para gnome y kde.
A partir de aquí hay que copiar cada fichero de la lista o eliminar los que no estén en ella.

#!/bin/bash

TMPFILE=/tmp/music.$$
find ~/Music -type f > $TMPFILE
while read i ; do md5sum -b "$i" ; done < $TMPFILE > $TMPFILE.md5
$TMPFILE.md5 | cut -f1 -d" " | sort | uniq  > $TMPFILE.dedupe
while read i ; do  grep "$i" $TMPFILE.md5 | head -n1 ; done < $TMPFILE.dedupe \
        | cut -f2 -d"*" > $TMPFILE.song.dedupe

Cuando a Debian se le olvidan las llaves

Enviado por queru el 12 January 2010 - 12:52pm.

A veces, al actualizar Debian, hacemos un aptitude update y el sistema se queja con algo así:

W: GPG error: http://security.debian.org etch/updates Release: Las firmas siguientes no se pudieron
  verificar porque su llave pública no está disponible: NO_PUBKEY 9AA38DCD55BE302B
W: GPG error: http://ftp.rediris.es etch Release: Las firmas siguientes no se pudieron
  verificar porque su llave pública no está disponible: NO_PUBKEY 9AA38DCD55BE302B
W: Tal vez quiera ejecutar 'apt-get update' para corregir estos problemas

Como saber si un demonio está corriendo en GNU/Linux

Enviado por queru el 24 December 2009 - 12:54am.

Para un servidor remoto:

  • Puedes usar nmap (hay que instalarlo), algo así:

    $> aptitude install nmap
    $> nmap 192.168.1.1 -p 80
    

    El "-p 80" es el puerto que quieres comprobar, donde debería estar el servicio escuchando. Podrías sustituirlo por su representación textual "-p www", o "-p smtp". Para ver un listado de puertos y nombres:

    $> cat /etc/services
    

  • Hacer un telnet:

    $> telnet 192.168.1.1 80
    

    Recuerda que deberás conocer el protocolo para salir, o bien escapar con "Ctrl+[" y "Ctrl+d".

Desde dentro del servidor:

  • Puedes usar ps para ver los procesos:

¡Mátalos a todos!

Enviado por queru el 21 December 2009 - 5:59pm.

Cuando queremos matar un proceso determinado es fácil, lo buscamos con un ps, vemos su PID y nos lo cargamos con kill.

Pero cuando queremos cargarnos todos los procesos de un demonio, que se llaman todos igual pero hay muchos corriendo, podemos ir uno a uno o hacer un pequeño bucle sobre la salida de ps, o podemos utilizar la herramienta killall que ya nos lo da hecho.

killall:

En Debian GNU/Linux no viene instalada por defecto, hay que instalar el paquete psmisc:

Que no se corten las sesiones SSH

Enviado por queru el 18 December 2009 - 10:20pm.

Para que no se nos corten por inactividad las sessiones SSH con nuestros servidores, deberemos añadirles algo así a su configuración:

/etc/ssh/sshd_config:

# No cortar:
ClientAliveInterval 120
ClientAliveCountMax 5

Revolviendo cadenas

Enviado por queru el 14 December 2009 - 10:28pm.

¿Recordáis esos discos de vinilo que según decían algunos al escucharlos al revés se oían mensajes satánicos? :-)

Pues no sabemos si es más satánico un disco de los Accept del derecho o del revés, pero hoy os vamos a explicar como hacer eso con textos en la consola.

rev:

Con el comando rev podemos poner cualquier cadena en orden inverso, así:

$> echo "esto es una prueba"|rev
abeurp anu se otse

o también:

$> cat /etc/issue.net | rev
0.5 xuniL/UNG naibeD

tac:

Tenemos el fichero prueba.txt con el siguiente contenido:

Encontrar directorios demasiado gordos

Enviado por queru el 1 December 2009 - 9:43pm.

Find Fat Fast

¿Que ocurre cuando se nos llena el disco y no sabemos que es lo que lo ha llenado? Tal vez sean logs descontrolados, o tal vez ficheros de correo, o...

Si preguntamos a algún amigo gafotas, lo más probable es que nos conteste esto:

find / -type d -size +1G

¡Oh! ¡Qué bueno! Diréis, ¡find me permite ver que directorios ocupan más de 1Gb!

PUES NO

No. Eso sólo sirve para ficheros (-type f), ya que el sistema de ficheros, como tamaño del directorio devuelve lo que ocupa en disco dicho directorio, es decir, el tamaño mínimo de bloque, por ejemplo 4Kb, siempre, contenga lo que contenga.

No os preocupéis, yo también fui víctima de la credulidad y de la vagancia, y pasaron unas horas antes de darme cuenta de mi error.

Distribuir contenido

Inicio de sesión

Contrato Coloriuris
Copyright © 2010 TrucoLinux.com: Todo el contenido sujeto a contrato ColorIruris salvo que se especifique lo contrario.
Este sitio ha sido totalmente desarrollado y montado sobre software libre: Gentoo GNU/Linux, Apache, MySQL, PHP, Drupal...
Sindicar contenidos: Noticias (RSS).