Por llegar a Venezuela: nuevo ZTE MF910.

El futuro del internet, para nosotros los usuarios finales, debe incluir el uso de acceso al mismo por medio de la tecnología inalámbrica de amplia cobertura. Es decir, la red inalámbrica norma b, g o n en nuestros hogares ya la damos por sentada con un enrutador conectado a un modem DSL y luego llega hasta nuestros dispositivos por alguna de las normas mentadas. En los tres últimos años, aproximadamente, dichos enrutadores han ampliado, por medio de conectores usb, la capacidad de almacenar datos y/o conectar por modems tipo 2G/3G pero ahora con la llegada de la norma 4G -muy prometedora- noto un punto de inflexión.

Es por ello que publico lo que entiendo sobre el nuevo ZTE MF910 que anuncia su pronta llegada a nuestro país en un reportaje de la mano de Antonio Da Silva Cam @expectativa67 que redirige (con publicidad) a la página de con-cafe.com:

Es por ello que investigo un poco más sobre el tema y tomo dato de las especificaciones que anuncia el propio ZTE Australia (si no pueden ver la página utilicen un proxy anónimo ubicado en ese país) las características del aparatito y que paso a describir con mis propias palabras:

Es un enrutador totalmente inalámbrico con batería soldada (no reemplazable quiero decir) que igual sigue apoyando la norma b/g/n para nuestro uso local pero se conecta a internet por medio de la norma 4G (y con retrocompatibilidad con 3G y 2G) al cual simplemente le insertamos nuestra tarjeta SIM tamaño 2FF –importante NO acepta microSIM, daña el aparato, recomiendan uso de adaptador, por ejemplo éste-, metemos nuestra contraseña (de ser necesario) y nos permite conectarnos al internet por 5 horas, tras lo cual debemos recargar batería -4 horas si la enchufamos al tomacorriente, más tiempo si la conectamos a nuestra computadora vía usb-. Justo debajo de donde insertamos la SIM está el botón de “reset” el cual debemos presionar con el aparatito encendido hasta que veamos por pantallita su reinicio a los valores que trae de fábrica. En modo de espera (se apaga el wifi) la batería puede durar hasta 280 horas -este escenario si todos nuestros dispositivos están apagados-. Debe estar encendido para recargar batería y mientras tanto podemos “navegar” tranquilamente. Para encenderlo presionar el botón de “power” por 2 segundos, tarda 20 segundos en arrancar y para apagarlo mantener presionado el botón por 5 segundos.

En teoría conecta hasta 150 mbps pero está diseñado para una “velocidad de crucero” de 100 mbps lo cual es equivalente a la norma Fast Ethernet (si un solo dispositivo está conectado, por ejemplo, sólo nuestro computador). Cuando transfiere a su velocidad máxima puede ocurrir un calentamiento superior, pero bueno, eso es previsible (como cuando a nuestra computadora le corremos varias máquinas virtuales, pues su consumo eléctrico aumenta). De todos modos advierten que por encima de 45 grados Celsius no debe llegar, no porque el aparato no lo soporte, sino por las características intrínsecas de las baterías ión Litio (ahora es prácticamente normal ése tipo de baterías en nuestra vida moderna).

ZTE MF910 AMAZON UK

Otra ventaja adicional es que se le puede conectar una antena externa tipo MIMO TS9 (como este ejemplo) para alcanzar la señal de nuestra operadora telefónica -en mi caso particular Digitel 3G– y no olvidemos su acceso a configuración:

192.168.0.1

login: Admin

contraseña: password

Desde el propio aparato -“web client”, arriba la dirección local- cambiaremos la contrseña de acceso al wifi local -cosa importantísima-. Verán la red en su computadora -o celular- como “TPW4G_xxxxxx” (Default SSID), a la cual se deben conectar. Si no acepta la contraseña en minúsculas ingresar todo en mayúsculas. Ésta es la manera fácil y rápida de configuralo para nosotros, la gente vulgar; si son ligeramente paranóicos o su vecino es agente de la NSA tiene la opción de configurarlo por cable USB y por supuesto deberán instalar los controladores al sistema operativo que utilicen. En el caso que usen Android desde la tienda electrónica podrán descargar una aplicación para monitorear el enrutador. También por el mismo web client podrán desacargar los manuales en formato PDF.

Configurar el dispositivo no dista mucho de lo que haríamos con cualquier enrutador inalambrico que soportan modem usb 3G, si acaso lo diferente que observo es que viene preconfigurado para atender 5 dispositivos (carga de trabajo recomendada) y se agradece que traiga el WPS deshabilitado de manera predeterminada -ojo: encender, conectarse vía web client con la dirección IP local y credenciales, cambiar la contraseña y desactivar el SSID lo más rápido posible-. Otra opción disponible es cambiar la configuración para evitar que caiga en modo de ahorro de energía -apaga la señal- a estar siempre encendido -pero gasta más batería-.

Ya para finalizar, como nota curiosa, este modelo MF910, si se desbloquea como es debido, se comporta exactamente igual al MF91D que es más barato pero no soporta 3G -banda de 800 MHz- (en Europa esto no es problema pero acá la banda 3G le quedan unos cuantos años de vida, creo yo).

En la consulta a la tienda Amazon del Reino Unido no lo tienen disponible -ni saben cuándo les llegará- pero al menos podrán observar unas excelentes fotografías del artefacto.

<Eso es todo, por ahora>.

Año 1995: “blast from the past” ATX POWER SUPPLY.

Lo que me sucedió en julio de 2015 ya lo había vivido en el año 1995, pero con una pequeña diferencia que les contaré luego. Aunque trabajo con computadoras desde el año 1989 sólo fue hasta 1993 que pude reunir para comprarme una usada. Era una DTK (acá pueden ver una sucesora 386) XT8080 de segunda mano -hecha en Miami, cuando los gringos producían algo más que invasiones y guerras-  tipo “baby”, DE HIERRO Y ACERO (el aluminio brillaba por su ausencia y el plástico era poco) sin disco duro, con dos floppy de 5 1/4″ y un monitor monocromático Samsung con un horrible color ámbar. Para entonces una computadora nueva costaba Bs. 80 mil, equivalentes a unos 870 US$ (dólar a Bs 92, en ese momento) y que para el día de hoy (teniendo en cuenta que el $ ha perdido un 35% de su valor desde 2002) unos 1.200 US$ actuales -julio 2015-. NO HABÍA DE OTRA comprar una nueva me era imposible así que como dicen que “no hay mal que por bien no venga” pues alá, a trabajar los hierros -literalmente-.

baby xt with monochrome monitor
baby xt with monochrome monitor

Continue reading

Cambiar refresco de pantalla en Debian.

