Inicio » Guardar desde vim sin tener permisos sobre el fichero

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 %

Fijaos que lo que hace es pedir la escritura del fichero, pero acto seguido con ! la ejecución de un comando al que el fichero le entrará por la entrada estándar, este comando es sudo, que si está configurado y tras introducir nuestra contraseña, nos permite ejecutar lo siguiente como root: tee %, que lo que hace es escribir lo que le llegue a un fichero de nombre %, que es una macro sustituida por vim con el nombre de fichero actual.

¡Más tricky y más útil imposible!

Visto en Cantonmat.net gracias a Linux Magazine.

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).