jueves, 28 de noviembre de 2013

Ejer comandos linux

 Ejercicios comandos 1parte

1.- Visualiza el conjunto de variables de entorno definidas con la orden set. Crea dos variables A y B y asígnales los "valores" ana y maria respectivamente. Comprueba que las nuevas variables se han incorporado al entorno.

Set
A=ana
B=maria

2.- Considera las variables A=ana y B=maria de la práctica anterior. Visualiza su contenido con echo $A y echo $B.

echo $A
ana
echo $B
maria

Crea una subshell con la orden sh (compruébalo ejecutando ps). Vuelve a visualizar $A y $B.

sh + intro
ps
 Al visualizar las variables no sale nada

Regresa al shell anterior con la orden exit. Comprueba que los valores de A y B vuelven a ser accesibles.

Efectivamente los podemos ver

3.- Exporta las variables A y B. Repite las acciones de la práctica anterior y comprueba que los valores de A y B son accesibles desde cualquier subshell.

export $A $B

de un subshell inferior a otro superior no se exportan las variables, hacia abajo si.


4.- Crea una variable N y asígnale el valor 3. Arranca un nuevo shell con sh. Reasigna el valor de N a 4.

N=3
sh
N=4
exit


Regresa al shell padre con exit. Comprueba que el valor de N vuelve a ser 3.

echo $N(es 3)
5.- Ejecuta las siguientes órdenes y analiza los resultados:
echo A B
muestra A y B, pero no el valor de las variables ya que no le hemos puesto el $
echo $B ola
muestra maria($B) y ola
echo "$A $B"
muestra ana y maria
echo $A $B
muestra ana y maria
echo $Bola
esta intentando visualizar el varlor de la variable $Bola que no existe, y además el ola tiene que ir separado de $B para que muestre maria y ola
echo '$A $B'
muestra $A y $B porque con las comillas simple saca todo tal cual lo escribas
echo $A$B
muestra anamaria sin espacio entre ellas
echo ${B}ola
muestra mariaola porque con los corchetes te permite visualizar el contenido de la variable y un texto concatenado
echo \$A $A
muestra $A y ana ya que la barra \ anula el valor de la variable
echo $B$A
muestra mariaana
echo ros$A
muestra rosana
echo `$A $B`
intenta ejecutar las variables pero no puede porque no encuentra la orden

6.- Añade a la variable A el contenido de la variable B y guarda el resultado en la variable C. Compruébalo.****

A=ana$B
Echo $A = anamaria

C=$A
Echo $C = anamaria




7.- Crea las variables A1=A A2=$A A3="$A" A4='$A' A5=\$A y comprueba sus valores con la orden echo.

A1=A
A2=$A
A3="$A"
A4='$A'
A5=\$A

echo $A1
A

echo $A2
(NADA)

echo $A3
(NADA)

echo $A4
$4

echo $A5
$A

8.- Descubre el contenido-valor de las variables MAIL, PATH, TERM, PS1, PS2, HOME y LOGNAME.

Set | grep mail
Set | grep path
Set | grep term
Set | grep PS1
Set | grep ps2
Set | grep home

lognam

lunes, 18 de noviembre de 2013

teoria linux 2

procesos

ps Lista los procesos que hay en curso (asociados al usuario). El terminal asociado.El tiempo de CPU utilizado.

ps –e Lista todos los procesos que están en ejecución en la CPU (del servidor).

ps –ef Muestra información más completa por cada proceso inclido el PPID.
& Ejecuta una orden en segundo plano devolviendo el control al terminal

$ Variable de entorno, contiene el PID del proceso que se ejecuta en ese momento

! Variable de entorno, guarda el PID del último proceso que se ejecutó en segundo plano

at hora fecha + incremento < lista_trabajos Ejecución diferida de órdenes en el momento especificado.
at 11:00 Aug 17
Entre la hora y la fecha podemos escribir: AM (de la mañana) o PM (de la tarde)
Fecha:
  • mes y día (May 12)
  • mes, día y año ( May 12 2004)
  • día de la semana ( Monday)
  • días especiales (today, tomorrow)
at now | noon | midnight + 3 hours | minutes | days | weeks | months | years `orden`

crontab Programación de tareas periódicas. Cada tarea ocupa una línea con seis valores separados con espacios. (Los minutos, Las horas, El día del mes, El mes, El día de la semana (Un nº del uno al seis. El 0 equivale al Domingo)
Ejemplo: 0 12 15 * * orden
crontab –e Edita el archivo de órdenes actual del crontab
crontab archivo Crea el archivo de especificaciones para cron

crontab –l Muestra el archivo de órdenes actual

crontab –r archivo Cambia el archivo de órdenes


orden | tee fichero genera una salida paralela en un fichero especificado. La salida estándar sigue produciéndose y además se envía una copia de la misma al fichero especificado para su posterior análisis.
orden | tee -a ruta_fichero -a Añade al fichero la salida de la orden
kill -n pid envía una señal a un proceso. El valor n es el número de señal; pid es el identificador del proceso. Señales:
0 - Para salir de un shell

1 - Deja un terminal inactivo (colgado).

2 - Para enviar una interrupción (ctrl.+c) al proceso.

9 - Para matar a un proceso (no puede ignorar la señal).

15 - (señal por defecto) Muerte del proceso. Sin embargo algunos no mueren con esta señal.

trap procedimiento señal captura una señal desde un procedimiento o programa para luego ignorarla o tratarla.
procedimiento: dirección del código (del procedimiento) que va a tratar la señal.- Comunicacion

write usuario Para enviar un mensaje a otro usuario. Hace falta que el usuario destino esté conectado y tenga activada la opción mesg y
write usuario < mensaje Escribe el mensaje desde fichero
write usuario tty7 Si se quiere detallar a qué terminal va el mensaje (en el caso de que el usuario esté conectado en varios)

mesg Muestra el estado actual de la opción de recepción de mensajes

wall Escribe un mensaje en el muro (mensaje a todos los usuarios conectados al sistema from root, from terminal)
wall < mensaje Desde un fichero

mail nombre_usuario Para enviar un correo a un usuario
mail nombre_usuario < mensaje Desde fichero

mail Para entrar en el programa de administración de correo:
Intro o + leer el siguiente mensaje
Con – pasamos al mensaje anterior
Con n podemos leer el mensaje número n
Con d (delete) borramos un mensaje
Con q salimos del correo, borrando los mensajes suprimidos, recibidos o grabados antes de salir
Con x salimos del correo sin modificar nada (sin modificar el buzón)
news Muestra las noticias no leídas. Para crear una noticia, basta con crear un fichero con la noticia y copiarlo en el directorio de noticias (teniendo permiso para escribir en ese directorio).
news –a Muestra todas las noticias (se encuentran en el directorio /usr/news).
news –n Muestra las cabeceras de las noticias no leídas

calendar Agenda de eventos. Muestra los eventos de hoy y los de mañana. Para utilizar la agenda, se crea un fichero calendar en el directorio activo con la siguiente sintaxis:
jun 4 partido de basket
6/4 ir al cine
(tabulador entre la fecha y el evento)

10.- remoto
telnet acceso remoto a otro ordenador a través de una red
telnet host
ssh acceso remoto seguro a otro ordenador a través de una red
ssh usuario@host
scp transferencia de ficheros entre máquinas
subir (de máquina local a remota):
scp archivolocal usuario@maquina_remota:archivoremoto
bajar (de máquina remota a local):

scp usuario@maquina_remota:archivoremoto archivolocal 

Apuntes linux1

1.- Sesiones Linux

passwd Cambia la contraseña

exit Abandona el sistema

ctrl + d Para abandonar el sistema

who Devuelve información de los usuarios que hay conectados en el sistema

whoami Devuelve información del usuario con el que nos hemos conectado.

date Devuelve la fecha y la hora del sistema
cal Muestra un calendario

logname Devuelve el nombre de usuario con el que se ha accedido al sistema

uname Devuelve información sobre la versión del sistema operativo

uname – a Devuelve la información sobre la versión y sobre la revisión de la versión

tty Devuelve la ruta de nuestro terminal /dev/tty1

echo Visualiza un texto alfanumérico o el contenido de una variable de entorno
echo Hola
echo $variable

banner Visualiza el texto como si fuera un cartel
banner $variable
banner Hola

clear Limpia la pantalla

man Muestra información sobre un comando (ayuda)
man who
2.- El shell
Metacaracteres (caracteres comodín)
$ Prompt.

> Prompt secundario. Nos indica que debemos finalizar la instrucción porque está incompleta

? Sustituye un carácter

* Sustituye uno o varios caracteres. Puede sustituir a ninguno

[ ] Sustituye el rango de valores que se encuentra incluido entre corchetes
ls carta[123]
ls carta[a-z]

Agrupamiento de órdenes

; Ejecuta secuencialmente varias órdenes ls;who;date

&& Ejecuta una orden sólo si la orden anterior ha tenido éxito en su ejecución

|| Ejecuta una orden sólo si la orden anterior no ha tenido éxito en su ejecución

& Ejecuta una orden en segundo plano.

Caracteres con significado especial
\ Se antepone al carácter que no queremos que interprete el shell. Permite eliminar el significado de un carácter (permite escapar un carácter)
echo \$a (muestra $a)
' ' (comillas simples) El shell no interpreta nada de lo que hay entre éstas comillas
echo '$a' (muestra $a)
" " (comillas dobles) Evita la interpretación de los caracteres incluidos en ellas excepto el dólar ($), las comillas dobles (“), las simples (‘) y la barra invertida (\), que sí los interpreta

` ` (acentos graves) Provoca la ejecución anticipada de una orden orden
cp `ls` /home/jperez/backup (ejecuta primero ls y el resultado se lo entrega a cp)
3.- Archivos y directorios
ls lista los directorios y ficheros que hay en el directorio activo.
ls –l Muestra información adicional como máscara (tipo de fichero y permisos), número de enlaces, propietario, grupo de usuarios, tamaño, fecha y hora de la última modificación y nombre.
ls –a Lista los ficheros y directorios del directorio activo incluyendo el directorio en el que nos encontramos, el directorio padre del directorio activo y los ficheros ocultos.
ls –R Muestra una lista recursiva de los ficheros y directorios que cuelgan del directorio activo.
cd Para cambiar de directorio. Sin argumentos nos sitúa en el directorio HOME.
cd /home/alumno

pwd
Devuelve la ruta absoluta del directorio activo (en el que nos encontramos)

mkdir Crea directorios

rmdir Borra directorios
4.- Manipulación de archivos

cp archivo_origen archivo_destino Para copiar ficheros
cp –i Pide confirmación en caso de sobrescritura de un fichero

ln archivo_origen archivo_destino Para crear enlaces de un fichero
ln –i Pide confirmación en caso de sobrescritura de un fichero

mv archivo_origen archivo_destino Para renombrar o mover ficheros.
mv –i Pide confirmación en caso de sobrescritura de un fichero
rm archivo Borra un fichero

cat fichero Para ver el contenido de un fichero
cat > fichero Para crear un fichero. Para salir de la edición Ctrl+D
cat >> fichero Para añadir texto al contenido de un fichero. Para salir de la edición Ctrl+D


jueves, 7 de noviembre de 2013

Funcionamiento dns

DNS

1 Que es
ip- nombre de dominio.
resolver programa que pregunta y el servidor contesta y envia el nombre que busca al servidor dns.
puedes tner tu la informacion o no tnerla pero sabes aquien preguntarsela.

2
 sistema de nombre:
 - nombres planos no jerarquia cada ordenador tine un nombre hay un archivo etc/host     host se extructura nombre y una ip.
 - jerarquico  / en linux los archivos cuelgan de la raiz.
 - dns son bases de datos distribuida esta repartidos los datos  en varios            sitios.indexada jerarqucamente  sabes donde tines que buscar.

3 cracteristicas:
 - resolver directa: asociado a una ip.
 - resolucion inversa ip puede tener  varios nombres. - resolucion de servidor de correo.

5 componentes:
  - espacio de nombres
  - zonas un servidor dns  guarda una base de datosdonde la unidad de informacion es     resorce record.
  -protocolo dns
    -cliente- servidor
    -servidor- servidor
nslookup www.google.es  comando para saber el nombre de la maquina de una direcion web

6 domain name space
- top nivel tl
- dominios .es .com
- 2nivel
- 3 nivel (hay limites de niveles)
   pueden ser relativos si estoy en un dominio lo completa absoluto todo la ruta.

7 icann asociacion que gestiona:
  esponsorizados-cat .edu .gov -stld
- no esponsor .com. net.org siguen normas icann
- cctld solo utilizan dos letras .es .fr el gobierno del pais gestiona los dominios geograficos.
- reservados localhost , test , invalid  no se puede utilizar .
- arpa gestion de la red y gestion inversa de nombre.
iana gestion dominios .

8 servidores dns.
 -utiliza dos puertos .
   - 53 tcp.
   - 53 udp.
 - zona si la gestiona esa zona es authoritative.
 - ficheros de texto rr tipo a tal nombre tiene una ip  de tipo ns autorizado para un  determinada zona cname se utiliza  para crear area   .                                                                                                                                                                                                                                                                  
 - bad lan base de datos distribuida.
 tipo de servidores:
 - maestro .
 - servidor secundario o esclavo.
 - servidor cache mayor rapidez .
 - reenviador la speticiones las renvia aotros servidor.
 - autorizado solo a las peticiones de la zona ni reenvia.

martes, 5 de noviembre de 2013

multiplicar php

Hoy os doy 4 formas de hacer una tbla de multiplicar con php

1
<html>
<?php
if (!isset($_GET['num']) || $_GET['num']< 0 || $_GET['num'] > 10 || !is_numeric($_GET['num']))
$num=1;
else
$num=$_GET['num'];
for ($cont = 1; $cont < 10; $cont++) {
echo $num." X ".$cont." = ".($num * $cont);
echo "<br>";
}
echo "<br>"."<br>";

if ($num>1)
echo "<a href=multiplicar.php?num=".($num-1).">Anterior   </a>";

if ($num<10)
echo "<a href=multiplicar.php?num=".($num+1).">   Siguiente</a>";

?>
</html>

2
<html>
<?php
if (!isset($_GET['num']) || $_GET['num']< 0 || $_GET['num'] > 10 || !is_numeric($_GET['num']))
$num=1;
else
$num=$_GET['num'];

$cont = 0;
while ($cont<10)
{
$cont++;
echo $num." X ".$cont." = ".($num * $cont);
echo "<br>";
}
echo "<br>"."<br>";

if ($num>1)
echo "<a href=multiplicar.php?num=".($num-1).">Anterior   </a>";

if ($num<10)
echo "<a href=multiplicar.php?num=".($num+1).">   Siguiente</a>";
?>
</html>
3
<html>
<?php
if (!isset($_GET['num']) || $_GET['num']< 0 || $_GET['num'] > 10 || !is_numeric($_GET['num']))
$num=1;
else
$num=$_GET['num'];
for ($cont = 1; $cont < 10; $cont++) {
echo $num." X ".$cont." = ".($num * $cont);
echo "<br>";
}
echo "<br>"."<br>";

if ($num>1)
echo "<a href=multiplicar.php?num=".($num-1).">Anterior   </a>";

if ($num<10)
echo "<a href=multiplicar.php?num=".($num+1).">   Siguiente</a>";
?>
</html>

4
<?php
 // pregunto si la variable $_GET esta vacia
if(!($_GET)) {
visualizar(1);
enlaceIzq(1);
enlaceDer(1);
} else{
visualizar($_GET['num']);
  enlaceIzq($_GET['num']);
enlaceDer($_GET['num']);
}
function visualizar($a){
echo "<p><h3><b>Tabla del ".$a."</b></h3></p>";
for($i=0;$i<=9;$i++)
echo $a." x ".$i." = ".($a*$i)."<br>";
echo "<p></p>";
 }
function enlaceIzq($a){
     
if($a != "1"){
      /* paso de variables por medio de $_GET */
  echo "<a href=tabla.php?num=".($a-1).">
Ant(tabla del ".($a-1).")</a>";
 }
}
 function enlaceDer($a){
if($a != "9")
{
echo "<a href=tabla.php?num=".($a+1).">
Sig(tabla del ".($a+1).")</a>";
}
}
 ?>