16 enero, 2014

Tutorial de comandos en Linux

Este pretende ser un pequeño resumen de comandos Unix para la materia Sistemas Operativos.
Comandos de Directorios
Estos comandos les permite manejar directorios.
  • ls -Lista todos los archivos de un directorio, usando el switch -al lista los permisos y la fecha de última actualización de los archivos.
  • cd -Cambia de directorio. Por ejemplo:
    cd public te lleva al directorio public.
  • cd .. -Te lleva al directorio padre (un nivel más arriba).
  • cd $home -Te lleva a su directorio raíz sin importar donde estés.
  • mkdir - Crea un nuevo directorio, por ejemplo:
    mkdir nombre_directorio.
mkdir prueba
No podemos crear un subdirectorio en un directorio en el que no tengamos permiso de escritura, por ejemplo en el directorio HOME de otro usuario
cd ../icxx0000
mkdir intruso
mkdir: cannot access .: Permission denied
cd
Hay que tener en cuenta que he podido entrar en el directorio icxx0000 porque tenía permiso de ejecución.
  • pwd - Visualiza el directorio corriente.
  • rmdir -Permite borrar un directorio.
rmdir prueba
Si el directorio prueba no estuviera vacío, no podríamos haberlo borrarlo. Antes deberíamos borrar el contenido del directorio.
mkdir prueba
cp f000 prueba/f000
rmdir prueba
rmdir: prueba: Directory not empty
rm prueba/f000
rmdir prueba
Comandos de Archivo
Estos comandos trabaja sobre los archivos.
  • chmod ### - Cambia los permisos de un archivo o directorio, por ejemplo:
    chmod 755 contador.cgi cambia los permisos de acceso del archivo contador.cgi para que sea ejecutable.
chmod nnn fichero
nnn son tres números en octal donde los bits de cada una de las cifras corresponden a la autorización de lectura, escritura y ejecución. La primera cifra corresponde al usuario, la segunda al grupo y la tercera al resto de usuarios.
El ejemplo anterior podríamos ponerlo con el siguiente comando:
chmod 754 fichero
  • cp - Copia archivos, por ejemplo,:
    cp archivo_fuente archivo_destino
Los siguientes comandos son equivalentes y permiten copiar archivos.
cp f000 f001
cp /disc1/users.songoku/alumnes/ciencies/icxx0000/f000 f001
cp /disc1/users.songoku/alumnes/ciencies/icxx0000/f000 /disc1/users.songoku/alumnes/ciencies/icxx0000/f001
  • mv - Mueve archivos, por ejemplo:
    mv fuente ubicación_destino
  • rm - Elimina archivos, por ejemplo:
    rm archivo_a_eliminar
En UNIX también podemos borrar recursivamente un directorio y todo su contenido utilizando la opción -r del comando rm.

El siguiente comando borra el directorio prova y todo su contenido:
rm -r prova
Comandos de Red
Algunos comandos utilizados para el monitoreo de la red
  • traceroute - Este comando visualiza la ruta que los paquetes recorren cuando estos son enviados a través de la red. Puede ser de utilidad para determinar que puntos de la red puede estar creando retardos. Por ejemplo:
    traceroute nombre_servidor Este visualizará el número de hops entre usted y el servidor elejido.
  • nslookup - Nslookup le restituye el IP de un dominio, por ejemplo:
    nslookup nombre_dominio
  • ping - Ping envía un paquete a un servidor y obtiene una respuesta. Este puede ser usado para medir el tiempo de respuesta de un servidor o website.
  • whois - Whois contacta la base de datos de Internic para la consulta de un dominio retornando los datos de ese dominio. Esa es la forma para chequear la disponibilidad de los dominios. Por ejemplo:
    whois nombre_dominio

Metacaracteres
El sistema UNIX, igual que el MS-DOS, utiliza los metacaracteres para referirse a un nombre poniendo sólo una parte, o para referirse a muchos cuyo nombre difiera en algún detalle. Los más utilizados son:
  • * representa cualquier secuencia de caracteres.
  • ? representa caracter simple.
  • [] representa cualquier caracter de los que hay dentro de los []. También permite seleccionar una lista de caracteres poniendo el primero y el último separados por un guión.
ls -alis f*
Mostraría todos los ficheros y directorios que empezaran por f

ls -alis f00*
Mostraría todos los ficheros y directorios que empezaran por f00

ls -alis f00?
Mostraría todos los ficheros y directorios cuyo nombre fuera de 4 caracteres y que empezaran por f00

ls -alis f00[0-2]
Mostraría todos los ficheros y directorios cuyo nombre fuera f000, f001 y f002
 
Protecciones
Unix utiliza para cada fichero o directorio una lista de 10 bits para determinar los permisos. La orden ls -l nos codifica estos bits en grupos de letras.
  • d si es un directorio.
  • s si coge el uid del usuario al utilizarlo.
  • b si es un dispositivo de bloques.
  • c si es un dispositivo de caracteres.
  • r si tenemos permisos de lectura.
  • w si tenemos permisos de escritura.
  • x si tenemos permisos de ejecución. Si es un directorio indica si tenemos permisos de acceso al directorio.
Del grupo de 10 letras, la primera indica las característica del fichero (si es un directorio, un fichero, un dispositivo de bloques, un dispositivo de caracteres ...
El siguiente grupo de 3 letras indica los permisos que tiene el propietario del fichero.
Las tres siguientes los permisos de aquellos usuarios que pertenecen al grupo.
Las tres últimas los permisos del resto de usuarios.
Si tenemos -rwxr-xr--
sabemos que es un fichero que el propietario puede leer, escribir y ejecutar,
que los usuarios del grupo pueden leer y ejecutar y
que el resto de usuarios sólo pueden leer, pero no pueden modificarlo ni ejecutarlo.

Redireccionamiento
>
Cambio de la salida de un comando o programa
<
Cambio de la entrada de un comando o programa
>>
Permite añadir la salida de un comando o programa al final de un fichero
|
Conecta la salida de un comando o programa a la entrada de otro
Impresión
lpr -Plp0 fichero
Envía un fichero a la cola de impresión
Secuencias de Control
^D
Carácter de fin de fichero
^C
Para la ejecución de un comando o programa
Varios
passwd
Permite cambiar la clave de acceso
who
Visualiza los usuarios conectados
whoami
Identifica al usuario dentro del sistema
clear
Limpia la pantalla
exit
Finaliza la sesión
& comand
Ejecuta un proceso en segundo plano (solo no interactivos)

Tutorial algoritmos

Hoy os presento este magnifico tutorial sobre la creacción de algoritmos, consta de 7 capítulos en los que desarrolla desde 0 como llegar a saber crear algoritmos, de una manera sencilla y eficaz.

Los objetivos de este tutorial son:


Conocer los conceptos de lenguaje y algoritmo computacional.
Poder diferenciar los niveles de lenguajes que utiliza un computador.
Conocer las principales características de un algoritmo.

Sin mas dilaciones aquí os dejo el tutorial.

Pseudoalgoritmos para practicar

Hola muy buenas, hoy os dejo esta recopilacion de algoritomos, estan en un archivo .txt.
Aqui os muestro dos, pero en el archivo hay 19:

1. A un trabajador le pagan segun sus horas y una tarifa de pago por
   horas. si la cantidad de horas trabajadas es mayor a 40 horas. la
   tarifa se incrementa en un 50% para las horas extras. calcular el
   salario del trabajador dadas las horas trabajadas y la tarifa.

   variables: horas_trabajadas,tarifa,horas_extras,salario,tarifa_e
      inicio
        leer: horas_trabajadas,tarifa
              si: horas_trabajadas <= 40 entonces
                  salario <-- horas_trabajadas * tarifa
              si_no
                  tarifa_extra <-- tarifa + 0.50 * tarifa
                  horas_extras <-- horas_trabajadas - 40
                  salario <-- horas_extras * tarifa_extra + 40 *
                  tarifa
              fin_si
              imprimir: salario.
       fin

2. A un  trabajador le descuentan de su sueldo el 10% si su sueldo es
   menor o igual a 1000. por encima de 1000 y hasta 2000 el 5% del
   adicional, y por encima de 2000 el 3% del adicional. calcular el
   descuento y sueldo neto que recibe el trabajador dado su sueldo.

   variables: sueldo,sueldo_neto,descuento
      inicio
        leer: sueldo
              si: sueldo <= 1000 entonces
                  descuento <-- sueldo * 0.1
              si_no
                 si: sueldo <= 2000 entonces
                     descuento <-- (sueldo - 1000) * 0.05 + 1000 * 0.1
                 si_no
                     descuento <-- (sueldo - 2000) * 0.03 + 1000 * 0.1
                 fin_si
                 imprimir: descuento.
       fin

Descargar archivo

El Debtris



Mediante una animación tipo tetris podemos comparar la cantidad de deuda y dinero que se ha destinado a determinadas causas, como son la guerra de Irak, las ganancias de la OPEP, el presupuesto de la OPEC para el cambio climático, las ganancias de Wallmart y muchos otros.

El lado oscuro de Google



Entre las bondades que Google difunde de sí misma no están las 133 webs censuradas en Europa, el sometimiento a las presiones censoras del Gobierno chino o la cancelación de la publicidad del grupo ecologista Oceana 36 para evitar problemas con uno de sus inversores: la Royal Caribbean Cruise Lines. Solo tres ejemplos de como Google Corporation viola los principios de neutralidad y libertad de acceso y expresión en la Red para salvaguardar sus propios intereses.

La imagen sobria y luminosa de su página principal oculta un reverso más prosaico y turbio en el que se adentra El lado oscuro de Google. «Don’t be evil» (no seas malo), el lema de cabecera de la multinacional que quiso ser un «gigante bueno», entra en abierta contradicción con la agresividad de su política empresarial. El fichaje multimillonario del directivo de Microsoft Kai Fu-Lee, depositario de importantes secretos industriales, o la oferta de 50 millones de dólares a AOL a cambio de romper su contrato con Yahoo!, muestran hasta qué punto Google ha asimilado las reglas de juego de las grandes corporaciones.

Pero en su estrategia de expansión, Google también se aprovecha de la filosofía del software libre para su propio beneficio. Hace un uso selectivo del código abierto para modificar programas cuyas mejoras no hace públicas, pone a disposición libre de los programadores herramientas que le permiten controlar y apropiarse del trabajo realizado con ellas, y ofrece a sus trabajadores un 20% del tiempo de trabajo para investigaciones propias, que pasan a ser propiedad exclusiva de la empresa.

Desde que en 1996 Larry Page y Sergei Brin desarrollaron uno de los algoritmos más famosos y mejor guardados del mundo, el Page Rank(TM), Google ha consolidado su carácter de gran empresa hasta convertirse en el principal aspirante al monopolio de la información en la era digital. Esto, en parte, ha sido posible gracias a los gigantescos ingresos proporcionados por un modelo de publicidad personalizada, basada en los perfiles que la máquina Google dibuja de los usuarios, utilizando el rastro que éstos dejan con el empleo diario del buscador y otros servicios de uso gratuito. El colectivo Ippolita muestra la clara ambición hegemónica de Google y, con ella, uno de los principales peligros de nuestra era: la concentración en unas pocas manos del acceso a la información y la tecnología, poniendo en riesgo un sinfín de derechos ya coartados en el mundo material y seriamente amenazados en el espacio virtual.