Con el paso de los años mi visión se ha debilitado. Por eso decidí desempolvar mi viejo monitor Samsung LCD 740n que tiene una estupenda tasa de refrescamiento vertical de 75 Hertz, es decir, “dibuja” el monitor 75 veces por segundo lo cual hace más placentero ver un monitor durante horas y horas todos los días. Yo sabía que por defecto viene fijado en 60 Hertz aunque no sabía el por qué, investigando un poco encontré este artículo donde dan una explicación histórica, dos grandes verdades que en mi mente no las había unificado hasta ahora. Las razones del por qué cansa menos la vista mientras mayor sea la tasa de refrescamiento por segundo siempre lo he tenido presente pero en este otro artículo está pero que muy bien explicado.

Finalizado el preámbulo vamos al grano, cambiar el refresco de pantalla (y resolución) en Debian (e incluso otras distribuciones Linux pero aún no lo he probado ya que las máquinas virtuales con las que practico pues… ¡usan el mismo monitor todas!). Esto quiere decir que este tema es con HARDWARE REAL pero primero he de hacerles una advertencia, no vayan a decir que no se los advertí:

Establecer una tasa de refrescamiento a un monitor para la que NO ESTÁ DISEÑADO, PUEDE DAÑAR SU MONITOR.

De hecho lo dañará si aún tiene un monitor de rayos catódicos (CRT, del inglés Cathode Ray Tube), en el caso de los monitores LCD y LED pues simplemente se niegan a trabajar y como no confirmamos al sistema operativo el ajuste, pasado cierto tiempo lo devolverá a su estado anterior. Si dudan de mi palabra lean la advertencia de Microsoft y otros foros importantes sobre tarjetas de video.

Actualmente esto no es problema para los monitores “en tercera dimensión 3D” ya que refrescan mínimo a 120 Hertz (60 para cada ojo) y así se produce la ilusión de profundidad, con dos imágenes tomadas desde dos puntos separados por cierta distancia, tal como vería nuestros ojos humanos (suena sencillo ¿verdad?).

www.ks7000.net.ve expresado en QR.

Generando códigos QR con Python.

Introducción.

En el día de hoy aprendimos que se pueden generar “QR codes” (la cual es la abrevitura, en inglés, de “Quick Response Code“) con un paquete para el lenguaje Python. Fueron creados en Japón para el manejo de piezas y manufactura de vehículos de la marca Toyota, a fin de agilizar grandemente los inventarios. Explicar cómo funcionan merece su entrada completa y aparte, aquí vamos a explicar brevemente cómo instalarlo y usarlo con Python.

Agradecimiento.

Agradecemos de antemano a los programadores de software libre de “Industrias Diana” cuya exposición fue brillante en el “Décimo Primer Congreso de Software Libre”. Dicha exposición abarcó varios temas acerca del proceso y manejo de la información, entre otros la cmunicación con impresoras fiscales y la generación de códigos QR, caso que nos ocupa hoy. Muchas gracias por compartir el conocimiento, cumplimos con seguir difundiendolo.

Instalación del módulo QR en Python.

Lo primero que debemos hacer es abrir una ventana terminal (¿no sabe cómo? visite nuestro pequeño tutorial sobre shell) y verificar si tenemos Python instalado en nuestro ordenador:

python -V

Podrán visualizar algo como esto:

Python comando para verificar versión instalada
Python comando para verificar versión instalada

Y a continuación escribimos la orden para instalar el módulo necesario para los códigos QR:

sudo apt-get install python-qrcode

La mayoría de las distribuciones GNU/Linux traen Python instalado por defecto, acá usamos Ubuntu en este ejemplo:

 qr-code python

Una vez instalado lo probamos, tal cual dice el ejemplo publicado en “Python Software Fundation” qrcode 5.1, es decir, crear una etiqueta QR con una información en un archivo de imagen en formato .png:

qr "Some test" > test.png

¡Y listo! (más tardamos explicando la introducción al tema que lo que se tardó instalando).

Uso de la librería QR.

Claro está, estos códigos les debemos dar usos útiles, en nuestro caso la imagen que encabeza esta entrada es la dirección URL de nuestro blog http://www.ks7000.net.ve

www.ks7000.net.ve expresado en QR.
www.ks7000.net.ve expresado en QR.

En realidad el comando qr es un guión “script” ubicado en

1
/usr/bin/qr

que nos facilita la realización de códigos QR de una manera rápida y sencilla. Si queremos avanzar un poco más podemos usar el siguiente código en lenguaje Python, el cual explicaremos luego línea por línea:

import qr
imagen = qrcode.make('http://www.ks7000.net.ve')
imagen.save('ks7000_url_qr.png', 'png')
  • La primera línea carga en memoria la librería necesaria y capaz de generar los códigos QR.
  • La segunda línea llama al método “hacer” de la librería qr para “dibujar” la línea que está como argumento (entre paréntesis y entrecomillado).
  • La tercera línea guarda en la carpeta desde donde se llamó a la aplicación y el primer argumento es el nombre del archivo y el segundo argumento el tipo de imagen.

Dichos códigos QR tienen una característica particular: utiliza un algoritmo de correción de errores basado en código Reed-Solomon de hasta un 30% (Y NO DE 50% COMO  PENSABAMOS -¿de dónde sacamos eso?) y lo podemos especificar de la siguiente manera:

import qrcode
qr = qrcode.QRCode(
  error_correction=qrcode.constants.ERROR_CORRECT_H,
  version=1,
  box_size=10,
  border=4,
)
qr.add_data('http://www.ks7000.net.ve')
qr.make(fit=True) imagen = qr.make_image()
imagen.save('ks7000_url_qr.png', 'png')
  • ERROR_CORRECT_H corresponde a un 30% de error de lectura (le coloca información redundante previendo el daño de la etiqueta donde va a ir el código QR). Es el error máximo soportado, los otros valores son -por letra-: “Q”, 25%; “M”, 15%; “L”, 7%. Todo depende en dónde vamos a colocar el código QR generado, recordemos que se inventaron para manejo de inventario de productos que debido a la manipulación y traslado puede dañar las etiquetas autoadhesivas que hagamos
  • version: un valor que va de 1 a 40 y controla el tamaño de la matriz de cuadrados. Aquí le colocamos 1, valor mínimo, pero como más adelante especificamos un valor en box_size deberemos usar el comando fit para que el software nos ajuste a la matriz de tamaño correcta.
  • box_size: el tamaño en píxeles que tendrá la caja.
  • border: el número de cuadros que tendrá el borde, cosa importante ya que son cuatro lados en blanco que permite ubicar la lectura. La cantidad mínima de cuadros es 4.

También observamos que el comando qr.make() lleva un solo argumento que indica que la imagen se ajuste automáticamente a los valores establecidos (ver anterior explicación de parámetros) y el comando qr.make_image() que lleva a cabo la conversión en sí de la imagen. Todos estos parámetros nos permiten generar códigos según necesitemos: tamaño, seguridad de lectura, etc.

