También hay otro modo de hacer el cambio de binario a decimal y decimal binario por ejemplo:
Mediante una tabla como esta:
Cada vez que subimos un nivel en superindex multiplicamos por 2 su valor como podéis ver. Así podemos subir niveles tantos como sean necesarios.
Pero cuando se trate de Ip's solo habrá 7 niveles, porque son como máximo 1 byte ( 8 bits) , que es hasta nivel 2 7, Ddo que la suma de estos 7 niveles da 255 y esa es la última red posible , Que se usa para la máscara de subred.
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
Por ejemplo si tenemos el código binario : 11010010 en la tabla se mira:
DE BINARIO A DECIMAL
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
1
1
0
1
0
0
1
0
Se trata de sumar los dígitos de la tabla que contengan 1 , si es 0 no se suma es decir : 128+64+16+2= 210
Pero con este mismo método también podemos hacer justo lo contrario pasar un valor decimal a binario por ejemplo con el número 100, ahora en vez de sumar el valor decimal de los niveles los hemos de ir restando.
Por ejemplo empezar con el nivel 2 6= 64, dado que el nivel 7 equivale a 128 y se pasa del número 100.
entonces restaríamos 64 a 100.
100-64=36, y así hasta llegar a 0. Así formaríamos nuestro valor binario es decir:64+32+4
DE DECIMAL A BINARIO
27
26
25
24
23
22
21
20
128
64
32
16
8
4
2
1
0
1
1
0
0
1
0
0
Para convertir un número hexadecimal en decimal o binario, solo debemos hacer uso de la siguiente tabla de datos.
Decimal
Hexadecimal
Binario
0
0
0000
1
1
0001
2
2
0010
3
3
0011
4
4
0100
5
5
0101
6
6
0110
7
7
0111
8
8
1000
9
9
1001
10
A
1010
11
B
1011
12
C
1100
13
D
1101
14
E
1111
Lo más fácil y aconsejable es coger un numero decimal y para pasarlo a hexadecimal primero convertir ese decimal en binario., después dividimos ese número binario en bloques de 4 en 4 y hacemos la conversión final del binario a hexadecimal.
Se empiezan a crear los bloques desde el final hacía delante, y si faltan números, para complementar los bloques de 4 dígitos, se añaden 0 a la izquierda.
Fue uno de los primeros sistemas operativos de Windows. Es monotarea y monousuario. Ya esta prácticamente obsoleto.
Pero hay cosas interesantes que se pueden crear desde este sistema que trabaja en modo comandos y no interfaz de usuario.
Por ejemplo la creación de ARCHIVOS POR LOTES.
Como crear un archivo por lotes (.bat):
@echo off
CLS
:INICIO
echo
echo A.Notepad.exe
echo B.Iexplorer.exe
echo C.Calc.exe
echo D.Dxdiag.exe
set choice=
set/p choice=Escribe la letra...
If not "%choice%"==""set choice=%choice:~0,1%
If "%choice%"=="A" goto Notepad.exe
If "%choice%"=="B" goto Iexplore.exe
If "%choice%"=="C" goto Calc.exe
If "%choice%"=="D" goto Dxdiag.exe
echo "%choice%" -no es válido. Intentelo de nuevo.
echo.
goto INICIO
:Notepad.exe
Notepad.exe
goto INICIO
:Iexplorer.exe
Iexplorer.exe
goto start
:Calc.exe
goto start
:Dxdiag.exe
Dxdiag.exe
:end
goto end
PAUSE
Encontrar caracteres y letras y guardar en otro archivo ,ejecutado desde un archivo por lotes (.bat):
Por ejemplo creamos un archivo llamado: Buscador.bat
FIND "casa"%1 lacasa.txt>%2 resultado.txt
Lo mismo podemos hacer con un archivo por lotes para encontrar carpetas y guardarlas:
creamos Solucionador.bat
DIR "*solo*"%1 c:\Deberes>%2 solucionador.txt
Imprimir un archivo:
c:\type elperro.txt>prn
Imprimir etiqueta y número de série:
c:\vol >prn
ordenar un archivo en otro:
c:\sort invitados2.txt
Hay muchos programas y diferentes tipos de acceso a escritorio remoto para Linux y Para Windows.
Veamos unos cuantos:
SSH:
Es un servidor para ejecutar en linux (apt-get install openssh-server). Su función es la de un protocolo i programa que lo implementa, sirve para acceder a máquinas remotas. Mediante un interprete de comandos y también puede redirigir el tráfico de cualquiera para poder ejecutar programas gráficos si hay un servidor.
para iniciar el servicio: sudo /etc/init.d/ssh restart.
La aplicación Putty de linux , la podemos instalar: sudo apt-get install pterm, sudo apt-get install putty, sudo apt-get install putty-tools. Se han de instalar estos 3 paquetes correctamente.
El pterm, es un emulador de terminal x. Mientras que el paquete putty incluye los clientes Telnet y SSH. Y las putty-tools sirven para actualizar el estado si se han hecho cambios.
Ahora podemos acceder a ordenadores con acceso remoto a través del putty terminal y del putty ssh cliente. Nos logeamos con su nombre de usuario y password del ordenador al que queramos acceder.
El putty también tiene una versión para windows.
El puerto oficial de Telnet es el 23.Aunque hoy en día se aplica más el Secure Shell (SSH).Que son similares ambos pero el SSH usa cifrado.
Desde windows Xp y los que le siguen en adelante, hay una aplicación por defecto para acceder y que puedan acceder a través de escritorio rmeoto. Para poder acceder a uno con esta aplicación, Ambos ordenadores tanto servidor- como cliente al que accederemos han de tener en esta aplicación que encontramos a través de panel de control---> remoto: activado el acceso remoto.
Si uno de los dos lo tiene desactivado, no podrán acceder.
Dentro de esta aplicación hay que dar permisos desde opciones avanzadas, a que usuarios podrán tener acceso a su uso.
Además ambos ordenadores deberán estar encendidos para poder acceder a ellos. Uno porque necesitará ejecutar el programa y el otro porque necesitarán acceder a el.
Podemos acceder logeandonos con el nombre de usuario o el de la IP. Pero siempre nos pedirá la contraseña. En el caso de que tenga una.
Hoy en día con windows8 todos los ordenadores posen una contraseña de forma obligatoria.
Pero si es un windows7 o anterior puede que no tenga protección por contraseña. Deberíamos poner una.
Y si quieres evitar que puedan acceder a través de acceso remoto desactiva la casilla de acceso remoto en panel de control---> remoto.
Pero hay más programas con un mejor control de seguridad, el problema es que si los queremos obtener de forma gratuita, solo nos dejarán probar la versión de prueba.
Uno de los que me parecen mejores del mercado tras realizar una serie de pruebas es el TEAMVIEWER.
TEAMVIEWER:
Nos da la opción de instalar o ejecutar como portable.Mi preferido Podemos y deberíamos también instalarlo con la opción de poder acceder con acceso remoto a la máquina que lo estamos instalando.
Así que lo primero que nos saldrá pues, es una ventana para la configuración de acceso remoto a la misma máquina donde estamos instalando el software.
Hemos de crear o acceder con una cuenta de correo electrónico. Podemos crear unan ueva o usar una ya existente.
Cuando ya tenemos todo correcto, nos sale la ventana de acceso remoto.
Hay que clicar en:
- ordenadores y contactos- y añadir el pc donde queremos conectar. haciendo clic en el símbolo de un pc+.
El otro ordenador también ha de usar este mismo programa para poder acceder a el y viceversa.
Usa un ID y contraseña propios y únicos del programa. Por eso transmite mayor confiabilidad y difícil acceso si quisiera entrar a el una persona no ingrata.
Otro programa similar es el DAMEWARE, un poco más complejo quizás. Pero de mismo efecto y seguridad.
Su versión de prueba a diferencia de TEAMVIEWER que dura 30 días. Este, solo dura 14 días.
Por lo demás es similar en instalación.
Y para acceder en acceso remoto hay que hacer clic derecho sobre el PC agregado previamente al que queremos acceder. Seleccionar REMOTE CONTROL--->MINI REMOTE CONTROL -RDP.
VNC:
Programa sobre linux de software libre basado también en estructura cliente-servidor .Remotamente a través de un ordenador cliente.
Este pequeño cuestionario de pruebas esta especialmente pensado para MySQL Workbench, pero también puede ser usado con comandos similares en PostgreSQL y/o PhpMyAdmin
1.Desde un usuario con privilegios(root) . Haz que el usuario us2 solo se pueda conectar desde la máquina en la que estas y a la base de datos bdprova. También, solo podrá utilizar las ordenes: SELECT, INSERT i LOCK TABLES:
Desde root, vamos a la pestaña de users & privileges, y clicamos en el usuario usu2.
Vamos a schema privileges y a add entry , le ponemos los datos que requiere: el host Localhost ,en Schema (bdprova) y los Privilegios se ponen desde la pestaña inferior.
En Object rights marcamos: SELECT e INSERT. Y en Other Rights: LOCK TABLES.
2.Qué privilegios tiene SecurityAdmin? Qué privilegios se activan al escoger esta opción?
Se activan los privilegios “CREATE USER, GRANT OPTION, RELOAD y SHOW DATABASES".
3.Qué diferencias hay entre DBManager y BackupAdmin?
DBManager tiene todo tipos de derechos para ejercer sobre la administración en todas las bases de datos.
BackupAdmin por otro lado, solo tiene el mínimo de derechos para hacer un backup (copia de seguridad) de cualquier base de datos.
En la siguiente imagen veréis la pantalla para establecer los permisos deseados al usuario seleccionado.Si los permisos no están establecidos solo podrá hacer uso de las bases de datos
Como veis en la imagen de a bajo lo hemos configuradop ara que podamos conectar desde cualquier host y a cualquier base de datos.
5. Haz el usuario/a “a3@%” con los privilegios que necesite y limita el número de consultes a 2 por hora. Después conecta con este usuario y prueba a hacer 3 consultas seguidas.
Con un límite de 2 consultas por hora ,cuando hacemos la tercera consulta en menos de una hora , nos dice que hemos sobrepasado el límite de consultes.
6.¿Como se actualizan las tablas de privilegios?
Con el comando, mediante terminal: Flush_privileges .
7.Cuál o cuales privilegios son necesarios para cambiar la contraseña de los usuarios/as? Pon de nueva contraseña del usuario3 “usuario3usuario3” utilitzando mysqladmin y la orden SET. Escribe las ordenes .
El privilegio será: Grant options ,cuando se hace en el usuario que queremos que dé privilegios.
SET PASSWORD
mysql> UPDATE mysql.user SET Password=PASSWORD('usuario3usuario3')
-> WHERE User='usuario3';
mysql> FLUSH PRIVILEGES;
8.Es posible guardar la contraseña de administrador en el archivo de configuración? Dónde?
Es posible modificando el archivo: my.cnf: sudo nano /etc/myslq/my.cnf de Ubuntu.
En windows modificaríamos el my.ini que esta en el directorio de la instalación.
Hay que añadir estas lineas en el apartado cliente:
[client]
user = nombredeusuario
password = passworddeusuario
port = 3306
host = localhost
9.Desde administrador revoca todos los permisos para el usuario3 (que se quede solo con USAGE).
REVOKE ALL PRIVILEGES ON *.* FROM 'usuario3'@'%';
GRANT USAGE ON *.* TO 'usuario3'@'%';
10.Escribe la orden para mostrar los permisos de usuario3.
SHOW GRANTS FOR usuario3;
ROLLBACK / COMMIT
Al hacer una consulta o transacción en MySQL, se suele empezar con un BEGIN, y acabar con un COMMIT para guardar las ordenes o ROLLBACK para deshacer y no guardar.
11.Como se comprueba si autocommit esta activado? Desactivalo.
Para desactivar el autocommit hemos de hacer :
SET AUTOCOMMIT= 0;
Pero eso se suele hacer cuando usamos tables transicionales, es decir con motor de almacenamiento InnoDB o BDB.
MyISAM, el que estamos utilitzando en esta tabla, es un motor no transicional.
O Sino hacer uso del comando START TRANSACTION + comandos a ejecutar.
En este caso no se ejecutará el autocommit, pero solo en la primera acción.
12.Si quieres hacer una transacción con autocommit activado, pero no lo quieres desactivar, como la haces?
Con el comando START TRANSACTION.
En vez de BEGIN.
I después , añadimos el resto de comandos+ COMMIT para finalizar y que se ejecute o ROLLBACK para que no se ejecute.
13.Cuál es la orden para cambiar una tabla MyIsam a InnoDB?
ALTER TABLE nombretabla ENGINE=InnoDB;
14.Diseña una transacción que ejecutarás desde la línea de ordenes.
Ponemos el Autocommit a 0:
SET AUTOCOMMIT =0;
Después ejecutamos la transacción:
BEGIN;
SELECT * FROM Molinero_myisam WHERE ASIGNATURA ='BDD';
COMMIT;
15.Crear una vista a partir de una tabla ya creada.
USE dbuoc;
CREATE VIEW clients_moli AS SELECT nom_cli, nif,telefon FROM clients;
16.Haz un SELECT donde se vean todos los registros de la tabla virtual.
SELECT * FROM clients_moli;
17.Modifica la vista para incluir o excluir algún campo más.
USE dbuoc;
ALTER VIEW clients_moli AS SELECT codi_cli,nom_cli, nif, telefon, ciutat FROM clients;
18.borra la vista
DROP VIEW clients_moli;
CREAR DISPARADOR (TRIGGER):
crear disparador que se ejecute al insertar un empleado y que actualice el presupuesto sumándolo al sueldo del nuevo empleado.
DROP TRIGGER Dbuoc IF EXIST ;
DELIMITER |
CREATE TRIGGER Dbuoc BEFORE INSERT ON departamentos
FOR EACH ROW
BEGIN
SET new.empleado= (SELECT sueldo FROM empleats);
UPDATE presupuesto SET new.presupuesto= (SELECT sueldo + presupuesto FROM empleados,departamentos )
END ;
|
DELIMITER ;
SELECT * FROM departamentos;
añadir nuevo empleado en la tabla empleados:
INSERT INTO empleados VALUES ('18','desiree', 'moli','3000','DIR','Barcelona','1');
20.Hacer un disparador que se ejecute al borrar un empleado y que actualice el presupuesto del departamento restando el sueldo.
DROP TRIGGER IF EXISTS Dbuoc2 ;
DELIMITER
|
CREATE TRIGGER Dbuoc2
BEFORE DELETE ON empleados
FOR EACH ROW
UPDATE departamentos SET presupuesto=presupuesto - old.sueldo WHERE old.nom_dpt=departamentos.nom_dpt AND old.ciudad_dpt=departamentos.
ciudad_dpt;
|
DELIMITER
SELECT * FROM departamentos;
21.Escribe un procedimiento que es llame proc_apellido, donde apellido es tu apellido, que muestre de todos los clientes de la ciudad que le pones como un parametro, su nombre, su DNI y su núm. de teléfono. Hazlo utilizando parámetros siempre que se pueda. Si no hay ningún cliente, ha de mostrar:
“En aquesta trista ciutat no hi ha cap client...encara!”. Ejecuta el procedimiento para la ciudad de Girona.
DROP PROCEDURE IF EXISTS PROC_MOLI;
DELIMITER |
create procedure PROC_MOLI (IN ciudad VARCHAR(50))
Begin
IF (SELECT nom_cli FROM clientes WHERE ciudad=ciudad) IS NULL THEN
SELECT CONCAT ('EN LA CIUDAD', ciudad, 'NO HAY CLIENTES') AS ciudad;
ELSE
SELECT nom_cli,nif,telefon FROM clientes WHERE ciudad=ciudad;
END IF;
END;
|
DELIMITER
CALL PROC_MOLI (@w);
22.Escribe una función que se llame “func_apellido”, donde apellido es tu apellido, que devuelva la fecha de inicio del proyecto del empleado que cobra más. Utiliza la función MAX y las variables que necesites.
DROP FUNCTION IF EXISTS FUNC_MOLI;
DELIMITER |
CREATE FUNCTION func_moli ( ) RETURNS DATE
-RETURN (SELECT data_inici FROM proyectos INNER JOIN empleados ON
proyectos.codi_proj=empleados.num_proj WHERE codi_empl=(SELECT codi_empl
FROM empleados WHERE sueldo= (SELECT max(sueldo) FROM empleados)));
|
DELIMITER
SELECT FUNC_MOLI();
1.- MovimentO del cursor.
Genera un ARCHIVO llamado "fitxer1". Introduce10 línies de text.
vi fitxer1
y
escribire 10 líneas
:wq
1.2 Utiliza los comandos de movimiento del cursor a bajo, a izquierda, a la
derecha y arriba.
j es desplaça a la linea cap avall
k es desplaça a la linea cap adalt
h es desplaça a l'esquerra
l es desplaça a la dreta
Realiza los següents apartados, utilizando ordenes del editor.
a) Situat al final del text.
G$
b) Situat al principi del text.
1G
Situat al final de la cinquena línia
5G$
Torna al principi de la mateixa línia.
5G
1.4 En la situación actual, muévete dos palabras a la derecha. vuelve a la posición
anterior.
l l , 5G o també h h
2.- Añadir texto.
Inserta una nueva línea delante de la primera.
nos situamos en la primera linea 1G, a continuación i ( y podemos escribir delante de la primera linea).
2.2 Situate en la segunda palabra de la tercera línea e inserta una nueva palabra delante
de ella.
nos situamos con el 3G, l l hasta llegar a la palabra que nos dice, y pulsamos la letra i, y escribimos una nueva palabra.
Añade texto al final de la línea actual.
A
3.- Borrar texto.
Borra los cinco primeros caracteres de la línea actual.
5x
Elimina la línea actual y la siguiente con una sola orden.
2dd
Situate en la segunda palabra de la línea actual y borra el resto de la línea.
d$
4.- Opciones de Entorno.
Numera las líneas.
:se nu
Establece el retorno de carro en la columna 65.
: set wm=65
5.- Busca, substituye y elimina.
Substituye todas las ocurrencias del articulo "el" por "la".
Borra todas las líneas que contienen la palabra "como".
6.- Copiar i mover líneas de información.
5yy ( copia las lineas), P las mueve (pega lo ultimo copiado)
lls > archivo.txt El mensaje de error va al archivo.
tee
Lee información de la entrada estándard y la escribe en la salida estándard y en 1 o varios archivos.
tee -a: añade al final
Ex: Teniendo la siguiente pipe “cmd1|cmd2|cmd3>f1” y queriendo saber cual es la salida del primer comando:
cmd1|tee f1|cmd2|cmd3>f2 Ex: echo “Hola”|tee f1 (muestra “Hola” por pantalla y lo guarda en f1)
Cat f1|sort|tee f2 (guarda en f2 y muestra por pantalla el archivo f1 ordenado)
cut
Imprime las columnas o campos indicados de uno o varios archivos.
-d delim: indica el delimitador
-f list: indica la fila
-c list: indica los carácteres en columna
Ex: cut –d: -f1 /etc/passwd
Muestra los nombres de usuario del archivo passwd :
cut –d: -f1,5 /etc/passwd
Muestra los nombres de usuario y descripción del archivo passwd :
cut –c1 /etc/passwd
Muestra la 1ra columna (1 caràcter) :
cut –c1,2,3 /etc/passwd
Muestra las tres primeras columnes (tres caràcters)
OTROS CASOS:
• head imprime las primeras línies de un archivo:
-n n: n primeras líneas
-c n: primeros n bytes o kylobytes (5k) o megabytes (5m)
• nl numera les líneas de cada página
• od muestra el contenido de los archivos en varios formatos
-t type: indica el formato de salida (A: caràcter, c: ASCII, O: octal, x: hexadecimal)
• paste junta líneas de uno o más archivos en columnas vertical
-d ‘n’ separa las columnas con el carácter ‘n’ en vez del carácter por defecto.
tab -s: junta las líneas de los archivos en líneas en vez de columnas (1 línia per fitxer) .
split:
Divide el archivo de entrada en grupos de un determinado número de líneas y guarda el resultado en varios archivos
-n : divide en grupos de n líneas:
split –n 10 fin fout
Fin quedara partido en archivos de 10 líneas fouta foutb foutc... (si fin se perdiera podríamos recuperar-lo haciendo: cat fouta foutb foutc>fin)
tac: muetra las líneas de un archivo en orden inverso.
tail
Muestra las últimas líneas del archivo -n .
-m: muestra las m últimes líneas.
-f: el archivo se actualiza continuamente, por ejemplo archivos de log .
tr tr [options] [string1] [string2] Reemplaza los caracteres de “string1” por “string2”
-d elimina “string1” de la salida
-s junta caracteres repetidos
Ex: cat f1|tr a-z A-Z tr a-z A-Z
wc
Imprime el número de caracteres, palabras y líneas de los archivos indicados
-c: caràcters -l: línies -w: paraules
Ex: Mostrar els comptadors de f1, f2 i f3 wc f[123]
grep
Busca en archivos .
-c: solo el número de les líneas
-h: no incluye el nombre del archivos cuando buscamos en diferentes archivos
-i: case-sensitive -n: muestra el número de las líneas
-v: las líneas que no contienen la expresión.
Ex: grep –i linux f1
Busca en f1 la palabra “linux” sin discriminar entre mayúsculas y minúsculas
grep ‘^linux’ f1.
Muestra las líneas de f1 donde sale linux a principio de la línea :
grep ‘x$’ f1
muestra las líneas de f1 que acaban con ‘x’
grep –c ‘^$’ f1
muestra el numero de líneas vacías en f1 grep ‘^null$’ f1
muestra las líneas de f1 que solo contienen la palabra ‘null’.
grep ‘[0-9][0-9][0-9]’ f1
muestra las líneas de f1 que contienen 3 dígitos seguidos
grep ‘.....’ f1
muestra las líneas con más de 5 caracteres
grep ‘.’ f1
muestra las líneas que no estan en blanco .
find
find [directorio] [expresión] Recorre una jerarquía de directorios buscando archivos seleccionados según un criterio.
Ex: find / -print
muestra la ruta por pantalla los directorios y archivos del disco
find / -type f -print
muestra la ruta por pantalla los archivos del disco
find / -type d -print
muestra la ruta por pantalla los directorios del disco
find / -atime +30 -print
muestra ficheros y directorios con más de 30 días de antigüedad
find /usr/local –name ‘*.texi’
Busca en el directorio /usr/local los archivos *.texi find /usr/src –name
‘*.c’ –size +100k -print
Busca archivos .c de más de 100k
find ./PDF ./red –iname ‘*.pdf’
Busca archivos pdf en mayúsculas o minúsculas en los directorios
PDF i red
find /home –user ali
Busca los archivos en /home propiedad del usuario ali
find /home –uid 1014
Busca los archivos en /home amb uid 1014 find . ! –iname ‘*a*’ –iname ‘*.jpg’
Devuelve archivos jpg que no contienen ninguna ‘a’.
Enlaces "hard", físicos o duros. Referencia a un mismo archivo; consiste en una nueva entrada de directorio que apunta a un archivo ya existente y apuntando desde otra entrada de directorio. El contenido esta solo en un lugar, pero se puede acceder al archivo desde varios links,posiblemente con diferentes nombres:( echo 'Hola a tots de nou!' > adeu ls –i adeu ).
Vemos el número de INODES del archivo ln adios adios.ln0
ln crea un segundo nombre en el mismo archivo; no se hace copia, se crea un enlace (link).
ls –i adios*
Muestra el número de Inode ( ls -l adeu* )
Muestra un segundo en la columna de enlaces: ( ln adeu adeu.ln1 ln adeu adeu.ln2 : ls -l adios* ) .
Muestra enlaces hard en estos archivos:
mkdir dir2 ln adios dir2/hastaluego
Hace aparecer en dir2 un enlace hard. Su contneido NO esta repetido.
rm adios* ls -l dir2/adios
Cuando se borra un archivo con varios enlaces, solo se borra el enlace. El archivo se borrará cuando desaparezca el último enlace.
ln dir2 dir2ln
Da error; no se puede crear un enlace hard para un directorio.
ENLACES SOFT:
Enlaces “soft”, simbólicos o suaves. Un enlace soft es un archivo que apunta a otro archivo o directorio. El archivo de enlace soft contiene solo la ruta de otro archivo o directorio.
ln -s nota nota.ls0
crea nota.ls0 como enlace simbòlic.
ls –l nota*
El archivo nota.ls0 es un enlace soft apuntando al archivo nota. Aparece una “l” en propiedades y la ruta. Los bits de permisos en un enlace soft no se usan. Se usan los del archivo original!!!
ls –l –L nota.ls0
muestra los permisos del archivo al que apunta el enlace.
ln -s dir2 dir2ls
crea dir2ls como enlace soft fins hacia otro directorio.
ls -l
muestra la letra l en el tipo de archivo para indicar que es un enlace soft.
ls dir2 ls dir2ls
muestran el mismo contenido de archivos.
ls -l dir2ls
muestra que es un enlace soft e indica hasta donde apunta.
cd dir2ls ; ls -l
muestra el contenido de dir2 , enlazado desde dir2ls .
pwd
indica el directorio con nombre del enlace, però /bin/pwd
muestra el verdadero directorio, no el enlace soft ; pwd indica la ruta para la que se llega al directorio, /bin/pwd indica la ruta de acceso al verdadero directorio. Usar /bin/pwd para evitar ser engañado por enlaces simbólicos a directorios. pwd es interno del shell, /bin/pwd es un programa a parte.
cd .. mv dir2 DIR2
Cambia el nombre del dir. real; el enlace soft sigue apuntando a a dir2 , así que:
cd dir2ls
Da error, ya que no existe .
mv DIR2 dir2
Devuelve el nombre original al que apunta el enlace.
rmdir dir2ls
Da error porqué no es un directorio, sino un enlace.
rm dir2ls
Borra el enlace. Un enlace soft se borra con rm , y no con rmdir .
ls dir2
Cuando se borra un enlace soft, solo se borra un archivo, no el objeto real.
man nom_comanda L'estructura de les pàgines de manual està organitzada amb el nom de la comanda, en quina de les 9 seccions de la base de dades es troba segons la tipologia (w), una breu descripció, les opcions i arguments que pot tenir, etc.
Apropos:
Apropos lista todas les páginas de manual que contienen una palabra concreta (en archivos, directorios, comandos...). Ex: apropos calendar
pwd :
Nos muestra por pantalla el directorio actual en que nos encontramos.
cd :
Cambia de directorio. CD + nombre_directorio (sube un nivel)(ir adelante) . Mientras que CD .. (baja un nivel) (ir atras)
ls :
lista archiovos y directorios del actual directorio . Tiene varias opciones como ls -l,ls -la, ls -R...
mkdir:
Crea un directorio que colgará del directorio actual donde lo creemos.por ejemplo desde /home/Asix1 hacemos mkdir directorio si por el contrario hacemos: mkdir -p /home/asix3 : crea un directorio a la vez que crea un nuevo camino de directorios y subdirectorios en caso de que no existan .
rmdir :
rmdir + nombre_directorio :borra el directorio especificado, solo si esta vacío. Se aconseja usar rmdir -p /ruta/directorio : borra el directorio y todo el camino especificado en caso de que los directorios y subdirectorios no esten vacíos.
cat :
Muestra el contenido de un archivo por pantalla. ejemplo: cat + nombre_archivo.
more :
Muestra el contenido de un archivo pausando entre páginas ( para ver más hay que darle a more con la barra espaciadora avanza la página, la letra b retrocede.)
cp :
copia un archivo o directorio a otro lugar. Se puede copiar y pegar en un mismo directorio ejecutando la línea de ordenes: cp archivo.txt nuevoarchivo.txt por ejemplo.
Mueve la ubicación del archivo.Ejemplo:
mv /usr/local/squid/etc/squid.conf . : mueve el squid.conf al directorio actual ( . ) mv arxiu1 arxiu2 : convierte arxiu1 en arxiu2 (en el mismo directorio) mv *.tar ../../perl : mueve todos los archivos .tar al directorio perl .
less :
Parecido a more , pero solo permite paginar
(ls *|less ;ls *|more)
touch :
Sirve para crear archivos (touch fichero.txt).Cambia el tiempo de acceso y modificación de los archivos . Mientras que,touch -a: solo cambia el tiempo de acceso.Y touch -m solo cambia el tiempo de modificación. touch -t timestamp (pe: 15 de desembre del 2010 a les 6:45 pm).
Igual que en Lenguaje SQL, el XPATH i XQUERY es un lenguaje para realizar , consultas basadas en contenido web.
Para ello hemos de tener creado un XML con su XSL, y ayudándonos del programa QUIZX , podremos realizar consultas sobre estos documentos.
DESCRIPTORES DE CAMINOS:
Sirven para seleccionar elementos que se encuentran en cierto
camino en el ´arbol.
Los descriptores se forman simplemente nombrando tags
separados por /.
Si el descriptor comienza con / se supone que es un camino desde
la ra´ız.
Si el descriptor comienza con // se supone que el camino descrito
puede comenzar en cualquier parte en el ´arbol.
Impl´ıcitamente se supone que todos los descriptores se refieren a
caminos que avanzan en la profundidad del ´arbol.
El desciptor //nombre selecciona la lista
de todos los tag nombre en cualquier
lugar del documento.
En este caso se obtienen los nombres de
los departamentos y de los empleados.
ATRIBUTOS:
Para referirse a los atributos de los elementos se usa @ antes del
nombre, por ejemplo @telefono.
En un descriptor de camino los atributos se nombran como si
fueran tag hijos pero anteponiendo @.
en el ejemplo DEPARTAMENTO TELEFONO="8741460" este último después del =, es su atributo.
CONDICIONES DE SELCCIÓN:
En un descriptor una condici´on entre par´entesis cuadrados [...]
puede seguir al nombre de un tag o atributo (sin usar /).
En este caso se seleccionan los elementos que siguen el camino del
descriptor pero que adem´as cumplen la condici´on especificada.
En las condiciones se pueden usar comparadores (<, >, <=, >=, =,
!=) y conectivos l´ogicos (or, and)
Si en una usamos:
/Empresa/departamento/empleado[@salario > 500000]
selecciona los elementos empleados tales
que su atributo salario es mayor a 500000.
PREDICADOS:
La expresión
\Empresa\departamento[1]\empleado\rut
entrega el rut de los empleados del primer
elemento departamento en el documento.
Por ejemplo la expresión
\Empresa\departamento\empleado[last()]\rut
entregaría el rut del ´ultimo elemento empleado de cada departamento en el árbol, y
\Empresa\departamento\empleado[last()-1]\rut
el rut del penúltimo elemento empleado en
el árbol.
Por ejemplo la expresión
\Empresa\departamento[count(empleado)>1]\codigo
entrega el elemento código de todos los
departamentos que tienen más de un
(elemento) empleado.
AXES:
El descriptor /Empresa/departamento es realmente una forma
abreviada del descriptor /Empresa/child::departamento.
En este ´ultimo se ha hecho explícito el deseo de seguir por los
hijos de Empresa
El @ es simplemente una abreviación de la dirección attribute::
El descriptor
/Empresa/departamento[@telefono = "2354928"] es
entonces una forma abreviada de
/Empresa/child::departamento[attribute::telefono = "2354928"].
La expresión
\\nombre[nombre = ’González’]\parent::empleado\rut
entrega el rut del empleado de nombre González.
La búsqueda se realiza primero encontrando
un nodo nombre con contenido González, se
sigue avanzando hacia el padre que debiera
ser un elemento empleado, y luego al subelemento (hijo) rut.
En general el estandard XPath cuenta con una extensa
funcionalidad.
Por ejemplo funciones para manejo de strings, conversi´on
num´erica, fecha y horas, funciones de agregaci´on t´ıpicas , etc. etc.
Una referencia completa se puede encontrar en este enlace:
XPATH
EJEMPLOS DE XQUERY:
Por ejemplo el siguiente es un camino en XPath (note el archivo
expl´ıcito):
doc("empresa.xml")\Empresa\departamento\empleado[@salario>500000]\nombre
es v´alido tambi´en en XQuery.
Pero usando for-where-return se puede obtener un resultado
equivalente:
for $x in doc("empresa.xml")\Empresa\departamento\empleado
where $x\@salario > 500000
return $x\nombre
En la consulta
for $x in doc("empresa.xml")\Empresa\departamento\empleado
where $x\@salario > 500000
return $x\nombre
• for se usa para seleccionar nodos y almacenarlos en una
variable $x
• where se usa para discriminar algunos de los nodos
seleccionados
• return se usa para especificar que se quiere retornar
Todas las variables en XQuery comienzan con $
En general la sintaxis de una expresi´on simple en XQuery es:
for in
where
return
El where puede ser omitido si se quieren seleccionar todos los
nodos sin restricci´on.
El return puede ser condicional (usando if)y as´ı tener m´as
versatilidad en la salida
Adem´as el return puede especificar m´as que simplemente
expresiones XPath, puede mezclar tags XML que tambi´en se
quieran a la salida
MÁS EJEMPLOS:
En la siguiente expresi´on
for $emp in doc("empresa.xml")\\empleado
return if ($emp\@salario > 1000000)
then {data($emp\nombre)}
else {data($emp\nombre)}
el resultado debiera ser algo como
...
SotoPerez
Una expresi´on XQuery puede tambi´en llevar un preambulo lo que
nos permite por ejemplo generar p´aginas html:
{
for $emp in doc("empresa.xml")\\empleado
return if ($emp\@salario > 1000000)
then
{data($emp\nombre)}
else
{data($emp\nombre)}
}
Hay mucho que decir acerca de XQuery (tanto o m´as que acerca
de XPath).
Aun no es un estandard en la Web, pero ya est´a siendo muy usado.
Una referencia completa se puede encontrar en el enlace:
XQUERY
a partir del siguiente XML;Crea una consulta XQuery que dé, de resultado una tabla HTML que nos muestre el nombre del curso,
el profesor que lo imparte y el número de places disponibles.
Consulta:
for $nomb in doc("academia.xml")//academia/curs
let $nombre:=$nomb/nom
let $prof:=$nomb/professor
let $plces:=$nomb/places
return concat(
{data($nombre)}
,"-",
{data($prof)}
,"-",
{data($plces)}
)
crea una nueva consulta pero estableciendo la condición de ser cursos
con una cuota trimestral. Ha de aparecer ordenado según el número de plazas.
Consulta:
for $nomb in doc("academia.xml")//academia/curs
let $nombre:=$nomb/nom
let $prof:=$nomb/professor
let $plces:=$nomb/places
where $nomb/preu/@periodicitat = "trimestral"
order by $plces
return concat(
{data($nombre)}
,"-",
{data($prof)}
,"-",
{data($plces)}
)
Crea una consulta XQuery que dé, de resultado una tabla HTML que nos muestre los cursos que
se realizan a la sala número 2 y que el precio sea menor de 35 euros.
Consulta:
for $nomb in doc("academia.xml")//academia/curs
let $nombre:=$nomb/nom
where $nomb/aula = 2 and $nomb/preu < 35
return {data($nombre)}
DTD (Document Type Difinition) Define que elementos son acceptados y en que posiciones
han de estar dentro de un document XML.
Este DTD estará en referencia dentro de un documento XML y deberá definir :
- Léxico
- Reglas sintácticas
Veamos un ejemplo (sin almohadilla inicial en Element, para ejecutar código dentro del XML)(ni almohadilla en Doctype):
Si deseamos indicar que està vacío, hemos de usar la categoría EMPTY (sin almohadillas):
<#!ELEMENT home EMPTY> // Exemple:
Si deseamos indicar que puede tener cualquier conjunto de carácteres, pero ningun otro elemento (sin almohadilla en Element)
usaremos #PCDATA:
<#!ELEMENT nombre (#PCDATA)>
También podemos declarar un elemento que continga otro elemento . Per ejemplo:
un elemento que puede tener un elemento o un elemenot :
<#!ATTLIST persona (hombre|mujer)'hombre'>
Podemos declarar, un elemento que ha de tener almenos un
elemento :
<#!ELEMENT colegio (alumno+)>
Si utilizo *, estoy declarando que puede estar vacío o contener más elementos. Puedo decir que puede estar vacío o contener elementos
:
<#!ELEMENT colegio (alumno*)>
ATTLIST:
Por ejemplo, si tenemos el siguiente elemento: podríamos tener la
siguiente definición en el DTD (sin almohadilla):
En lenguaje XML/XSL, igual que en cualquier otro lenguaje, podemos crear varias cosas, desde un texto plano, a cualquier otro tipo, siempre que ejecutemos bien los ocmandos necesarios.
En este caso vamos a crear la estructura para un curriculum web, Empezamos con la demostración del XML ( para obtener código haga clic botón derecho sobre el contenido y seleccione inspeccionar elemento):
#img/pibe.jpgDesirèeMartinezInarejos35 años30Septiembre1978Barcelona42312298DPalacios13408083Barcelonaimg/telefono.png93388.98.33img/mobile.png+34670892212desy_mar_ina@hotmail.comimg/logo.pngimg/separador.png
Administradora de Sistemas / Administración WEB2 Años de experienciaExperta en Windows y sistemas UNIX, (administración, desarrollo
y humanización de Productos).
Diseño 3D, Desarrollo e implementacón de planos digitalizaciones,
diseñoo industrial.
AbrilJulio2012
Imaginación Constructiva. CRADE
Diseño Industrial - Gráfico
Prácticas ProfesionalesCreación y desarrollo de ProductosLicenciatura en Diseño Industrial20052010Facultad de Arquitectura y diseño de la Universidad de Girona.Certificado en Carrera General19982003Bachillerato en IES Pompeu Fabra, Badalona.Certificado de Técnico 19951998Secundaria "IES La Pineda" , Badalona.Inglés50%Catalán90%InformáticaModelado y Diseño en 3-D en software de Diseño. Manejo de Rhinoceros,Crazy Talk, Autocad, Hypershot, 3Ds Studio, poser,Particle illusion y paquete elemental de diseño gráfico, corel Draw, Photodraw de Microsoft y Photoshop CS4.
#
Por otro lado ahora vamos con el XSL para adjuntar el XML a este y que funcione correctamente.(Para ver el código utilizado presione el botón del derecho del ratón y seleccione inspeccionar elemento)
XML es un lenguaje, Similar al HTML pero con sus propias etiquetas, veamos un sencillo ejemplo ( quitar almohadillas para ejecutar código):
Libro Seguridad Informática 20 han de incluir cd de soporte paper Navigator A35 sin agujeros
<#comanda>
<#producto codi=”3303F”>
<#nom> Libro Seguridad Informática <#/nom>
<#cantitat>20<#/cantitat>
<#comentarios> han de incluir cd de soporte<#/comentarios>
<#/producto>
<#producto codi=”2103S”>
<#nom> paper Navigator A3<#/nom>
<#cantitat>5<#/cantitat>
<#comentarios> sin agujeros <#/comentarios>
<#/producto>
<#/comanda>
-Documentos bien formados: documentos sintàcticament correctos, es decir, siguen las
regla expuestas (tabulación, coherencia,...).
− Documentos válidos: documentos bien formados y que cumplen los requisitos de una estructura definida (DTD) .
La estructura de los archivos con XML:
− Les datos a almacenar(XML)
− La estructura o semántica (DTD)(dentro del XML)
− Presentación (XSL)( otro archivo independiente, pero que ha de ir unido al XML del mismo)
Para vincular el XSL con el XML y que funcione bien, hay que añadir la siguiente línea al archivo XML :
<#?xml-stylesheet type="text/xsl" href="tabla1.xsl"?> donde tabla1.xsl es el nombre del archivo a vincular.
Para recorrer un conjunto de elementos (por exemple, recorrer todos los alumnos de la escuela),
hemos de usar la estructura xsl:for-each (sin almohadillas):
Para extraer el valor de un elemento tenemos la siguiente instrucción:
donde “nombre” será el nombre del elemento ,del cual queremos extraer el valor.
Si deseamos mostrar resultados ordenados y no como están guardados en el fichero xml, tenemos la
siguiente instrucción se puede variar según el orden que deseamos obtener en la búsqueda:
Hay operadores lógicos
Igualtat '=
Desigualtat !=
Menor que (<) <
Major que (>) >
Menor o igual que(<=) <=
Mayor o igual que (>=) >=
Para indicar condiciones tenemos la siguiente instrucción( sin almohadillas):
<#xsl:if test="expressió">
...
<#/xsl:if>
En caso de ser muchas variantes de condiciones mejor usamos CHOOSE
ALINEACIÓN:
Hay cuatro tipos de alineación en textos: alineación a la izquierda, a la derecha, centrada y justificada.
Para ello hemos de emplear la siguiente sintaxis en el STYLE ( puede crearse con clases o de modo simple):
h1 { text-align: center }
p { font-size: 20px }
p { text-align: justify }
blockquote { font-size: 20px }
blockquote { text-align: right}
ALINEACIÓN VERTICAL DE UN TEXTO:
Se realiza normalmente mediante tablas y lo hemos de insertar dentro de las cledas (td) por ello se puede crear en clases como en en el ejemplo de a continuación:
td.t {vertical-align: top}
td.b {vertical-align: bottom}
IMAGEN ENVUELTA EN TEXTO:
Para ello hemos de usar los terminos float (right | left).Las especificaciones las haremos dentro del STYLE:
p {text-align: justify}
img {float: left}
img {margin: 20px}
p.q {float: right; width: 250px; margin: 8px; padding: 8px; border: blue solid
thin}
<#body>
Cum subit illius tristissima noctis imago,
quod mihi supremum tempus in urbe fuit, cum repeto noctem,
CAPAS:
La posición y medida de las capas <#div>, las especificamos como todo CSS en el STYLE del mismo documento o creamos otro documento anexado al propio llamado nombre.css;
Los tipos que hay son tres: ABSOLUTE | RELATIVE| STATIC.
Aunque en la mayoría de caos, solo usaremos dos (ABSOLUTE | RELATIVE).
• absolute: Se situa en una posición referida al angulo superior izquierdo del
documento; usaremos top y left.
• static:Se situa en la izquierda y a una distáncia del margen superior
equivalente a la suma de las alturas de elementos que le preceden, independientemente de la posición real de estos. Es la opción por defecto.
• relative:Se situa en una posición que también se ha de especificar con top y left, relativa al final del elemento DIV anterior.
Además con el atributo visible podemos ocultar o no una capa, con la sintaxis siguiente:
• div { visibility : hidden | visible } (solo una de las dos opciones)
Para ver otros métodos en CSS visitar : CSS2
En anteriores contenidos, ya os he explicado como hacer gran variedad de cambios de tipo de estilo CSS, pero aquí os presento unos diferentes a los vistos anteriormente:
CURSIVA:
Por ejemplo si queremos escribir en cursiva , habéis de aplicar el siguiente código sin almohadillas sobre el texto que queráis modificar:<#em>texto en cursiva<#/em> o también se puede usar <#i>cursiva<#/i>.
NEGRITA:
Para poner algo en NEGRITA, hay dos formas con el mismo o similar resultado : <#strong>texto en negrita<#/strong> o bien <#b>texto en negrita <#/b>.
SUBRAYAR:
para subrayar un texto, <#u>texto subrayado<#/u>.
SUPERÍNDICE/SUBÍNDICE:
Para crear un superíndex o un subíndex, se hace con SPAN:
#element {# vertical-align: super | sub }
se establece dentro del style con clases( sin almohadillas para ejecutar códigos:
#span.exp {vertical-align: #super}
#span.sb {vertical-align: #sub}
span.exp {vertical-align: super}
span.sb {vertical-align: sub}
pero se ha insertar dentro del body, en el lugar que deseamos crearlo:entre BLOCQUOTE:
<#blockquote>
HNO3
<#/blockquote>
<#blockquote>h = gt2 / 2
<#/blockquote>
HNO3
h = gt2 / 2
LETRA CAPITAL:
Para crear una letra capital ( primera letra de texto más grande al resto, como ocurre en los cuentos ( dentro del STYLE )en el caso de querer modificar un paragráfo :
#p { text-indent: 30px }
#p:first-letter { font-size: 150%; color: blue }
TEXTO EN FORMATO PREVIO:
Conseguir un texto con formato previo (dentro del body) con las etiquetas <#pre>, <#/pre>:
<#pre>
En
quin
llavi de
dona seria,
en quin lloc de
muntanya o del pla
aquesta tonada floria?
Quina fou la primera que es
trobà amb la blanca melodia com
una oreneta caçada amb la mà, sense
esquerperia? Quina dona del meu país, amb
aire amorós i enyoradís, vestida de sarja i esclop,
peró amb una veu
molt clara va
cantar per primer
cop la cancó del
Noi de la Mare?
<#/pre>
En
quin
llavi de
dona seria,
en quin lloc de
muntanya o del pla
aquesta tonada floria?
Quina fou la primera que es
trobà amb la blanca melodia com
una oreneta caçada amb la mà, sense
esquerperia? Quina dona del meu país, amb
aire amorós i enyoradís, vestida de sarja i esclop,
peró amb una veu
molt clara va
cantar per primer
cop la cancó del
Noi de la Mare?
SÍMBOLOS DE LAS LISTAS:
Se pueden cambiar los símbolos de las listas con especificaciones correctas en el style:
ul { list-style-type: square }
ol { list-style-type: lower-alpha }
• decimal (1, 2, 3...)
• upper-roman (I, II, III...)
• lower-roman (i, ii, iii...)
• upper-alpha (A, B, C...)
• lower-alpha (a, b, c)
• none (vacío)
• disc (circulo negro)
• circle (circulo blanco)
• square (cuadrado negro)
Color de los vínculos, enlaces:
Los navegadores assignan un color diferente a los enlaces
no visitados, a les visitados y a los activos .
Para la especificación de estos colores se usan los conocidos pseudo-elementos de A<#a>:
• a:link {color: #color}= a:link{color:#fff321} para link creado
• a:visited {color: #color}=a:link{color:#ff4444} para link visitado recientemente
• a:active {color: #color}= a:link{color:#000123} para link activo actual
• a:hover {color: #color}= a:link{color:#ff7777} para cuando pasamos el cursos por encima del link
INSERTAR IMAGEN COMO FONDO:
También es posible insertar una imagen como fondo de un elemento (tabla, parágrafo, body...); hace falta que la imagen no forme parte del documento, que solo contiene la referencia.
element {background-image: url(adreça)}
e incluso hacer que se repita como un mosaico:
• element {background-repeat: repeat | repeat-x | repeat-y | no-repeat}
(por defecto, repeat).
body {background-image: url(h15g.gif)}
body {font-size: 20px}
BORDES:
Los valores del grueso de los bordes son THIN (fino),MEDIUM (medio) y THICK (grueso).
Los principales valores de estilo son NONE (ninguno), SOLID (continuo), DOUBLE ( doble trazo),
dotted (punteado) Y dashed (trazos cortos).
I el color se especifica de la manera habitual.
Si hace falta , se pueden establecer especificaciones como : border-width e incluso: borderbottomwidth,
construidas con terminos top, bottom, left y right y los de grosor, estilo y color
por ejemplo:
Los datos recogidos han de ser procesados por algun programa. Este programa
puede estar:
En el mismo documento
En otro documento situado en un servidor, que se envía al usuario junto con los datos.
En los dos primeros casos se usa el JavaScript , al cual nos referirem más tarde.
En
el servidor se usan varios programas: CGI, ASP i, especialmente, el PHP.
Si usamos código javascript hemos de añadir la siguiente línea en el HEAD:
Por lo que hace el código HTML usado en los formularios, se limita a dos cometidos:
• Recoger y presentar los datos.
• Tramsmitir los datos al servidor y, si es el caso, sustituir el documento por el de destino.
FORMULARIOS Y ATRIBUTOS:
Un formulario queda delimitado por las etiquetas( sin almohadillas)
<#form>
...
<#/form>
La etiqueta <#form> ha de ir acompañada siempre del atributo action y, si los datos se han
de dirigir al exterior ,además añadir el atributo method
Method: tiene dos formas de trabajar(POST y GET), pero es recomendable usar preferiblemente GET.
POST: No incorpora datos anexados a la URL.
GET: si incorpora los datos anexados a la URL.
LOS CONTROLES:
Hay cuatro tipo de controles:
Cuadros de Texto.
Campos de Validación.
Menús Desplegables
Botones
El conjunto de controles se ha de añadir dentro de parágrafos o tablas. Cada tipo de control tiene sus etiquetas y atributos.
BOTONES:/b>
Botones submit , sirven para la transmisión de datos del documento
indicado por action. Este ha de tener los mecanismos adecuados para el proceso de datos. En caso de ninguna indicación en contra , el documento de destino se cargará en nuestro ordenador.
Botones reset , que tienen por objetivo borrar los datos entrantes en el formulario y
comenzar a rellenarlo de nuevo.
Botones button, que sirven para transmitir algún proceso con los datos. Han de llevar asociado algún programa que indique, lo que hace falta hacer con los datos. El hecho de presionar el botón, por si solo, no nos hace cambiar de documento.
La sintaxis, para los tres, es:(sin almohadillas)
<#input type="tipo" ... value="Leyenda" />
o bien:
<#button type="tipus" ... >Leyenda
Donde Leyenda es una frase como: borra, Renueva, Envía, De acuerdo, Ahora o similares, y
tipo adopta uno de los dos valores (reset | submit) en el caso de input
ETIQUETAS:
Con las etiquetas <#label>...<#/label> se pueden incluir rótulos anexados a controles de los formularios, de manera similar a la siguiente:( sin almohadillas)
Rètol<#/label><#input type=...
CUADROS DE TEXTO:
Los cuadros de texto de una línea recogen o presentan textos o nombres relativamente cortos. El formato correcto es el siguiente: (sin almohadillas)
<#input type="text" size="100" value="valor" id=”nombre” />
Hay tres tipos más de cuadros de texto. Los dos primeros son variantes del anterior. El tercero es
diferente.
a) De contraseña:
Al teclear el texto dentro de la casilla, solo aparecerán asteriscos ******.
Pero contendrá los auténticos caracteres, aunque cifrados. veamos un ejemplo ( sin almohadillas, para ejecutar código)
<#input type="password" id="nom" />
</ hr>
b) Escondidos
A veces se transmite algún dato sin que el usario lo sepa. Por ejemplo, cuando se transmite un formulario , su contenido de fecha y hora.
Los campos de texto escondidos se limitan a recoger estos datos. Como no interviene el usuario, los valores han de estar constantemente ya previstos por el autor del documento o sino es imprescindible que algún programa recoja los datos y los inscriba. veamos un ejemplo (sin almohadillas para ejecutar código):
<#input type="hidden" id="nom" />
c) De diversas líneas
<#textarea id="nom" rows="n" cols="n">valor
El texto valor es el valor inicial del cuadro de texto. Las propiedades rows y cols hacen
referencia a la altura y anchura del cuadro (filas x columnas) . Si hace falta, se puede añadir un atributo :
readonly="readonly" (readonly) ( solo lectura).
Notamos que mientras el valor inicial en los cuadros de texto de una sola línea es un atributo
de la propiedad value, en los de más de una , es un texto comprendido entre las etiquetas
inicial y final.
CAMPO DE VALIDACIÓN:
Selección de una opción entre varias:(ejemplo, sin almohadillas para ejecutar código)
<#input type="radio" name="nom" value="valor_1" />
<#input type="radio" name="nom" value="valor_2" />
...
(, sin barra final)
Es imprescindible que el nombre sea el mismo para todas las opciones. El atributo
checked="checked" (checked ) establece, si se desea , una selección inicial por defecto:
<#input type="radio" name="nom" value="valor" checked="checked" />
(, sin barra final)
El formulario trasmite al lugar de destino la pareja: nom=valor seleccionada.
Para formular una o mas preguntes que se hayan de responder con: sí/no se especifican así (sin almohadillas) :
<#input type="checkbox" name="nom" />
(, sense barra final)
En este caso, si hay más d'una pregunta, el valor de name ha de ser diferente en cada caso.
El rótulo se indica como en el caso anterior. Pero en cada selección afirmativa, el formulario trasmite al
lugar de destino la pareja nom=on.
Menús Desplegables:
Los menús desplegables se especifican con la sigiente estructura ( sin almohadillas, para ejecutar código) :
El atributo SIZE , es el numero de líneas que se verán simultáneamente en el menú desplegable, normalmente se elige 1 o 2. si es corto, 10 o más si es largo.
Si hay varias opciones diferentes es posible agruparlas en grupos:
<#optgroup label="nombre_del_grupo">
Que pasa si quieres añadir en un mismo documento varios elementos del mismo tipo pero con diferentes condiciones.
Por ejemplo si quisieras añadir 2 o más parágrafos pero unos de un color y otros de otro.
Pues para eso, existen las CLASES
Se han de definir en el STYLE y dentro del BODY, en el STYLE sería así:(sin almohadillas)
Los archivos de imagen se pueden añadir a un documento XHTML, HTML... Los más usados son .jpg, .png, .gif....
ETIQUETA IMG:
Para añadir imágenes a un documento se utilitza la etiqueta (sin almohadillas): <#img/>( <#img sin la etiqueta final se cierra así />). Por ejemplo:
<#img src= "dirección donde se encuentra la imagen" alt="texto descriptivo"/>
<#img src="imagenes/imagen3.jpg" alt="imagen3"/>
Como dirección se pone la ruta relativa o ruta absoluta.
Además hemos de insertar la etiqueta <#img> dentro de un parágrafo (<#p>) o una capa (<#div>),encabezado(<#h1>),celda de una tabla(<#td>) o similares para que no nos de error.
Se le puede configurar un tamaño de altura y ancho.
Con Height y Width, siempre dado en pixeles su tamaño.Se configura dentro del STYLE.
Por ejemplo:
También se suele hacer uso de inserción de imágenes por hipervinculo.
En vez de un texto , se puede hacer servir una imagen como origen de un hipervinculo.
Por ejemplo: (sin almohadillas)
<#a href="direccion1">
<#img src="direccion2" alt= texto descriptivo>
<#/a>
Donde dirección1 es la dirección - relativa o absoluta del documento de destino y dirección2 es la dirección relativa o absoluta de la imagen.
Una tabla, es una cuadrícula donde insertar información.Donde hay celdas, en sentido horizontal se llaman filas y en vertical columnas.
La tabla se crea con la etiqueta: (sin almohadillas)<#table> <#/table>.
Dentro de esta tabla, podemos crear filas que se crean con la etiqueta: (sin almohadillas)<#tr> <#/tr>.
I dentro de estas filas crear celdas con la etiqueta: 8sin almohadillas) <#td> <#/td> o <#th> <#/th>.
Las TD son celdas básicas y simples, las TH son celdas en negrita y centradas.
Ejemplo:
<#table>
<#tr>
<#td>PRUEBA<#/td>
<#th>PRUEBA2<#/th>
<#/tr>
<#/table>
Ejemplo gráfico:
PRUEBA
PRUEBA2
ENCABEZADO DE TABLA Y COLUMNAS:
El título en las tablas se crea con la etiqueta :(sin almohadilla)<#caption>TÍTULO<#/caption>. Que se introduce justo después de la etiqueta <#table>, y antes de abrir un <#tr>.
Veamos un ejemplo gráfico:
TABLA
Prueba
Prueba2
Aunque también dentro de la tabla se pueden crear títulos, insertados dentro de las celdas con la etiqueta <#th> <#/th>.Veamos un ejemplo:
<#table>
<#caption>TÍTULO<#/caption>
<#tr>
<#th>PRUEBA<#/th>
<#th>PRUEBA2<#/th>
<#/tr>
Y ahora en modo gráfico
TíTULO
Prueba
Prueba2
En la siguiente imagen podéis ver el código de ejemplo de una tabla con varios formatos
Combinación de celdas:
Para combinar celdas, se puede hacer de dos modos. Dependiendo del tipo de combinación que deseemos realizar.
Combinación por columnas: Colspan= "numero" de columnas a combinar en una sola
Combinación por filas: Rowspan=" numero" de filas a combinar en una sola
Ejemplo de combinación de 2 columnas en la segunda celda de la primera fila
1
2
3
4
5
6
7
Y ahora un caso contrario en el que aplicaremos La combinación por filas uniremos 2 filas con rowspan.
1
2
3
4
5
6
7
Si aun así no os ha quedado claro, aquí debajo tenéis una imagen. Ya sabéis lo que dicen, una imagen vale más que mil palabras.
BORDES:
Para conseguir la visibilidad de los bordes de las tablas, podemos poner dentro del STYLE lo siguiente (sin almohadillas):
Es muy recomendable usar marcadores dentro de documentos muy largos . Cada marcador recibe un nombre (ID)y queda fijado por la presencia de su valor.( sin almohadillas para ejecutar código , excepto en el caso de ="#nombre", que si la incorpora)
<#a name="nombre">
EL enlace entre el punto de partida y el de destino se construye con la fórmula:
<#a href="#nombre">
Documento en Ventana Diferente:
Para lograr crear un enlace que se habrá en una ventana diferente mientras que conservamos el documento actual en la misma.
Hemos de añadir el atributo target, en la creación del hipervínculo.
por ejemplo : ( sin almohadillas, para ejecutar código)
Similar al enlace, podemos enganchar el correo electrónico de la siguiente forma:(sin almohadillas para ejecutar código)
<#a href="mailto:dirección@servidordecorreo">Texto a enviar <#/a>
<#a href="mailto:admin_d@yahoo.es"> hola que tal<#/a>
Redireccionamiento Automático
Es una especie de hipervinculo especial, que, desde la página que lo contiene , remite automáticamente a otra página después de un tiempo de espera especificado en segundos.
Esta redirección se inserta en el HEAD, de la siguiente forma (sin almohadillas, para ejecutar código).
Normalmente, el texto es de color negro y el fondo blanco. Pero siempre, estamos a tiempo de cambiarlo.
Podemos obtener diferentes colores de texto y de fondo con códigos como los siguientes dentro del STYLE (sin almohadilla al principio de línea para ejecutar código).
<#style type="text/css">
p {color: #ff0015}
body {background-color: #ff0323}
El color, se usa para cmabiar el color del texto, mientras que Background color para cambiar el color de fondo.
Los colores fundamentales son <#000000= negro>, <#ffffff= blanco>. Pero podéis poner el color que queráis. Si no sabéis el código del color podéis mirarlo en :
Códigos de colores
Su particularidad es, que son en formato Hexadecimal, es decir de la A a la F y del 0 al 9, en un bloque de 6 dígitos .
Una cosa es el nombre del documento y otra cosa es su título.
El título se incluye dentro del HEAD como hemos visto en el apartado anterior. Mientras que el nombre del documento se pondrá al aguardar el archivo con la extension .xhtml o .html (.htm).
Parágrafos y Saltos de Línea:
Como hemos visto anteriormente la creación de parágrafos se hace con la etiqueta <#p><#/p> dentro del <#body>.
Pero la acumulación de parágrafos no hace produce más líneas en blanco. Si deseamos añadir una, hemos de emplear el código: (sin puntos, para ejecutar código)
<#p>&.n.b.s.p;<#/p>
El código insertado dentro de las etiquetas del parágrafo sirve para crear espacios en blanco. Se puede usar dentro de otras etiquetas, que existan dentro del BODY.
Mientras que los saltos de línea simples , se indican con la etiqueta ( sin almohadilla, para ejecutar código)<#br />.
Separadores Horizontales:
Un separador horizontal es una línea que delimita dosp artes de una misma página.
Se representa con la etiqueta: <#hr />
Centrar un Texto:
Podemos centrar un título insertado en HEAD por ejemplo, con el siguiente código :
<#style type="text/css">
h1 {#text-align:center}
<#/style> Listas:
Hay dos tipos de listas las Ordenadas que se llaman así por que usan secuencia numérica (1,2,3...) y las No Ordenadas que se llaman así por que su orden es por secuencia de viñetas.
NO ORDENADAS:
la sintaxis correcta para su creación es:(sin almohadillas)
<#ol>
<#li> Limpia cristales<#/li>
<#li> Esponja de baño <#/li>
<#/ol> ORDENADAS:
la sintaxis correcta para su creación es:(sin almohadillas)
<#ol>
<#li> Limpia cristales<#/li>
<#li> Esponja de baño <#/li>
<#/ol> Listas de Definición
Su inicio y fin se hace con la etiqueta ( sin almohadillas) <#dl> <#/dl>
En términos definidos con <#dt> <#/dt>.
y las definiciones con <#dd> <#/dd>.( ver imagen de a bajo)
Tipo y Medida de la letra :
Podemos cambiar ambas cosas con: ( sin almohadilla para ejecutar código)
<#style type="text/css">
{# font-family: courier} o otro tipo, el que queramos
{#font-size: 38px} o otro tamaño de letra que queramos en pixels
<#/style>
Hipervinculos:
Es una conexión entre dos documentos diferentes se representa con el siguiente código : (sin almohadillas)
<#a href="dirección"> texto de enlace <#/a>
por ejemplo:
<#a href="http://www.facebook.com">Facebook <#/a>
Facebook
Ver imagen de a bajo como ejemplo de datos XHTML
La imagen anterior es incompleta dado que falta falta cerrar lasl istas, el body y lo más importante el html.
el XHTML es un lenguaje similar al HTML.
Se complementa con CSS. Es el lenguaje para la creación de páginas web , como esta (Blogs, contenido web, archivos xhtml).
Hay varias versiones de DOCTYPE para crear en XHTML. Para ver el código XHTML, podemos hacerlo de varias formas, descargando el archivo web y abrirlo con un editor de texto (WordPAD, Notepad...),
o también desde algunos navegadores como Mozzilla firefox , internet explorer ( botón derecho --> ver código fuente)o Google chorme ( haciendo clic con botón derecho sobre la página que queremos obtener el código y seleccionar "inspeccionar elemento" en google chrome)
La información que obtendremos sera similar a esta ( ver imagen)
Posteriormente, al haber creado el archivo XHTML, se ha de Validar para comprobar que hay 0 errores. sino nuestro archivo es incorrecto y débil.
Para ello hacerlo desde: W3C
El archivo XHTML se divide en diferentes partes, veamos algunas de ellas:
HEADcontiene:
El título del documento
META, determinados datos auxiliares
Indicaciones sobre preguntas formales (Hojas de estilo)
Herramientas para dinamizar el documento, como por ejemplo un javascript
BODYcontiene:
Contenido del texto (cuerpo)
Elementos de estructura, como tablas, capas...
Imagenes,sonidos, applets de java, animaciones flash...
Enlaces(links)... todo lo que se desea crear para la vista de la web.
La creación de estos documentos se ha de realizar mediante un editor de texto (WordPad,Notepad++...) el cual podamos guardar al finalizar con extensión .xhtml o .html (.htm)
Titulo y Parágrafos:
Se introduce dentro del HEAD, justo después del META.
Por ejemplo :(sin almohadillas para que se ejecute el código)
<#head>
<#meta http-equiv="Content-Type" content="text/html"; charset=ISO-8859-15" />
<#title> EJEMPLO <#/title>
<#/head>
Mientras que los parágrafos van dentro del BODY. Justo después de cerrar la etiqueta HEAD, como estructura del texto, para separarlo entre parágrafos.
por ejemplo:(sin almohadillas para que se ejecute el código)
Después del HEAD <#/head>
<#body>
#<#p>Aquí el primer parágrafo <#/p>
#<#p> Aquí segundo parágrafo <#/p>
#<#p> y así tantos, como quieras <#/p>
<#/body> ORGANIZACIÓN DE ELEMENTOS: ELEMENTOS, ATRIBUTOS Y VALORES(quitar almohadillas para que se ejecute el código)
Hay etiquetas que contienen valores por ejemplo lo es el caso de los links 8hipervínculos):
<#a href="http://www.google.es"> google <#/a>
El valor del atributo a href es lo que va dentro de las comillas. Es decir, el contenido.
Lo mismo pasa con el atributo imagen ( ver foto de abajo) DOCUMENTOS EXTERNOS
Los casos más típicos son:
Direcciones de otros documentos que nos enlaza el documentos actual.
Referencias a imagenes que se han de presentar conjuntamente con el texto.
Estructura Y Forma: Crear espacios en blanco:(quitar almohadilla inicial para que se ejecute el código ( y el punto que hay en 160, pero no su almohadilla))
sin paréntesis ni almohadillas, para ejecutar código .
& # 1 6 .0; o también podemos usar <#xsl:text> espacio <#/xsl /text>;
A,H1 Y BLOCKQUOTE
Con <#a href="nombre.htm"> nombre <#/a> creamos un link a este archivo.
Con las etiquetas <#blockquote> nombre <#/blockquote> hacemos que los parágrafos interiores tengan sangría a la izquierda.
las etiquetas <#h1> TITULO <#/h1>, obtenemos el encabezado de mayor tamaño, podemos usar tantos ocmo pequeño lo deseemos, cada número mayor a uno, reduce un poco el tamaño del encabezado.
por ejemplo h2,h3,h4,... ( ver imagen de a bajo)
Para hacer los bordes de las capas div redondeados:
border-radius:10px; -moz-border-radius:10px;-webkit-border-radius:10px;
Para cambiar el color al puntero de una lista: (sin almohadillas excepto en el color.)
#li.li1:before{ content:". "; font-family:webdings;font-size:20px; color:#FFA500;}
Acuérdate de hacer un list-syle:none. para que se aplique bien la clase li1:before.
Para crear marquesina de texto en movimiento de derecha a izquierda:
<MARQUEE>"Aquí el texto"</MARQUEE>