Como no siempre podemos disfrutar de gestores de archivos con interfaz gráfica, tipo Dolphin, Nautilus o similares, es muy recomendable conocer otros alternativos. ¿En que casos nos puede suceder?, un caso muy concreto es cuando accedemos vía ssh a otro equipo. En estos casos, no tendremos disponible un interfaz gráfico, pero podemos recurrir a gestores como ranger un administrador de archivos para el terminal.
Anteriormente, escribí sobre Midnight Commander, que es un administrador de archivos para el terminal, pero del tipo de dos paneles. Sin embargo, ranger tiene un funcionamiento diferente, pero que puede llegar a ser altamente productivo, en función del uso que necesites. Además ranger es altamente configurable, y con unos pocos conocimentos de Python, tienes una herramienta realmente potente delante de tus narices.
Ranger, un administrador de archivos para el terminal
ranger es una administrador de archivos para el terminal con atajos de teclado tipo VI. Esto quiere decir, que si estás habituado a trabajar con este editor de textos, te sentirás como pez en el agua.
ranger tiene un interfaz de trabajo sencillo y minimalista. La vista que nos presenta es de dos o tres columnas, dependiendo de donde nos encontremos. En la columna de mas a la izquierda veremos los directorios superiores, en la de en medio el directorio inmediatamente superior a donde nos encontramos, mientras que en la columna de la derecha vemos el contenido del directorio o archivo sobre el que estamos situados con el cursor.
Ahora bien, el problema de este administrador de archivos es que tiene una curva de aprendizaje que es necesario superar para poder sacarle provecho. Aunque para cada una de las opciones nos muestra una ayuda contextual con las posibilidades que tenemos.
Atajos de teclado
Como era de esperar, este administrador de archivos para el terminal, dispone de un gran número de atajos de teclado y combinaciones. En principio ranger utiliza los de vi, pero como veremos mas adelante, es posible configurarlo para establecer los tuyos propios.
+h, j, k, l
. Te desplazas a la izquierda, abajo, arriba o derecha.+, , ,
. Te desplazas a la izquierda, abajo, arriba o derecha.+H, L
. Te mueves hacia atrás o hacia delante en la historia.+g
. Aparecerá en la parte inferior un menú con diferentes opciones de IR.+gg
. Vas a la parte superior.+gr
. Vas al directorio raiz.+gh
. Vas al directorio home.+G
. Vas a la parte inferior.+[, ]
. Vas al directorio padre superior o inferior.+i
. Inspecciona el archivo en curso.+E
. Edita el archivo con el editor por defecto.+S
. Abre un shell en el directorio en curso. Para salirexit
.+y
. Aparecerá en la parte inferior un menú con diferentes opciones de COPIAR.+yy
. Copia la selección.+ya
. Añade archivos al búfer.+d
. Aparecerá en la parte inferior un menú con diferentes opciones de BORRAR.+dd
. Corta la selección.+da
. Añade el archivo a borrar a la selección.+p
. Aparecerá en la parte inferior un menú con diferentes opciones de PEGAR.+pp
. Pega la selección.+po
. Pega la selección y sobreescribe.+pL
. Crea enlaces simbólicos.+mX
. Crea un marcador con el nombre X.+
X`. Te desplazas al marcador con nombre X.+o
. Aparecerá en la parte inferior un menú con diferentes opciones de ODENAR.+oa
. Por fecha ascendente.+oA
. Por fecha descendente.+ob
. Por nombre ascendente.+oB
. Por nombre descendente.+oe
. Por extensión ascendente.+oE
. Por extensión descendente.+f
. Navegación rápida entrando parate del nombre.+Espacio
. Marcas un archivo.+v
. Marca todos los archivos.+V
. Empieza a marcar archivos hasta que lo deseleccionas.+/
. Busca archivos en el directorio actual.+:
. Abre la consola.+!
. Abre la consola con el texto “shell”.+r
. Abre la consola con el texto “open with”.+cd
. Abre la consola con el texto “cd”.+gn
. Crea un nueva pestaña.+gt
. Va la siguiente pestaña.+gT
. Va la pestaña anterior.+gc
. Cierra la pestaña en curso.
Comandos
Además de los atajos de teclado vistos en el apartado anterior, es posible ejecutar determinados comandos directamente en la consola que aparece pulsando :
. Ten en cuenta que la consola de ranger no es equivalente al *terminal.
Además pulsando las teclas2?
entramos en un menú de ayuda, que nos permite ver la página man, los atajos de teclado, los comandos o la configuración.
A continuación puedes ver algunos de los comandos mas interesantes que podemos ejecutar desde la consola de *ranger,
cd [directory]
. Cambia el directorio.chain command1[; command2[; command3...]]
. Ejecuta varias ordenes, separadas por punto y coma.chmod octal_number
. Establece los permisos del archivo o directorio. Puedes leer mas en los permisos en linux.delete
. Borra todos los archivos seleccionados.echo [text]
. Muestra un texto en la barra de estado.edit [filename]
. Edita el archivo seleccionado o el que aparece en el argumento.eval [-q] python_code
. Evalua un código en Python.filter [string]
. Filtra los archivos con string en su nombre.find [patron]
. Busca tdos los archivos en el directorio actual que contiene el patrón.help
. Muestra la ayuda.mark [patron]
. Marca todos los archivos que cumplen con un expresión regular.meta key value
. Establece la información al archivo seleccionado.mkdir dirname
. Crea un directorio llamado dirname.open_with [application] [flags] [mode]
. Abre los archivos seleccionados con la aplicación indicada.punmap keys...
. .quit
. Cierra la pestaña en la que estamos trabajando si solo hay una..quit!
. Sale de ranger.relink newpath
. Cambia el destino del enlace.rename_append
. Abre la consola con “:rename ”.rename newname
. Renombra el archivo seleccionado.save_copy_buffer
. Guarda el búfer de copia..search pattern
. Busca archivos en el directorio actual que cumplan con una determinada expresión regular.shell [-FLAGS] command
. Ejecuta un orden en el shell.terminal
. Abre un emulador de terminal en le directorio en curso..touch filename
. Crea un archivo vacío con el nombre filename.unmark [patron]
. Desmarca todos los archivos que cumplen con un expresión regular.
Archivo de configuración
ranger es un administrador de archivos para el terminal altamente configurable. Te recomiendo que le des un vistazo al archivo de configuración por defecto /etc/ranger/config/rc.conf
. Pero lo mejor es que los intales en tu directorio de configuración y los modifiques a tu gusto. No debes preocuparte en hacer alguna fechoría, porque siempre los puedes reescribir.
Para crear los archivos de configuración en tu directorio ejecuta la siguiente orden,
ranger --copy-option=all
Al hacer esto, ranger creará cuatro archivos en tu directorio ~/.config/ranger
,
rifle.conf commands.py rc.conf scope.sh
rifle.conf
ranger, utiliza una aplicación externa, llamada rifle para abrir o ejecutar archivos. Para configurar rifle hay que modificar rifle.conf, donde se describe que aplicación abre que*.
commands.py
Ah! amantes de Python aquí tenéis todo un filón para explotar. Este archivo contiene clases definidas por el usuario. Cada una de las clases representa un comando. Para interactuar con ranger, la clase tiene que definir como mínimo un método específico execute
.
No solo nos permite modificar el comportamiento por defecto de ranger, sino que además podemos crear comandos nuevos.
rc.config
Aquí puedes definir el comportamiento básico de ranger. Por defecto, los atajos de teclado son los definidos para VIM, pero al igual que hice en el artículo sobre nano puedes modificarlos y adaptarlos a tus necesidades de forma relativamente sencilla.
scope.sh
Es algo similar a rifle pero su uso es para previsualizar archivos. Se trata de algo realmente útil, puesto que nos permite ver el contenido de un archivo determinado, sin la necesidad de abrirlo. Además, no solo funciona con archivos de texto, también funciona con imágenes y con archivos PDF.
Para mejorar las capacidades de visualización, es recomendable instalar algunos paquetes adicionales. Para ello, ejecuta la siguiente orden,
sudo apt install highlight atool caca-utils w3m poppler-utils mediainfo
Temas
Por supuesto, y como no podía ser de otra forma, el estilo de ranger es totalmente configurable. Además crear un tema nuevo es una operación muy sencilla gracias a la herencia de Python. Solo tenemos que crear un tema llamado, por ejemplo, nuestro_tema.py
, y establecerlo en rc.config
. Puedes encontrar algunos temas buenos que te servirán de partida en dotshare o en GitHub.
En el directorio /usr/share/doc/ranger
encontrarás el archivo colorschemes.txt
que te explica que son los esquemas de color, como funcionan y como implementarlos.
Complementos
Para terminar indicar que ranger soporta también complementos, que evidentemente se implementan en Python. Puedes encontrar algunos ejemplos de complementos para este administrador de archivos para el terminal, en el directorio /usr/share/doc/ranger/examples
.
Más información,
Hola, no conocía este administrador de archivos y me ha gustado mucho. Gracias por dárnoslo a conocer.
Me ha dado un fallo la configuración que debe ser:
ranger –copy-config=all
A la orden que pones en la entrada le falta el signo «=»
Mi ordenador es una Raspberry con Raspbian y aunque pcmanfm es muy ligero siempre viene bien conocer aplicaciones de este tipo.
Saludos
Hola Antonio,
Corregido el error.
Lo cierto es que hay muchas aplicaciones de terminal que van estupendamente, y que consumen muy pocos recursos. Así para casos como el que indicas, estas aplicaciones van de lujo.
Muchas gracias y un saludo.
jajaja, me daba error aunque había leido tu comentario, hasta que me dí cuenta que en la imagen está option y es config .