Elementos de un “QR Code”:

Esta figura, en formato de “Scalable Format Graphic” (SVG) tomada de la Wikipedia bajo licencia “Creative Commons” (modificamos el archivo y le hicimos traducción al idioma castellano) nos muestra dónde están ubicados, por ejemplo los niveles de correción para errores de lectura en el cuadro guía superior izquierdo (esos tres cuadrados grandes a su vez con cuadrados insertados se utilizan para ubicar y rotar la imagen en memoria antes de proceder a descodificarlas, permite la lectura en cualquier dirección y es muy útil para productos grandes y pesados, tomáis la foto como se encuentre e igual se lee):

Información de formato "QR code"

 

Fuentes consultadas:

En idioma inglés:

En idioma castellano:


<Eso es todo, por ahora>.

Congreso Nacional de Software Libre, viernes 12 de junio de 2015.

Libertad no es poder escoger quién será tu amo, ¡LIBERTAD ES NO TENER AMO!

Richard Matthew Stallman.

Evento realizado en el INCES Av. Lara de Valencia, estado Carabobo, y organizado por:

Puede revisar el cronograma de actividades en este enlace.

Apertura del evento.

 

 

Ponencia: “Conciencia irreverente para un pais consciente”.

 

Ponencia: “Robótica divertida”.

CNSL2015-01 CNSL2015-02 CNSL2015-03 CNSL2015-04 CNSL2015-05 CNSL2015-06

Ponencia: “Licencia Venezolana de Software Libre”.

CNSL2015-07 CNSL2015-08

Ponencia: “Academia de Software Libre Carabobo”.

<Eso es todo, por ahora>.

Gaceta Oficial Extraordinaria N° 6.181: aumento sueldo 20+10% 1° mayo 2015.

Son 2 hojitas en formato pdf  (agradezco a “pdfsam” y lo recomiendo para dividir y combinar documentos en ese formato); con este aumento el sueldo mínimo en Venezuela se ubica en Bs. 7.421,68 (si tomamos como referencia el SIMADI serían aproximadamente US$ 37 mensuales).

Para descargar dicho ejemplar electrónico de la Gaceta Oficial desde nuestra página web haga click aquí.

Si desea descargarla desde el Tribunal Supremo de Justicia.

<Eso es todo, por ahora>.

Debian 8 Jessie: mi primer vistazo (instalada en VirtualBox).

Lo único constante es el cambio.

El único cambio que le gusta al ser humano es el cambio de pañales, pero debemos poner todo nuestro empeño en estar siempre a la par de los cambios que nos hacen evolucionar y sobrevivir. He aquí el nuevo Debian 8 Jessie el cual lo pruebo por primera vez en una máquina VirtualBox con 1024 MB RAM, 128 MB video y 2 procesadores 64 bits, aquí les dejo el vídeo con el paso a paso de la instalación:

<Eso es todo, por ahora>.

Instalando Chromixium en una máquina VirtualBox.

He de confesarles que utilizo como navegador web al Mozilla Firefox, que es muy bueno y al Iceweasel que es mejor aún, pero no pueden competir con el caché web alojado en los servidores de Google para su navegador Chromium o Chrome. Es por ello que estaba buscando la manera de instalarlos de la manera más rápida y práctica posible y no me sentía a gusto; luego leí el reportaje “Chromixium: fusiona lo mejor de Chrome OS y Ubuntu” así que ni tardo ni perezoso me dispuse a bajarla por torrent y al poco rato la había instalado y estaba funcionando. RECOMIENDO presten atención en el particionado del disco, un detallito si escogen la opción “automatica”; donde tuve más contratiempo fue en la configuracion de teclado y lenguaje. Acá está el enlace para los detalles completos de requerimientos e instalación (en inglés) pero primero dediquen un tiempito a mirar el video y tendrán mejor panorama de la instalación.

Actualizado el 16 de noviembre de 2015:

He descargado la nueva versión 1.5 (debería ser la versión 15, pero en fin, que es la última versión publicada) y les traigo de nuevo la instalación. Lo diferente en este caso es que seleccioné completo el disco duro, todo lo demás lo dejé igual. Apliando el tema de uso del Google Chrome es que tiene ciertas características que me hacen la vida más llevadera a la hora de usar el Twitter. He aquí como quedó ahora {la otra máquina virtual la borré, esto de virtualizar es maravilloso 😎 }:

<Eso es todo, por ahora>.

VirtualBox bajo GNU/Linux Canaima.

VirtualBox kernels Canaima Linux.

VirtualBox kernels Canaima 4.1 kukenan x86 (virtual).

ESTE PROBLEMA ME QUITABA EL SUEÑO, ya no más 😎 .

VirtualBox kernels Canaima: en la entrada anterior les indiqué cómo “instalar” una máquina virtual Canaima en una máquina REAL que corre Ubuntu+VirtualBox. Vayan a este enlace, refrescan la memoria y luego regresan.


“O inventamos o erramos”


 

Como pudieron observar en el video correspondiente, la máquina virtual quedó instalada y funcionando. Luego se me ocurre la pregunta ¿Puedo instalar VirtualBox en ésa máquina virtual Canaima que acabo de crear?

La respuesta es SI, si se puede,

pero es más fácil decirlo que hacerlo,

je je je. 😉

No voy a entrar en detalles profundos para instalar VirtualBox,  yo lo he instalado en diferentes sistemas operativos sin problema alguno pero en GNU/Linux Canaima hay que hacerle dos pasos adicionales a todo lo que explican MUY CLARAMENTE en la página de dicha empresa de software:

-> https://www.virtualbox.org/wiki/Linux_Downloads

En el manual en inglés (más detallado aún que la página web) explican este procedimiento como:

“It builds the VirtualBox kernel modules (vboxdrv, vboxnetflt and vboxnetadp) and installs them.

Ya bien lo aclara el manual, para que VirtualBox acceda a ciertos recursos REALES de la computadora debe estar sincronizado con la versión linux en que se ejecuta; IMAGINO con propósitos de “compilar” y tener una versión muy bien adecuada al sistema que uno posea.

Los comandos “truco” son:

apt-get install build-essential module-assistant
m-a prepare

(aunque he de confesarles que yo instalé varias paqueterías primero -que no recuerdo cuáles fueron- y hasta hice una actualización de software completa, de allí que al principio del vídeo aparezca el mensaje de poco espacio en disco)

Sin más, pues, les presento el video, ALOJAMIENTO CORTESÍA DE YOUTUBE:

Reconocimiento de autoría.

Debo reconocer que el script que me ayudó a instalar el VirtualBox en Canaima me lo suministraron dos personas con los cuales estoy sumamente agradecido:

  • Twitter: @abr4xas
  • Twitter: @cotoprixve

