-->

jueves, 26 de abril de 2018

MySQL - Creación de una base de datos

MySQL - Creación de una base de datos


En este tutorial vamos a aprender a crear una nueva base de datos usando MySQL. También aprenderemos a comprobar las bases de datos existentes en el sistema y a excluir bases de datos no utilizadas.

Podemos crear una nueva base de datos con el siguiente comando:

CREATE DATABASE [IF NOT EXISTS] nombre_BD;

Donde nombre_BD es el nombre que queremos dar a la base de datos. El elemento IF NOT EXISTS es opcional. Previene el error de intentar crear una base de datos que ya existe en el servidor. No puede tener dos bases de datos con el mismo nombre.

Ejemplo - Vamos a crear una base de datos de nombre db_Biblioteca, que será utilizada en los demás ejemplos del curso:

CREATE DATABASE db_Biblioteca;

Comprobar la base de datos creada

Podemos encontrar las bases de datos existentes en el sistema con el comando SHOW DATABASES:

SHOW DATABASES;

Comando USE

El comando USE indica al SGBDR que utiliza la base de datos especificada para ejecutar los comandos.

Sintaxis:
USE nombre_banco_de_datos;

Para ver la base de datos seleccionada actualmente, ejecute el comando:

SELECT DATABASE();

Eliminar una base de datos

Podemos eliminar una base de datos existente usando el comando DROP DATABASE:

DROP DATABASE [IF EXISTS] nombre_BD;

Por ejemplo, para eliminar una base de datos cuyo nombre es Biblioteca podemos ejecutar:
DROP DATABASE Biblioteca;

Siguiente: Restricciones (Constraints)


Cómo borrar archivos en Linux enviándolos a la papelera de reciclaje en la línea de comandos

Cómo utilizar la Papelera de reciclaje en la línea de comandos de Linux

La utilidad trash-cli proporciona una papelera para la línea de comandos en Linux. De esta forma, es posible eliminar archivos, sin borrarlos permanentemente del sistema - al menos hasta que la papelera sea limpiada.

En general, esta aplicación no se instala de forma predeterminada, por lo que es probable que tenga que instalarla mediante el gestor de paquetes de su distro.

Para los sistemas basados en Debian, utilice el siguiente comando:
sudo apt-get install trash-cli

En el Arch linux:
sudo pacman -S trash-cli

Y en Linux Fedora / CentOS / Red Hat:
sudo yum install trash-cli

Enviar archivos a la papelera de reciclaje en Linux

Para borrar un archivo enviándolo a la papelera en la línea de comandos basta emitir el comando trash, de la siguiente manera:

$ trash camino_nombre_archivo_o_directorio

De esta forma el archivo es borrado del directorio actual, pero no del sistema, quedando aún almacenado en la papelera. Recuerde que el archivo todavía sigue ocupando espacio en disco, hasta que se quita de la papelera y se elimina del sistema en definitiva. Esta funcionalidad es similar a la de la Papelera de Windows.

Visualización del contenido de la papelera

Para ver el contenido de la papelera basta con ejecutar el comando trash-list:
$ trash-list

Restaurar archivos de la papelera

Para restaurar un archivo de la papelera de reciclaje (volverlo a su directorio original), utilice el comando restore-trash. Se mostrarán todos los archivos presentes en la papelera, con un número asociado a cada uno. Sólo tienes que introducir el número de archivo deseado, y se restaurará.
$ restore-trash

Vaciando la Papelera

Si quiere o necesita vaciar la papelera para liberar espacio en disco, ejecute el comando trash-empty:
$ trash-empty

También puede eliminar de la papelera de reciclaje los archivos que se han borrado por un cierto número de días y que por lo que ya no son necesarios. Para ello, basta con especificar el número de días. Por ejemplo, para borrar en definitivo archivos que hay 10 días en la papelera de reciclaje, ejecute el siguinte comando:
$ trash-empty 10


sábado, 21 de abril de 2018

Cómo Empaquetar Y Comprimir Archivos Con la herramienta Zip En Linux


Empaquetado y compresión de archivos con zip

Hay varias utilidades que se pueden utilizar para empaquetar y comprimir archivos en Linux mediante la línea de comandos. En este tutorial vamos a abordar la utilidad zip para realizar estas tareas con archivos en su sistema.

Es posible que su distribución no traiga la utilidad zip instalada de forma predeterminada. En este caso, instálelo utilizando su gestor de paquetes favorito. Por ejemplo, en Debian use:
# apt-get install zip

Sintaxis del comando zip:

zip [opciones] nombre_archivo_zipado [archivos]

Ejemplos de aplicación de zip:

1 - Crear un archivo comprimido que contiene todos los archivos presentes en el directorio actual:
$ zip nombre_archivo_zipado *

Los archivos creados con el comando zip tienen la extensión .zip.

2 - Si es necesario incluir también el contenido de los subdirectorios en el archivo zip, usamos la opción -r:
$ zip -r nombre_archivo_zipado *

3 - Si posteriormente es necesario añadir más archivos al archivo comprimido, basta ejecutar nuevamente el comando usado para crear el archivo zip:
$ zip nombre_archivo_zipado *

4 - Caso você queira excluir arquivos de dentro do arquivo zipado, use a opção -d seguida do nome do arquivo a excluir:
$ zip nome_arquivo_zipado -d nome_arquivo_a_excluir

5 - Si desea personalizar el proceso de compresión, mostrando por ejemplo información sobre el progreso del proceso, puede utilizar las siguientes opciones:
     -db = mostrar cuántos bytes se han comprimido y cuántos aún faltan
     -dc = mostrar un recuento de los archivos comprimidos y cuántos todavía faltan
     -dd = mostrar puntitos en la pantalla por cada 10MB de archivos que se han comprimido
     -ds = configurar la frecuencia con la que aparecerán los puntitos
     -du = mostrar el tamaño no comprimido de cada archivo

Por ejemplo, para mostrar el número de bytes comprimidos en progreso durante la compresión del contenido del directorio Documentos:
$ zip nombre_archivo_zipado -db -r /home/Documentos

6 - Si desea proteger el contenido del archivo comprimido, puede encriptarlo con una contraseña usando la opción -e (se le pedirá la contraseña):
$ zip nombre_archivo_zipado -r /home/Documentos -e

7 - Para no incluir en el archivo comprimido determinados archivos, podemos usar la opción -x. Por ejemplo, para no incluir archivos de música MP3 podemos usar el siguiente comando:
$ zip nombre_archivo_zipado -r /home/Documentos -x * .mp3

8 - Para ver el contenido de un archivo comprimido, ejecute la utilidad zipinfo:
$ zipinfo nombre_archivo_zipado

9 - Puede especificar el nivel de compresión que se va a aplicar en los archivos empaquetados con el comando zip. Los niveles son representados por números entre 0 y 9, y cuanto mayor sea la compresión, menor el tamaño del archivo generado pero mayor el tiempo necesario para crear el archivo zip. Por ejemplo, suponga que si desea utilizar compresión a nivel 6 al crear un archivo comprimido:
$ zip nombre_archivo_zipado -r / home / Documentos -6


Siguiente: Cómo descomprimir y descomprimir archivos con comando unzip
Lista concisa de atajos de teclado de shell Bash

Atajos de Teclado de Shell Bash - Cheat Sheet


El shell Bash es, sin duda, el más común y utilizado en sistemas Linux y Unix. Por su cuenta, el dominio de su uso es muy importante para que el administrador del sistema, o incluso el usuario común, pueda trabajar con eficiencia y alto rendimiento.

En este artículo traemos una serie de atajos de teclado del bash, que permiten al usuario operar con mucha más facilidad y agilidad en una serie de tareas triviales y también complejas.

Edición en la línea de comandos:

Ctrl + a
Volver al principio de la línea de comandos

Ctrl + e
Ir al final de la línea de comandos

Ctrl + k
Borrar caracteres desde la posición del cursor hasta el final de la línea de comandos

Ctrl + u
Borrar caracteres desde la posición del cursor hasta el principio de la línea de comandos

Ctrl + w
Borrar caracteres desde la posición del cursor hasta el principio de la palabra - o sea, borrar una palabra

Ctrl + y
Pegar una palabra o un texto que se recorta utilizando un atajo de exclusión después del cursor

Ctrl + xx
Mover el cursor entre el inicio de la línea de comandos y la posición actual de él, ida y vuelta.

Alt + b
Mover el cursor una palabra hacia atrás (dirección de inicio de línea de comandos), o ir al principio de la palabra donde el cursor está colocado actualmente.

Alt + f
Mover el cursor una palabra hacia delante (dirección del final de la línea de comandos), o ir al final de la palabra donde el cursor está colocado actualmente.

Alt + d
Borra los caracteres hasta el final de la palabra, iniciando en la posición actual del cursor, lo que significa la palabra entera si el cursor está al principio de la palabra

Alt + c
Capitalizar (hacer mayúscula) el carácter en el que se sitúa el cursor, y mover el cursor al final de la palabra.

Alt + u
Colocar los caracteres en caja alta (mayúsculas) desde la posición del cursor hasta el final de la palabra

Alt + l
Colocar los caracteres en la caja baja (minúscula) desde la posición del cursor hasta el final de la palabra

Alt + t
Cambiar la palabra actual de posición con la anterior

Ctrl + f
Mover el cursor a un carácter más adelante

Ctrl + b
Mover el cursor a un carácter hacia atrás

Ctrl + d
Borra el carácter bajo el cursor

Ctrl + h
Borra el carácter anterior a la posición del cursor

Ctrl + t
Cambia el carácter bajo el cursor con el carácter anterior a él

Trabajando con el historial:


Ctrl + r
Buscar los comandos anteriores del historial (búsqueda inversa)

Ctrl + g
Salir del modo de búsqueda de historial

Ctrl + p
Muestra el comando anterior en el historial (vuelta en el historial) -> similar a la flecha hacia arriba

Ctrl + n
Muestra el comando posterior en el historial (avanza en el historial) -> similar a la flecha hacia abajo

Alt + .
Utilizar la última palabra del comando anterior

Control de comandos:


Ctrl + l
Borra la pantalla

Ctrl + s
Interrumpe la salida en la pantalla, para comandos que exhiben una salida bastante larga.

Ctrl + q
Permite la salida en la pantalla, si se ha interrumpido con Ctrl + s

Ctrl + c
Finaliza el comando en ejecución actualmente

Ctrl + z
Suspende o interrumpe la ejecución del comando

Comandos Bang del Bash (re-ejecución de comandos):


!!
Ejecuta de nuevo el último comando

!abc
Ejecuta de nuevo el comando más reciente que se inicia con los caracteres 'abc'

!xyz:p
Muestra el comando que xyz se ejecutará (pero sin ejecutarlo), añadiéndolo al final de la lista de comandos del historial.

!$
Utilizar la última palabra del comando anterior (el mismo que Alt +.)

!$:p
Muestra la palabra que la secuencia !$ reemplazaría, pero sin ejecutar el comando.

¡Es eso! Para saber más sobre los comandos del terminal, accede a las páginas de manual del bash.
Linux, El Proyecto GNU Y Software Libre


El Proyecto GNU y el software libre

Por Fábio dos Reis

Software libre es software sobre el que los usuarios tienen la libertad para distribuir y cambiar. Algunos usuarios pueden obtener copias sin costo, mientras que otros pagan para obtener estas copias, dependiendo de cómo se distribuye el software.

El proyecto GNU fue un proyecto de desarrollo de software libre para un sistema operativo completo (kernel y programas de sistema), que fue anunciado en septiembre de 1983 por Richard Stallman en el MIT, con el objetivo de proporcionar a los usuarios de ordenadores libertad y control total en el uso de sus equipos a través del desarrollo colaborativo de software, el cual está basado en los llamados "derechos de libertad", a saber: derechos de ejecutar, compartir, estudiar y modificar los programas por cualquiera que desee.

Estos derechos están garantizados por una licencia especial, la GPL (Licencia Pública General / Licencia Pública General, en portugués), lo que garantiza que el software utilizado se llama Software Libre (Free Software), donde la palabra "libre" se refiere a las cuatro libertades citadas arriba (y no al costo del software, como muchas veces se supone - erróneamente). "Free", en este sentido, significa que usted puede realizar varias acciones sobre el software libre que no son posibles de realizarse en un software propietario. La licencia GPL es mantenida por la organización FSF - Free Software Foundation, fundada por el propio Richard Stallman, en 1985. Podemos resumir estas cuatro libertades de la siguiente manera:

  • Libertad 0: Ejecutar el programa para cualquier propósito deseado
  • Libertad 1: Estudiar cómo funciona el programa, y ​​cambiarlo para que funcione de la manera que desee.
  • Libertad 2: Redistribuir copias del software de modo que usted pueda ayudar a su prójimo.
  • Libertad 3: Mejorar el programa, y ​​liberar las mejoras para el público, de modo que toda la comunidad se beneficie.

