Imagen

Volvemos

volvemos

Anuncios

DATE (comando)

Hola! Buenas a tod@s!: Hoy vamos a ver un comando que a simple vista parece no tener demasiado importancia, el comando ” date ” además de proporcionar la fecha y la hora (el nombre del día también) también maneja el ” UTC “, esto es el ” Tiempo Universal Coordinado “o sea el estándar mundial de la hora dónde este regula el tiempo y los relojes.
Téngase en cuenta que la hora del sistema solo la puede cambiar el administrador ( sudo/root ).
El comando ” date ” estuvo presente desde las primeras versiones de UNIX y sistemas tipo UNIX.

usos_horarios

El fichero de configuración de la ” hora local ” lo tenemos en /etc/localtime

SINTAXIS: $:  date [opción]…[+formato]
date –universal [MMDDhhmm[[SS]AA][.ss]]

Algunas opciones del comando que son útiles para los usuarios comunes son:

Con la opción ” -r ” podremos ver la última modificación del fichero

# date -r [fichero de referencia]

Time Zones: En tzselect tenemos la opción de ver la hora en diferentes partes del mundo tan solo tipeando el siguiente comando y sus opciones.

# tzselect

Podremos ver la UTC ( la hora  universal )con la siguiente sintaxis:

# date -u

También podremos cambiar la hora especificando el formato ( superusuario requerido :)):

# date -s [formato]

Con la opción ” -d ” agregando ” una string ” tendremos por consola algunas opciones interesantes:

# date -d “yesterday”
# date -d “tomorrow”
# date -d “4 weeks”
# date -d “4 weeks ago”
# date -d “6 months 1 week”
# date -d “1 year 1 month 2 weeks 1 day 3 hour 4 minutes 6 seconds”
# date -d “August 1” (Mi cumpleaños ;))
# date -d “+/-12 days/hours/minutes”

Les dejo un pequeño script para cambiar la hora fácil y sin complicaciones.
Link descarga Script: date_change_easy.sh

Md5: dd412a33d97dc41a1904f7e7a5914af9
Algunos Formatos para la sintaxis # date +[opciones]

Mostrar el día de forma abreviado o completo (Lun o Lunes), respectivamente: %a  |  %A
Mostrar el mes abreviado o completo: %b  |  %B
Día de la semana (1-7, 1 = Lunes):  %u
Día de la semana (0-6, 0 = Lunes): %w
Día del mes: %d
Día del año: %j
Mes del año: %m
Mostrar fecha en formato %m/%d/%y : %D
Mostrar hora completa en formato 12h: %r
Hora en formato 24h: %H
Hora en formato 12h: %I
Minutos: %M
Acompañar la hora de AM o PM: %p
Igual que el anterior pero en minúsculas: %P
Representar la fecha de forma local (01/27/2015): %x
Representar la hora de forma local (22:31:43): %X
Representar la fecha y hora local (Martes Feb 3 12:25:44 2014): %c

Fuente:

Linuxtotal
Wikipedia
Linux Manpages
Wikipedia (02):
Crédito por la foto de usos horarios: «Standard World Time Zones» de TimeZonesBoy – Trabajo propio. Disponible bajo la licencia CC BY-SA 4.0 vía Wikimedia Commons
4sysadmins

TALLER DE SCRIPTS [05]

auto-restart-apache-on-high-load-bash-shell-script-fixing-apache-temporal-overload-issuesHola, buenas a tod@s!: Hoy en el “TALLER DE SCRIPTS 05” les traigo un script para darle una utiliada a  el comando “find”.

Find es un comando dentro de las herramientas de GNU “Findutils”:
1-find: busca ficheros en un árbol de directorios.
2-locate: archivos de lista en las bases de datos que coincidan con un patrón.
3-updatedb: actualiza ficheros de un base de datos.
4-xargs: crea y ejecuta líneas de comandos desde una entrada estándar.

SINTAXIS: find [directorio…] [opciones…] fichero

A continuación les dejo un script (puede o no tener errores, eso lo verán Uds.) para dar uso a éste comando.

Link Descarga: find_home_user.sh

Md5: cbd1601a2c98092a0200dc6fb649b6b0

TALLER DE SCRIPTS [04]

auto-restart-apache-on-high-load-bash-shell-script-fixing-apache-temporal-overload-issuesBuenas a tod@s!: Siguiendo con el estudio en Shell Script les dejo un script que hice para dar ejemplos a ésta importante parte que son las comparaciones entre cadenas, de mucha importancia para una base sólida de esta herramienta. A simple vista quizás en esta parte del aprendizaje nos parecerá aburrida el aprender esto, por eso les dejo éste script con la última parte de “booleanos” sin ejemplos para que puedan hacerlo Uds.

 Saludos y saben que comentar, corregir y/o proponer en los comentarios es muy importante para el autor.

Link descarga: comparacion_de_cadenas.sh

Md5: 1be06dd38ac780d9d54677cdb6d037a3

REDES [01] “Modelo OSI”

image3063Hola buenas a todxs!: Hoy empiezo con nueva sección dedicada a “Redes” como es costumbre del blog vamos a empezar desde los conceptos más básicos. Empecemos!

MODELO DE REFERENCIA OSI

El modelo de referencia OSI (Open System Interconnections Basic Reference Model) es una descripción abstracta basada en capas para las comunicaciones y el diseño de protocolos de redes

(Ref. Libro “Redes GNU/Linux”).

En un breve resumen el modelo OSI se crea para estandarizar ó normalizar los protocolos y las comunicaciones a través de internet.

OSI está dividido en capas (más precisamente siete) gracias a esto los procesos pueden funcionar de manera independiente. Su estructura modular facilita la comunicación entre las capas sin depender exclusivamente como ya dijimos anteriormente para facilitar las normalizaciones y procesos.

Pasamos a describir capa por capa:

CAPA 7 (Aplicación): Esta capa provee al usuario los medios para acceder a la información en la red. Sin darnos cuenta es la que usa desde el usuario novato hasta el experto a través de ciertas aplicaciones y protocolos, algunas de ellas son:

– SMTP (Simple Mail Transfer Protocol) = Clientes de Correo electrónico.

IMAP (Internet Message Access Protocol) = Clientes de Correo electrónico.

FTP (File Transfer Protocol) = Clientes o servidores de transferencia de archivos.

HTTP (Hypertext Transfer Protocol) = Navegadores Web

SSH (Secure Shell) = Clientes o servidores de conexión segura a través de la consola

IRC (Internet Relay Chat) = Chat seguro

DNS (Domain Name System) = El que transforma IP en nombre (ya lo explicaremos)

Básicamente a esta capa la manejan las aplicaciones así que no hay mucho en que ahondar.

CAPA 6 (Presentación): La capa seis del modelo OSI funciona a modo de traductor, osea modifica las entradas y salidas de datos para que las capas de aplicación puedan tener una comunicación estándar. En esta capa hay procedimientos importantes como el encriptado, compresión y codificación.

CAPA 5 (Sesión): Esta capa es la que se encarga de los diálogos entre dos computadoras, por ejemplo el login para una sesión remota. Establece, administra y finaliza las conexiones.

También es parte del llamado “cierre exitoso”, una característica de TCP.

La capa de sesion puede sufrir de colisiones por el exceso de “mini-conversaciones” entre computadoras pero cuenta con dos alternativas: Half duplex y Full duplex.

CAPA 4 (Transporte): Luego de que datos hayan pasado por las capas anteriores, la capa de transporte libera a estos de la preocupación y le asegura una transferencia confiable de la información.

Diferentes tipos de datos maneja ésta capa, uno es en TCP (Transfer Control Protocol) y el otro en UDP (User Data Protocol) estos protocolos se usan dependiendo el servicio que esté corriendo y sus necesidades.

CAPA 3 (Red): La capa 3 es una de las más interesantes, acá aparecen en escena los routers por ende vamos a tener que adentrarnos en conceptos de ruteo y como funciona el protocolo IP (Internet Protocol).

En este proceso se suma un header más a los datos que es el de IP y también van encapsulada la información a los routers para saber donde tiene que ir dirigida.

CAPA 2 (Enlace de Datos): Provee los medios funcionales y procedurales para transferir información entre entidades de red y para detectar y posiblemente corregir errores que pudiesen ocurrir en la capa física. Es la encargada de ordenar las piezas de información de la capa física a piezas de información lógica, conocidas como frames o marcos.

Estándares que están en ésta capa por ejemplo es el IEEE 802, dentro del cual están: Ethernet, Token Ring, Wi-Fi, Bluethooth, etc. En estos casos es posible dividir esta capa en dos distintas:

1- Capa de control de acceso al medio (–MAC Media Access Control–).

2- Capa de enlace de control lógico (–LLCLogical Link Control–).

CAPA 1 (Capa Física): Como su nombre lo indica es la que define las características físicas de la conexión de una computadora a una red de datos. Este conjunto de especificaciones físicas describe el medio de transferencia de información:

Con respecto al medio físico:

Medios guiados: cable coaxial, cable de par trenzado, fibra óptica y otros tipos de cables.

Medios no guiados: radio, infrarrojos, microondas, láser y otras redes inalámbricas.

Forma de la transferencia de la información:

– Codificación de señal

– Niveles de tensión/intensidad de corriente eléctrica

– Modulación de la señal, tasa binaria, etc.

Se debe tomar éste artículo a modo de referencia muy por encima de la totalidad que éste abarca, ya que cada capa de la pila es muy extensa, quien necesite saber más debe ahondar en cada una de ellas.

TALLER DE SCRIPTS [03]

auto-restart-apache-on-high-load-bash-shell-script-fixing-apache-temporal-overload-issues

Buenas a todxs!: En esta entrega del taller les propongo “jugar” con la configuración de la RAM y el espacio de intercambio (SWAP). Vamos por parte, ¿Qué es la RAM en una pc? Según nuestra fiel amiga Wikipedia dice: es “la memoria de acceso aleatorio (Random Access Memory) ó memoria de trabajo de el Sistema Operativo (SO), los programas y la mayoría de los softwares. En ella se cargan las instrucciones del procesador (CPU –Central Process Unit–) y demás dispositivos de computo. Se denominan «de acceso aleatorio» porque se puede leer o escribir en una posición de memoria con un tiempo de espera igual para cualquier posición, no siendo necesario seguir un orden para acceder (acceso secuencial) a la información de la manera más rápida posible.”

Para leer la reseña completa de Wikipedia pinchar aquí.

Ahora sigamos con la SWAP, ¿y que es esto? Bueno la swap es en informática, el espacio de intercambio es una zona del disco (un fichero o partición) que se usa para guardar las imágenes de los procesos que no han de mantenerse en memoria física. A este espacio se le suele llamar swap, del inglés “intercambiar“. También en la reseña que nos brinda Wikipedia es mucho más extensa y también les recomiendo prestarle atención a la importancia que puede tener éste espacio de intercambio en GNU/Linux o no, porque digo o “no”, bueno porque suele ser tema de discusion entre los administradores de sistemas en cuanto a la importancia de la swap.

Para leer la reseña completa pinchar aquí.

Ahora bien en una entrada de un blog llamado “Un bruto con Debian” el autor nos propone modificar con unas líneas en nuestra Shell los valores de configuración de la SWAP, lo interesante de ésto es que tan importante sea para nosotros el espacio que ocupa el fichero de intercambio en nuestro SO ó como queremos aprovechar más el uso de RAM, el siguiente script que escribí fue a causa de tener una Netbook con un procesador bastante flojo y con una RAM de 2GB que se está aguantando un Kali con Debian 7 y para colmo con GNOME 3 (PUFF!) lo que hace particularmente el script es informar cual es el porcentaje de RAM que se está usando y poder modificarlo.

En el siguiente link les dejo el script para que lo prueben: (Link descarga).

Bueno como siempre les digo espero alguna inquietud para resolver o si se les ocurre algún script para intercambiar. Saludos!

Nota: La fuente de la entrada del Blog de “Un bruto con Debian” no la cité a pedido del autor a causa de no estar de acuerdo con una ley Española.

TALLER DE SCRIPTS [02]

auto-restart-apache-on-high-load-bash-shell-script-fixing-apache-temporal-overload-issuesBuenas a todxs!: En la entrada de hoy veremos lo que son algunas de las “Reglas de evaluación de variables” siempre hablando en Shell Scripting por si a alguien no se ha dado cuenta ;).

A forma de generalizar vamos directamente a ver unos ejemplos y luego al final les dejo un script para que lo vean en sus distros.

  • $var: Con esto veremos el valor de la variable si ésta está definida sino no veremos nada en pantalla.
  • ${var}: Este es igual con el anterior pero con la diferencia que los paréntesis contienen el nombre de la variable a sustituir.
  • ${var-cualquier_valor}:  Acá si “var” tiene valor lo muestra sino “cualquier_valor”.
  • ${var=asigna_valor}:  Lo mismo, si está definida la variable lo muestra sino “asigna_valor” pasara a serlo.
  • ${var?mensaje}: En este caso si “var” no está definida muestra un mensaje en pantalla estándar o podemos poner uno nosotros.
  • ${var+cualquier_valor}: Si “var” ya está definida agrega “cualquier_valor”.

Son cosas simples para algunos ya lo se 😉 , pero me parece que para el que esté aprendiendo éstas cosas son para crear una base sólida de conocimientos y seguir dándole horas de pulir nuestra navaja suiza que es nuestra Shell querida.

Les propongo añadir a los comentarios a modo de ejercicio algún Script para practicar lo que vimos en esta entrada. Sus dudas también pueden ser plasmadas para que juntos resolvamos el problema, No sean vergonzosos ! Saludos!

Link para descargar Script de prueba: evaluación de variables

MD5SUM de evaluación de variables: dd7db3d4c010ec492bf0f4eeacefa9d6