Un Poco De Diversión
mayo 1, 2009
Se agradecen los nuevos alumnos.
Fin de Curso
diciembre 2, 2006
El semestre ha terminado, y este curso de computación acabó, en este blog se presentaron temas como: ¿De que esta hecha la computadora?, hasta Hacer programas básicos en C, espero que la información de este blog ayude a otras personas alrededor del mundo, cualquier duda puede escribirla en los comentarios, yo seguire al pendiente.

t011
noviembre 15, 2006
El desarrollo del lenguaje C empezo con la creación de un lenguaje
llamado BCPL, el BCPL tuvo influencia en un lenguaje llamado B, el
cual se usó en 1970 y permitió el desarrollo de C en 1971, para 1973
el sistema operativo UNIX estaba casi totalmente escrito en C.
Durante muchos años el estándar para C fue la versión 5 del sistema
operativo UNIX, posteriormente se hicieron varias implementaciones las
cuales mostraban las siguientes tendencias:
•Nuevas características
•Diferencias de máquinas
•Diferencias de productos
•Errores en los compiladores
•Malas implementaciones
Esto originó que en 1983 se estableciera un comité para resolver estas
discrepancias, el cual empezó a trabajar en un estándar ANSI C, la
cual fue completada en 1988.
Algunas de las características que han permitido que sea tan popular,
como lenguaje de programación son:
•Tamaño pequeño.
•Uso extensivo de llamadas a funciones.
•Comandos breves (poco tecleo).
•Lenguaje estructurado.
•Programación de bajo nivel (nivel bit)
•Implementación de apuntadores – uso extensivo de apuntadores para la
memoria, arreglos, estructuras y funciones
Las diversas razones por la cual se ha convertido en un lenguaje de
uso profesional son:
•El uso de constructores de alto nivel.
•El poder manejar actividades de bajo-nivel.
•El generar programas eficientes.
•La posibilidad de poder ser compilado en una variedad de computadoras,
con pocos cambios (portabilidad).
Un punto en contra es que tiene una detección pobre de errores, lo
cual en ocasiones es problemático para los principiantes.

t010 (maquina de coca)
noviembre 8, 2006
En esta tarea se muestra el posible funcionamiento de una máquina de coca:

– Se introduce la moneda
– La máquina reconoce la autenticidad de la moneda a través de su peso, su tamaño y su grabado
– Dependiendo de la denominación de la moneda la almacena en un cilindro correspondiente a esa cantidad
– Si la cantidad depositada es exacta al precio del refresco, la máquina activa un resorte giratorio que gira lo suficiente solo para dispensar un refresco.
–Si la denominación de la moneda es menor al precio del refresco, la maquina espera a que se complete la cantidad ya que tiene programada la cantidad de acuerdo al tamaño
– Una vez completada la cantidad se activa el resorte
– Si la denominación de la moneda es mayor al precio del refresco, la máquina activa el resorte, después, de acuerdo al tamaño de la moneda la maquina realiza una operación sencilla (como una calculadora) lo que le dice que cantidad devolver, luego asigna esa cantidad al tamaño de las monedas que debe devolver, y reconoce que cilindros (los que contienen las monedas) tienen mas monedas (ya que lleva un conteo de cuanto ha entrado y salido).
– Suelta las monedas que debe devolver (con un mecanismo parecido al del resorte giratorio para solo soltar las necesarias), y estas monedas caen por un conducto diferente que por el que pasan los refrescos
Y así es como creo que pueda funcionar una máquina de refrescos.
t010 (taza de café)
noviembre 8, 2006
En esta tarea se muestran lo que se requiere para que un brazo mecánico prepare una taza de café:
Funciones del brazo:
– Rotar la muñeca 180° [Rota]
– Abrir la mano [Abre]
– Cerrar la mano [Cierra]
– Girar hasta 90° (desde la posición original) hacia la derecha [Gira]
– Girar hasta 90° (desde la posición original) hacia la izquierda [Gira]
– Girar hasta 90° (desde la posición original) hacia arriba [Gira]
– Alargarse 30cm [Alárgate]
– Acortarse 30cm [Acórtate]
– Regresar a posición original (tomando el plano XY como la mesa, el brazo se encuentra en la parte positiva del eje Y con la mano abierta y la palma hacia arriba y sus funciones son suficientes para desplazarse en la parte positiva del eje Z, en la parte positiva del eje Y, y en todo el eje X [Regresa]
– Dispositivo giratorio de 10cm que sale de la palma de la mano [Mezcla]
– Dispositivo recolector (parecido a una cuchara) que sale de la palma de la mano [Recolecta]
– Suelta lo recolectado [Suelta]
Posición de los objetos:
– Vaso con agua caliente – girando 30° a la derecha y alargándose 20cm
– Café en polvo – girando 30° a la izquierda y alargándose 20cm
– Taza – girando 60° a la derecha y alargándose 20cm
– Azúcar – girando 60° a la izquierda y alargándose 20cm
Instrucciones:
– Rota 90°
– Gira 60° hacia la derecha
– Alárgate 20cm
– Cierra
– Gira 60° hacia la izquierda
– Abre
– Regresa
– Rota 180°
– Gira 30° hacia la izquierda
– Gira 15° hacia arriba
– Alárgate 20cm
– Recolecta una porción)
– Regresa
– Rota 180°
– Gira 15° hacia arriba
– Alárgate 20cm
– Suelta
– Regresa
– Rota 180°
– Gira 15° hacia arriba
– Gira 60° hacia la izquierda
– Alárgate 20cm
– Recolecta dos porciones
– Regresa
– Rota 180°
– Gira 15° hacia arriba
– Alárgate 20cm
– Suelta
– Regresa
– Rota 90°
– Gira 30° hacia la derecha
– Alárgate 20cm
– Cierra
– Gira 15° hacia arriba
– Gira 30° hacia la izquierda
– Rota 90°
– Gira 30° hacia la derecha
– Abre
– Gira 30° hacia la izquierda
– Mezcla
– Regresa
Esto es suficiente para preparar una taza de café, claro que aun se podría detallar infinitamente más, pero creo que esto cumple el propósito.
t009
octubre 25, 2006
En esta tarea se mostraran los comandos utilizados en las dos ultimas tareas:
$pwd - Para saber en que directorio te encuentras
$mkdir – Para crear un directorio nuevo
$exit – Salir de la terminal
$cd – Para ir a un directorio
$ls – Para saber que hay en el directorio
$vi - Para poder insertar texto en la terminal
i – Para empezar a insertar texto
[Esc] – Para dejar de insertar texto
:wq – Para guardar el escrito y salir del editor
$cat – Para mostrar un archivo
$locate – Para localizar un archivo
$cp – Para copiar un archivo
$tar -cvf – Para empaquetar un archivo creando un contenedor “c”, que pueda ser enlistado (si alguien quiere ver qué empaquetó “v” y que le voy a especificar el nombre del contenedor “f”)
$mv – Para mover un archivo a otro directorio o renombrarlo
$touch – Para crear un archivo
$ln – Para crear un enlace duro
$ln –s – Para crear un enlace suave
$ls -li – Para desplegar los derechos de escritura, lectura y creación con sus ínodos de todos los archivos del directorio
$ls -R / - Para desplegar el listado detallado de todo lo que contiene el directorio raíz
$ls –lh – Para listar los archivos del directorio de forma mas entendible al usuario
$cd .. – Para retroceder un directorio
$history – Para desplegar todos los comandos escritos hasta el momento
$more – Para desplegar el contenido de un archivo por pantallas
$tail -50 – Para desplegar las últimas 50 líneas de un archivo
$head -20 – Para desplegar las primeras 20 líneas de un archivo
$bzip2 – Para comprimir archivos
$bunzip2 – Para descomprimir archivos
$tar –tf – Para mostrarnos lo que tiene un paquete sin desempaquetarlo
$tar –xvf – Para desempaquetar un archivo empaquetado
t008
octubre 18, 2006
Aqui estan los comandos que use para hacer la t008:
mkdir Pruebas Creo un directorio llamado Pruebas
cd Pruebas Ir al directorio Pruebas
mkdir Textos Documentos Se han creado dos carpetas: Textos y Documentos
touch Textos/texto.txt Documentos/documento.doc Creo dos archivos vacíos: uno llamado texto.txt y otro llamado documento.doc
cd Textos Voy a la carpeta Textos
ln texto.txt enlace_duro.txt Creo un enlace duro en la misma carpeta de Textos
ln -s texto.txt enlace_suave.txt Creo un enlace suave en la misma carpeta de Textos
cd ../Documentos/ La nueva ubicación fue regresarse una carpeta (carpeta Pruebas) e ir a la Carpeta Documentos, alojanda en la Carpeta Pruebas
ln documento.doc enlace_duro.doc; ln -s documento.doc enlace_suave.doc Pedimos que se creen los dos enlaces (suave y duro)
history > documento.doc Manda la historia al fichero documentos.doc
history >> enlace_duro.doc Usamos esta vez al enlace duro, como prueba. Pero le pedimos que sobre escriba y que no borre la información
cat /etc/passwd > documento.doc Usamos el redireccionamiento destructivo (>) de lo que tiene el archivo passwd en nuestro archivo documento.doc. Es decir, que lo que tenía el archivo documento.doc y lo sobreescribimos
history > enlace_duro.doc Por último, sobre escribimos en el enlace duro el historial
cd .. Como estaba en la carpeta Documentos regreso a la carpeta de Pruebas
tar -cvf textos.tar Textos Empaquetamos todo lo que hay en la carpeta Textos y lo llamamos textos.tar
tar -cvf documentos.tar Documentos Ahora lo hacemos con la carpeta Documentos y la llamamos documentos.tar
bzip2 textos.tar documentos.tar Hacemos la compresión de ambos ficheros .tar textos.tar y documentos.tar
t007
octubre 11, 2006
Aqui se muestran los comandos que utilice en la terminal de puppy para realizar mi tarea t007:
pwd - Para saber en que directorio me encuentro
mkdir lfqm – Para crear la carpeta “lfqm”
cd lfqm – Para ir a la carpeta “lfqm”
mkdir carpeta1 – Crear “carpeta1″ en “lfqm”
cd carpeta1 – Para ir la “carpeta1″
vi web2.txt – Crear un archivo de nombre “web2″ y entrar al editor de texto.
i – Para poder insertar texto
[Esc] – Para dejar de insertar texto
:wq – Guardar el texto y salir del editor
pwd – Para saber en que directorio me encuentro
cd .. – Para regresar a /root/lfqm
mkdir carpeta2 carpeta3 carpeta4 – Crear “carpeta2″, “carpeta3″, “carpeta4″ en “lfqm”
cd carpeta1 – Ir a “carpeta1″
cpweb2.txt /root/lfqm/carpeta2 – Copiar el archivo “web2.txt” y pegarlo en “carpeta2″
cd .. – Regresar a /root/lfqm
tar -cvf paquete_carpeta1.tar carpeta1 – empaquetar “carpeta1″ y nombrar al archivo empaquetado como “paquete_carpeta1.tar”
mv paquete_carpeta1.tar /root/lfqm/carpeta4 – Mover archivo “paquete_carpeta1.tar” a la “carpeta4″
pwd – Para saber en que directorio me encuentro
cp /root/lfqm/carpeta1/web2.txt /root/lfqm/carpeta3 – Copiar archivo “web2.txt” y pegarlo en la ”carpeta3″
cd carpeta3 – Ir a la “carpeta3″
mv web2.txt web2.2.txt – Renombrar archivo “web2.txt” como “web2.2.txt
cd .. – Regresar a /root/lfqm
cd .. – Regresar a /root
tar -cvf t007.tar lfqm – Empaquetar carpeta “lfqm” y nombrar al archivo empaquetado como “t007.tar”
Despues copie el archivo a una memoria USB ya que puppy no se pudo conectar a Internet y lo envié por mail desde windows.
Comparando Ambas t006
octubre 5, 2006
Decidí hacer mi primer t006 tan completa pues he visto que mucha gente ajena a la clase visita mi blog, por lo que pensé que si alguien se toma la molestia en visitar mi blog para buscar comandos de linux esperaría encontrar información completa y util (al menos es lo que a mi me gustaría), no solo información resumida para una clase, aun asi, la segunda t006 se encuentra mas resumida y con comandos equivalentes para DOS .
t006 (Alterna)
octubre 5, 2006
Aqui se mustran los comandos de forma mas resumida y con su equivalente en DOS:
| Comando del DOS | Comando Linux/Unix | DESCRIPCIÓN |
| HELP | man | # Pedir ayuda |
| COPY | cp | # Copiar ficheros |
| MOVE | mv | # Mover ficheros/directorios |
| ECHO | echo | # Salida caracteres pantalla |
| MKDIR | mkdir | # Crear directorio |
| RMDIR | rmdir | # Borrar directorio |
| DIR | ls | # Listar directorio/ficheros |
| CD | cd | # Cambiar de directorio |
| ATTRIB | chmod | # Asignar modos al ficheros |
| DEL | rm | # Borrar ficheros |
| DELTREE | rm -r | # Borrar recursivamente |
| TYPE | cat | # Leer contenido del fichero |
| EXIT | exit | # Salir de script/sesión/bucle |
| UNDELETE | (Aplicación MC opción UNDELETE) | # Recuperar ficheros borrados |
| (No Aplicable) | alias | # Llamar a un nombre con modificadores por su alias, por el que le asignemos, etc. |
| Procesos por Lotes “.BAT” | Scripts | |
| DIR (fichero) /S | find -name fichero find -iname FiChErO |
# Buscar ficheros |
| (DOS n/a) | grep -e “cadena de algún fichero” nombre_fichero.txt | # Buscar cadena en ficheros |
| (DOS n/a) | strings “cadena de algún fichero” fichero.txt | # Buscar cadena en ficheros |
| (DOS n/a) | halt (apagar/detener equipo) | # Detener el sistema. |
| (DOS n/a) | reboot (reiniciar equipo) | # Reiniciar el sistema |
| lpr | # Imprimir | |
| DOS (n/a) | lprm (limpiar trabajos de la cola de impresión) | # Borrar trabajos de cola de impresión. |
| ipconfig | ifconfig (Configuración IP) | # Ver IP |
| winipcfg | ifconfig | |
| ping | ping (Comprobar paquetes/comunicación) | # Mandar paquetes IP |
/ (directorio raíz)
/bin (Archivos binarios, ejecutables esenciales)
/sbin (Archivos binarios del SuperAdministrador, esenciales)
/dev (Archivos controladores de dispositivos “devices”)
/etc (Archivos de configuración del sistema)
/tmp (Archivos temporales “podrás borrarlos cada x tiempo”)
/home (Archivos donde se guardarán TODOS los usuarios)
/usr (Aplicaciones para los usuarios)
/usr/local/ (Aplicaciones donde deberás descomprimir ficheros compilados/instalar las que compiles)
/var (Archivos de tamaño extensible)
/proc (Comunicación directa con el núcleo)
/lib (Librerías esenciales para el sistema)
/mnt (Donde se montarán los sistemas de archivos)
/opt (Aplicaciones opcionales (KDE, StarOffice…)
http://www.linux-party.com/TutorialLinux/linux_files/linux2.html