Espero yo retribuir conocimientos algún día (aunque CREO ya lo estoy haciendo con esta entrada a mi blog), y ya lo saben:



 

Duerman tranquilos, duerman contentos PERO PRIMERO COMPARTAN SUS CONOCIMIENTOS CON TODOS LOS QUE PUEDAN, es la razón de ser del Software Libre 😎 .



Actualizado el sábado 30 de enero de 2016:

   En Ubunlog.com, sitio web dedicado a reseñar “tutoriales, escritorios y software para Ubuntu” publica un problema parecido al que reportamos por acá, pero en este caso el contratiempo es la actualización del propio kernel del GNU/Linux que “choca” con el ya instalado VirtualBox. La propuesta es interesante y toman otra vía que merecemos reseñar en esta entrada para así compartir el conocimiento, bastión fundamental del Software Libre.

El autor es Miguel Pérez, ciudadano español y estudiante de Ingeniería Informática en la Universidad de las Islas Baleares, dicho artículo pueden visitarlo en este enlace web.


Actualizado el viernes 8 de diciembre de 2017.

Nos tocó instalar VirtualBox sobre la madre de todas las distribucioenes: Debian en su nueva y flamante versión 9 “Stretch”, allá el problema era que teníamos un kernel muy moderno; esperamos disfruten nuestra entrada, hagan click en este enlace.


<Eso es todo, por ahora>.

ALT+F2 Canaima Kukenan.

GNU/Linux: linea de comandos (bash shell).

Introducción al BASH shell.

Algo que acompaña a todas las distribuciones GNU/LINUX es la terminal de línea de comandos (Unix shell, bash shell, o simplemente “shell”) la cual puede ser lanzada en modo de superusuario (root) o con la identidad con que hayamos iniciado sesión (aunque aún así podemos ejecutar comandos con privilegios de superusuario anteponiendo el comando sudo acompañado de su respectiva contraseña) o “escalando” privilegios con el comando su (más contraseña).

Nosotros utilizamos la línea de comandos “bash shell” desde 1990 con al antiquísimo MSDOS y luego con el venerable Netware Novell en 1993 (hoy migrado a Linux) y no tenemos aversión alguna a esta forma de trabajar pero hemos vistos casos severos de usuarios que se marean y les duele la cabeza al tipear 10 ó 12 comandos por la terminal.

Desde aquellos años nuestros terminales de BASH shell, los monitores donde aprendimos la computación, tenían un ancho de 80 columnas (80 caracteres o letras),  justos lo que cabía de ancho -y todavía es la norma- en una impresora de matriz de puntos para una hoja tamaño carta (hoy A4 según normas ISO). Pero en los años 1980 la cosa no era tan fácil, os traemos a colación este vídeo para que comprobéis que lo que  a nosotros nos parecía una norma de maravilla, no fue tan fácil llegar hasta allí:

El entorno gráfico es bello, bellísimo pero en muchas oportunidades necesitamos algo que vaya al grano y funcione rápido e incluso que funcione de manera remota y de manera segura abriendo incluso comunicaciones diversas, pero no quiero abrumarlos ni abrumarlas, con que sepan que es una opción disponible es más que suficiente.

Actualizado el domingo 27 de agosto de 2017.

Un interesante reportaje en inglés, de apenas 7 párrafos de introducción, describe muy bien la historia del bash y lo podéis leer en este enlace.

 

Abrir una ventana terminal.

En Ubuntu la combinación de teclas para abrir el “bash shell” es CTRL+ALT+T pero cada distribución tiene su método, si es por medio de menú busquen algo como “Accesorios->Terminal” o sino algo parecido en “Herramientas del sistema”. Investigando un poco pude conseguir varios atajos de teclado y un “atajo” de ratón {si es que eso existe, si no pues lo cabo de inventar 😉 }.

Si pulsamos la combinación de teclas ALT+F1 nos mostrará el menú principal del sistema (probado en GNU/LINUX Ubuntu, Canaima y Debian).

El otro atajo de teclado que me parece más poderoso es la combinación ALT+F2 la cual nos permite ejecutar casi todo programa instalado en nuestra máquina. Para comprobar esto último probé en varias de mis máquinas virtuales, incluyendo Chromixium cómo abrir el BASH shell y las que nombré en el párrafo anterior.

BASH shell en Ubuntu 14:

alt+f2 ubuntu bash shell
alt+f2 ubuntu bash shell

BASH shell en Canaima Kukenan:

alt+f2 Canaima Kukenan bash shell
alt+f2 Canaima Kukenan bash shell

BASH shell en Debian 7:

alt+f2 Debian 7 bash shell
alt+f2 Debian 7 bash shell

BASH shell en Chromixium OS 14:

alt+f2 Chromixium bash shell
alt+f2 Chromixium bash shell

Muy probablemente su cuenta creada en la distribución Linux es limitada por razones de seguridad: esto se traduce en que no podrán instalar programas, periféricos como impresoras o incluso a acceder a estadísticas sin ingresar credenciales de superusuario (ya ustedes saben que me refiero al usuario root, en adelante simplemente lo denominaré en castellano). Es así que iniciaremos la terminal con nuestras credenciales y si necesitaramos hacer algo avanzado pues “escalamos” privilegios.

Una cónsola se verá algo así como la siguiente (yo utilizo verde sobre negro porque los monitores de la universidad, los antigüos CTR eran de ese color aunque el que yo poseía en mi casa era de un horrible color ámbar):

jimmy@KEVIN: ~_011

Hay otra manera de tener acceso a la terminal de linea de comandos: por medio de una cónsola virtual, presionando simultáneamente las teclas CONTROL+ALTERNO+F1.

Advertencia.
Advertencia.

Antes de que probéis la cónsolo virtual os debo advertir que NO funciona para nada el ratón, solamente por medio del teclado podréis salir de este modo a la cónsola virtual gráfica (generalmente con las teclas CONTROL+ALTERNO+F7). He de advertiros también que debéis iniciar sesión con usuario y contraseña, sin importar que ya hayas abierto sesión gráfica, es decir, no se heredan las credenciales. Lo bueno de utilizar la cónsola virtual es que contamos con una GRAN Y AMPLIA pantalla en “modo ASCII”, ideal para editar grandes archivos de texto. Por último debo indicaros que del F1 al F6 son 6 cónsolas virtuales totalmente independientes la una de las otras. Para más detalles en cuanto a personalizar vuestra ventana terminal os aconsejo leer el excelente artículo del Licenciado Pedro Ruíz Hidalgo en Ubunlog.com.

Este viejo no los aburre más con historias así que entramos en materia:

Manejo del cursor con el teclado en bash shell.

El título de este párrafo os parececerá redundante y lo que paso a explicaros aún más. El cursor siempre ha sido un símbolo “|” (cuando está en modo de inserción) o con un símbolo de bloque “█” cuando está en modo de sobreescritura y sirve para indicarnos dónde estamos tecleando (los monitores vienen con un modo de parapadeo automático y en modo gráfico esto depende del sistema operativo correspondiente).

