… Continuacion de la primera parte del Curso de Linux(2).

4-.Fundamentos basicos de Linux.
5-.Comandos basicos de Linux.
6-.Despedida.

4.-Fundamentos basicos de linux.-

Las caracteristicas fundamentales de Linux (muchas de las cuales, comparte con su hermano mayor Unix) son, entre otras:

La capacidad de Multiusuario; Multitarea; Multiplataforma; la Compatibilidad casi total a nivel de codigo fuente con el estandard POSIX (1988)de Unix (lo que permite compilar y ejecutar programas originarios de Unix), con Unix System V y BSD; su funcionalidad en Modo Protegido 386; capacidad de Memoria Virtual usando paginacion a disco duro, mediante el empleo de areas de intercambio y ampliar asi la funcionalidad de la memoria RAM utilizando el disco para almacenar paginas de memoria (Este area de intercambio, suele llamarse Espacio Swap, para lo que se suele particionar el disco duro antes de instalar el sistema operativo); soporte para buses ISA y EISA; posee pseudo-terminales; soporte TCP/IP, UUCP, Correo, NFS,…; soporte para tarjetas del tipo VGA, EGA y CGA (entre otras) en modo texto y VGA/super-VGA, ATI MACH8/32 (entre otras), en modo grafico; distintos interpretes o shells, entre los que destacan bash, sh, ksh, zsh, csh, ar, etc..;aparte, Linux posee un potente GUI o entorno grafico de usuario, las X-Windows (usaremos el coando xinit para inicializar el servidor X), las cuales daran soporte grafico a los que lo prefieran; etc…

Aparte, tiene una estructura de ficheros de tipo jerarquica o piramidal (como Unix), la cual supone una gran simplicidad y efectividad a la hora de mantener la organizacion de nuestos datos almacenados. El sistema de fihceros se llama, ext2.

Teniendo en cuenta la capacidad de multiusuario, tenemos la necesidad de crear restricciones a determinadas personas a utilizar determinados ficheros o directorios, total o parcialmente. Entran en juego aqui, los permisos de ficheros/directorios. Pongamos un ejemplo:

-rw-r–r– 1 root root 9174 feb 21 21:36 introlinux

Permisos – Propietario(creador) del fichero – Grupo propietario – Tamanio (bytes) – Fecha de la ultima modificacion – Hora – Nombre del fichero.

Analicemos lo que esto significa. Nos centraremos en «-rw-r–r–«. Nos aporta informacion sobre los permisos de dicho fichero (es decir, a quien deja usarlo y como).Segun esto, se trata de un fichero ordinario (- de la izda) con permisos de lectura (r) y escritura (w) para el propietario del fichero (tres primeras casillas: rw-); el grupo propietario, tiene solo privilegios de lectura (tres segundas casillas: r–); y por ultimo, el resto de usuarios del sistema, tienen privilegios de lectura (tres terceras casillas: r–).

El permiso de ejecucion vendria dado por una x.

Ej.- Permisos de lectura, escritura y ejecucion para el propietario: rwx

Si en lugar de un fichero ordinario, hubiese sido un fichero directorio, el primer caracter de la izquierda, estaria representado con una «d», de la forma: drw-r–r–

Los permisos de lectura en ficheros ordinarios, permiten visualizar el contenido del fichero; en ficheros directorio, permiten obtener un listado de los ficheros ordinarios/directorio que forman los subdirectorios del fihero directorio a evaluar.

Los permisos de escritura en ficheros ordinarios, permiten modificar el fichero (escribirlo o borrarlo); mientras que en ficheros directorio, permiten aniadir o borrar los ficheros ordinarios/directorio.

Los permisos de ejecucion tendran sentido si hacen alusion a ficheros binarios o programas en SHELL.

Respecto a los ficheros directorio, el permiso de ejecucion, nos permitira buscar y mover ficheros, asi como cambiar de directorio.

Usaremos un comando muy habitual en Linux para configurar estos permisos: CHMOD

Su sintaxis es: chmod xyz argumento(s)

En donde x puede ser: -u (permisos relativos al propietario); -g (permisos relativos al grupo propietario); -o (permisos relativos al resto de usuarios).

En donde y puede ser: + (aniadir un permiso) o – (quitar un permiso).

En donde z puede ser: r (permiso lectura), w (permiso escritura) o x (permiso ejecucion).

Ej.:

$chmod o-wx introlinux

(Quitaria el permiso de escritura y ejecucion a usuarios de tipo -o sobre el fichero ordinario introlinux)

Otra forma de usar el comando CHMOD para aniadir/quitar permisos, es la siguiente:

Asociamos el codigo 4 a Lectura; el 2 a Escritura y el 1 a Ejecucion.

Por lo tanto, dependiendo de las combinaciones que hagamos, obtenemos que el codigo 6=4+2, por tanto, Lectura y Escritura; 7=4+2+1, Lectura, Escritura y Ejecucion.

Asi, XYZ ahora corresponden a propietario, grupo y resto.

Ej1.:

$chmod 777 introlinux

(permisos r, w y x a todos los usuarios)

Ej2.:

$chmod 611 introlinux

(permisos r y w al propietario, y r para el grupo y el resto de usuarios)

Y bueno, aqui concluye la explicacion sobre permisos referentes a ficheros/directorios.

Como es apreciable, Linux, es un sistema operativo con multitud de recursos.

5.-Comandos basicos de Linux.-

*NOTA:Para ver la sintaxis y opciones de cada comando, podeis miraros el manual: $man comando

login – Abre una sesion.

logout – Cierra una sesion.

find – Busca ficheros en el sistema

-name – Por nombre.

-size – Por tamanio.

-ctime – Por los dias de antiguedad.

locate – Busca un fichero.

grep patron_busqueda fichero/s_en_los_que_buscar – Busca una palabra en ficheros.

touch – Crea un archivo vacio.

ls – Listado de ficheros/directorios de un directorio concreto.

-al -a: Lista «todos» los ficheros, incluyendo los ocultos (precedidos por un punto «.»); l: Lista mas informacion sobre cada fichero.

cd – Cambia de directorio (si introducimos «cd ..», nos llevara a un directorio anterior.

pwd – Nos ensenia el directorio actual en el que estamos.

rm – Borra un fichero.

-f – Sin pedir confirmacion.

-r – De forma recursiva.

mkdir – Crea un directorio.

rmdir – Borra un directorio vacio.

cp – Copia tanto ficheros como directorios. Su sintaxis es: cp origen destino

-r -copia directorios recursivamente, es decir, con todo su contenido.

mv – Mueve ficheros, con la posibilidad de renombrarlos. Ej.: mv hola /home/naikon/hola2

cat -Permite visualizar archivos de texto.

ln – Crea un enlace a un fichero.

-s – Crea enlaces simbolicos en lugar de enlaces duros.

more – Permite visualizar un archivo de modo que puedas verlo poco a poco segun va llenandose la pagina.

less – Similar al anterior, pero mas potente (permite mas movilidad).

head -n – Visualiza las n primeras lineas de un fichero.

tail -n – Visualiza las n ultimas lineas de un fichero.

-f – Visualiza las lineas del fichero segun se van creando.

wc – Nos lista una estadistica del numero de lineas, de palabras y caracteres acerca de un archivo.

-l – Lista exclusivamente las lineas.

-w – Lista exclusivamente las palabras.

-c – Lista exclusivamente los caracteres.

df – Estado del sistema de ficheros.

zip – Comprime un fichero a formato .zip.

unzip – Descomprime un fichero en formato .zip.

tar – Archivador de ficheros en formato .tar.

-xfv – Extrae los ficheros del .tar (-x) ; -v (lista los ficheros); -f (indica el fichero)

-cfv – Archiva ficheros en .tar.

lpr – Aniade trabajos a la cola de impresion.

lpq – Examina la cola de impresion.

lprm – Borra un trabajo de la cola de impresion.

date – Lista dia y hora.

uptime – Lista hora, tiempo que lleva funcionando el sistema, numero de usuario, cantidad de carga que ha tenido que soportar el sistema.

who – Observa quien ha iniciado una sesion en el sistema (usuarios conectados).

adduser – Crea una cuenta en el sistema.

passwd – Modifica el password de una cuenta.

du – Disc used (creo que queda clara la informacion que nos da.. por si acaso, Informe de la cantidad de disco usado).

cal – Calendario.

control+z – Para un proceso en ejecucion.

ps – Nos informa sobre el estado de los procesos.

-el – Nos muestra en formato largo informacion ampliada.

bg – Pone un proceso en segundo plano.

fg – Lo pone de nuevo en primer plano.

kill -num_senial id_proceso – Mata un proceso (lo destruye).

-9 – Destruiremos el proceso y liberaremos los recursos que ocupaba.

top – Visualiza los procesos que se estan ejecutando.

nice -n num_proceso comando – Asigna una prioridad (entre -20 y 20) a un proceso.

Creo que estos bastan para una introduccion. Con esto podreis moveros al principio (espero no haberme dejado ninguno importante). Hare una segunda parte del texto, en la que ampliare, entre otras cosas, mas comandos y entraremos en programacion SHELL.

Animo y a practicar! Si aprendiste comandos nuevos, no te limites a leerlos y memorizarlos.. practicalos!

6.-Despedida.-

Espero que os haya servido para ampliar vuestros conocimientos o repasar conceptos, y que hayais pasado un rato agradable leyendo el texto.

Tan solo quiero decir que pronto escribire una segunda parte de esta introduccion, mas avanzada.

Espero que estudien mucho por su cuenta y practiquen otro tanto.

Linux is sexy 😉

——cut here——

«Hagan vibrar sus mentes con el conocimiento y la exploracion… se sentiran mas vivos y libres!; y… apuesten por el software libre para una mayor comunidad en continua expansion.»

Un saludo!

naikon. Bilbao. 22 febrero 2002.