.........................................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.........................................................
Experiencias diarias con un punto de vista y pensamientos distintos a lo acostumbrado.
viernes, 26 de noviembre de 2010
jueves, 25 de noviembre de 2010
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)............................................................
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 $cAlternativa:
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)
}
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)
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
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
rwPunto 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
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
Suscribirse a:
Entradas (Atom)