Cuando se masificó el uso de los “mouses” o ratones nos llegó el concepto de puntero del ratón o simplemente puntero. Es así como el teclado maneja el movimiento del cursor y el ratón el movimiento del puntero siendo posible ubicar el cursor con ayuda del puntero a donde esté disponible, generalmente cuando el puntero cambia su forma al famoso icono de “doble te”.

Cuando estamos en la línea de comandos podemos usar las siguientes teclas para manejar nuestro cursor:

  • Tecla Flecha izquierda: nos movemos un caracter a la izquierda.
  • Tecla Flecha derecha: nos movemos un caracter a la derecha, si no se ha acabado la línea.
  • Tecla INTRO o “ENTER”, RETORNO o “RETURN” (hay dos en el teclado, tienen diferentes códigos, la historia es larga): indicamos al ordenador que introduzca en memoria la cadena de caracteres que hemos escrito, si hay comando(s) válido(s) los ejecuta, de lo contrario nos indica aproximadamente dónde puede estar el error(es) de nomenclatura.
  • Tecla Flecha arriba: repetimos última línea introducida, si hubiera.
  • Si estamos seguros acerca de ual es el último comando que introdujimos simplemente tecleamos “!!” y al presionar Intro lo “repetimos” (nos coloca también una línea previa con el comando en sí apra que veamos qué estamos solicitando, por si las dudas -uno de esos raror casos explícitos en GNU/Linux). También podemos introducir “!!” seguido de comandos adicionales, el detalle es el siguiente: con flecha arriba modificamos la última línea y aís queda grabada en el historial (más adelante hablaremos del historial) y con “!!” introduciremos una línea nueva al historial.
  • Tecla Flecha abajo: luego de pulsar Flecha Arriba podremos volver a una línea de comandos nueva “bajando” tantas veces hayamos “subido” con la otra tecla.
  • Tecla Inicio o “HOME”: nos permite ubicar el cursor a al inicio de la línea que estamos escribiendo.
  • Tecla Fin o “END”: nos permite ir al final de la línea.

Más adelante veremos combinaciones de teclas (tecla Control+otra tecla, por ejemplo). Esta sección la finalizamos con otro detalle: muchas veces necesitamos escribir una linea de comando muy larga y aunque la ventana gráfica que contiene la terminal la podemos redimensionar con el puntero (arrastrando) e incluso podemos escoger una fuente más pequeña para tener más espacio de escritura de caracteres, nuestro monitor tiene un ancho finito. Para estos casos utilizamos para concatenar el símbolo de barra invertida que le indica al ordenador de que a pesar de que presionemos la tecla Intro no la va a procesar si le colocamos el “\”

Generalmente usamos esta última opción con comandos que hay que pasarles parámetros:

Ventana de comando con barra invertida para pasar varios parámetros largos
Ventana de comando con barra invertida para pasar varios parámetros largos

Como veís en la imagen anterior, introducimos el comando, luego un espacio y una barra invertida, presionamos Intro y a continuación escribimos el primer parámetro acompañado al final de otro espacio y otra barra invertida; debemos tener cuidado al finalizar con todos los parámetros NO introducir la barra invertida y presionamos Intro de nuevo: así el ordenador procesa como una sola línea. Al finalizar de procesar el comando deseado y  cuando volvemos a tener entrada de teclado, podemos presionar la tecla Flecha Arriba y veremos la línea completa que introdujimos previamente.

Otros atajos de teclado para el BASH shell.

Nosotros mostramos predilección por las teclas que son evidentes en nuestro teclado: Inicio (Home) , Fin (End), AvPag (PgDown), etcétera PERO hay unas combinaciones que son muy útiles. Dichas combinaciones implican las “teclas muertas” o “teclas pasivas” (CONTROL, ALTERNO, INVERSO) presionadas primero y sostenidas mientras se presiona otra tecla. Acá tenemos una cuenta en Twitter que se dedica a recordarnos cada cierto tiempo el uso agresivo de la línea de comandos, acá unos cuantos que consideramos muy útiles:

 

Manejo del historial de comandos introducidos en el BASH shell.

Antes de comenzar a introducir comandos os digo de antemano que todos ellos quedan registrados en memoria (así apaguemos nuestro ordenador) y solo necesitaremos escribir el comando history para revisar el historial del “bash shell”. Como dicho listado puede llegar a ser muy largo, podemos presionar la tecla CONTROL+R y escribir una palabra clave y nos buscará rápidamente en cual linea (y nos ubicará en esa línea, presionando de nuevo CTRL+R podemos “navegar” tal como indicamos anteriormente). Por último, si deseamos borrar el historial solo debemos escribir “history -c” .

Combinaciones de teclas útiles.

Control+R es apenas una de las combinaciones, tal como describimos en la sección anterior, acá otros comandos adicionales:

 

Referencia de Comandos en Linux y su BASH shell.

Servidor GNU/linux ejecuntado lineas de comandos.
Servidor GNU/linux ejecuntado lineas de comandos.