Para que sea posible implementar las libertades 1 y 3 es necesario que haya acceso al código fuente del software disponible. Los softwares para los que el código fuente está disponible libremente se denominan software de código abierto (Open Source).

Cuando el código se redistribuye, la misma licencia se debe distribuir con él, por lo que el código y la licencia son inseparables. Por lo tanto, si obtiene el código de un software desde Internet, por ejemplo, y lo modifica, debe distribuirlo junto con la licencia GPL, si desea repasarla a continuación. Llamamos a este esquema de "Copyleft", ya que da derechos en lugar de limitarlos, en contraste con el esquema tradicional de copyright.

Algunas de las reglas presentes en la GPL incluyen:

El software GPL debe estar disponible en forma de código fuente y ser utilizado para cualquier propósito deseado por el usuario.
Es expresamente permitido modificar el código y distribuirlo (modificado o no), siempre que los mismos derechos se repasen junto con el software.
También está expresamente permitido distribuir o vender software GPL compilado (ejecutable). En este caso, el código fuente y los derechos GPL deben suministrarse junto con el software ejecutable, o estar disponible si se solicita.
Si escribe un nuevo programa que utiliza partes de un programa GPL existente, el nuevo programa se considerará un trabajo derivado y se distribuirá bajo la licencia GPL.

La licencia GPL no se refiere a los precios que deben o pueden aplicarse para la comercialización de software. Es completamente legal distribuir gratuitamente copias del software GPL o cobrar por ellas - siempre que el código fuente se suministre o se ponga disponible si se solicita, y el receptor del software también recibe los derechos GPL. En otras palabras, el software GPL no es necesariamente Freeware (software gratis).

La licencia GPL completa, que actualmente está en la versión 3, puede ser consultada en el sitio oficial del proyecto GNU, que es el www.gnu.org/licenses/licenses.html

Otro término muy importante y utilizado por la comunidad del software libre es FOSS - Free and Open Source Software, que indica que un software es libre y al mismo tiempo de código abierto.

La palabra "Free" en inglés es un término ambiguo, pudiendo asumir más de un significado. Por ejemplo, puede significar "Precio igual a cero (gratis)", o "Libre (con libertad)", y es con este último significado que debe ser encarado la expresión "Free Software".

Ejemplos de software libre


A continuación tenemos una selección de algunos de los más importantes softwares libres o Open Source disponibles actualmente para sistemas Linux (muchos también poseen versiones para otros sistemas operativos, como Windows, BSD y Mac OS X):

LibreOffice: Paquete de oficinas que contiene procesador de textos, hoja de cálculo, software para presentaciones y base de datos, editor de ecuaciones y generador de gráficos.
Samba: Software para la creación de servidores de archivos en Linux, de modo que los clientes de Windows puedan acceder a ellos a través de la red.
GIMP: Programa para la edición de fotos e imágenes al estilo de Adobe Photoshop.
MySQL: Servidor de base de datos relacional ampliamente utilizado en la Web. El sitio web del autor utiliza esta base de datos.
Audacity: Programa para grabación de audio, mesa de mezclas de sonido y estación para edición de audio, incluyendo versiones para Microsoft Windows y Mac OS X también.
Apache: El servidor Web más popular en Internet. Más de la mitad de los sitios existentes actualmente se ejecutan en Apache.

Otras licencias

Existen otras licencias en el mundo del software FOSS. Algunas de ellas son:

Licencia BSD


Esta licencia se originó en la Universidad de California a partir de la distribución Unix de Berkeley y ella es muy simple: quien recibe el software básicamente tiene permiso de hacer con el software lo que entiende, siempre y cuando no pase la impresión de que su uso sea endosado por la Universidad. El texto de la licencia debe entregarse junto al código fuente del programa y su documentación.
Una diferencia entre la licencia BSD y la licencia GPL es que en la licencia BSD es posible integrar software que utilice esa licencia en un nuevo proyecto de software sin que sea obligatorio distribuirlo junto con el código fuente, como sucede con software bajo licencia GPL.

Licencia Apache


La licencia Apache se parece a la licencia BSD, pues permite el uso y adopción del código licenciado sin que el código modificado esté disponible para el público. Sin embargo, esta licencia es más compleja que la licencia BSD, pues posee cláusulas que se refieren a patentes y registros de marca, entre otras.

El Manifiesto GNU


Stallman publicó un texto denominado "Manifiesto GNU" al anunciar el proyecto, y ese manifiesto se inicia con las siguientes líneas:

"GNU, que significa Gnu's Not UNIX, es el nombre del software de sistema completo y compatible con UNIX que estoy escribiendo de modo que pueda cederlo de forma libre para cualquiera que quiera usarlo".
(Stallman, Richard, Manifiesto GNU).

Para que todo el software que se ejecuta en un ordenador pueda considerarse libre, un sistema operativo también debería desarrollarse siguiendo esta filosofía, y Stallman incluyó esto como meta primaria del proyecto GNU, y para ello los desarrolladores trabajaron durante mucho tiempo en un proyecto de núcleo denominado GNU Hurd.

Como hemos visto en la introducción del Manifiesto, la palabra GNU fue elegida por Stallman para bautizar su sistema y es un acrónimo recursivo que significa "GNU is Not Unix" (GNU no es Unix), pues el sistema operativo a ser creado tendría el diseño basado en el " Unix, pero sin utilizar ningún código propietario.

En 1991 los desarrolladores en el proyecto GNU ya habían desarrollado una gran cantidad de softwares y componentes requeridos para la creación de un sistema operativo libre completo, pero aún no poseían un kernel - todavía estaba en desarrollo el kernel GNU Hurd, pero todavía lejos de ser completado .

Hoy, el sistema operativo GNU gira sobre el kernel de FreeBSD, con compatibilidad binaria con Linux (software de un sistema puede ser ejecutado en el otro), y también sobre versiones de pre-lanzamiento del Hurd y Darwin, en este caso sin la compatibilidad con Linux.

GNU + Kernel de Linux = Sistema Completo

En 1992, el kernel 0.99 de Linux fue lanzado por Linus Torvalds bajo la licencia GNU GPL, de modo que desarrolladores de Linux y de programas GNU pudieron trabajar juntos para integrar los componentes GNU con ese kernel y así crear un sistema operativo totalmente completo, funcional - y libre.

El desarrollo de Linux es realizado por la comunidad Linux, que está compuesta por miles de programadores en todo el mundo que utilizan el sistema y envían mejoras a los mantenedores. Además de programadores individuales, muchas empresas también colaboran con el desarrollo de Linux (núcleo) y las aplicaciones que se ejecutan sobre él, incluyendo grandes corporaciones como IBM, Intel y Oracle, entre otras.

Linux es un sistema de código abierto, o Open Source, lo que significa que el código fuente del sistema puede ser obtenido libremente para análisis, estudio o modificación - característica que permite traer mayor seguridad del sistema, además de mucha mayor agilidad en la detección y corrección de errores y errores.

El kernel de Linux y gran parte del software que compone el sistema se distribuyen bajo la licencia GPL.


Lo que es Linux - Conceptos Y Historia Resumida


La historia de Unix y de GNU / Linux

En esta primera parte de nuestro artículo sobre lo que es Linux y sus orígenes, vamos a presentar una historia resumida del Sistema operativo Linux, tratando también de sistemas operativos ancestrales y sus relaciones entre sí, desde el final de los años 60 hasta los días actuales.


Primordios: el Unix

Unix es un sistema operativo que surgió a finales de los años 60, más precisamente en 1969, en los laboratorios Bell de AT & T, desarrollado por los investigadores Ken Thompson y Dennis Ritchie (también creador del Lenguaje C de programación), siendo su primera versión se quedó lista en el año 1970.
El sistema fue posteriormente reescrito en lenguaje C, pues había sido escrito originalmente en Assembly, haciendo de esta forma el sistema portátil (pasible de ser ejecutado en ambientes diferentes) y eso llevó la adopción a gran escala de Unix por empresas públicas y privadas e instituciones académicas en EUA.

En 1977 se desarrolló una variante de Unix por un grupo de nombre CSRG (Computer Systems Research Group) en la Universidad de Berkeley (California), bautizada como Berkeley Software Distribution, o simplemente BSD, basada en la versión 6 del Unix original de AT & T (Unix V6 ). Las versiones de BSD se iniciaron con la versión 1BSD, que rodaba en ordenadores PDP-11, y se desarrollaron hasta llegar a la versión 4.4BSD.
Estas versiones contenía código de AT & T, que era licenciado, y Berkeley decidió reescribir todos estos códigos para eliminar los costos de licencias (que se estaban volviendo elevados), pero acabaron abandonando el proyecto por falta de fondos, pero aún así lanzando la última versión, 4.4 BSD-Lite, sin códigos propietarios de AT & T.

Esta versión acabó originando la mayoría de las versiones actuales de sistemas basados en BSD Unix, tales como FreeBSD, NetBSD, OpenBSD e incluso el Mac OS X (de Apple).
Otra rama de los sistemas basados en Unix, en la versión original de AT & T, es unix System V, que ha dado origen a varios sistemas en uso comercial hoy, como HP-UX, AIX (de IBM) y Solaris, entre otros.

Linux es un sistema operativo desarrollado en los moldes de estos sistemas Unix, pero sin utilizar ninguna línea de código de ellos - fue enteramente escrito de cero, pero para adoptar la filosofía de Unix y los patrones utilizados en su desarrollo, muchas características encontradas en estos sistemas, de forma totalmente original y modernizada.

Pantalla de la distribución Debian GNU/Linux
Pantalla de la distribución Debian GNU/Linux

El estándar POSIX

En 1985, profesionales de varias empresas en la industria de computadoras se unieron para desarrollar un estándar denominado POSIX (Portable Operating System Interface para Computer Environments), basado en la definición de interfaz de Unix System V y otros estándares anteriores.
POSIX es un grupo de estándares de IEEE que definen la API (interfaz de programación / interfaz de programación avanzada), shell e interfaces para sistemas operativos. Originalmente creado para sistemas UNIX, el estándar POSIX se puede aplicar a cualquier sistema compatible, como BSD y Linux.

Surgimiento de Linux

La historia de Linux se inicia en el año 1991, cuando un joven estudiante de nombre Linus Torvalds, de la Universidad de Helsinki, en Finlandia, inició un proyecto personal de sistema operativo, basándose en un sistema ya existente, basado en Unix, denominado Minix.
Minix fue creado en 1987 por el profesor de ciencia de la computación Andrew Tannenbaum de la Universidad Libre de Ámsterdam en Holanda y se utilizó básicamente para el estudio de sistemas operativos y por eso no contaba con muchos recursos ni posibilidad de expansión en la época, además de ser licenciado para uso educativo. Siempre que había necesidad de elegir entre simplicidad y eficiencia, Tannenbaum elegía la simplicidad, para facilitar la enseñanza de sistemas operativos con Minix.

Esto significa que ese sistema no tenía muchas funcionalidades que la gente necesitaba para usarlo de manera habitual. Otras variantes del sistema Unix tenían un precio elevado, y por eso eran prohibitivas para usuarios comunes. Entonces, Linus, que había adquirido un interés por sistemas operativos en la época, además de estar frustrado con el esquema de licenciamiento del MINIX, resolvió crear un nuevo sistema, desarrollando un núcleo (núcleo del sistema operativo) en un ordenador que rodaba el propio MINIX , usando el compilador GNU C (compilador utilizado hasta hoy en sistemas Linux!), y luego enviando un mensaje en un grupo de noticias de Usenet llamado comp.os.minix.

El mensaje fue el siguiente:

"Hola a todos ahí que están usando el minix -
Estoy desarrollando un sistema operativo "libre" (sólo un hobby, no será grande y profesional como el gnu) para (ordenadores) clones del AT 386 (486). Él ha sido preparado desde abril, y está empezando a estar listo. Me gustaría obtener retroalimentación sobre cosas que a la gente le gusta o no le gusta en el minix, ya que mi sistema operativo se parece un poco con él (incluso el diseño físico del sistema de archivos debido a razones prácticas, entre otras cosas).
Recientemente he puesto el bash (versión 1.08) y el gcc (1.40), y las cosas parecen funcionar. Esto significa que tendría algo práctico en algunos meses, y me gustaría averiguar qué características la mayoría de la gente desearía (en el sistema). Cualquier sugerencia será bienvenido, pero no voy a prometer que las implemento :-)
Linus (torvalds@kruuna.helsinki.fi)
P.S. Sí - es libre de código de minix, y tiene un sistema de archivos multi-threaded. No es portátil (utiliza conmutación de tareas del 386, etc.), y probablemente nunca soportará nada más que discos duros AT, pues es todo lo que tengo :-(
- Linus Torvalds "

(Torvalds, Linus Benedict. "¿Qué sería como ver en el minix?". Newsgroup: comp.os.minix).

El nombre del sistema operativo "Linux" es una combinación del nombre de Linus más la palabra Unix, y el sistema fue bautizado por Ari Lemmke, un compañero de trabajo de Torvalds en la Universidad de Tecnología de Helsinki. En principio, Linus Torvalds quería bautizar el sistema de "Freax" (una mezcla de "freak", que significa "extraño", con Unix), pero desistió de la idea después de escuchar la opinión de Lemmke, que encontró el nombre Freax una pésima elección.

Cuando Linus terminó de escribir el núcleo, se inició una búsqueda de otros softwares libres, y todo lo que necesitaba fue encontrado en el proyecto GNU. El software libre disponible era suficiente para crear un sistema completo, ya que el proyecto GNU estaba siendo desarrollado desde 1984.

Después de la publicación de este mensaje, los programadores alrededor del mundo rápidamente empezaron a unirse al proyecto ya trabajar para añadir funcionalidades al kernel y también desarrollaron muchas otras herramientas, de modo que Linux se equipara a BSD Unix ya System V, además de traer nuevas funcionalidades.

Artículo siguiente: El proyecto GNU y el Software Libre

Herramienta gpasswd - administración de grupos en Linux

Administrar grupos en Linux con gpasswd


El comando gpasswd permite administrar los archivos /etc/group y /etc/gshadow, efectivamente permitiendo la gestión de grupos en el sistema.

Con este comando es posible determinar administradores y contraseñas para los grupos, además es claro de administrar a sus miembros.

Sintaxis:
gpasswd [opciones] [usuario] grupo

Si se ejecuta sin opciones el comando permite crear o cambiar una contraseña para el grupo

Opciones:
-a usuarios Agrega a los usuarios al grupo
-d usuario Quita el usuario del grupo especificado.
-r Quita la contraseña de un grupo
-A usuario grupo Hace que el usuario administrador (propietario) del grupo
-R Deshabilita el acceso al grupo a través del comando newgrp
-M usuarios Definir los miembros del grupo y todos sus derechos.


De acuerdo con las páginas de manual del comando, cuando no hay contraseñas definidas para un grupo, sólo los miembros del grupo pueden usar el comando newgrp para agregar nuevos usuarios al grupo.

La información sobre los grupos del sistema se encuentra en el archivo /etc/group. El archivo /etc/gshadow tiene información sobre los grupos seguros.

Nota sobre las contraseñas de grupos: Cuando un grupo no tiene una contraseña definida, sólo sus miembros pueden usar el comando newgrp para agregar nuevos usuarios al grupo en sí.

Si el grupo tiene contraseña configurada, un usuario cualquiera puede convertirse en miembro de él simplemente ejecutando el comando newgrp y proporcionando la contraseña del grupo.

Idealmente, sólo el administrador debería ser capaz de agregar miembros a un grupo, o incluso los propios propietarios de los grupos. Proporcionar contraseñas para que otros usuarios puedan realizar esta tarea puede convertirse en un problema de seguridad en el sistema.

Ejemplos:

1. Cómo agregar un usuario a un grupo
Vamos a agregar el usuario fabio al grupo de tablas usando el comando gpasswd:
# gpasswd -a fabio tablas

2. Cómo quitar un usuario de un grupo
Para eliminar un usuario de un grupo del sistema, usamos la opción -d:

Ejemplo: quitar el usuario fabio del grupo de tablas:
# gpasswd -d fabio tablas

3. Agregar los usuarios monica, sophia y renato al grupo de memorandos:
# gpasswd -a monica, sophia, renato memorandos

4. Configurar el usuario fabio como administrador del grupo de documentos:
# gpasswd -a fabio docs

5. Configurar una contraseña para el grupo de tablas:
# gpasswd tablas

Se le pedirá la contraseña para el grupo, y luego la confirmación de la contraseña.

6. Agregar a la usuaria ana al grupo tablas usando la contraseña del grupo (ella misma se agregará al grupo):
$ newgrp tablas

Se le pedirá la contraseña del grupo. Si el grupo no tiene contraseña configurada, no es posible que la usuaria se convierta en membra, sin tener permisos de administrador.


viernes, 6 de abril de 2018

Funciones digitalRead, digitalWrite y pinMode en Arduino

Funciones pinMode, digitalRead e digitalWrite

En esta lección vamos a conocer tres funciones primordiales usadas en el desarrollo de software para el Arduino: pinMode(), digitalWrite() y digitalRead().

Función pinMode ()

Esta función permite configurar un perno específico para comportarse como un pasador de entrada o de salida.
Por defecto, los pines de Arduino tienen la función de entrada, de modo que no es necesario declararlos en este caso. Los pines de salida deben configurarse a través de esta función, lo que los lleva a un estado de baja impedancia, de modo que pueden suministrar corriente para otros circuitos. Los pines del microcontrolador Atmega pueden suministrar hasta 40 mA de corriente para otros componentes o circuitos.

Sintaxis de la función:

pinMode (pin, modo)

Parámetros:

pino es el número de pino que queremos configurar.
el modo puede ser: INPUT (entrada), OUTPUT (salida), o INPUT_PULLUP.

El parámetro INPUT_PULLUP permite habilitar las resistencias de pull-up, que se deshabilitan cuando se utiliza el modo INPUT. La función pinMode () no devuelve ningún valor al programa.

Ejemplo: Queremos ajustar el pin 7, conectado a un sensor, como entrada, y el pin 8, conectado a un LED, como salida:

int sensor = 7
int LED = 8

void setup() {
  pinMode(sensor, INPUT);
  pinMode(LED, OUTPUT);
}


Es muy común utilizar la función pinMode() dentro de la sección setup (), para efectuar las configuraciones de pines iniciales del programa.

Función digitalWrite()

Esta función escribe un valor HIGH (alto) o LOW (bajo) en un pin digital que se ha configurado como OUTPUT (salida). El valor HIGH equivale a una tensión de 5V (o 3,3V en algunas placas), y el valor LOW, a una tensión eléctrica de 0V.
Si el pin se ha configurado como INPUT (entrada), la función digitalWrite() activará o deshabilitará el pullup interno del pasador de entrada. Esta técnica no es recomendable, siendo ideal usar la función pinMode para habilitar la resistencia de pullup.
Los pines analógicos también se pueden utilizar como pines digitales, con referencias de pines A0, A1, etc.

Sintaxis:

digitalWrite (pin, valor)

Parámetros:

pino: es el número de pino considerado
Valor: HIGH o LOW (alto o bajo)

Ejemplo: Usando la lista del ejemplo anterior, vamos a escribir un nivel alto en el pino donde el LED será conectado (pin 8), esperar medio segundo (500 ms), y luego borrar el LED, escribiendo el nivel LOW en el pin. Es decir, vamos a encender y apagar el LED cada medio segundo:

int sensor = 7
int LED = 8

void setup() {
  pinMode(sensor, INPUT);
  pinMode(LED, OUTPUT);
}

void loop() {
  digitalWrite(LED, HIGH);
  delay(500);
  digitalWrite(LED, LOW);
  delay(500);
}

Función digitalRead ()

Esta función permite leer el valor a partir de pino digital especificado, siendo los valores posibles HIGH o LOW.

Sintaxis:

digitalRead(pino)

Parámetro:

pino es el número del pino cuyo valor es necesario leer.

Esta función devuelve un valor para el programa, alto (HIGH) o bajo (LOW).

Ejemplo: Usando el primer ejemplo, vamos a leer el valor que el sensor conectado al pin 7 está enviando al Arduino:

int sensor = 7
int LED = 8
int valorSensor = 0;

void setup() {
  pinMode(sensor, INPUT);
  pinMode(LED, OUTPUT);
}

void loop() {
  valorSensor = digitalRead(sensor);
}

Tenga en cuenta que como la función digitalRead () devuelve un valor al programa, necesitamos almacenar ese valor en alguna parte, y para eso declaramos una nueva variable, la variable valorSensor, inicializada con el valor 0 (cero). Después de la llamada a la función, la variable tendrá el valor HIGH o LOW, conforme la señal enviada por el sensor, y podremos usar ese valor para decidir qué hacer posteriormente en el programa.

¡Lo qué aprenderemos en las próximas lecciones!

Seguirnos por email

Más Populares

Categorías

Arduino (1) Bash (1) Database (1) Electrónica (1) Linux (6) MySQL (1) Programación (1) Unix (1)
Fábio dos Reis. Con tecnología de Blogger.

Total de vistas