dimarts, 22 de desembre del 2015

Interfaz de usuario


 Durante varias clases, nos hemos familiarizado con el interfaz de usuario. Esta es una tabla con todos los comandos que aparecen en el vídeo de las sesiones prácticas del interfaz del usuario junto a su definición:



pwd
Nos muestra dónde se encuentra el usuario
which pwd
which: Devuelve el PATH absoluto del comando
pwd: nos muestra dónde se encuentra el usuario
which file
which: Devuelve el PATH absoluto del comando
file: Detecta el tipo de un archivo
ls
Muestra el contenido de un directorio
./
Muestra una lista de los archivos de un directorio
cd
(Directorio). Cambia al directorio home del usuario
clear
Limpia la pantalla del terminal
find . –name *.html-print
find: Busca todo tipo de archivos en el árbol de directorios
. : Da una orden desde nos encontramos
-name* .html : Busca y encuentra cualquier archivo de tipo html
-print : Damos la orden para que imprima
cd MOOC/
cd: Cambia al directorio home del usuario
MOOC/: Cambia al directorio al subdirectorio MOOC/
cp page.html test.html
cp: Nos permite copiar archivos
page.html test.html: Nombramos el archivo que queremos copiar y a dónde
find . –name* .html –mtime -1
find: Busca todo tipo de archivos en el árbol de directorios
. : Da una orden desde nos encontramos
-name* .html : Busca y encuentra cualquier archivo de tipo html
-mtime -1 :Busca archivos por su fecha de modificación (1 día)

vi test.html
vi: Editor de pantalla
test.html: Nombre del archivo que se va a modificar
:x
:x : Salimos del editor vi
diff file1 file2
diff : Con este comando observaremos las diferencias entre diferentes ficheros línea a línea
file1 file2: Nombre de los archivos que se van a comparar
rm test.html
rm : Elimina un archivo
test.html: Nombre del archivo que se va a eliminar

ping github.com
ping: Verifica la conectividad de IP
github.com: Nombre de la máquina remota

echo ’’MOOC:sistema operativo UNIX’’
echo: Repite las palabras escritas detrás del comando
’’MOOC: sistema operativo UNIX’’: Frase que se repetirá después


echo ’’MOOC: sistema operativo UNIX’’ > texto
echo: Repite las palabras escritas detrás del comando
’’MOOC: sistema operativo UNIX’’: Frase que se repetirá después
>texto: Lugar hacia donde lo direccionamos
cat texto
cat: Muestra el contenido de un fichero
texto: Nombre del fichero


echo ’’MOOC: sistema operativo UNIX’’ >> texto
echo: Repite las palabras escritas detrás del comando
’’MOOC: sistema operativo UNIX’’: Frase que se repetirá después
>>texto: Lugar hacia donde lo direccionamos la última vez

od –cb texto
od: Muestra la codificación interna el fichero
-cb: Muestra la codificación interna en sistema octal y los caracteres
texto: Nombre del fichero
wc
Indica el número de palabras de un fichero

grep pala amor
grep: Busca cadenas de palabras dentro de un fichero de texto
pala: Palabra que vamos a buscar en el fichero
amor: Fichero en el que vamos a buscar




grep pala amor  | wc -l
grep: Busca cadenas de palabras dentro de un fichero de texto
pala: Palabra que vamos a buscar en el fichero
amor: Fichero en el que vamos a buscar
|: Cadena de procesos conectados. La salida de cada elemento de la cadena es la próxima entrada del otro.
wc: Indica el número de palabras de un fichero
-l: Muestra el contenido en forma de listado

xterm
Se crea una shell externa donde las variaciones exportables son heredadas
printenv
Nos muestra todas las variables posibles

Los 3 que me han parecido más útiles son los siguientes:

wc: Cuenta el número de palabras de un fichero.
rm: Permite borrar archivos desde el mismo terminal.
od: Muestra la codificación octal de todos los caracteres contenidos en ese fichero de texto.

Como conclusión , mi principal inconveniente a la hora de practicar los comandos ha sido saber qué comando había que introducir cada vez cuando estábamos en el terminal, pero ha sido muy útil ya que ahora sé un poco más del sistema operativo Linux.