Tomado de la traducción hecha por Alex Barrios (alexbariv at gmail.com) -cuenta Twitter @alexbariv (en desuso, cuenta actual @alexertech, página web donde imparte cursos: http://www.alexertech.com/ )- quien a su vez lo tomó de Jacob Peddicort en su blog “Unix/Linux Command Cheat Sheet”  bajo licencia “Creative Commons” con la cual les puedo ofrecer esta entrada reconociendo la autoría (“appropiate credit”). En este enlace alterno de mi propio servidor suministro dicho documento traducido en formato pdf, ya ustedes saben cómo es el internet y su dinámica en el alojamiento de páginas web.

Actualizado el martes 15 de agosto de 2017.

Encontramos una útil lista abreviada de comandos realizada por Peteris Krumins y compartida por el señor Fran en su cuenta Twitter, haciendo alusión a sus talleres GNU/Linux que imparte ¡enhorabuena!:

 

Comandos del sistema operativo.

Comando “date”.

Comenzamos por conocer nuestro entorno, nuestro ordenador (o un ordenador remoto, luego veremos cómo). El primer comando es “date” el cual nos devuelve la hora y fecha de nuestro equipo. A pesar de ser uno de los comandos más sencillos no os dejéis engañar por GNU/Linux: para saber cuales otras opciones tiene podemos escribir “man” + nombre de comando. Al invocar esta ayuda sobre comando, podéis subir y bajar con las teclas de dirección del teclado, así como avanzar o retroceder páginas con las teclas correspondientes (también podéis usar la rueda del ratón, si es que está disponible). Si queréis leer ayuda sobre el comando “man” en sí mismo allí presionaréis la tecla “h” -nemotécnico para “help”- y para salir del mismo usaremos la tecla “q” -nemotécnico para “quit”-.

Es así que podemos describir que el comando “date” puede ser utilizado tanto para saber la hora y fecha del ordenador así como para fijarlo (se necesitan permisos de administrador o “root”) , así como también para conocer hora y fecha de otras ciudades del mundo. A medida que toméis experiencia disfrutaréis del comando “date” e incluso podréis usarlo como herramienta para calcular fechas y horas en formatos personalizados (muy útil para cuando querramos introducir valores de tiempo en bases de datos). Paciencia, “Roma no se construyó en un solo día”. Mirad la siguiente animación en formato gif sobre unas pocas llamadas al comando de marras:

comando "date".
Comando “date”.

Comando “clear”.

Muchas veces necesitaremos “limpiar la pizarra” (recordad vuestros tiempos en la escuela y liceo donde nuestros profesores escribía con gis o tiza), para ello solo escribiremos “clear” y la tecla introducir o “enter”. Acá observamos que la rueda del ratón es útil para ir rápidamente hacia lo que acabamos de “borrar” (o usamos las barras de desplazamiento de la venta terminal, si es que estamos en modo gráfico).

Comando “cal”.

Ya sabemos visualizar o fijar la fecha actual ahora veremos cómo visualizar el calendario del mes actual (con la fecha actual resaltada): simplemente introducimos “cal” y presionamos introducir o “enter” -de ahora en adelante obviaremos el indicar que se debe presionar la tecla INTRO para ejecutar los comandos-. Otra cosa que os preguntaréis para qué utilizar este comando si podemos ver la bandeja del sistema con tan solo mover nuestra vista a la bandeja del sistema, pero recordad que en modo TTY tendremos absolutamente toda la pantalla para la línea de comandos o tal vez estemos trabajando con un servidor al cual no dispone de entorno gráfico -lo cual es más común de lo que se cree-.

Como ya es costumbre no nos quedaremos con esa descripción tan simple del comando, sino que ahondaremos en unos cuantos más:

  • Si queremos ver el mes de diciembre del año en curso: “cal -m 12“, donde “12” es el número de mes deseado.
  • Si queremos ver el mes anterior, el actual y el próximo: “cal -3“.
  • Si queremos ver el mes actual y los próximos 5 meses: “cal -A 5” (“A” es nemotécnico para “after”).
  • Si por el contrario queremos ver los últimos 5 meses y el actual: “cal -B 5” (“B” es nemotécnico para “before”).
  • El comando “ncal” permite ver el calendario en base a los días de la semana y acepta los parámetros anteriores, además de otros específicos para “ncal” como por ejemplo el día de comienzo de semana: “-M” para lunes -“monday”- y “-S” para domingo -“sunday”-.

Comando “uptime”.

Permite conocer la hora actual, el tiempo que ha estado encendida nuestra computadora, el número de usuarios conectados (cada ventana TTY que hayamos iniciado sesión o cada conexión SSH cuenta como usuario) y el promedio de carga de trabajo que presenta el equipo los últimos 1, 5 y 15 minutos. Con la opción “-p” (nemotécnico para “–pretty“) simplemente veremos el tiempo que ha estado ejecutando el sistema operativo.

Comando “w”.

Pues sí, ¡un comando de una sola letra! Este comando complementa a “uptime” ya que muestra la misma información pero con un reporte detallado de los usuarios conectados actualmente:

  • USER: Nombre de usuario.
  • TTY: Ventana TeleTYpe en uso (recordad que van del 1 al 6 en texto y 7 en gráfico).
  • FROM: El nombre del equipo donde está conectado (dirección IP), de ser remoto.
  • LOGIN@: Hora cuando inició sesión.
  • IDLE: Tiempo transcurrido -en minutos- desde que inició sesión.
  • JCPU: Tiempo acumulado -en minutos- de las tareas adjuntas a cada terminal.
  • PCPU: Tiempo utilizado -en minutos- de la tarea que indica en WHAT.
  • WHAT: muestra la orden que inició la ventana terminal o la última ejecutada.

Los argumentos que podemos pasarle al comando “w” son los siguientes, a saber:

  • -h” o “–no-header“: Muestra solamente los usuarios conectados (omite la información que lista el comando “uptime“).
  • -s” o “–short“: no muestra las columnas LOGIN@, JCPU ni PCPU.
  • -f” o “–from“: mo muestra de donde están conectados los usuarios (dependiendo de la distribución Linux utilizada, puede ser que no sea posible desactivar esta opción).
  • -i” o “–ip-addr“: muestra la dirección IP en vez de nombre de equipo.
  • -o” o “–old-style“: imprime espacios en blanco si el tiempo transcurrido es menor a un minuto.
  • nombre_de_usuario”: muestra las conexiones abiertas para un usuario específico; se pueden solicitar varios usuarios al mismo tiempo si se solicitan los nombres separados por comas.

Comando “whoami”.

Acá por fin vemos un comando sumamente simple: “whoami” nos devuelve el nombre con que iniciamos sesión. Solamente tiene dos argumentos: “-help” muestra la ayuda que nos indica que el otro argumento es “–version” que visualiza la versión que tenemos instalada. Tal vez nos parezca un comando tonto pero si lo usamos en un comando de procesos por lotes -“bash script”- podremos usar el comando “tubería” -“|”- para pasar esta variable a otros procesos más complejos. Por ejemplo, podremos crear un guión que comprima los documentos del usuario cada cierto tiempo con crontab y colocarle el nombre del usuario, acompañado con fecha y hora, al nombre del archivo comprimido y guardarlo en una ubicación remota.

Comando “finger”.

Un comando que NO viene instalado por defecto en Ubuntu  y debemos descargarlo con “sudo apt install finger“. Sirve para obtener el usuario, el nombre de usuario, directorio de datos personales, última conexión, último correo leído por dicho usuario e incluso la agenda almacenada. Un uso muy útil es para verificar si existe un usuario en particular, ya que dicho comando devuelve si existe o no en el equipo. Por demás está decir que con el comando “chfn” podemos cambiar nuestros datos personales para que pueda ser visualizado por otros usuarios del sistema.

Comando “uname”.

Con este comando podremos ver el sistema operativo utilizado, Linux. Si queremos ver toda la información del ordenador usaremos el argumento “-a” o “–all” o podremos ver valores específicos (de nuevo, por ejemplo, podremos realizar un guión que nos devuelva la versión Linux utilizada para instalar un programa por nosotros escrito). Los argumentos detallados son:

  • -s” o “–kernel-name“: nombre del kernel instalado.
  • -n” o “–nodename“: nombre del ordenador para indetificarse en la red de área local.
  • -r” o “–kernel-release“: subversión del kernel instalado.
  • -v” o “–kernel-version“: versión del kernel instalado.
  • -p” o “–processor“: tipo de procesador.
  • -i” o “–hardware-platform“: plataforma del procesador.
  • -o” o “–operating-system“: sistema operativo instalado.

 

Manejo de archivos con bash shell.

En la figura arriba mostrada aparece el siguiente prefijo de manera constante:

jimmy@KEVIN:~$ (cursor titilando)

 Esto me indica que estoy conectado con la cuenta de usuario jimmy en la máquina KEVIN seguido de “:~$”: todo esto es el indicador o prompt y al aparecer como el signo de pesos indica que somos un usuario sin privilegios (ya comentado en un párrafo anterior) y cuando tenga el símbolo almohadilla o numeral estaremos en modo de superusuario. El símbolo de la virgulilla nos indica que estamos en nuestro directorio raíz del sistema.

En este otro ejemplo trabajamos con una máquina con Canaima 4.1 Kukenan y como pueden observar el nombre del usuario coincide con el nombre de la máquina y estamos con derechos limitados, ver signo de pesos:

Captura de pantalla de 2015-04-16 21:27:26Volviendo a nuestro ejemplo original comenzamos por ver los comandos para el manejo de archivos por medio del BASH shell.

Comando “ls”.

Se define como “listar directorio” pero yo agregaría también que archivos también. Así como en una oficina hay escritorios con gavetas y documentos almacenados en ellas, en nuestros discos duros (=escritorios) cada gaveta (=directorio) guardamos hojas (=archivos) y estas hojas pueden tener diferentes tamaños, colores y usos (=extensiones de archivos). Esa es la abstracción más fácil para comprender, de manera física y humana, el sistema de archivos. Al introducir ls y presionar la tecla intro(ducir) o “enter” (dependiendo de cuál tipo de teclado tengan ustedes)

jimmy@KEVIN: ~_013En seguida notamos los colores que destacan los diferentes elementos (vuelvo y repito, estoy utilizando Ubuntu 14.04 LTS Trusty Tahr, muy probablemente el GNU/Linux que vosotros utilicéis sea diferente). Coloreado en verde son los archivos y en azul los directorios (nosotros los hombres distinguimos sólo un puñado de colores así que me disculpan la falta de precisión y/o daltonismo).

Los archivos contienen atributos que le indican al sistema operativo la fecha de creación, de modificación, quién es el propietario y a cual grupo de usuarios pertenece (ya les comenté que existe el root y su cuenta de usuario ¿recuerdan?) así como también si es de lectura, escritura y hasta si es oculto para los usuarios. En GNU/Linux ocurre que los archivos ocultos simplemente llevan un punto delante de su descripción (por favor, los que sepan la historia de esta “costumbre” pro favor comente a pie de entrada). Al introducir “ls -a -l” en el BASH shell obtendremos el siguiente resultado (la lista es larga, la captura de pantalla NO abarca todos los archivos y directorios listados):

jimmy@KEVIN: ~_014Como pueden obervar, podemos notar que siguen apreciendo “Descargas”, “Documentos”, “Escritorio” entre otros pero además los archivos y directorios ocultos que comienzan con un punto en su nombre. También notamos que aparecen unos arriba de otros, a modo de columna o simplemente en modo lista (de allí el parámetro “-l” del comando). Este modo de lista, de izquierda a derecha -como es el castellano-:

  • Tipo de archivo (“filetype”): el primer caracter si es “d” es un directorio (“directory”), de lo contrario es un archivo “-“.
  • Permisos de archivo (“file permissions”): los siguientes 9 caracteres (más adelante veremos qué significan al agruparlos en tríos de caracteres).
  • Enlaces (“links”): indica en qué nivel se encuentra, cuántas carpetas “por encima” tiene cada archivo o cada directorio. Para comprender estos volvamos al ejemplo de nuestra oficina en el mundo real: dentro de cada gaveta puedo tener hojas sueltas y además carpetas que agrupan folios; es como una estructura jerárquica en la que si queremos leer un documento debemos abrir la gaveta y luego abrir la carpeta: ésos son los niveles a los cuales se refiere.
  • Propietario (“user”): el usuario quien creó el archivo (o heredó, veremos más adelante).
  • Grupo propietario (“group user”): el grupo de usuario al cual pertenece el archivo o carpeta.
  • Tamaño en bytes que ocupa en disco.
  • Fecha de la última modificación.
  • Nombre del archivo o directorio.

Como podrán deducir, el parámetro “-a” del comando ls permite mostrar los archivos y carpetas ocultas; también es válido “juntar” parámetros que sean compatibles y escribir simplemente “ls -la” o “ls -al“, intenten y comprueben ustedes que produce los mismos resultados.

Si queréis ver una lista completa de los parámetros de cualquier comando sólo tendréis que escribir “man comando” (en este caso “man ls“) y obtendréis toda la información.

Comando “pwd”.

Si en algún momento se nos olvida en cual carpeta estamos trabajando simplemente utilizamos el comando pwd, esto es especialmente útil si personalizamos nuestro indicador o “prompt” (también podemos usar este comando para pasarlo como variable en archivos de procesos por lotes si queremos, por ejemplo, recorrer de manera recursiva el árbol de directorios para buscar un archivo: “pwd” nos indicará en cual directorio se encuentra).

Comandos “df”, “du” y “free”.

  • Con el comando “df” prodremos obtener la cantidad de espacio utilizado en nuestro disco duro.
  • Con el comando “du” nos dará la información de los archivos en una carpeta pero será una lista extensa.
  • Con “free” podremos observar la cantidad de memoria RAM y SWAP y con los parámetros -b lo podremos ver expresadas en bytes, con -k en kilobytes y así sucesivamente: -m, -g y si queremos subar ambas memorias incluiremos el parámetro -t.

 

Comandos “whereis” y “wich”.

  • Con el comando “whereis” podremos saber dónde se encuentra instalada determinada aplicación, si está instalada en neustro ordenador, ejemplo “whereis pinta“.
  • Con el comando “which” podremos saber dónde se ejecutará una aplicación, ejemplo: “which sh“.

Comando “cat”.

Muchas veces necesitamos “mostrar por pantalla” el contenido de uno o varios archivos de texto: pues bien a esto se le llama “standard ouput” o salida normal del BASH shell. El comando cat es capaz enviar a la salida normal todo lo que le envíen, incluso si se ejecuta sin parámetros todo lo que escribamos -y presionamos intro- lo observaremos por pantalla.

En este punto cabe recordaros que en GNU/Liux todo es un archivo incluso los procesos del sistema operativo, por ejemplo los siguientes comando nos devolverán datos interesantes de nuestro procesador y memoria en nuestro ordenador:

cat /proc/cpuinfo
cat /proc/meminfo
Como funciona la entrada y salida normal en GNU/Linux BASH.

Haremos aquí un pequeño paréntesis para poneros un ejemplo sencillo sobre cómo aprovechar la salida normal “output standard” del comando “cat” y para ello nombraremos al artículo publicado en Totaki.com (desconocemos su autoría) y donde explican rapidamente cómo funcionan los ciclos:

for j in `cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies`
do
  echo "Frecuencia: "$j" Hz"
done

En la línea número uno observamos todo lo que está entrecomillado: el comando “cat” lee un archivo que contiene las frecuencias disponibles del CPU en nuestro ordenador (en este año 2017 es común y frecuente que tengan dos o más núcleos como en nuestro caso que tenemos cuatro) y dicha salida es almacenada en una variable implícita hacia un ciclo evaluado en una variable j y que separa los elementos por medio del Separador Interno de Campos (Internal Field Separator) -espacio, tabulador, nueva línea- imprimiendo por pantalla todos y cada uno de los elementos.

De igual manera en otro artículo publicado en DigitalOcean sobre como instalar nuestro servidor web Ngix se hace eco de un truco para conocer nuestra dirección IP local, la asignada por nuestro enrutador de área local o bien la que nos asigna nuestro proveedor de internet cuando estamos conectados directamente al modem respectivo. Para ello podemos ejecutar una ventana terminal donde escribimos la siguiente orden:

ip addr show eth0

(si usáis un ordenador portátil conectado por inalámbrico, cambiad a eth0 por wlan0)

Si la ejecutamos en nuestra ventana terminal notaremos que es mucha más información que la que necesitamos (os invito a practicar directamente los comandos en vuestra computadora a medida que vayáis leyendo nuestro artículo) así que notamos que hay una palabra clave “inet” sobre la cual nos apoyaremos para extraer lo quenos interesa, así que ahora le agregamos el símbolo de tubería “|” acompañado de otro comando llamado “grep” el cual nos permite imprimir líneas de acuerdo un patrón -en este caso la palabra clave “inet“-:

ip addr show eth0 | grep inet

Como veréis ya estamos más cerca de nuestro cometido. Para seguir adelante usaremos la metodología de estudio de la Facultad de Ingeniería de la Universidad de Carabobo (donde nos quitaron a nosotros la costumbre de propinar coces a diestra y sisniestra) y os presentamos el resto de los comandos necesarios los cuales dejamos a vuestro estudio posterior –metodología de estudio: ésta es la letra A, la B, la C… ahora recitadme el abecedario completo aunque NO os lo hayamos enseñado aún-:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//'
Preludio a los atajos de teclado.

Como un avance a la siguiente sección podemos indicaros que no es necesario escribir el nombre completo de las rutas y/o archivos: con escribir dos o tres letras y presionar la tecla tabulador nuestro shell completará automáticamente siempre y cuando el nombre del archivo o carpeta sea único con las letras que introduzcamos. Es por ello que si no “completa” entonces volvemos a presionar la tecla tabulador y nos mostrará una lista de carpetas o archivos que comiencen con las letras solicitadas. Acá podéis ver parte del proceso:

cat cpuinfo meminfo
cat cpuinfo meminfo

Volviendo a los atajos de teclado en bash shell.

Es sumamente útil sólo usar el teclado para trabajar en nuestra terminal pero la primera frustración que tendremos es la muy famosa acción “copiar y pegar“, una técnica que nació en las antiguas imprentas para aligerar el trabajo con los tipografías de plomo. La historia del por qué no funciona en el bash las combinaciones CRTL+C y CTRL+V es larga y está bien explicada (en inglés) en este enlace. Para hacer corta esta entrada sólamente les enseño que lo que debemos hacer es usar MAYÚ+CTRL+C (SHIFT+CTRL+C) para “copiar” y MAYÚ+CTRL+V para “pegar”.

Hasta aquí no representa mayor sacrificio de nuestra parte, lo podemos aprender rápidamente, sólo es cuestión de pulsar sólo una tecla más. ¿Recuerdan que les dije al principio sobre un “atajo de ratón”? Pues bien para seleccionar, aunque ustedes no lo crean, sólamente se puede seleccionar con el puntero del ratón, y luego usar las combinaciones de teclas descritas. Hoy en día los ratones generalmente traen tres botones: izquierdo, central (rueda) y derecho. Pulsando la rueda sobre un texto seleccionado COPIARÁ Y PEGARÁ AUTOMÁTICAMENTE EN DONDE TENGAMOS EL CURSOR. ¿Cómo puede sernos útil dicho comportamiento? Será cuestión primero de practicar cómo funciona para luego encontrarle uso. 😎 Aquí les dejo un video explicativo:

Otras combinaciones de teclas útiles:

  • CTRL+FLECHA IZQ o CTRL+FLECHA DER va de palabra en palabra, al principio de cada una, en la dirección correspondiente.
  • TECLA “INICIO” y “FIN” nos ubica al principio o al final de la línea que estemos introduciendo en el prompt.

Actualizado el lunes 29 de febrero de 2016, año bisiesto.

Por Twitter seguimos la cuenta @Ubunlog donde se dedican de lleno a publicar temas sobre GNU/Linux Ubuntu pero sin dejar de lado asuntos que son comunes a todas las “distro’s”. En esta caso en particular tuvimos la oportunidad de leer el artículo “Los 5 comandos que todo usuario de Linux debería conocer” y, con toda humildad, leemos todas las noticias que podemos para mantenernos actualizados. Una opción que NO conocíamos es el comando gksudo el cual nos permite, con derechos de superusuario, “correr” una aplicación gráfica, como por ejemplo gedit. Generalmente utilizamos nano para editar con la linea de comandos, pero a veces los ojos agradecen un entorno más agradable, y como la consigna es hagamos más con menos trabajo y/o con más agrado pues publicamos esta enmienda a nuestra entrada en el blog. Aquí tenéis el mensaje “tuit” publicado por nuestros “tutores” del otro lado del “charco”:

Es así que si deseamos “lanzar” gedit como superusuario pues tecleamos lo siguiente seguido de la tecla INTRO (“ENTER”) en el BASH shell:

gksudo gedit

Y si tecleamos solamente el comando gksudo pues se nos muestra una ventana gráfica para que podamos seleccionar el usuario que necesiteis utilizar:


Actualizado el viernes 29 de septiembre de 2017.

¿Cuales son los comandos que más utilizamos?

Para responder esta pregunta, la cual nos puede sorprender por su resultado, utilizamos el siguiente truco en este hilo creado por Brian P. Hogan (más abajo nuestro resultado, agregad el vuestro a al hilo en Twitter por favor):

history | awk '{print $2;}' | sort | uniq -c | sort -rn | head -n 10

Enlaces relacionados al BASH shell.

Enlaces relacionados (en castellano):

Cuentas en Twitter dedicadas a la terminal (y otras cositas adicionales):

Enlaces relacionados (en inglés) con el BASH shell:

Some funny facts about command terminal:

 

Enlaces relacionados en Twitter: