Está en la página 1de 61

METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Introducción al GNU/Linux (I)


• Implementación “libre” del núcleo del UNIX
– Multiplataforma, multitarea, multiusuario
– Interfaces de uso potentes/amigables
– Software libre, software barato
– Seguro y estable
– En constante evolución
– Amplia base de usuarios
– Gran número de aplicaciones disponibles
– Potenciado con las herramientas de desarrollo de
GNU

16
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Introducción al GNU/Linux (II)


• Historia
– 1970: Ken Thompson y Dennis Ritchie diseñan el
Unix en Bell Labs
– 1985: la FSF anuncia su manifiesto GNU (kernel
Hurd)
– 1987: Publicación de Operating Systems: Design
and Implementation de A. Tanenbaum con MINIX
– 1991: Linus Torvalds, anuncia su primera versión
oficial beta 0.02, inspirada en MINIX
– 1994: Primera versión 1.0 no beta
– 1996: Tux es presentado
– 2006: Bardinux es presentado
17
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Introducción al GNU/Linux (III)


• Distribuciones Linux
– Conjunto de aplicaciones para permitir instalar
fácilmente un sistema Linux
– Características
• Desarrolladas por empresa / por comunidades de usuarios
/ por instituciones estatales
– Red Hat, Mandrivia / Debian, Ubuntu, Salckware / LinEx,
Bardinux
• Que se ejecutan sobre Windows: muLinux
• Minimalistas: Knoppix, Ututo
• Con seguridad mejorada
• Basadas en descargar fuentes y compilar: Gentoo Linux
• Para sistemas embebidos: RT-Linux
18
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Introducción al GNU/Linux (IV)


Usuario

Intérprete X-window Aplicaciones


de comandos (KDE, Gnome)

Núcleo
Hard-
ware

19
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Introducción al GNU/Linux (V)


• Entorno de desarrollo
– Basado en pequeñas componentes que hacen un
limitado número de tareas y se pueden combinar
– Escaso uso de IDEs. Uso de diversas herramientas:
editores, compiladores, depuradores ...
– Disponibilidad de una amplia gama de
implementaciones de lenguajes de programación
– Uso generalizado de herramientas estandars: make,
patch, yacc & lex, cvs, man, info, GNUtools, ...
– Portabilidad: el código bien escrito es fácilmente
portable
– Selección de Licencia de software: GPL, BSD,
LGPL, ... 20
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Trabajando con Linux


Comandos: Son las solicitudes que nosotros le hacemos al S.O. a
través de la shell.
En Linux los comandos siguen la siguiente estructura:
Nombre del comando Opciones Argumentos

ls -alt /home/aluxxxx

Opciones: Los comandos se pueden ejecutar de distintas formas, con


las opciones indicamos la manera en que queremos su ejecución.
Siempre hay unas predeterminadas.
Argumentos: Es el elemento sobre el que va a actuar el comando.
Manual: Proporciona información sobre cualquier comando y todas sus
opciones. man <nombre del comando>

21
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Entrar y salir del sistema:


Cada usuario tiene un nombre que lo identifica en el sistema, de esta
forma se podrá separar la información de cada uno de ellos.
En Linux existe un usuario muy especial llamado root al que se le
permite acceso a todo el sistema.

login: Solicita el nombre de la cuenta en la que queremos trabajar, una


vez proporcionado aparece password que indica que el sistema está a
la espera de nuestra contraseña. Si especificamos un nombre de cuenta
nos cambia a ella directamente previo chequeo del password, si lo
usamos sin argumento nos pide el nombre de usuario.

22
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Entrar y salir del sistema:


passwd: Nos permite cambiar la contraseña, para ello el sistema nos
solicita la vieja, si es correcta nos pide la nueva y una vez escrita la
vuelve a pedir para evitar errores. A partir de ese momento tendremos
que trabajar con la nueva.
logout: Deja nuestra cuenta protegida cuando terminamos la sesión,
de tal forma que no pueda acceder a ella ningún otro usuario. También
se puede usar exit, ^d.

login: login: aluxxxx ↵


password: 

23
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Entrar y salir del sistema:

shutdown: Prepara al sistema para un apagado o reinicio. Se puede


dar un tiempo absoluto o relativo, se enviarán mensajes periódicos a
todos los usuarios avisando del cierre del sistema. Este comando sólo lo
puede usar root.

Opciones Modificación

-h Para el sistema sin reiniciar

-r Reinicia el sistema

-q Se utiliza un mensaje de difusión predeterminado

24
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Ficheros:

Un fichero es un conjunto de información almacenada en memoria. Toda la


información que maneja el ordenador está almacenada en ficheros en memoria
secundaria. Cada fichero se identifica por un nombre para el usuario y un
número (ID) para el sistema.
Los nombres que el usuario le puede dar a un fichero siguen las reglas:
Están formados por letras, números y símbolos especiales ; \ $ * ! ? |
‘ “ % ( ) @ ^ [ ] & # , aunque no es aconsejable utilizar estos últimos.
Pueden tener hasta 256 caracteres y las mayúsculas y minúsculas se
consideran distintas.
Se pueden usar los comodines: *, ?, []. El asterisco se sustituye por
cualquier carácter en el lugar que ocupa o en los restantes. La interrogación
se sustituye por cualquier carácter sólo en el lugar que ocupa y los
corchetes permite definir conjuntos de caracteres.

25
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Ficheros:

Además del nombre se les suele poner una extensión, como


indicativo del tipo de información que está almacenando ese fichero.
Siguiendo el convenio: nombre.extensión. Generalmente la
extensión se utiliza para indicar qué tipo de información hay
almacenada en el fichero. La extensión no es obligatoria, además en
Linux no se le da mucha importancia al punto, se pueden poner tantos
puntos como se quiera.
Un archivo cuyo nombre empiece por . es un archivo oculto, de tal
forma que no se muestran a no ser que se utilicen opciones especiales
en los comandos. Se suelen crear para almacenar configuración
específica de las aplicaciones del usuario, evitando que la información
sea eliminada o modificada accidentalmente.

26
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Directorios:
• Un directorio es un conjunto de ficheros. Se utilizan para organizar la
información, su finalidad es asociar todos los ficheros que guarden algún tipo
de relación en un mismo directorio, lo que permite al usuario localizar
archivos con facilidad y rapidez.
Un directorio para Linux es un archivo donde se recoge información de los
archivos que aglutina.
Dentro de un directorio podemos agrupar los ficheros por algún tipo de
relación más concreto, es decir, crear un directorio dentro del directorio que
llamaremos subdirectorio.
Existe un directorio inicial que se crea al formatear el disco dentro del cual se
crearán todos los ficheros y directorios, recibe el nombre de directorio raiz
y se presenta por: /.

27
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Árbol de directorios:
En Linux cualquier fichero o directorio se crea dentro del directorio raiz,
o en alguno de sus subdirectorio, obteniéndose así una estructura
jerárquica en los ficheros del sistema.
La representación que se utiliza es un diagrama de árbol.
Los dispositivos especiales, como unidades de disco, impresoras, etc.
también son tratados en Linux como ficheros. Para que un dispositivo
esté disponible en el sistema tiene que tener un archivo que lo
representa en el árbol de directorios. Generalmente este tipo de
archivos se almacenan en Linux en el directorio /dev.

28
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Árbol de directorios: raiz

usr
dev etc home tmp lib bin

local
aluxxx
x alu7692 alu7692
bin

asig tmp

metodologia Ingles

prac1.p
prac2.p prac3.p

29
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Tipos de archivos:
Tipo de archivo Descripción

Archivo ordinario Archivo que contiene datos o programas

Archivo de directorio Archivo que contiene los nombres de otros archivos,


incluidos directorios

Archivo especial Archivo que representa un dispositivo de hardware

30
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Rutas de acceso:
Para nombrar un fichero o directorio lo haremos mediante su ruta de
acceso, que es la forma de indicar el camino que hay que seguir en el
diagrama de árbol para llegar hasta él.
El directorio raíz se llama: /
Los directorios se separan de ficheros o subdirectorios mediante /
La ruta de acceso se puede especificar siguiendo el criterio:
Absoluto: Indica el camino completo desde la raíz hasta el
fichero o directorio.
Relativa: Especificamos la ruta en relación con el punto en el
árbol en que no encontremos. Podemos usar:
. Indica el directorio actual
.. Indica el directorio padre.

31
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Rutas de acceso:
Absolutas
/home/aluxxxx
/home/alu7692/asig/Metodologia/prac1.p
/Bin No es una ruta de acceso en el árbol
Relativas:
1. Suponiendo que estamos en home:
./aluxxxx
./ home/alu7692/asig/Metodologia/prac1.p
2. Suponiendo que estamos en Metodologia 1. prac1.p
../Ingles
../../tmp
32
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
pwd: Muestra el directorio actual
$ pwd↵
/home/aluxxxx
cd: Nos permite cambiar al directorio que especifiquemos.
cd <Ruta de acceso al directorio>
$ cd Metod↵ $cd

$ pwd↵ $ pwd
/home/aluxxxx
/home/aluxxxx/Metod
Si no especificamos ningún directorio nos lleva al home del
usuario, es decir al directorio en el que entramos al sistema.

33
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
ls: Nos permite listar el contenido de un directorio.
ls [-opciones] <Ruta de acceso>
O pc io ne s Mo d if ic ac ió n
-a S e lis t an t o d o s lo s f ic h e r o s , inc lus o lo s o c ult o s
-d S e m ue s t r an lo s d ir e c t o r io s c o m o s i f ue r an f ic h e r o s , e n ve z d e
m o s t r ar e l c o nt e nid o
-f N o s e o r d e nan c o nt e nid o s , s e lis t an e n e l o r d e n e n q ue e s t án
alm ac e nad o s e n d is c o .
-l S e m ue s t r a ad e m ás lo s pe r m is o s , e l núm e r o d e e nlac e s , no m b r e d e l
pr o pie t ar io , e l d e l g r upo , t am año e n b y t e s , f e c h a últ im a m o d if ic ac ió n.
-m S e lis t an lo s f ic h e r o s h o r izo nt alm e nt e , t ant o s e n c ad a líne a c o m o
q ue pan, s e par ad o s po r c o m as .
-r S e o r d e nan lo s c o nt e nid o s e n o r d e n inve r s o
-s A la izq uie r d a d e l no m b r e s e m ue s t r a e l t am año e n b lo q ue d e 5 12 b y t e s
-t O r d e na po r t ie m po s , pr im e r o lo s m ás r e c ie nt e s .
-u O r d e na po r e l últ im o ac c e s o .
-x Lis t ad o po r c o lum nas o r d e nad as h o r izo nt alm e nt e .
-R S e lis t a e l c o nt e nid o d e t o d o s lo s d ir e c t o r io s r e c ur s ivam e nt e .
-1 S e lis t a un f ic h e r o e n e n c ad a líne a.
34
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ ls
core Desktop mail Mail Metod texput.log
$ pwd↵
/home/aluxxxx/Metod
$ ls↵
clases xemacs-21.1.14-1.i386.rpm.part
fpc-1.0.4-1.i386.rpm xemacs-21.1.14-elc.tar.gz.part
fpc-docs-1.0.4-1.i386.rpm xemacs-21.1.14.tar.gz
$ cd clases
$ ls
manualfreepascal prueba prueba1 prueba2 prueba.o prueba.pas

35
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ ls -Ralt
.:
total 14552
drwx------ 9 aluxxxx isabel 4096 sep 25 19:17 ..
drwxrwxr-x 3 isabel isabel 4096 sep 25 17:16 clases
drwxrwxr-x 3 isabel isabel 4096 sep 21 12:42 .
-rw-r--r-- 1 root root 1572488 ago 31 13:57 xemacs-21.1.14-1.i386.rpm.part
-rw-rw-r-- 1 isabel isabel 2548272 ago 31 12:55 fpc-docs-1.0.4-1.i386.rpm
-rw-rw-r-- 1 isabel isabel 4028562 ago 31 12:47
fpc-1.0.4-1.i386.rpm
-rw-rw-r-- 1 isabel isabel 6534483 ago 16 14:05 xemacs-21.1.14.tar.gz
-rw-rw-r-- 1 isabel isabel 167936 ago 16 13:55 xemacs-21.1.14-elc.tar.gz.part

36
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ ls -Ralt
./clases:
total 88
drwxrwxr-x 2 isabel isabel 4096 sep 25 17:21 comandos
drwxrwxr-x 3 isabel isabel 4096 sep 25 17:16 .
drwxrwxr-x 3 isabel isabel 4096 sep 21 12:42 ..
-rwxrwxrwx 1 isabel isabel 42564 sep 20 11:07 prueba
-rw-rw-r-- 1 isabel isabel 1244 sep 20 11:07 prueba.o
-rw-rw-r-- 1 isabel isabel 79 sep 20 11:07 prueba.pas
-rw-rw-r-- 1 isabel isabel 16048 sep 19 19:41 manualfreepascal
-rw-rw-r-- 1 isabel isabel 288 sep 19 18:59 prueba2
-rw-rw-r-- 1 isabel isabel 130 sep 19 18:57 prueba1
37
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:

mkdir: Crea directorios


mkdir <directorios> Los crea en el directorio actual
mkdir <Ruta/directorios> Los crea en el directorio especificado en Ruta.

Opciones Modificación

-m Establece los permisos

-v Imprime un mensaje por cada directorio creado

-help Muestra la ayuda

38
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:

$ pwd↵
/home/aluxxxx/Metod
$ mkdir comandos
$ ls
comandos manualfreepascal prueba prueba1 prueba2 prueba.o prueba.pas
$ cd comandos
$ ls
$ cd ..
$ ls
comandos manualfreepascal prueba prueba1 prueba2 prueba.o prueba.pas

39
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ mkdir Metod/clases/nuevo

$ ls Metod/clases/
comandos nuevo prueba1 prueba.o manualfreepascal prueba prueba2
prueba.pas
$ mkdir nuevo1 Metod/clases/nuevo2 nuevo3

$ ls -Rxt
.:
nuevo1 nuevo3 core Desktop Mail Metod mail texput.log

./nuevo1:

./nuevo3:
./Desktop:
floppy Papelera Autostart kontrol-panel Linux Documentation Printer www.redhat.com
./Desktop/Papelera:
./Mail:
trash outbox sent-mail inbox TG metod Personal drafts
./Metod:

40
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
rmdir: Borra directorios vacíos
rmdir <directorios> Borra los directorios especificados
Opciones Modificación

-i Ignora cada fallo porque un directorio no esté vacío.

-p Elimina el directorio y luego intenta eliminar cada directorio


en la ruta. rmdir -p a/b/c ≡ rmdir a/b/c a/b a

-v Muestra un diagnóstico para cada directorio procesado

-help Muestra la ayuda

41
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ rmdir nuevo1

$ ls
core Desktop mail Mail Metod nuevo3 texput.log

$ rmdir core
rmdir: `core': No es un directorio

$ cd comandos
$ ls
ejemplos prueba.pas
$ cd ..
$ rmdir comandos
rmdir: `comandos': El directorio no está vacío
42
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ rmdir comandos nuevo
rmdir: `comandos': El directorio no está vacío
$ ls
comandos nuevo2 prueba1 prueba.o
manualfreepascal prueba prueba2 prueba.pas
$ cd ..
$ ls
clases xemacs-21.1.14-1.i386.rpm.part
fpc-1.0.4-1.i386.rpm xemacs-21.1.14-elc.tar.gz.part
fpc-docs-1.0.4-1.i386.rpm xemacs-21.1.14.tar.gz
$ rmdir clases/nuevo2
$ ls clases/nuevo2
ls: clases/nuevo2: No existe el fichero o el directorio

43
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
rm: Borra archivos
rm <archivos> Borra los archivos especificados.
Opciones Modificación

-r Borra recursivamente

-i Modo interactivo.

-f Fuerza el borrado de los archivos de sólo lectura sin preguntar.

-help Muestra la ayuda

44
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
cp: Copia archivos o directorios
cp <archivos|directorios> <destino> Copia los archivos|
directorios especificados al destino.
Opciones Modificación

-b Hace copias de seguridad de ficheros que están a punto de ser sobrescritos o borrados

-d Copia los enlaces simbólicos en lugar de los ficheros a los que apunta

-f Elimina los ficheros destino que ya existan

-i Pregunta si sobrescribir los ficheros destino que ya existan

-p Preserva los permisos del propietario y el grupo

-r Copia directorios recursivamente

-u No copia un fichero o directorio si el destino ya existe y tiene la misma fecha de


modificación o más reciente
45
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos: $ cp prueba prueba1 ../Metod/clases

$ cp -i prueba* ../Metod/clases
cp: overwrite `../Metod/clases/prueba'? n
cp: overwrite `../Metod/clases/prueba1'? n
cp: overwrite `../Metod/clases/prueba2'? y
cp: overwrite `../Metod/clases/prueba.o'? y
cp: overwrite `../Metod/clases/prueba.pas'? y

$ cp -r comandos nuevo4
$ ls
comandos nuevo4 prueba1 prueba.o
manualfreepascal prueba prueba2 prueba.pas
$ cd nuevo4
$ ls
ejemplo4 ejemplos manualfind.txt prueba.pas
ejemplo_cat.txt ejemplos3 manualgrep.txt texto.txt

46
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
mv: Mueve archivos o directorios
mv <archivos|directorios> <destino> Mueve los archivos|
directorios especificados al destino
Opciones Modificación

-b Hace copias de seguridad de ficheros que están a punto de ser sobrescritos o


borrados
-f Elimina los ficheros destino que ya existan sin preguntar

-i Pregunta si sobrescribir los ficheros destino que ya existan

-v Copia directorios recursivamente

-u No copia un fichero o directorio si el destino ya existe y tiene la misma fecha


de modificación o más reciente
47
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos: $ mv manualfind.txt Metod/clases/comandos


$ ls
core Desktop mail Mail Metod nuevo3 texput.log
$ ls
ejemplos ejemplos3 manualfind.txt manualgrep.txt prueba.pas

$ mv prueba* ../nuevo3
mv: al mover varios ficheros, el último argumento debe ser un
directorio
Pruebe `mv --help' para más información.

$ mv prueba* ../../nuevo3
mv: cannot stat `prueba*': No existe el fichero o el directorio

$ mv prueba* ../../nuevo3
$ cd ../../nuevo3
$ ls
prueba prueba1 prueba2 prueba.o prueba.pas

48
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:

cat: Concatena archivos y los muestra en la salida estándar. Si sólo


se especifica un archivo muestra su contenido en la salida estándar.

Opciones Modificación

-b Muestra el número de líneas que no estén en blanco de


salida
-E Muestra el símbolo $ al final de cada línea

-n Enumera todas las líneas de salida.

49
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ cat texto.txt
Hola, esto es un fichero solo de texto
que servira como ejemplo para mostrar el
funcionamiento de algunos comandos del
S.O. Linux. Familiarizarse con el uso del mismo
es el objetivo del primer tema de la asignatura
Metodologia y Tecnologia de la Programacion I de la
Ingenieria Tecnica en Informatica de Gestion y en
Ingenieria
Tecnica en Informatica de Sistemas.^d

50
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:

$ cd ..
$ cat comandos/prueba.pas
program mundo;
begin
writeln('Hola Mundo, como estás?')
end.

51
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

$ cat prueba.pas texto.txt


Comandos: program mundo;
begin
writeln('Hola Mundo, como estás?')
end.
cat: texto.txt: No existe el fichero o el directorio
$ cat prueba.pas comandos/texto.txt
program mundo;
begin
writeln('Hola Mundo, como estás?')
end.
Hola, esto es un fichero solo de texto
que servira como ejemplo para mostrar el
funcionamiento de algunos comandos del
S.O. Linux. Familiarizarse con el uso del mismo
es el objetivo del primer tema de la asignatura
Metodologia y Tecnologia de la Programacion I de la
Ingenieria Tecnica en Informatica de Gestion y en Ingenieria
Tecnica en Informatica de Sistemas.

52
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
find: Busca ficheros en un árbol de directorios.
find <inicio> <criterios> <acción> Busca en inicio y todos sus
subdirectorios según los criterios de búsqueda, con los resultados lleva a
cabo la acción especificada.
Opciones Criterio

-name Busca los ficheros por el nombre, según el patrón que se especifique.

-group nombre Busca por el nombre del grupo que se especifique.

-user nombreusuario Busca los que pertenecen al usuario especificado.

-nouser Pertenece a un propietario desconocido.

-mtime número Hora de la última modificación, si número va precedido de un - busca archivos


posteriores, si va precedido de un + busca anteriores.
53
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ find . -name prueba -print
./Metod/clases/prueba
./nuevo3/prueba

$ find . -name pru* -print


./Metod/clases/prueba
./Metod/clases/prueba1
$ find nuevo3 comandos -print
./Metod/clases/comandos/prueba.pas
./Metod/clases/prueba2 nuevo3
./Metod/clases/prueba.o nuevo3/prueba
./Metod/clases/prueba.pas nuevo3/prueba1
./Metod/clases/nuevo4/prueba.pas nuevo3/prueba2
./nuevo3/prueba nuevo3/prueba.o
./nuevo3/prueba1 nuevo3/prueba.pas
./nuevo3/prueba2 find: comandos: No existe el fichero o el directorio
./nuevo3/prueba.o
./nuevo3/prueba.pas
54
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ find . -name prueba -print
./Metod/clases/prueba
./nuevo3/prueba

$ find . -name pru* -print


./Metod/clases/prueba
./Metod/clases/prueba1
./Metod/clases/comandos/prueba.pas
./Metod/clases/prueba2
./Metod/clases/prueba.o
./Metod/clases/prueba.pas
./Metod/clases/nuevo4/prueba.pas
./nuevo3/prueba
./nuevo3/prueba1
./nuevo3/prueba2
./nuevo3/prueba.o
./nuevo3/prueba.pas
55
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ find nuevo3 comandos -print
nuevo3
nuevo3/prueba
nuevo3/prueba1
nuevo3/prueba2
nuevo3/prueba.o
nuevo3/prueba.pas
find: comandos: No existe el fichero o el directorio

$ find /home/vicky -name *.txt -user vicky -print


find: /home/vicky: Permiso denegado

$ find Metod/clases -mtime +3 -mtime -8 -print


Metod/clases/manualfreepascal

56
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
grep: Busca palabras o patrones dentro de los archivos, y presenta en la
pantalla las líneas que concuerdan con el patrón especificado.
Opciones Criterio