divendres, 18 de desembre del 2015

Los 5 de los 100 comandos

Con este enlace https://www.cesareox.com/docencia/apuntes/linux/#15 nos encontramos con 100 comandos los cuales podemos practicar. 

De los 100 que hay, hemos tenido que escoger 5 de ellos, explicarlos y mostrarlos aquí. Estos son mis 5 de los 100 comandos: 

  • Top: nos muestra a tiempo real un listado de los procesos que se están ejecutando en el sistema acompañado del % del CPU y la memoria que están utilizando, swap y la posibilidad de manipular procesos. Se monitorea la memoria. He elegido este comando porque me parece que es una herramienta muy útil a la hora de ver la memoria de nuestra computadora.
  • Cal (año en el que estás):  con este comando veremos el calendario del año en el que estamos con todos sus meses representados en el terminal. He escogido este comando ya que me parece muy curiosa la idea de que nos muestre todo el calendario con solo poner 2 palabras.





  • Tree: este comando representa en forma gráfica la estructura de los directorios de una unidad o ruta. Este comando es una buena forma de ver como están dispuestos nuestras carpetas de una forma muy vistosa, por eso la he elegido. 




  •  Lsattr: éste, nos servirá únicamente para listar atributos de ficheros y directorios. Lo he escogido porque es sencillo para mostrarnos los atributos específicamente.






  • Yes: muestra repetidamente la cadena de palabras dada separada por un espacio y seguida de una nueva línea hasta que se detiene. Es un comando muy curioso donde al dar información te la repite continúamente muchas veces, por eso lo he escogido, ya que me parece un comando extraño , pero a la vez, llamativo. En mi caso he puesto yes soy esther y este es el resultado:






Espero que os haya parecido tan interesante como a mí estos nuevos comandos, aquí os dejo unos enlaces con muchos más comandos con los que poder practicar:



http://blog.desdelinux.net/mas-de-400-comandos-para-gnulinux-que-deberias-conocer/
http://www.esdebian.org/wiki/lista-comandos-gnulinux-i


dijous, 10 de desembre del 2015

Sistemas de archivos de Linux I



Los comandos que os voy a mostrar los hemos ido aprendiendo en diversas clases del sistema de archivos de Linux. Estos son los comandos que hemos puesto en práctica:

Listado de Comandos

Comandos básicos

man: nos muestra la función de un listado de comandos.
ls: contenido de un directorio.
cat: vuelca el contenido a la pantalla.
more o less : ambos nos muestran el contenido página a página.
cp: copia ficheros.
clear: nos permite limpiar la pantalla.
mv: mueve y renombra ficheros.
rm: elimina ficheros.
file: muestra de qué tipo es un fichero.
pwd: ¿Dónde estoy? Nos muestra dónde nos encontramos.
date: nos muestra la fecha en la que nos encontramos.
cal: para saber en qué día estamos.
whoami: información de quién es el usuario.
hostname: identifica el nombre de la máquina.
mkdir: crea directorios.
rmdir: borra directorios.
echo: repite las palabras escritas detrás del comando.
df: muestra el espacio disponible del sistema de archivos.
du: muestra el espacio ocupado por un subárbol del sistema de archivos.
cd: (Directorio). Cambia al directorio home del usuario. Hay 5 variantes.
cd - : cambia al directorio home del usuario.
cd –fulano: cambia al directorio home del usuario fulano.
cd /home/ fulano: cambia al directorio home del usuario fulano.
cd .. : cambia al directorio superior.
cd mibin: cambia al subdirectorio ’’mibin’’ del directorio actual.

Comandos que permiten cambiar permisos de acceso

chmod: cambia permisos de ejecución,escritura, y lectura de los usuarios, grupos y otros.
chmod a+r page.html: añade permiso de lectura del fichero page.html para usuarios, grupos entre otros.
chmod g+w page.html: añade permiso de escritura del fichero page.html para los miembros del grupo del propietario.
chmod u-x page.html: elimina el permiso de ejecución del fichero page.html para el propietario.
chmod +x comando: añade permiso de ejecución del fichero comando para un usuario, un grupo entre otros.
chmod 700 comando: añade permisos de lectura y también de escritura y ejecución del fichero comando para el usuario y elimina todos los permisos para los miembros del grupo y otros(los permisos están en octal).

