viernes, 26 de noviembre de 2010

Ejemplos Shell (linux)

.........................................inicio (test -L)...............................................
#!/bin/bash

if test -L $1; then #devuelve verdadero o falso, si test -L es verdadero entonces es un enlace simbolico
 echo $1 es un enlace simbolico
else
 echo $1 no es un enlace simbolico
fi
.................................................fin.........................................................

jueves, 25 de noviembre de 2010

ls -l (nombre) | cut -d " " -f1
wc -l ..... cuenta lineas
ps (procesos) -ef ... (unproceso?)
cut -d: -f2 .... -d es el delimitador y -f es la fila ... ejem: -f1-3 (del 1 al 3)

miércoles, 24 de noviembre de 2010

Opciṕn Test (Linux

test -f ( si es un fichero devuelve 0)
test -s (si el tamaño es mayor a 0 devuelve 0)
test -d (si es un directorio devuelve 0)
test -x (si tiene permiso de ejecución devuelve 0)

en lugar de test se pueden usar corchetes
---------------------------------------(en el fichero.sh)........................................................
[ -d /home ]
echo $?
.....................................................(fin)..............................................................
Evaluar cadenas de caracteres
...................................................(en el fichero.sh)............................................
#[ cadena1 = cadena2 ]
[ "$1" = "$2" ]
echo $?
[ "$1" != "$2" ]
echo $?
....................................................(fin)...............................................................

.................................................(en el fichero.sh).............................................

#Comparar numeros
# -eq (igual)
# -ne (distinto de)
# -lt (menor que)
# -gt (mayor que)
read N1
read N2

[ $N1 -eq $N2 ]
echo $?
[ $N1 -ne $N2 ]
echo $? 
[ $N1 -lt $N2 ]
echo $?
[ $N1 -gt $N2 ]
echo $?
....................................................(fin).............................................................................................................................(fichero.sh)..............................................
# usar el if
if [ -d $1 ]
# ve si existe el directorio
then ls -ld $1
elif [ -f $1 ]
# ve si es un fichero
then
cat $1
else
echo creo que no existe
fi
.............................................................(fin)............................................................

jueves, 18 de noviembre de 2010

Linux (shell)

Escribir comandos en un fichero de texto
Guardar el fichero
Dar permisos de ejecución (chmod +x nombrefichero)
Escibir en la consola ./nombrefichero
Argumentos de un Shell
Hay q crear un fichero con extensión “.sh”
$0 => Argumento/parámetro 0     (dólar cero es el Argumento del programa (donde está)) (imprime)
$# => guarda el número de argumentos que recibe el programa
$* => guarda la cadena de argumentos (excluyendo $0)
$? => guarda el código de retorno de la última orden ejecutada (0 si no hay error, distinto de 0 si lo hay)
Operadores:
+ sumar
-restar
*multiplicar
/dividir
% para el resto de la división
Ejemplo:
Read a b
C=`expr $a\*$b`
Echo $c
Alternativa:

En vez de usar "expr" se puede usar los operadores [corchetes]


Operadores relacionales

Sirve para empezar palabras argumentos, números...
Si el resultado de la comparación es cierto, devuelven 1,
Si es fichero, devuelven 0
=  (compara si son iguales)
!= (distinto)
> (mayor que)
< (menor que)
Hay que usarlos con \
\>    \<
>= (mayor o igual)  <=(menor o igual)


Operadores lógicos

Se usan para comparar 2 argumentos (arg1, arg2).  
devuelven un argumento o parte del otro






& -> Y arg1 & arg2


Si arg1 y arg2 son distintos de cero, el resultado es arg1, si no, el resultado es arg2
: (2 puntos)
argi : arg2
arg2 es el patrón buscado en arg1. Si el patrón arg 2 está encerrado entre paréntesis \( u \), el resultado es la parte de arg1 que coincide con arg2, si no, el resultado es el número de caracteres que cpinciden.
NOTA:  | y  ¬ deben ir precedidos de \ ... \|, \&


Ejemplo:
  a= junio_2001
  b=`expr $a :'\([a-z]*\)'`
  echo b
 

viernes, 12 de noviembre de 2010

ejemplo de recursividad en C++

#include
main()[
long int x,y;
printf("Escribe un numero\n");
scanf("%li",&x);
y=factorial (x);
printf("%li",y);
}
long int factorial(long int n){
if (n==1) return1;
else return n*factorial (n-1)
}

miércoles, 3 de noviembre de 2010

(linux)

Comando chfn:
permite cambiar la informacion del contacto del usuario


.
.
.

Fichero /etc/fstab: es para montar automaticamente

Este fichero contiene la informacion necesaria para automatizar el proceso de montaje de las particiones.
En general,se usa para dispositivos internos, CD/DVD, Comparticiones por red (NFS, Samba) y dispositivos extraibles

Si un dispositivo o particion no aparece en /etc/fstab, solo lo puede montar el root.

Campos:

 -Dispositivo (device)
 -Punto de montaje (mount point)
 -Sistema de ficheros (file system type)
 -Opciones
 -Dumb
 -Pass
 -Dispositivos: dispositivo o particion que queremos  montar.

 Dispositivos => /dev/sda1       (a,b,c, el dispositivo; 1,2,3 la particion; sd= SCSI)
                            /dev/sda2
                            /dev/sdb1
                            /dev/hda3
o identificados por el nombre UUID
sudo blkid => listar nombres UUID

para montar ... ejemplo:
cd media
sudo mkdir windows(ejemplo)
sudo mount -t ntfs /dev/sda1 wondows (puedes ver donde está el dispositivo con "blkid")
cd windows
ls (y ya está)
... para desmontar ... sudo umont windows
cd windws
ls (y ya no está)



Carpeta compartida vía NFS
IP_Servidor: ruta_local_directorio_compartido
172.16.205.87 : /home/carpeta_compartida

Carpeta compartida vía samba:
//servidor/Carpeta_compartida (*-IP ó Nombre Netbios)


Sistemas de ficheros:

sistemas de ficheros... que se va a montar

Ejemplos:
auto: determine automaticamente el sistema de ficheros
ntfs: ntfs-sg
        rw

Punto de montaje:

-ntfs para carpetas compartidas vía NFS (Network File System)

Opciones:
-defaults: rw, exec, nouser
                auto, async

-Sync /async: la entrada y la salida al sistema de ficheros debería ser sincrona/asincrona

- auto: el sistema de ficheros se puede montar automaticamente, al iniciar el sistema o con el comando mount -a ... -a = montar todo lo que esté especificado en el fichero /etc/fstb

-noauto: hay que montar explicitamente el sistema de ficheros

-exec/noexec: permitir/no permitir la ejecucion de binarios en el sistema de ficheros

-ro: solo lectura (read only)

-rw:lectura y escritura.

-user: permitir a cualquier usuario montar el sistema de ficheros. Implica noexec

-nouser: solo permite al montar el sistema de ficheros

Dump:

Sirve para indicar que se hagan copias de seguridad del sistema de ficheros.
El valor 0 es para que no se haga, 1 para que sí.

Pass:

Para indicar si hay que chequear que el sistema de ficheros (ejecutar el comando fsck)
Valores:

0 => no chequear

Comando usermod (linux)

Se usa para modificar algunas propiedades del los usuarios
Opciones:
  -g: para cambiar el grupo principal del usuario
  -G: para cambiar o especificar los grupos secundarios del usuario (si se escribe mas de un grupo se separan por comas)
  -e: YYY-MM-DD indica cuando expira la cuenta del usuario
 

simple tracker
Flowers Roses