-num Las líneas concordantes se muestran acompañadas num líneas anteriores y num líneas posteriores.

-A num Muestra num líneas de contexto después de las que concuerdan con el patrón.

-B num Muestra num líneas de contexto antes de las que concuerdan con el patrón.

-C = -2

-c No muestra las líneas sino la cantidad de líneas

-i Considera igual mayúsculas y minúsculas

-L Muestra los ficheros donde no hay concordancias. La búsqueda se detiene en la primera concordancia.

-l Muestra los ficheros donde hay concordancias. La búsqueda se detiene en la primera concordancia.

-n Prefija cada línea de salida con el número de línea en su fichero.

57
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ grep -nic hola *.txt
ejemplo_cat.txt:2
manualfind.txt:0
manualgrep.txt:0
texto.txt:1

$ grep -ni hola *.txt


ejemplo_cat.txt:4:writeln('Hola Mundo, como estas?');
ejemplo_cat.txt:6:Hola, esto es un fichero solo de texto
texto.txt:1:Hola, esto es un fichero solo de texto
$ grep -ni hola Metod/clases/comandos/*.txt
Metod/clases/comandos/ejemplo_cat.txt:4:writeln('Hola Mundo, como
estas?');
Metod/clases/comandos/ejemplo_cat.txt:6:Hola, esto es un fichero solo de
texto
Metod/clases/comandos/texto.txt:1:Hola, esto es un fichero solo de texto

58
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

$ grep -ni hola Metod/clases/comandos/*.txt


Comandos: Metod/clases/comandos/ejemplo_cat.txt:4:writeln('Hola
Mundo, como estas?');
Metod/clases/comandos/ejemplo_cat.txt:6:Hola, esto es
un fichero solo de texto
Metod/clases/comandos/texto.txt:1:Hola, esto es un
fichero solo de texto

$ grep -ni hola


Esto es otro ejemplo de grep,
por cierto, hola que les parece Linux.
2:por cierto, hola que les parece Linux.
Hola , ya lo conocias, escribí hola y no hizo nada pero
desde que le doy a Enter, que lo detecta como un salto
de línea mostró la información. Si no le damos a
enter la línea es muy larga y tarda más en hacerlo

3:Hola , ya lo conocias, escribí hola y no hizo nada pero


desde que le doy a Enter, que lo detecta como un salto
de línea mostró la información. Si no le damos a enter la
línea es muy larga y tarda más en hacerlo
59
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ grep -ni hola
Esto es otro ejemplo de grep,
por cierto, hola que les parece Linux.
2:por cierto, hola que les parece Linux.
Hola , ya lo conocias, escribí hola y no hizo nada pero
desde que le doy a Enter, que lo detecta como un salto
de línea mostró la información. Si no le damos a
enter la línea es muy larga y tarda más en hacerlo

3:Hola , ya lo conocias, escribí hola y no hizo nada pero


desde que le doy a Enter, que lo detecta como un salto
de línea mostró la información. Si no le damos a enter la
línea es muy larga y tarda más en hacerlo

60
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:

a entrada o salida estándar (teclado y pantalla respectivamente) se


pueden cambiar utilizando redireccionamiento:

comando > <nombre de archivo>: Se envía la salida al archivo


especificado.

comando < <nombre de archivo>: Se toma la entrada del archivo


especificado

ambién se pueden usar cauces o tuberías, se especifica con | para


enviar la salida de una orden como entrada de otra.

Si se utiliza more como salida se mostrará la información pantalla a


pantalla.

61
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:

$ ls -alt > listado.txt


$ cat listado.txt
total 14552
drwxrwxr-x 3 isabel isabel 4096 oct 1 13:05 .
-rw-rw-r-- 1 isabel isabel 0 oct 1 13:05 listado.txt
drwx------ 10 isabel isabel 4096 oct 1 12:57 ..
drwxrwxr-x 4 isabel isabel 4096 sep 26 16:52 clases
-rw-r--r-- 1 root root 1572488 ago 31 13:57 xemacs-21.1.14-1.i386.rpm.part
-rw-rw-r-- 1 isabel isabel 2548272 ago 31 12:55 fpc-docs-1.0.4-1.i386.rpm
-rw-rw-r-- 1 isabel isabel 4028562 ago 31 12:47 fpc-1.0.4-1.i386.rpm
-rw-rw-r-- 1 isabel isabel 6534483 ago 16 14:05 xemacs-21.1.14.tar.gz
-rw-rw-r-- 1 isabel isabel 167936 ago 16 13:55 xemacs-21.1.14-elc.tar.gz.part

62
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:

$ ls -alt |grep xemacs


-rw-r--r-- 1 root root 1572488 ago 31 13:57 xemacs-21.1.14-1.i386.rpm.part
-rw-rw-r-- 1 isabel isabel 6534483 ago 16 14:05 xemacs-21.1.14.tar.gz
-rw-rw-r-- 1 isabel isabel 167936 ago 16 13:55 xemacs-21.1.14-elc.tar.gz.part

$ ls -alt |grep xemacs >listado1.txt


$ cat listado1.txt
-rw-r--r-- 1 root root 1572488 ago 31 13:57 xemacs-21.1.14-1.i386.rpm.part
-rw-rw-r-- 1 isabel isabel 6534483 ago 16 14:05 xemacs-21.1.14.tar.gz
-rw-rw-r-- 1 isabel isabel 167936 ago 16 13:55 xemacs-21.1.14-elc.tar.gz.part

63
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
Interrupciones Se utilizan para interrumpir el funcionamiento normal de
una tarea:

Interrupción Efecto

^d Terminar la entrada. Fin de archivo.

^c Finalizar un proceso

^z Suspender la tarea temporalmente.

64
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:

Propiedad y permiso de los archivos: La seguridad en un sistema


Linux se basa en la propiedad de los ficheros y los permisos que se le
dan a los usuarios.
Permisos: Se refieren a lo que un usuario puede hacer con un
fichero. Cuando se crea un archivo el sistema le asigna
automáticamente los permisos que pueden ser:
Lectura: El usuario puede ver el contenido del archivo. r
Escritura: El usuario puede escribir o borrar el archivo. w
Ejecución: Si el fichero contiene un programa el usuario
puede ejecutarlo. x

65
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:

Permisos de los directorios:


Lectura: El usuario puede listar el contenido del directorio.
Escritura: El usuario puede añadir o borrar ficheros en ese
directorio.
Ejecución: El usuario puede consultar información en el
directorio.
Propietarios de los permisos:
Propietario: Es el dueño del fichero.
Grupo: La idea es establecer equipos de trabajo que
necesitan acceso a recursos comunes.
Otros: Son los restantes usuarios.
66
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
Linux muestra la información de los permisos que tiene asignado un
fichero usando 10 caracteres:

Tipo de archivo usuario grupo otros

- r w x r w - - - -

Número octal Permiso


r+w+x r+x x

1 Ejecución 7 5 1 ≡ 4+2+1 4+1 1

2 Escritura u g o u g p

4 Lectura
67
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
chmod: Cambia los permisos de los archivos
chmod <máscara> <octal> <archivos>
chmod [ugo] [[+-][rwx]] <archivos>
$ ls -alt
total 92
drwxrwxr-x 2 isabel isabel 4096 sep 26 18:28 comandos
drwxrwxr-x 4 isabel isabel 4096 sep 26 16:52 .
drwxrwxr-x 2 isabel isabel 4096 sep 26 16:52 nuevo4
-rw-rw-r-- 1 isabel isabel 79 sep 26 16:50 prueba.pas
-rw-rw-r-- 1 isabel isabel 1244 sep 26 16:50 prueba.o
-rw-rw-r-- 1 isabel isabel 288 sep 26 16:50 prueba2
-rwxrwxr-x 1 isabel isabel 42564 sep 26 16:48 prueba
-rw-rw-r-- 1 isabel isabel 130 sep 26 16:48 prueba1
drwxrwxr-x 3 isabel isabel 4096 sep 25 19:29 ..
-rw-rw-r-- 1 isabel isabel 16048 sep 19 19:41 manualfreep
68
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ chmod u+x prueba.o
$ ls -alt
total 92
drwxrwxr-x 2 isabel isabel 4096 sep 26 18:28 comandos
drwxrwxr-x 4 isabel isabel 4096 sep 26 16:52 .
drwxrwxr-x 2 isabel isabel 4096 sep 26 16:52 nuevo4
-rw-rw-r-- 1 isabel isabel 79 sep 26 16:50 prueba.pas
-rwxrw-r-- 1 isabel isabel 1244 sep 26 16:50 prueba.o
-rw-rw-r-- 1 isabel isabel 288 sep 26 16:50 prueba2
-rwxrwxr-x 1 isabel isabel 42564 sep 26 16:48 prueba
-rw-rw-r-- 1 isabel isabel 130 sep 26 16:48 prueba1
drwxrwxr-x 3 isabel isabel 4096 sep 25 19:29 ..
-rw-rw-r-- 1 isabel isabel 16048 sep 19 19:41 manualfreepascal

69
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ chmod ug+x prueba.*
$ ls -alt
total 92
drwxrwxr-x 2 isabel isabel 4096 sep 26 18:28 comandos
drwxrwxr-x 4 isabel isabel 4096 sep 26 16:52 .
drwxrwxr-x 2 isabel isabel 4096 sep 26 16:52 nuevo4
-rwxrwxr-- 1 isabel isabel 79 sep 26 16:50 prueba.pas
-rwxrwxr-- 1 isabel isabel 1244 sep 26 16:50 prueba.o
-rw-rw-r-- 1 isabel isabel 288 sep 26 16:50 prueba2
-rwxrwxr-x 1 isabel isabel 42564 sep 26 16:48 prueba
-rw-rw-r-- 1 isabel isabel 130 sep 26 16:48 prueba1
drwxrwxr-x 3 isabel isabel 4096 sep 25 19:29 ..
-rw-rw-r-- 1 isabel isabel 16048 sep 19 19:41 manualfreepascal
[

70
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
$ chmod 441 nuevo3
$ ls -l nuevo3
ls: nuevo3/prueba: Permiso denegado
ls: nuevo3/prueba1: Permiso denegado
ls: nuevo3/prueba2: Permiso denegado
ls: nuevo3/prueba.o: Permiso denegado
ls: nuevo3/prueba.pas: Permiso denegado
total 0 $ chmod 222 nuevo3
$ chmod 441 nuevo3
$ ls -l nuevo3 $ cp texput.log nuevo3
ls: nuevo3/prueba: Permiso denegado cp: cannot stat `nuevo3/texput.log': Permiso
ls: nuevo3/prueba1: Permiso denegado denegado
ls: nuevo3/prueba2: Permiso denegado
ls: nuevo3/prueba.o: Permiso denegado $ chmod 333 nuevo3
ls: nuevo3/prueba.pas: Permiso denegado
$ cp texput.log nuevo3
total 0

71
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
mount: Le indica a linux que se va a utilizar un determinado dipositivo
con un determinado sistema de archivos en un directorio especificado.
mount [-o opciones] [–t <sistema de archivos>]
<dispositivo> <directorio>
Sistema de Archivos Dispositivo
ext2 Sistema de archivos de Linux
msdos Sistema de archivos de DOS
vfat Sistema de archivos de windows 9X
iso9660 Sistema de archivos de CD-Rom
nfs Sistema de archivos en red

umount <directorio>: Desmonta el dispositivo montado en “directorio”

72
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
mount: Le indica a linux que se va a utilizar un determinado dipositivo
con un determinado sistema de archivos en un directorio especificado.
Rutas de dispositivos mount –t msdos /dev/fd0 /mnt/floppy –o rw, noexec

/dev/fd0 umount /mnt/floppy


mount –t vfat /dev/fd0 /mnt/floppy –o user, rw
/dev/hda*
umount /mnt/floppy
/dev/cdrom
mount –t iso9660 /dev/cdrom /mnt/cdrom –o ro
/dev/sda umount /mnt/cdrom

Los dispositivos que se “montan” habitualmente en la mayor parte de las sesiones se


incluyen en el fichero /etc/fstab, sólo se teclearía mount directorio.

73
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
Comando Descripción

pwd Muestra el directorio actual

cd [Ruta de acceso directorio] Nos permite cambiar al directorio que


especifiquemos, si no especificamos
vamos al home.
ls [Ruta de acceso] Muestra el contenido del directorio
especificado.
mkdir [directorios][Ruta directorios] Crea los directorios especificados.

rmdir [directorios] [Ruta directorios] Borra los directorios especificados que


estén vacíos.

74
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
Comando Descripción

rm [Arcivos] Borra los archivos


especificados.
cp [Archivos, Directorios] (Archivos, Directorios) Copia los archivos o directorios
especificados.
mv [Archivos, Directorios] (Archivos, Directorios) Copia los archivos o directorios
especificados.
cat [Lista archivos origen] [Destino] Concatena los archivos
especificados en origen en
destino.
find [inicio] [Criterios][Acción] Busca archivos en el árbol del
directoris

75
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux
METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN I

Comandos:
Comando Descripción

grep [Archivos] Busca palabras o patrones


dentro de los archivos y
presenta en pantalla las líneas
en las que las encuentra.
chmod [máscara] [Archivos] Cambia los permisos se los
chmod [ugo ][+-][rwx] [Archivos] archivos especificados
ps, top Muestra información de los
procesos
kill [ID] Para la ejecución del proceso
especificado
history Muestra el histórico de
comandos.

76
Tema 1: Introducción a los ordenadores y al sistema operativo GNU/Linux

También podría gustarte