Comandos para listar ficheros

ls: (opciones) (ficheros). Lista los ficheros contenidos en el directorio actual o los nombrados explícitamente como argumentos. Este comando lo podemos combinar.
ls –l: listado en formato largo. Incluye permisos, propietario, tamaño, última modificación, etc.
ls –t: se utiliza para listar por orden de fecha y hora la última modificación y en primer lugar nos muestra el más reciente.
ls –r: este en cambio, lista en orden inverso. Para combinar con otras opciones.
ls –a: listado que incluye los ficheros ocultos (e. g. . login).
ls –i: listado que incluye el número de nodo –i.
stat: muestra toda la información del nodo –i.

Comandos para la edición de ficheros

vi: (opciones)(ficheros). Editor de pantalla.
-r file: recupera y edita file después de una caída del sistema del editor vi.
+n: edita el fichero en la línea n.
El editor vi tiene dos modos: modo comando, que lo que teclea al usuario es representado como un comando vi y el modo inserción, que lo que teclea el usuario se interpreta como texto a insertar. Normalmente el editor arranca en modo comando.
i: para pasar a modo inserción.
ESC: para volver a modo comando.

Comandos básicos. Vi.

Para pasar a modo inserción:
i: antes del cursor.
a: detrás del cursor.
o: al comienzo de una nueva línea.
Para salir de vi:
zz: guardar y salir.
:q: salir sin guardar.
^z:(ctrl –z). Suspender edición(se recupera con fg).
Otros:
dd: borrar la línea donde está el cursor.
u: deshacer el último cambio.
/<texto>: buscar <texto> hacia adelante.
:r fichero: insertar el contenido de fichero.



A continuación os voy a mostrar una prueba del comando ls -li que he realizado en clase:



Como podéis observar hay diez columnas , cada una con diferente significado:
  • La primera columna nos muestra el número de nodos.
  • En la segunda coumna nos encontramos con los permisos del usuario, grupo entre otros. Como he nombrado antes, estos permisos los podemos cambiar con el comando chmod.
  • La tercera columna nos muestra un número determinado de ficheros con el mismo tipo de nodo. En mi caso aparecen hasta 3 ficheros con el mismo tipo.
  • En la cuarta columna aparece el nombre del usuario, yo soy la única: 10176913.
  • La quinta columna aparece el grupo al que pertenezco, en este caso, students.
  • En la sexta columna se observa el tamaño del fichero o directorio , que suelen variar.
  • En la séptima columna  aparece el mes de la última modificación del fichero o directorio.
  • Si en la séptima columna se mostraba el mes, en la octava columna se muestra el día de su última modificación.
  • En la novena columna, finalmente, se muestra la hora en que fue modificado por última vez.
  • Por último,en la décima columna, aparecen los ficheros y directorios creados. Yo,como podéis observar he creado,por ejemplo, el fichero llamado ethé. 
Como conclusión quiero destacar que todos los comandos utilizados son útiles,aunque algunos menos que otros, como:date,cal,whoami,etc.Los comandos que les encuentro más
 utilidad son los que te permiten cambiar los permisos de acceso y también los que te permiten listar ficheros y editarlos, son más difíciles de poner en práctica pero una vez aprendido es muy sencillo. Finalmente, aunque el editor vi parece fácil, para mí no lo ha sido ya que ha sido donde más complicaciones he tenido.
Espero que os haya gustado esta presentación.



Para más información visita estos enlaces a los siguientes vídeos:
https://www.youtube.com/watch?v=11qPfkJo_b0
https://www.youtube.com/watch?v=VjaEbmT7SQQ
https://www.youtube.com/watch?v=5IhawAobXGw
https://www.youtube.com/watch?v=kpEUhkrDu5A











dijous, 19 de novembre del 2015

Introducción a Linux

Estos días hemos trabajado una breve introducción al sistema operativo Linux y aquí os muestro lo que he ido aprendiendo.


Un sistema operativo es un conjunto de programas o software que permite la comunicación entre un usuario y una máquina de forma cómoda y eficiente; su función es gestionar los recursos del ordenador, que incluye la gestión del hardware desde los niveles más básicos.


Entre los sistemas operativos que más se utilizan actualmente para nuestra computadora nos encontramos: Windows, Linux, Unix, DOS y Mac OS.




El sistema operativo Unix fue diseñado por y programadores con el propósito general de multiusuario y multitarea. Su contexto habitual de uso es el trabajo conjunto e intercambio controlado de información.
Unix se desarrolló en 1969 en los laboratorios Bell Labs por Ken Thompson para un DEC PDP-7.
En el año 1973, fue cuando se reescribió Unix con el lenguaje de programación C, lo que hizo que en 1974 el código fuente se hizo portable y le dio un gran éxito al distribuirse en universidades.
En la universidad de Berkeley mejoraron notablemente el sistema operativo original dando lugar a Berkeley UNIX(BSD).
A continuación podemos ver en esta fotografía del progreso de Unix dando lugar a los orígenes sistemas operativos como Linux y Apple.



En Unix disponemos una arquitectura por cinco capas:


  • En la primera capa o capa inferior, tenemos el hardware y los dispositivos electrónicos: CPU, memoria, dispositivos, terminales, etc.
  • En la segunda capa, tenemos el software que maneja los elementos básicos para las gestiones de procesos, gestiones de memoria, I/O, sistemas de archivos, etc.
  • En la tercera capa ,que está escrita en C, tenemos una interfaz de biblioteca que nos permite ejecutar operaciones sencillas: open,close,read,fork,etc.
  • En la cuarta capa  tenemos los programas de utilidad estándar que engloba a todos los programas que se ejecutan como : intérpretes de comandos,compiladores,editores,etc.
  • En la quinta o últma capa nos encontramos a nosotros, los usuarios.


También podemos dividir la arquitectura por interfaces: interfaz de llamadas al sistema, interfaz de biblioteca y la interfaz del usuario.


Para entrar al sistema nos requieren algunos elementos. En primer lugar, para utilizar UNIX se debe identificarse y registrarse (log in) en el sistema, dando un nombre (user id) y una contraseña (password). Al registrarse, esto queda oculto para que otros usuarios no lo puedan ver, aunque al ser sencillo y eficaz el sistema de (log in) guarda las contraseñas en un fichero pero están puestas para que no se puedan entender.
Tras un registro correcto, el sistema invoca al intérprete de comandos (la shell) y da inicio a la sesión de usuario.Durante la sesión del usuario, la shell muestra su disposición a aceptar comandos del usuario mediante el prompt,conjunto de caracteres que se muestran en una línea de comandos para indicar que está a la espera de ordenes, ($,>,%,...)
Una vez introducida la línea, la shell lee e identifica la primera palabra de la línea de comandos, interpreta que es el nombre de un programa, lo busca y, si lo encuentra, lo ejecuta.
Un comando está formado por el prompt, el comando que queramos y una serie de argumentos propios para cada comando.
Finalmente para ejecutar el comando que queramos se introduce un retorno de carro.
A continuación os mostraré algunos comandos que hemos utilizado en clase de los muchos que hay:


-¿Quién soy?
  • whoami/ who am i: identfica al usuario.
  • id: identifica el usuario y los grupos.
-¿Dónde estoy?
  • pwd: lugar en el sistema de archivos.
  • hostname: nombre de la máquina.
-¿Quién está conmigo?
  • who/finger: quién está registrado.
  • w: quién está registrado y qué hace.
-¿Qué día es hoy?
  • date: fecha y hora.
  • cal: calendario del mes.

En linux también disponemos de un manual en línea que nos muestra las diferentes propiedades de cada comando introduciendo man junto al nombre del comando.


Esto es todo, espero que os haya parecido interesante y si queréis informaros mejor visitar este enlace donde lo explica todo: