Blog

25.10.2014 18:53
El comando crontab
Este programa permite editar los archivos crontab, un archivo crontab es una agenda en la cual se registran las tareas que se han de ejecutar en un momento determinado, se
pueden agregar tantas tareas como se desee.
Para poder abrir nuestro crontab ponemos crontab -e 
un ejemplo:
 
me manda un mensaje positivo a mi mismo
 
otro ejemplo siendo usuario root:
y en cada minuto si checamos el archivo frases.txt no aparecera una buena frase mas ;)
25.10.2014 18:34

El comando para poder navegar en modo de texto es:

lynx

vemos las opciones que tenemos y si por ejemplo deseamos teclear otra direccion web ponemos g

en este caso yo teclee uach.mx

y para salir presionamos Q

 

 

 

25.10.2014 17:34

veremos como cerar nuestro propio servicio al le llamare rc.galleta

ahora nuestro servicio nos aparecera en la lista con un ls

 

Se pueden observar las tres opciones de invocación de este script, la opción start, para iniciar , stop, para detenerla y el caso de error. Este archivo debe guardarse en /etc/rc.d, con el
nombre rc.galleta  y con permisos de ejecución. Esto no basta para que el servicio se invoque
automáticamente, para esto debemos modificar los scripts de inicio del sistema para que invoquen el
nuevo servicio. Así que hay que entrar a modificar /etc/rc.d/rc.M y /etc/rc.0, para que el servicio sea
iniciado y detenido por el sistema.

 

 

 

25.10.2014 15:50

 

El proceso de arranque init de Sys V es el primer proceso que se ejecuta en el sistema, es el más importante, del que dependen el resto de todos los demás procesos. En el arranque de GNULinux, el núcleo ejecuta init. Este programa, ahora como proceso, cargará los subprocesos necesarios para la puesta en marcha del sistema. Cuando init haya terminado de cargarse vaciará el subdirectorio /tmp y lanzará a getty que es el encargado de permitir a los usuarios hacer login en el sistema.

Los niveles de ejecución (también generalmente conocidos por su nombre en inglés, runlevel) determinan los servicios que tendremos disponibles en cada uno de ellos. Es una forma de tener diferentes modos de trabajo, cada uno de ellos con distintas características bien definidas, en función del tipo de tarea a que estén orientados.

Archivo /etc/inittab

 

niveles de ejecucion :
0 indica halt o apagado de la máquina.
1 Indica monousuario.
2 Indica modo multiusuario sin soporte de red.
3 Indica modo multiusuario completo con soporte de red.
4 No usado, con esta opción el administrador puede personalizar el inicio para cargar algún servicio.
5 Indica multiusuario completo con inicio gráfico (X11) (Aunque en Solaris indica shutdown)
6 Indica shutdown y reboot: Se apaga inmediatamente la máquina para reinicio.
 
Los sistemas tipo Unix pueden correr en diferentes niveles de ejecución, un nivel de ejecución o
runlevel es una configuración del sistema que permite la ejecución de determinados procesos, por
ejemplo, el runlevel 1 pone al sistema en modo mono usuario, en Slackware el nivel 3 es multiusuario y
el 4 inicia el servidor de gráficos (multiusuario con servidor X). Los niveles de ejecución 0, 1 y 6 están
reservados ya que el 0 significa que el equipo se debe apagar, el 1 es para fines de mantenimiento mono
usuario y el 6 es para reiniciar. El comando /sbin/init permite cambiar de nivel de ejecución, prueba
cambiar al runlevel 0 escribiendo init 0 como administrador y verás qué ocurre.
 
 
 Un demonio es un programa que se ejecuta en segundo plano, esperando a que ocurran determinados eventos y ofreciendo servicios. Un buen ejemplo de ello es un servidor web que espera una solicitud para entregar una página o un servidor ssh esperando a alguien tratando de conectarse.
 
Existe una carpeta dentro de la cual se encuentran los scripts del
sistema, estos son los que se encargan de hacer que el sistema arranque de forma correcta con todos los
servicios necesarios para su bien funcionamiento, así como otros servicios importantes como los
servidores web, multimedia, etc. Echemos un vistazo al contenido de esta carpeta.
 
Podrás notar que ahí están los scripts a los que hace referencia el archivo inittab y también podrás ver
que estos tienen permisos de ejecución (se nota por que vienen seguidos por un *). 
Aquí se encuentran los scripts de inicialización de los diferentes servicios y daemons
 
 
vi rc.M 

 

Este archivo es invocado por init, según lo dice la documentación. Este archivo es el que se encarga de
montar sistemas de archivos remotos e iniciar el conjunto de servicios que deben correr cuando el
sistema entra en modo multiusuario.
25.10.2014 14:34
Las funciones en Bash son fragmentos de código que pueden ser mandados llamar en cualquier
momento, esto con el fin de escribir solo una vez una rutina que debe ser ejecutada varias veces, así
como en otros lenguajes de programación imperativa pueden recibir argumentos.
El siguiente ejemplo
muestra el cálculo de un número factorial.
y veamos la salida:
 

Parámetros
Los parámetros se guardan como un arreglo global, como se pudo apreciar en la sección de funciones
pueden ser accedidos mediante el caracter especial $ y un número que indica la posición del
parámetro, siendo el 1 el primero, 2 el segundo, etc.
veamos un ejemplo de uso de parametros
 

veamos el resultado:

 

24.10.2014 16:26
Una forma de hacer una selección múltiple es con una variación de la bifurcación condicional, veamos
el ejemplo siguiente.
aqui utilizamos el elif que viene siendo un else if en "c"   utilizamos if anidados para cuando no  se ejecute la primera sentencia se ejecute la segunda o sino  la tercera y en caso de no insertar un numero que no es 1 2 0 3 simplemente con el else le decimos de no se sabe como se dice. 
Añadimos permisos y veamos cual es el resultado de esto:
 
 
Ahora veamos este ejemplo utilizando case 
 
utilizamos una variable llamada n y luego le decimos que la vamos a usar en el case y para finalizar el case se pone esac.
Añadimos permisos y veamos los distintos resultados que nos daria este programa:
Este se parece en cierto modo al swich-case de lenguaje C, a fin de cuentas ambos lenguajes obedecen
al mismo paradigma.
 
 
Ahora veamos un ejemplo del uso del  for 
 
Lo que nos hara sera imprimir los numeros que le dimos le decimos en el for el nombre de la variable que es a y en el echo la mostramos con un signo de pesos. Añadimos permisos y nos quedaria este resultado.
ahora veamos un ejemplo mas complejo usando for anidados en el cual le preguntaremos al usuario hasta que numero quiere que imprima las tablas de multiplicar del 1 al 10 en el que el primer for es para el numero que el usuario introducira evaluara desde el numero 1 hasta numero x en incremento. y el segundo for es para hacer la multiplicacion correspondiente desde el uno al 10 x el numero dado por el usuario mostrado el resultado de cada multiplicacion.
y nos dara este resultado
 
ciclo while
En este ejemplo veremos un programa parecido al anterior pero que muestra solo una  tabla de multiplicar de un número en particular.
 
El operador relacional >= en este caso para bash se utiliza como -le  
Primero lee el numero tecleado (variable n) e utilizamos otra variable i en la cual se multiplicara por n.
i tomara el valor de 1 hasta 10 en incremento y lo multiplica por n.
hacemos el programa le damos permisos de ejecucion y lo ejecutamos:
nos da esto:
 
 
 
 
24.10.2014 15:39
La bifurcación simple es igual a cualquier otra, se evalúa una expresión lógica y si esta es verdadera se
ejecuta la parte verdadera, si no lo es y existe una parte falsa esta es ejecutada.
En bash veremos un ejemplo sencillo utilizando if, else  y usando variables de entorno.
 
Primero creamos el archivo al que llamare practicaif.sh y luego anotamos este codigo:
en donde:
then.- para que continue con la ejecucion
[ ].- se evaluan las expresiones
fi.- finalizar el if
 
utilizamos 2 variables de entorno:
$UID.- para conocer si estamos en root o en usuario normal
$USER.- para conocer el nombre del usuario en el que estamos en caso de no estar en root
 
Despues damos los permisos de ejecucion a la practica con: chmod +x practicaif.sh y lo ejecutamos y muestra esto:
En este caso yo me encontraba en el usuario ederr, pero si ejecuto el programa en usuario root me tendria que decir que usted es un superusuario.
 
La lista de operadores lógicos es la misma que en lenguaje C y tienen la misma precedencia. Miremos
otro ejemplo.
En este caso estaba en root pero no me encontraba en el directorio home, por eso me arrojo este resultado.
 
 
 
 
 
 
13.10.2014 13:19
Estas son variables asociadas a cadenas de texto que tienen un significado especial para el sistema, una
de las más importantes por ejemplo es PATH, que muestra la ruta a los programas ejecutables, si por
ejemplo quisiéramos hacerle la vida difícil a un usuario simplemente habría que alterar su variable
PATH para que apunte hacia donde no hay programas, de este modo el intérprete de comandos sería
incapaz de ejecutar cualquier orden.
El siguiente programa muestra un par de variables de entorno. Al cual llamare p3.sh
EL uso de estas vaiables es poniendo el signo de pesos y todo en mayusculas, donde en este ejemplo:
$USER.- nos dice el nombre de usuario
$PWD.- nombre del directorio en donde se encuentra
Añadimos permisos con chmod +x p3.sh y ejecutamos con ./p3.sh
 
El comando export sirve para guardar variables de entorno nuevas, generalmente las variables de
entorno para todos los usuarios se encuentran declaradas en /etc/profile
 
pero se pueden hacer cambios creando un profile para cada usuario.
En el siguiente ejemplo vamos a crear un profile para el usuario que ejecute el script.
Cuando un usuario accede al sistema se carga el perfil (profile) general ubicado en /etc/profile y luego
se carga el perfil ubicado en $HOME/.profile, este es un script que se ejecuta cuando el usuario accede,
dentro de ese script pueden declararse algunas variables de entorno.
 

 

13.10.2014 12:20
Algo muy útil que ofrece el shell de los sistemas tipo Unix es que la entrada y la salida estándar se
puede encausar hacia la dirección que uno desee, esto se logra con los operadores >, >>. La idea aquí
es que se puede hacer que en vez de que la salida de un programa se muestre en pantalla esta se redirija
a otro lugar tal como un archivo de texto.
hagamos un ejemplo con el comando echo hola escribiría hola en la consola, pero echo hola > ejemplo.txt crearía un archivo de texto llamado ejemplo.txt con la palabra hola escrita en él. La diferencia que existe entre el operador > y >> es que el primero es destructivo mientras que el segundo no elimina el contenido de archivos existentes, sino que añade los datos nuevos al final.
Entonces hagamos el ejemplo quedaria asi:
vemos el archivo poniendo cat ejemplo.txt
Ahora si deseamos agregar otro comentario, ahora en vez de echo "comentario">ejemplo.txt, seria con doble >> ya que sino nos borraria el hola
veamos
Hagamos otro ejemplo usando entradas <
voy a utilizar el comando wc que nos sirve para contar en este orden la:
  • Cantidad de líneas del archivo

  • Cantidad de palabras del archivo

  • Cantidad de caracteres del archivo

Entonces quedaria asi:
como ven el archivo ejemplo.txt contiene 2 lineas, 3 palabras y 18 caracteres
 
 
 
13.10.2014 11:04

creamos un archivo sh al que llamare p2.sh

ponemos vi p2.sh y despues copiamos este script

 el echo -n  nos da una nueva linea en el cual podremos dar los datos

el read permite leer lo que el usuario escribe y lo guarda en la variable que nombramos

numero1 + numero2 enre corchetes todo con un signo de pesos , hace la operacion y la guarda en otra variable  llamada resu

y ahora solo muestra resu

 

vamos a ejecutar este script pero antes tenemos que dar permisos con chmod +x  p2.sh

Ahora ponemos ./p2.sh  

ingresamos los datos y vemos que nos hizo la suma, genialll :)

1 | 2 >>

Contacto

topicos administracion eder ederpalacios@hotmail.com