cyb3rpunk

Command Line Interface Apps

Posted in Consola, enlaces, GNU/Linux, linux by ramonovski on abril 24, 2011

http://cli-apps.org/

De nada.

:wq

Tagged with: , ,

Recuperar archivos eliminados con «rm» es posible, a veces.

Posted in Comandos, Consola, Tips by ramonovski on abril 20, 2011

Eliminar un archivo con un típico «rm archivo» en los inicios de una persona en entornos Unix es más común que hacer un ls en la terminal de windows. Cuando sea el caso y eliminemos sin querer un archivo con el comando rm es posible recuperarlo siempre y cuando exista un proceso en ejecución que involucre al archivo eliminado.

 
Un caso hipotético.

Lanzo el navegador Opera mediante un script llamado oopera.sh, el navegador sigue abierto y por accidente he eliminado el archivo:

rm Scripts/oopera.sh

 
Lo primero que hay que hacer es listar los procesos del sistema y comprobar que el archivo que hemos eliminado se encuentre ahí:

ps -A | grep -i opera
PID TTY TIME CMD
4092 ? 00:00:00 oopera.sh
4093 ? 00:11:35 opera
4219 ? 00:00:00 operapluginclean
12369 ? 00:00:02 operapluginwrap

 

En el directorio /proc están listados y organizados los procesos del Sistema
El subdirectorio /proc/NumeroDelPID/fd/ contiene (entre otras cosas) un enlace simbólico de cada archivo, proceso, socket, directorio activo en el Sistema.
fd = file descriptor

 

Teniendo el PID (Identificador del Proceso) del archivo se comprueba el estado del archivo y al mismo tiempo el nombre del enlace simbólico:

ls -l /proc/4092/fd/* | grep oopera.sh
lr-x------ 1 ramonoid ramonoid 64 Apr 20 13:57 /proc/4092/fd/255 -> /home/ramonoid/Scripts/oopera.sh (deleted)

Estado: (deleted)
Enlace: 255

 
Y ya localizado el enlace, lo único que queda es hacer la restauración con un simple cp:

cp /proc/4092/fd/255 $HOME/Scripts/oopera.sh

 
:wq

Tagged with: , , ,

Los 10 comandos que uso más

Posted in Comandos, Consola, Gentoo, GNU/Linux by ramonovski on febrero 16, 2011

cruznick me mandó la invitación para participar en esto de publicar los «10 comandos que uso más».

Mi historial de comandos lo tengo limitado a «666», no uso bash y tengo el historial en un archivo separado. El comportamiento de «history» es distinto, y al tener limitado a 666 mi historial, pues el resultado va sobre lo que he tecleado los últimos….. ~7 días.

Comando original:

history | awk ‘{print $2}’ | sort | uniq -c | sort -rn | head -10

Comando modificado:

┌─(ramonoid@gentoo:pts/1)──────────────────────────────────────────────────(~)─┐
└─(00:21:%)──> cat .zsh_history | awk '{print $1}' | sort | uniq -c | sort -rn | head -10
     51 mv
     35 sudo
     27 search
     26 rm
     24 cat
     23 ls
     20 sv
     20 cd
     17 unmerge
     16 vp

vp = emerge -vp
sv = sudo vim
search = emerge –search

Creo que lo protocolario es que yo invite a alguien más, así que invitaré a Thalskarth, a ushcompu y a Rugebiker

:wq

Tagged with:

Grabar imagen ISO

Posted in Archlinux, Consola by ramonovski on septiembre 7, 2010

Resultó ser que Brasero no quizo reconocer mi cd.

Y san wiki de Arch me dijo:

wodim -v dev=/dev/cdrw isoimage.iso

Terminal al rescate (fy).

Instalar Finch sin Pidgin

Posted in Alucines, Consola, GNU/Linux, linux by ramonovski on mayo 16, 2010

A veces suelo utilizar Finch como cliente de mensajería ya que a veces las redes disponibles en mi escuela sulen bloquear el puerto 6667, y desde que bitlbee hace uso de ese puerto pues tengo que recurrir a Pidgin, que no utiliza este puerto.

La cosa es que cuando instalo Finch tengo que a fuerza instalar el pesado Pidgin con sus 20 dependencias (gráficas sobre todo) con un total de ~40 mb.

Entonces encontré una forma de instalar de instalar Finch desde el código fuente de Pidgin sin tener que instalar el mismo Pidgin.
El asunto es solamente compilar con los siguientes parámetros:

./configure --disable-gtkui --disable-vv --disable-meanwhile --disable-avahi --disable-nm --disable-tcl

:wq

Tagged with:

Abrir URL en urxvt sin usar mouse

Posted in Consola, GNU/Linux, linux, Tips by ramonovski on abril 21, 2010

Era uno de los inconvenientes que tenía cuando tenía que abrir una URL desde consola. Usualmente el método era hacer click con el mouse, pero he descubierto algo mucho mejor para nosotros los flojos =P

Instalación.

Primero ocupamos tener xclip instalado.

Luego descargar el código clonando el repositorio git siguiente:

git clone git://git.jukie.net/urxvt

Ahora tendremos un directorio urxvt con todo lo necesario.

Lo último es agregar estas lineas a ~/.Xdefaults

URxvt.keysym.M-u: perl:mark-yank-urls:activate_mark_mode<br />
URxvt.underlineURLs: true<br />
URxvt.perl-lib: /home/usuario/.urxvt/ &lt;--la ruta donde vayas a poner el directorio<br />
URxvt.perl-ext: selection,mark-yank-urls<br />
URxvt.urlLauncher: opera<br />
URxvt.colorUL: #86a2be<br />

Estos son los atajos:

Alt-U – Modo «yank URL»; seleciona la última URL; siguiente URL.

<esc> – Sale del modo «yank URL».

y – Copia la URL seleccionada al clipboard.

<enter> – Lanza el browser seleccionado en .Xdefaults.

^n – Selecciona la próxima URL.

^p – Selecciona la anterior URL.

Obviamente estos atajos se pueden cambiar.

Y todavía preguntan que qué tiene de especial urxvt =P

Fuente: http://www.jukie.net/~bart/blog/urxvt-url-yank

:wq

Tagged with:

mmv

Posted in Comandos, Consola, GNU/Linux, linux by ramonovski on abril 19, 2010

Hoy lo conocí gracias a un post del thread the little things that make you go ‘ooh, nice’ en los foros de Archlinux.

Se trata de un comando que es combinación de los comandos rename y mv y otros elementos básicos de bash. Puede copiar/mover/agregar/enlazar, nada que no se pueda hacer con los comandos de siempre. Pero lo que hace a mmv especial es la sencillez en su uso al enfocarse en las expresiones regulares.

Según el man de mmv:

DESCRIPTION
Mmv moves (or copies, appends, or links, as specified) each source file matching a from pattern to the target name specified by the to pattern. This multiple action is performed safely, i.e. without any unexpected deletion of files due to collisions of target names with existing filenames or with other target names. Furthermore, before doing anything, mmv attempts to detect any errors that would result from the entire set of actions specified and gives the user the choice of either proceeding by avoiding the offending parts or aborting. mmv does support large files (LFS) but it does *NOT* support sparse files (i.e. it explodes them).

Para utilizarlo en Archlinux hay que bajarlo de AUR.

Ejemplo de uso:

> mmv 'dsc*.jpeg' 'foto#1.jpg'

Si tenemos 66 archivos jpeg dsc0, dsc1, dsc2, etc… los renombramos a foto0, foto1, foto2, etc… además de cambiarles la extensión a jpg. #1 sustituye el valor de la expresión regular.

Algo más complejo (ni tanto):

> mmv '*foto*.jp*' '#1foto_#2.jp#3'

Aquí agregaremos un guión bajo(_) a todos los archivos con extensión jpg/jpeg que contengan la palabra «foto».

#1, #2, #3, #n sustituyen el valor de las expresiones regulares que se especifiquen en el «from».

Otro:

> mmv ';*.htm' '#1#2.html'

El puntoycoma(;) mmv lo interpreta como subdirectorio. En este comando se está renombrando todos los archivos .htm a .html ubicados en el directorio actual y sus subdirectorios.
#1 viene a sustituir el puntoycoma(;) que es tomado como parte de la expresión regular.

Mas sencillo, ¿no?

Fuentes:
http://elchonline.net/wiki/mmv
http://linux.dsplabs.com.au/mmv-copy-append-link-move-multiple-files-under-linux-shell-bash-by-wildcard-patterns-p5/

:wq

Tagged with:

Atajos en Zsh

Posted in Archlinux, Consola, GNU/Linux, linux by ramonovski on marzo 31, 2010

[ Atajo ] Acción.

Ctrl

[ Ctrl + a ] Cursor al principio de línea.

[ Ctrl + b ] Cursor hacia atrás.

[ Ctrl + c ] Aborta ejecución de cualquier proceso.

[ Ctrl + d ] Borra el caracter que este en el cursor.

[ Ctrl + e ] Cursor al final de la línea

[ Ctrl + f ] Cursor hacia adelante.

[ Ctrl + h ] Borra el caracter a la izquierda del cursor.

[ Ctrl + i ] Autocompletado. Si no hay nada, mueve el cursor. Similar a TAB.

[ Ctrl + k ] Elimina todo el texto del cursor a la derecha.

[ Ctrl + l ] Limpia la pantalla.

[ Ctrl + m ] Return (Enter).

[ Ctrl + n ] Comando siguiente en el historial.

[ Ctrl + o ] Ctrl + m.

[ Ctrl + p ] Comando anterior en el historial.

[ Ctrl + r ] Busca el comando anterior que inicie con la primer letra que presionemos.

[ Ctrl + s ] Congela la terminal.

[ Ctrl + t ] Cambia los dos caracteres anteriores a la posición del cursor.

[ Ctrl + u ] Borra la linea completa y la guarda en framebuffer.

[ Ctrl + w ] Borra y guarda en framebuffer la palabra a la izquierda del cursor.

[ Ctrl + xx ] Mueve el cursor a su posición anterior.

[ Ctrl + y ] Pega todo lo que esté guardado en el framebuffer.

[ Ctrl + z ] Suspende el comando. Manda el proceso actual al background, el proceso puede ser regresado a primer plano con los comandos: jobs y fb.

Alt

[ Alt + < ] Mueve a la primera línea en el historial.

[ Alt + = ] Mueve a la ultima línea en el historial.

[ Alt + ? ] Muestra la ruta del comando, es como escribir «which-command + comando».

[ Alt + backspace ] Borra palabras hacia atrás.

[ Alt + . ] Último comando usado.

[ Alt + | ] Mueve cursor a principio de la linea.

[ Alt + ‘ ] Encierra en comillas toda la cadena.

[ Alt + c ] Convierte a mayúscula la primer letra y el resto a minúsculas.

[ Alt + d ] Borra palabra hacia adelante.

[ Alt + h ] Escrito después de un comando y nos da la ayuda, es como escribir «run-help comando».

[ Alt + l ] Convierte una palabra a minúsculas.

[ Alt + n ] Busca hacia delante en el historial.

[ Alt + p ] Busca hacia atras en el historial.

[ Alt + q ] Borra toda la linea.

[ Alt + t ] Invierte orden de palabras adyacentes.

tab
[ / + tab ] Lista los directorios de la partición /.
(En realidad TAB funciona para autocompletado listando todas las opciones posibles. Si pones ~/ + TAB pues obviamente listará los directorios de tu home)

[ * + tab ] Muestra los archivos. Es un «ls» pero mas desordenado.

[ ~ + tab ] Muestra todos los usuarios del sistema (lee en /etc/passwd)

[ $ + tab ] Muestra todas las variables del sistema.

[ = + tab ] Todos los comandos.

[ < + tab ] Si es un archivo y presioanas enter, te lo muestra. Como el comando cat.

Otros

[ home ] Mueve el cursor al principio de la línea.

[ end ] Mueve el cursor al final de la línea.

[ esc d ] Borra hasta el final de la palabra.

[ esc p ] Busca en el historial de comandos. Comando + Esc p.

[ esc t ] Invierte orden de palabras adyacentes.

[ esc u ] Cambia a mayúsculas la palabra siguiente.

——————————

La mayoría funcionan tambien en bash.

¿Sabes algún otro?

:wq

Tagged with: ,

Conocer tamaño de archivos en *sh

Posted in Consola, GNU/Linux, linux by ramonovski on marzo 14, 2010

Encontré 3 maneras distintas de hacerlo:

du -h archivo
stat -c %s archivo
ls -Shl archivo | awk '{print $5}'

Probablemente no me sirva de nada al usar vifm | pcmanfn, quienes me dan ya el tamaño, pero el uso de los comandos puede que los necesite algún día. Hablo de stat solamente =P

:wq

Tagged with:

ar

Posted in Consola, curiosidades, linux by ramonovski on febrero 25, 2010

Andaba payaseando con algunos comandos de este blog y llego al comando «ar m God», cuando de repente…

…sentí miedo xD!

Es una onda parecida al Botón Placebo pero en comando.

:wq