Vous êtes sur la page 1sur 114

IES Las Fuentezuelas

Departamento de Informtica
CFGS Administracin de Sistemas Informticos en Red








Curso de Administracin
avanzada del Sistema Operativo
LINUX





CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



2 IES Las Fuentezuelas. Jan

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 3

Curso de Administracin avanzada del Sistema Operativo LINUX


Caractersticas:

Linux posee las siguientes caractersticas, de las cuales varias pueden considerarse como ventajas
respecto a otros sistemas operativos.

Es gratuito (concretamente su kernel).
Es software de cdigo abierto, modificable y redistribuible.
Una versin Linux de pago supone pagar a la casa que lo distribuye el trabajo por realizar la
compilacin de los paquetes.

Distribuciones de Linux:

Las distribuciones de Linux mas extendidas son:

Red Hat, de pago. (de esa deriva una versin gratuita llamada Fedora).
SuSe.
Debian (en esta se basa Guadalinex 2004).
UBUNTU.

Tipos de software segn su licencia:

Comercial: Es el software desarrollado por una empresa o particular, con el que se pretende un
beneficio por la venta (y habitualmente su mantenimiento). Por ello solo se entrega el ejecutable
sin el cdigo fuente. La mayora del software comercial es propietario, aunque tambin puede ser
libre.

Libre: Es el software que se entrega tanto como ejecutable como en cdigo fuente, y que puede
ser modificado, copiado y usado. Hay que diferenciarlo del software de dominio pblico, que no
est protegido por copyright, por lo cual podran generarse copias no libres de este.

El software protegido por copyleft garantiza que sus posibles modificaciones sigan siendo
software libre.

Es importante adems no confundirlo con el software gratuito que, aunque no hay que pagar por
l, no tiene por qu ser libre.

Semilibre: Este posee las mismas caractersticas del software libre para usuarios individuales y
entidades educativas, siempre y cuando no se manipule con nimo de lucro. Evidentemente no se
mantienen esas caractersticas para el mbito comercial o empresarial.

Propietario: Su redistribucin, modificacin o copia estn prohibidas o muy restringidas, por lo
que en la mayora de los casos no pueden llevarse a cabo (legalmente).


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



4 IES Las Fuentezuelas. Jan

Freeware: Es software gratuito del que se entrega el ejecutable nicamente, por lo que puede
usarse y redistribuirse, pero no modificarse. No confundir con el software libre.

Shareware: En este software se permite la redistribucin y el uso con ciertas limitaciones
(tiempo de uso o nmero de ejecuciones por ejemplo). No puede ser modificado ya que no se
facilita su cdigo fuente. Lo ms habitual es que transcurrido el periodo de prueba o para
aprovechar todas las posibilidades del programa sea necesario pagar una licencia, por lo que
tampoco es software libre.

Adware: Es el software que se distribuye de forma gratuita (sin tener por qu ser libre) y permite
el uso completo a cambio de introducir publicidad a modo de banners o pop-ups.



Terminologa referida a Linux

GNU: Este trmino fue inventado por Richard M. Stallman. l pretenda crear un sistema
operativo libre que fuera un clon de Unix, y lo llam GNU: GNU's Not Unix. GNU sera un
sistema operativo libre, contrario a Unix que es un sistema operativo propietario. En 1984 fund
el Proyecto GNU, para crear el sistema operativo, y en el 1985 fund la Fundacin para Software
Libre (Free Software Foundation) para apoyar la causa de software libre.

GPL: (General Public License, Licencia Pblica General). Esta licencia pretende servir de marco
para garantizar la libertad de compartir y modificar software libre, y con ello asegurar que el
software es libre para todos sus usuarios. Est sujeto a una serie de trminos y condiciones, y
como el programa se licencia libre de cargas, no se ofrece garanta alguna sobre su uso.

GUI: (Graphical User Interface) Pantalla con iconos, mens y paneles que el usuario puede
pulsar para iniciar funciones.

X o X Window System: Estos trminos hacen referencia al entorno de la interfaz grfica de
usuario. Estar trabajando en X o "ejecutando X" supone trabajar en GUI y no en un en consola.




LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 5

Instalacin de UBUNTU 12.04: (http://www.ubuntu-guia.com/2012/04/como-instalar-ubuntu.html)

Conseguir Ubuntu

Vamos a la pagina oficial de Ubuntu http://www.ubuntu.com/getubuntu y en el desplegable "Choose your flavour",
selecciona la arquitectura 32 bits o 64 bits. Una vez seleccionado, pulsamos en "Start Download".

Nota: Encontraremos con las opciones "alternate, desktop y server". Un usuario normal debe de elegir la opcin
"desktop" y con la arquitectura deseada:

amd64.iso >> Para 64 bits
i386.iso >> Para 32 bits


Grabar la imagen .iso descargada en un CD

Una vez descargado te genera una imagen .iso que grabaremos en un CD.

Si no disponemos de grabadora o simplemente queremos instalar Ubuntu desde un pendrive seguimos los
pasos del siguiente enlace:

http://ubuntu-guia.blogspot.com/2010/02/instalar-ubuntu-desde-un-pendrive-o.html


INSTALACIN

Hay que configurar la BIOS para que arranque desde el CD o el Pendrive, segn el caso.

Ubuntu es Live-CD y esto significa que podemos probar el sistema sin instalar nada, cosa muy recomendable.


ELEGIR IDIOMA



Es la primera pantalla y en ella elegiremos el idioma que
ser el que se utilizar durante la instalacin y despus
de instalado Ubuntu.

He elegido la opcin "Instalar" y no probar. Si elegimos
"probar sin instalar", luego pulsamos en el icono de
"Instalar" del Escritorio y los pasos son los mismos.



CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



6 IES Las Fuentezuelas. Jan

PREPARANDO LA INSTALACIN DE UBUNTU



Verificacin de todo lo necesario para hacer una correcta
instalacin (espacio en disco, conectado a la corriente y
conexin a Internet)

Si no dispones de conexin a Internet por cable y si por
Wifi (inalmbrica), puedes hacer clic sobre el icono de
redes (parte superior derecha de tu monitor) para
conectarte.





Se incluyen 2 opciones:

"Descargar actualizaciones mientras se instala"
"Instalar este software de terceros"

(Personalmente no activo ninguna de las dos, puede retardar la instalacin y llegar hasta echarla a perder, por
cualquier motivo externo a nosotros, como corte de luz, saturacin en los servidores,...)

TIPO DE INSTALACIN



Este es el paso ms complicado si no tenemos las
cosas claras. Nos da las siguientes opciones:



"Instalar junto a "otro sistema operativo"
"Reemplazar "sistema operativo" con Ubuntu"
"Algo ms"



LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 7

1 - "Instalar junto a "otro sistema operativo"


Nos permite instalar Ubuntu junto a otro Sistema
Operativo, con solo desplazar la barra separadora hasta
el tamao deseado para ambas particiones.

Si el sistema operativo acompaante es Windows, no
olvidar desfragmentar la particin antes de comenzar la
instalacin.

Para comenzar la instalacin, pulsar en "Instalar ahora".





2 - "Reemplazar "sistema operativo" con Ubuntu"


Mucho ojo con esta opcin, porque borrar todo el disco
para instalar Ubuntu.

Si tenemos una particin con datos, lo recomendable es
utilizar la siguiente opcin de "algo ms"

Para comenzar la instalacin, pulsar en "Instalar ahora".







3 - "Algo ms"
Antes de seguir con la instalacin vamos a explicar algunas cosas que considero oportunas para comprender
todo el tema del particionado:

Tipos de particiones y Sistemas de archivos
Particionar un disco duro es realizar una divisin en l de modo que, a efectos prcticos, el sistema operativo
crea que tienes varios discos duros, cuando en realidad slo hay un nico disco fsico dividido en varias partes.
De este modo, se pueden modificar o borrar particiones sin afectar a los dems datos del disco.

Placas gestionadas por BIOS: Las particiones bsicas se llaman primarias y puede haber a lo
sumo 4. Esto puede ser suficiente para nuestros intereses. Como a veces no es as, se crearon las
particiones extendidas que pueden albergar otras particiones dentro, llamadas lgicas.
Placas gestionadas por EFI (Intel): Podemos tener hasta 128 particiones primarias y no hay
necesidad de particiones extendidas ni lgicas (si las creamos la instalacin fallar). Es necesario
tener una particin para el arranque, montada en "/efi", al principio del disco duro para gestionar el
arranque de los sistemas operativos (128 Mb de tamao es suficiente). Gparted y el instalador de
Ubuntu pueden crearlas.
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



8 IES Las Fuentezuelas. Jan

Los sistemas de archivos indican el modo en que se gestionan los archivos dentro de las particiones. Segn su
complejidad tienen caractersticas como previsin de apagones, posibilidad de recuperar datos, indexacin para
bsquedas rpidas, reduccin de la fragmentacin para agilizar la lectura de los datos, etc. Hay varios tipos,
normalmente ligados a sistemas operativos concretos. A continuacin se listan los ms representativos:

* fat32 o vfat: Es el sistema de archivos tradicional de MS-DOS y las primeras versiones de
Windows. Padece de una gran fragmentacin y es un poco inestable.
* ntfs: Es el nuevo sistema de Windows, usado a partir del 2000 y el XP. Es ms estable, pero
tambin adolece de fragmentacin.
* ext2: Hasta hace poco era el sistema estndar de Linux. Tiene una fragmentacin bajsima,
aunque es un poco lento manejando archivos de gran tamao.
* ext3: Es la versin mejorada de ext2, con previsin de prdida de datos por fallos del disco o
apagones
* ext4: Es el que usar Ubuntu por defecto. Nace para implementar algunas nuevas
caractersticas que el ext3, dado que se haca imposible incorporarlas al propio ext3.
* ReiserFS: Es el sistema de archivos de ltima generacin para Linux. Organiza los archivos de tal
modo que se agilizan mucho las operaciones con stos. El problema de ser tan actual es que
muchas herramientas (por ejemplo, para recuperar datos) no lo soportan.
* swap: Es el sistema de archivos para la particin de intercambio de Linux (La vamos a
utilizar). Todos los sistemas Linux necesitan una particin de este tipo para cargar los programas y
no saturar la memoria RAM cuando se excede su capacidad. En Windows, esto se hace con el
archivo pagefile.sys en la misma particin de trabajo, con los problemas que eso conlleva.

Tamao de las particiones
Tenemos un disco duro con mucho espacio pero no sabemos cmo administrarlo. Puesto que a cada particin se
le va a dar un uso diferente, cada una tendr un tamao diferente. En este ejemplo, particionaremos el disco de
tal modo que podamos instalar Ubuntu junto a Windows, que es la configuracin ms habitual y ms complicada.

Por una parte tendremos la particin de Windows. ste ocupa ms o menos 10 GB (sin programas ni nada),
pero si piensa instalar juegos, programas y dems, sea generoso con el tamao y asgnele unos 20 GB como
mnimo.

Necesitamos la particin para la memoria de intercambio, que ser de tipo swap. Es una costumbre extendida
que sta sea del doble de tamao que la memoria RAM disponible. Por ejemplo, si tenemos 256 MB de memoria
RAM, nuestra particin de intercambio ser de 512 MB. Sin embargo esto nicamente es aplicable a tamaos de
memoria de hasta 1GB. Si tenemos ms memoria (segn Russell Coker) tenemos que utilizar la siguiente regla:
entre 2GB y 4GB, utilizaremos como tamao del swap la mitad del valor de la RAM; mientras que si tenemos
ms de 4 GB, utilizaremos una swap de slo 2GB.

La particin para Ubuntu (montada en /) debe tener al menos 5 GB. Si pretendemos instalar ms programas es
recomendable darle un poco ms de espacio. Para un uso normal, unos 10 GB estarn bien.

Finalmente, es recomendable crear otra particin para la carpeta personal (montada en /home). As tendremos
las configuraciones de las aplicaciones y los archivos personales (documentos, imgenes, pelculas, etc.) en una
particin aparte. De este modo, si en algn momento quiere reinstalar Ubuntu desde cero, podr formatear sin
miedo y sin perder la configuracin de sus programas ni sus datos. Esta particin se monta en /home. Su tamao
depende principalmente de cuntos usuarios usen el sistema y del volumen de datos que almacenen.
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 9

Un ejemplo es el siguiente (suponiendo que tenemos un disco de 50 Gb de capacidad):

* Windows: 10 Gb, para el Sistema Operativo de Windows.
* /: 10 GB, para el sistema operativo de Ubuntu.
* swap: 2 Gb, suponiendo que tenemos 1 Gb de RAM.
* /home: 28 Gb, para datos, msica, configuraciones, etc de Ubuntu.

Preparacin del particionamiento
Lo primero que debemos hacer antes de instalar Ubuntu (y particionar el disco) es desfragmentar el disco duro o
particin donde tengamos instalado Windows. Con esta operacin conseguiremos que los diferentes fragmentos
de los archivos se junten y sea ms improbable su prdida en el proceso de particionamiento.

A continuacin es conveniente realizar copias de seguridad de todos los archivos importantes que tengamos en
el disco duro (importante).

Con todo esto ya estamos preparados para instalar Ubuntu Linux junto con otro sistema operativo.

En qu momento particionar el disco
Bueno, en esto hay para todos los gustos:

Unos dicen que el mejor momento para particionar el disco es durante la instalacin, ya que la herramienta de
particionado comprueba si existe una particin con la etiqueta / para instalar Ubuntu y otra swap para la memoria
de intercambio.

Otros (me incluyo), prefieren crear las particiones antes de comenzar la instalacin, desde el Live-CD (probar
Ubuntu sin instalar) con la herramienta Gparted, que viene en el Live-CD. Esta herramienta es ms grfica e
intuitiva que la del instalador. Para abrir Gparted, pulsar en el botn "Inicio" con el logo de Ubuntu (1er icono de
la barra de la izquierda), escribir gparted y aparecer el lanzador de la aplicacin.

Vdeo de como utilizar Gparted:
http://www.youtube.com/watch?feature=player_embedded&v=nor9lcQNTm8

Una vez creadas las particiones con Gparted, podemos pulsar en el icono de "instalar" en el escritorio del Live-
CD y comenzar la instalacin hasta llegar a la ventana de "algo ms" y seguimos los siguientes pasos:

1 Seleccionamos la particin para Ubuntu , pulsamos en "cambiar" y en la nueva ventana, elegiremos en los
desplegables, el sistema de ficheros "ext4" y el punto de montaje "/".

2 Seleccionamos la particin para la Carpeta Personal , pulsamos en "cambiar" y en la nueva ventana,
elegiremos en los desplegables, el sistema de ficheros "ext4" y el punto de montaje "/home".

3 Seleccionamos la particin para la Memoria de Intercambio , pulsamos en "cambiar" y en la nueva ventana,
elegiremos en los desplegables, el sistema de ficheros "swap" y el punto de montaje "nada".

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



10 IES Las Fuentezuelas. Jan

Ahora seleccionamos el "dispositivo donde instalar el cargador de arranque" (desplegable en la parte inferior
de la ventana), donde seleccionamos el 1er disco duro
"/dev/sda" (no la particin), donde se instalar el GRUB
(gestor de arranque mltiple que se usa para iniciar dos
o ms sistemas operativos instalados en un mismo
ordenador).





Si instalamos desde un pendrive, el dispositivo por
defecto estar en "/dev/sdb" (ver imagen anterior), por lo que si no lo cambiamos por /dev/sda, no
podremos arrancar. Si os habis equivocado, esta es la solucin:


sudo grub-install /dev/sda
sudo update-grub

Vdeo, que aunque es de una versin anterior, no cambia mucho:
http://www.youtube.com/watch?feature=player_embedded&v=KoemuPikgYo

NOTAS de ADVERTENCIA:

Asegrate de que has marcado para formatear las nuevas particiones, pero no las particiones que quieres
conservar.

Si ya tienes otro GNU/Linux con otra particin para el /home, puedes utilizarla para el /home de Ubuntu,
asegurndose de no activar la casilla de formateo.

En futuras instalaciones de Ubuntu desde cero puedes mantener tu /home intacto con tus datos y
configuraciones, no activando la casilla de formateo.

Una vez hayamos hecho todo esto, ya estamos preparados para pulsar en "Instalar ahora" y comenzar la
instalacin.

Mientras Ubuntu se instala seguimos configurando la instalacin:

DNDE SE ENCUENTRA?

Aqu seleccionamos la localidad donde vivimos y probablemente nos de por defecto una localizacin casi exacta.

Entonces el instalador configurar nuestra zona horaria, moneda, idioma,
distribucin de teclado,...
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 11

DISTRIBUCIN DEL TECLADO


Este paso es importante para utilizar el teclado sin
problemas.

Debajo podemos teclear las letras y los smbolos para
asegurarnos de que es la distribucin correcta.

Habiendo seleccionado antes correctamente el idioma y
la localizacin no habr problemas, pero para el idioma
espaol puede haber cierta confusin, ya que hay 2
distribuciones de teclado distintas, una para
latinoamrica y otra para Espaa

Un truco muy utilizado para asegurarse es pulsar la tecla
@ (arroba). Este smbolo se encuentra ubicado en la
tecla 2 (dos), para los teclados con idioma Espaol Espaol y en la tecla Q (qu) para los teclados Espaol
(latinoamericano) Espaol.

QUIN ES USTED?


Aqu nos identificamos como Administrador del Sistema.

Por defecto, en Ubuntu la cuenta del root viene
desactivada.

Este usuario ser miembro del grupo del root y tendr
privilegios de Administrador. Ms informacin en:

http://www.ubuntu-guia.com/2010/09/activar-desactivar-
root-ubuntu.html

Hay que tener en cuenta lo siguiente para no tener
problemas ms tarde:


- Al escribir "su nombre" se rellenar automticamente la casilla de "Nombre de usuario". Escribir todo en
minsculas (GNU/Linux distingue las maysculas y minsculas, al contrario que Windows). Al introducir la 1
letra en mayscula en "su nombre", en el usuario aparecer el mismo nombre con minscula y ese es tu usuario
para luego logearte o trabajar con comandos, no el de la mayscula en la 1 letra.

- El campo del "Nombre de su Equipo" se rellena automticamente, pero podemos cambiarlo por "casa" o lo que
queramos. Es el nombre por el que te reconocern los ordenadores de tu red (si la tienes)

- Para que una contrasea sea fuerte debe de tener al menos 8 dgitos y contener maysculas, minsculas,
letras, smbolos y nmeros. Dejarla en blanco es una temeridad.


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



12 IES Las Fuentezuelas. Jan

- Activar la casilla "Iniciar sesin automticamente" puede traer futuros problemas. Dejar activada la que viene
por defecto "Solicitar contrasea para iniciar sesin".

- Si activas la casilla "Cifrar mi carpeta personal", mejor que sepas bien lo que ests haciendo y no olvidar nunca
las contraseas que le pongas al cifrado, porque puedes perder todos tus Datos.

Bueno, pues ya est, ahora solo queda esperar ... (no tarda) ... o entretenerte explorando Ubuntu si has
seleccionado "probar Ubuntu sin instalarlo".

Una vez instalado, reiniciamos, extraemos el CD o USB de instalacin y a jugar ...

Si gustas, puedes seguir la gua "Cosas que hacer despus de instalar Ubuntu 12.04":

http://www.ubuntu-guia.com/2012/04/cosas-que-hacer-despues-de-instalar.html

NOMBRE DE LAS PARTICIONES Y DISPOSITIVOS EN LINUX

Como nota final vamos a mostrar cmo se puede acceder a las particiones del disco duro desde el sistema de
archivos, es decir, vamos a ver los nombres que tienen asignados las diferentes particiones en Linux (nos
resultar de utilidad conocer estos nombres cuando particionemos):


Disqueteras

Primera disquetera: /dev/fd0 (en Windows sera la disquetera A:)
Segunda disquetera: /dev/fd1

Discos duros SATA / SCSI

En general: /dev/sdx#, donde x (se identifica con letras "a, b, c, ...") es el disco y # es la particin (se identifica
con nmeros "1, 2, 3, ...")

1. Primer disco duro: (todo el disco) /dev/sda

1.1. Particiones primarias

Primera particin primaria: /dev/sda1
Segunda particin primaria: /dev/sda2
Tercera particin primaria: /dev/sda3
Cuarta particin primaria: /dev/sda4

1.2. Particiones lgicas

Primera particin lgica: /dev/sda5
Segunda particin lgica: /dev/sda6
Sucesivamente: /dev/sda#
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 13

2. Segundo disco duro: (todo el disco) /dev/sdb

2.1. Particiones primarias

Primera particin primaria: /dev/sdb1
Segunda particin primaria: /dev/sdb2
Tercera particin primaria: /dev/sdb3
Cuarta particin primaria: /dev/sdb4

2.2. Particiones lgicas

Primera particin lgica: /dev/sdb5
Segunda particin lgica: /dev/sdb6
Sucesivamente: /dev/sdb#


Discos duros ATA / IDE

En general: /dev/hdx#, donde x es el disco (se identifica con letras "a, b, c, ...") y # es la particin (se identifica
con nmeros "1, 2, 3, ...")

Igual que los discos duros SATA / SCSI, pero cambiando la nomenclatura "sd.." por "hd..", por ejemplo: hda,
hda1, hdb5...

* Primer CD-ROM SCSI: /dev/scd0, tambin conocido como /dev/sr0


El sistema multiusuario:

Linux, al igual que los sistemas UNIX de los cuales deriva, es un sistema multiusuario y multitarea.

La labor multiusuario se pude desempear al utilizar simultneamente cualquiera de las terminales
disponibles. El nmero de terminales inicialmente suele ser de 6 en modo texto y una terminal X o en
modo grfico. Un mismo usuario puede loguearse al mismo tiempo en todas las terminales (aunque
fisicamente solo pueda atender una en cada momento).

Al ser multitarea, bajo una misma terminal se pueden arrancar procesos y que estos trabajen mientras
pasamos a otra terminal, o bien arrancar el proceso en segundo plano y disponer del intrprete de
comandos de esa terminal.

Para acceder a las distintas terminales se sigue la secuencia de teclas:

CTRL + ALT + F1, F2, F3, F4, F5, F6 o bien CTRL + ALT + T
CTRL + ALT + F7 nos devolver al entorno grfico.

Para acceder a ellas el sistema presenta un inductor donde solicita un nombre de usuario y una
contrasea. El campo de contrasea aparece vaco mientras se escribe la contrasea.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



14 IES Las Fuentezuelas. Jan

Por seguridad algunas versiones de Linux disponen de control de intentos, de forma que la terminal
queda bloqueada cuando se trata de iniciar errneamente el sistema un cierto nmero de veces.


La Shell en Linux:

En Linux el intrprete de comandos se denomina shell. No hay que confundir la shell con el sistema
operativo, ya que este es el ncleo y la shell el interfaz que nos proporciona utilidades de trabajo y
permite establecer una relacin con el ncleo.

La shell reconoce una serie de rdenes, las interpreta y lanza los procesos necesarios para su realizacin.

Hay diversos tipos de shells, cada una con sus caractersticas. Podemos citar:

Bourne shell (sh)
Korn shell (ksh)
Shell C (csh)
Bourne again shell (bash)

Otra caracterstica a destacar de la shell es que cuenta con el denominado como sensitive case, lo que
implica que las maysculas y las minsculas estn diferenciadas en todo momento, tanto el comandos y
aplicaciones como en los nombres de ficheros y directorios.

Todos los comandos debern ir siempre en minsculas.

Linux es un sistema silencioso, segn lo cual al ejecutar un comando si no se genera ningn mensaje de
salida es que ha funcionado correctamente:

No noticias == buenas noticias.

Disponemos de una opcin para completar comandos muy til, especialmente cuando se deben escribir
comandos o nombres de archivo complicado o muy largos. Esto se soluciona escribiendo las primeras
letras del comando y pulsando la tecla Escape dos veces o bien la tecla TAB. A continuacin se
terminar de rellenar la palabra, o bien aparecer una lista con las posibles opciones coincidentes con la
que pretendemos invocar.


LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 15

Metacaracteres de la shell
Existen ciertos caracteres que tienen un significado propio para la shell. La shell sabe interpretarlos y
modifica con ellos la accin de los comandos a los cuales acompaa. Estos son:
*
equivale a cualquier cadena de texto en
un nombre de fichero
?
equivale a cualquier carcter, en esa
posicin, en un nombre de fichero
[ ] Conjunto de caracteres [!] o [^] Excepto ese conjunto de caracteres
[ - ] Rango de caracteres // delimita una expresin regular
|
Tubera, utiliza la salida de la orden de
la izquierda, como entrada de la orden
a la derecha
\
Protege el siguiente metacarcter para
que la shell no lo interprete
& Ejecuta un proceso en segundo plano $
Extrae el contenido de una variable.
Para usar el contenido de una variable
tenemos que ponerle delante un $
< Redirige la entrada estndar ( ) Agrupacin de rdenes.
&& Y lgico entre rdenes || O lgico entre rdenes

Tabla de operadores de redirecciones:
<
Redirige la entrada estndar. Podemos utilizar este metacarcter cuando queramos sustituir
una serie de entradas por teclado por el contenido de un fichero. Unix trata exactamente
igual el teclado que si fuera un fichero, l ve una serie de caracteres terminados en un
retorno de carro.
>
Redirige la salida estndar. Si esta redireccin es a un fichero, lo crea nuevo en caso de que
no exista, y si existe elimina su contenido previo. Un descuido con la redireccin no puede
hacer perder un fichero fcilmente
>>
Redirige la salida estndar. Si esta redireccin es a un fichero, y el fichero existe la aade
al final de ste, y si no existe lo crea. Utilizando esta redireccin podremos aadir
fcilmente una lnea a un fichero.
2>
Redirige la salida de errores. Si esta redireccin es a un fichero, lo crea nuevo en caso de
que no exista, y si existe elimina su contenido previo.
2>>
Redirige la salida de errores. Si esta redireccin es a un fichero, y el fichero existe la aade
al final de ste, y si no existe lo crea.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



16 IES Las Fuentezuelas. Jan

Ejemplos de metacaracteres en Linux.

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 17

El sistema de ficheros en Linux.

UBUNTU 12.04 utiliza el sistema de ficheros ext4, cuyas caractersticas estudiaremos ms adelante.

En los sistemas Linux / UNIX no existe el concepto de unidades como en DOS, sino que los
dispositivos se montan sobre directorios del sistema a travs de los cuales se accede a su informacin.

Todo forma un nico rbol de directorios, que parte de la raz (root) simbolizada con la barra inversa /.
A partir de esta se descuelgan los directorios del sistema (visto como las races de un rbol).










CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



18 IES Las Fuentezuelas. Jan

Los directorios en las distribuciones Linux.

/bin Almacena los ficheros o programas compilados ejecutables (binarios).

/boot Aqu se encuentra el kernel del sistema operativo y los ficheros del gestor de arranque
(habitualmente grub).

/cdroom Acceso al medio de cdroom (siempre visto como directorio interno).

/dev Contiene archivos especiales asociados a dispositivos hardware. Aqu encontramos todo
nuestro hardware.

/etc Aqu se recoge toda la configuracin del sistema. Contiene ficheros de configuracin y
utilidades para la administracin.

/home Es el alojamiento de los directorios de todos los usuarios a excepcin de root. Cada usuario
tiene acceso a su directorio (no al resto), mientras que root tiene acceso a todos.
Por su condicin de uso este directorio debera estar en otra particin o incluso otro disco
duro para no crear problemas por exceso de tamao.

/lib Linux tiene a C como motor. Es un sistema orientado a la programacin en este lenguaje.
Adems tiene su propio compilador en lnea de comandos: gcc. Este directorio contiene
libreras para la programacin en C.

/media Contiene todas las unidades fsicas que tenemos montadas: discos duros, unidades de DVD,
pendrives,

/mnt Dentro de este directorio se encuentran los directorios asociados a los dispositivos. Para su
montaje y desmontaje se emplean los comandos mount y umount.

/proc Es un directorio de alto nivel perteneciente al sistema. Los usuarios no tienen acceso a l.

/root Es el directorio donde reside toda la informacin de root (su home).

/sbin Archivos de configuracin del sistema..

/swapfile Es el fichero de intercambio (para ayudar a la memoria principal y aumentar el rendimiento
del sistema. Conviene que esta suponga una particin aparte de la de sistema.

/sys Contiene informacin del sistema.

/tmp El directorio usado para almacenar los ficheros temporales.

/usr En este directorio se instalan las aplicaciones de uso general para todos los usuarios.

/var Varios contenidos. Los principales son los ficheros log del sistema. Conviene tenerla
independizada en otra particin por seguridad (los ficheros log son tremendamente tiles
para averiguar averas, fallos, errores, ataques...).

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 19

El sistema de ficheros se compone del superbloque, tabla de inodos y bloques de datos.

Superbloque: contiene la descripcin general de todo el sistema de ficheros: el tamao, los
bloques libres, el tamao de la lista de inodos, los inodos libres, etc. El superbloque SIEMPRE es
el primer bloque del sistema de ficheros.

Tabla de inodos: Es el equivalente a las entradas de la FAT. Por cada archivo, Linux tiene
asociado un elemento en esta tabla que contiene un nmero que identifica la ubicacin del
archivo dentro del rea de datos. Un inodo contiene toda la informacin sobre los datos del
disco:

Lugar del disco donde se almacenan los datos, es decir, la lista de bloques de datos en
el disco. Son unos punteros hacia los datos en disco, o bien donde estn los bloques
que tienen ms direcciones de bloques de datos.
Propietario de los datos, y grupo al que pertenece, mediante los correspondientes
nmeros UID y GID.
Tipo de fichero :
Regular: fichero que contiene informacin habitual, datos o programas.
Dispositivo, elemento destinado a intercambiar datos con perifrico.
Enlace: un fichero que apunta a otro fichero.
Pipe, un fichero que se utiliza para intercambiar informacin entre procesos a
nivel de ncleo.
Directorio, si el elemento no contiene datos sino referencias a otros ficheros y
directorios

Permisos del fichero: lectura : r , escritura: w , ejecucin: x
Tamao del fichero.
Numero de enlaces del fichero: Es el nmero de nombres distintos que tiene un
fichero.


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



20 IES Las Fuentezuelas. Jan

El nombre de un fichero no forma parte del inodo. El nombre de fichero se asocia a un inodo dentro de
un fichero especial denominado directorio. Esto le proporciona al sistema de ficheros la posibilidad de
que un mismo inodo pueda tener varios nombres, de forma que puede aparecer en varios directorios o
con distintos nombres, pero siempre haciendo referencia al mismo conjunto de datos.

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 21

El sistema de ficheros ext4:

El sistema de ficheros es la organizacin lgica del disco que nos permite almacenar la informacin en
forma de ficheros de un modo totalmente transparente. Esto significa que no tenemos que preocuparnos
de pistas, sectores, cilindros y otras dems, siendo el sistema quien se encarga de eso.

Los sistemas Linux actualmente utilizan el sistema ext4. Una definicin tcnica de este lo cataloga como
sistema Linux nativo con journaling. Extendido 4 es similar a ext3 en cuanto a que incorpora
transacciones para evitar que apagados accidentales puedan deteriorar el sistema de ficheros.

Las principales mejoras son:
Soporte de volmenes de hasta 1 Exabyte (1024 PetaBytes).
Soporte aadido de extents (Sustituto del sistema de bloques tradicional de Linux).
Menor uso de la CPU -> Mejor rendimiento.
Mejoras en la velocidad de lectura y escritura (tasa de transferencia).
Aade soporte para la desfragmentacin, aunque apenas se fragmenta.
Incorpora herramienta para recuperar archivos borrados (undelete) de forma accidental.

Sistema de archivos de gran tamao
El sistema de archivos ext4 es capaz de trabajar con volmenes de gran tamao, hasta 1 ExaByte y ficheros de
tamao de hasta 16 TB.

Extents
Los extents han sido introducidos para reemplazar al tradicional esquema de bloques usado por los sistemas de
archivos ext2/3. Un extent es un conjunto de bloques fsicos contiguos, mejorando el rendimiento al trabajar con
ficheros de gran tamao y reduciendo la fragmentacin. Un extent simple en ext4 es capaz de mapear hasta
128MB de espacio contiguo con un tamao de bloque igual a 4KB (vanse figuras a continuacin).

Asignacin persistente de espacio en el disco
El sistema de archivos ext4 permite la reserva de espacio en disco para un fichero. Hasta ahora la metodologa
consista en rellenar el fichero en el disco con ceros en el momento de su creacin. Esta tcnica no es ya
necesaria con ext4, ya que una nueva llamada del sistema "preallocate()" ha sido aadida al kernel Linux para
uso de los sistemas de archivos que permitan esta funcin. El espacio reservado para estos ficheros quedar
garantizado y con mucha probabilidad ser contiguo. Esta funcin tiene tiles aplicaciones en streaming y bases
de datos.

Desfragmentacin online
Incluso haciendo uso de diversas tcnicas para evitar la fragmentacin, un sistema de larga duracin tiende a
fragmentarse con el tiempo. Ext4 dispondr de una herramienta que permite desfragmentar ficheros individuales
o sistemas de ficheros enteros sin desmontar el disco.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



22 IES Las Fuentezuelas. Jan






LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 23


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



24 IES Las Fuentezuelas. Jan

Enlaces duros y simblicos
Los enlaces duros se denominan as porque directamente crean el
enlace al inodo. Solamente podremos crear enlaces duros entre
ficheros del mismo sistema de ficheros; mientras que los enlaces
simblicos no tendrn esta limitacin.
Si un fichero tiene varios enlaces duros, cuando eliminamos un
fichero con rm solamente estamos eliminando un enlace a un
fichero. Un fichero estar definitivamente eliminado del sistema
cuando no queden enlaces a l.

Un enlace simblico permite dar a un fichero el nombre de otro,
pero no enlaza el fichero con un inodo, es decir, en realidad lo que
hacemos es enlazar directamente al nombre del fichero. Esto se
realiza de forma semejante a como acta un acceso directo en un
entorno Windows.



LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 25

Rutas de acceso.
Una ruta de acceso es absoluta cuando se especifica de forma completa y nica dentro del sistema de
ficheros, partiendo desde la raz hasta el objeto en
cuestin. Un ejemplo sera:
/home/usuario2/documentos/prueba
Una ruta de acceso relativa no parte de la raz /, de
forma que esta depender siempre del lugar en el cual
se encuentre el usuario dentro del sistema de
ficheros. Por ejemplo, para acceder al fichero prueba
del ejemplo anterior, desde el directorio /usuario2 se
podra entrar con:
cd documentos/prueba
Sin embargo, si se est en el directorio de otro usuario, como pueda ser /home/usuario1, la ruta relativa
sera:
cd ../usuario2/documentos/prueba






Editores de sistema. VI

vi es un editor de texto elemental que conviene conocer porque a veces es el nico a nuestro alcance.
Para aclararse con vi, tienes que tener en cuenta que vi puede encontrarse en dos estados o modos:
En el modo de comandos, vi est esperando que le des alguna orden (por tanto, interpreta lo que
escribas como rdenes).
En el modo de edicin, vi est esperando que escribas el texto del fichero (por tanto, interpreta lo
que escribas como texto).
Cuando entras en vi, est en modo de comandos. Para pasar al modo de edicin puedes
pulsar i (insertar), a (aadir), o (aadir una lnea). Para pasar al modo de comandos, puedes
pulsar Escape o Suprimir.



CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



26 IES Las Fuentezuelas. Jan

Comandos ms habituales de vi

comando descripcin comando descripcin
i insertar antes del cursor :q salir
a aadir detrs del cursor :q! salir sin guardar
o aadir una lnea en blanco :w guardar
x borrar un carcter :wq guardar y salir
j
borrar el final de lnea (une
dos lneas)
:set nu muestra nmeros de lnea
dd borra la lnea completa :set nonu oculta nmeros de lnea
u deshacer la ltima edicin :n copy m copia la lnea n detrs de la lnea m
:n1, n2 copy m
copia desde la lnea n1 hasta la lnea n2
detrs de la lnea m


Caracteres comodn y expresiones regulares:

Comodin *
Su uso es muy similar a como se hace en entornos Windows, aunque tiene algunas diferencias,
principalmente consiste en sustituir a TODOS los ficheros, delante/detrs/ y en medio del fichero
todo lo que coincida con el. Suena algo complicado pero con un ejemplo se entiende a la
perfeccin:

Como se puede ver en la imagen anterior, tenemos 8 directorios llamados hola1, hola2, hola3,
hola4, hola5, maria, rincon y teresa, si se desea listar, copiar, borrar, u otras tareas, los
directorios que empiezan con la palabra hola, hacemos uso del comodn * de esta forma:
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 27

ls hola*

Ahora si lo que queremos es listar los archivos que tengan en su nombre la vocal i, daremos la
siguiente instruccin:
ls *i*

Como ves, es muy eficaz el uso del comodn cuanto tenemos grandes cantidades de archivos en
un directorio. Hay que decir que estas no son las nicas formas de emplear el comodn. Se puede
aplicar de muchas ms, pero sin embargo, con estos ejemplos queda una idea ms clara de su
funcionamiento. En conclusin podemos decir que el * reemplaza la parte que vara en el
nombre del archivo, ya sea al inicio, al final o dentro de la cadena.
Comodn ?
El comodn ? funciona casi igual al comodn *, con la nica diferencia de que este solo puede
reemplazar un carcter, veamos un ejemplo:

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



28 IES Las Fuentezuelas. Jan

Comodn []
Este comodn nos permite hacer referencia a los archivos que varen segn el valor que hay
dentro del comodn, un ejemplo explica mejor la situacin:

Otros ejemplos:
Si se pone ls -la in[a-z]* listara todos aquellos ficheros que empiecen por in, que su tercer
carcter sea una letra que este entre la a y la z y luego cualquier cadena de caracteres.

ls -la l? Listar todos los directorios y archivos que empiecen por l y que tengan cualquier otro
carcter, por ejemplo li, la,...

Al hacer ls -la a[ABC]* se listarn todos los archivos que tengan como primera letra una a, la
segunda debe ser A,B o C y despus cualquier cadena de caracteres.

Por medio de estos comodines podemos copiar, borrar, mover o lo que se necesite con una sola
instruccin, y as evitar ms trabajo y tiempo.

/ raz
. directorio actual
.. directorio padre.
* cero o mas caracteres
? cero o un caracteres
[a,b,c] para cualquier carcter que aparezca
[0-9] [a-z] para cualquier rango
{1,2,3} expansin de parmetros para todos los elementos
Metacaracteres y caracteres comodn
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 29

Formas de salida:

exit / CTRL+D cierra una sesin.

Apagado o cierre de sistema:

poweroff: apagado

shutdown -r reinicio,
-h detencin,
+n minutos antes de actuar,
now ahora,
hh:mm hora exacta

Ej.: sudo shutdown r/-h +10/now/10:38

halt: Detiene el sistema (para apagado en equipos de alimentacin tipo AT).

reboot Fuerza el reinicio del sistema

(Evidentemente las opciones de apagado y cierre del sistema corren a cargo del administrador o de
usuarios con permiso para ello sudo-)

Para ver usuarios en el sistema:

who am i / whoami : muestra informacin sobre el usuario registrado en la consola
(versiones larga u corta).


Comandos de ayuda.

man muestra el manual de un comando
man [comando]
man k comando

info versin de ayuda corta de GNU.
info
info time
help resumen de opciones de un comando
help
help time

apropos muestra los comandos disponibles que hagan referencia a una palabra.
apropos delete

whatis muestra informacin sobre el comando.
whatis delete

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



30 IES Las Fuentezuelas. Jan

Para moverse por el sistema:

Saber en que directorio estamos

Utilizaremos el comando pwd. Esto muestra toda la ruta hasta el directorio en que nos
encontramos.
Como ejemplo sera esto:
#pwd
/home/usuario


Moverse por directorios

Para movernos por la estructura de directorios se hace con el comando cd.
La forma de usarlo es la siguiente:

cd /directorio

A la hora de movernos por los directorios usando el comando cd se pueden usar rutas relativas o
absolutas.

Para retroceder cd .. (el espacio es imprescindible)

Listar archivos del sistema

Para listar archivos del sistema se usa el comando ls.

Las opciones ms usadas con este comando son las siguientes:
-l Muestra informacin detallada sobre los archivos que hay en una ruta que se le indique. Se
muestran los permisos, el nmero de inodos, propietario, grupo al que pertenece, tamao en
bytes, fecha de ltima modificacin y nombre del archivo.
-a Muestra todos los archivos y directorios de la ruta que se le indique. Muestra tambin los
archivos ocultos que en GNU/Linux son aquellos que empiezan por . (punto).
-h Muestra la informacin del tamao de los archivos en bytes, KB, MB o Gygas en funcin de
lo que ocupe el archivo.
-t Lista los archivos de forma cronolgica. Lista los archivos de ms nuevos a ms antiguos.
-r Invierte el orden de ordenacin que le hayamos puesto a ls.
-R Lista de forma recursiva lo que hay en un directorio.
-S Lista los archivos por tamao poniendo en primer lugar los ms grandes.

Estas opciones se pueden combinar de forma que si queremos ver todo lo que hay en un directorio,
ver los archivos ocultos y que los ordene cronolgicamente habra que poner:
ls -lat

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 31

Cada archivo queda identificado por diez caracteres (mscara). El primero hace referencia al tipo de
archivo que es. El resto, en bloques de tres, muestran los permisos que se le conceden al propietario,
grupo y resto de usuarios del equipo, respectivamente.


Carcter Identifica Permiso Identifica
- Archivo ordinario - Sin permiso
d Directorio r Lectura
b Archivo de bloques especiales w Escritura
c Archivo de caracteres especiales x Ejecucin
l Enlace
p Archivo especial
Tipos de archivos Tipos de permisos



Archivos de Sistema

Los caracteres b y c definen archivos especiales cuya principal funcin es la comunicacin con un
dispositivo de hardware.

De acuerdo con la naturaleza del hardware, se denominan de caracteres, (consola, puertos de serie etc) o
de bloques, (discos, memorias, ..etc).

Estos archivos pueden entenderse como puntos de unin entre el ncleo y los controladores (drivers) de
dispositivos como pueden ser /dev/tty0, /dev/null, /dev/hda

El contenido de los archivos en modo bloque est guardado en memoria mientras que el de los de modo
caracter no lo est.

Todos los dispositivos son tratados como archivos y todos stos archivos residen en el directorio /dev

Las ventajas de tratar a las unidades de E/S como archivos son:
Los archivos y dispositivos son tratados de forma parecida.
La forma de pasar los nombres de los archivos y dispositivos a los programas es la misma.
Los archivos especiales estn sujetos al mismo tipo de proteccin de acceso que los archivos y
directorios ordinarios

Con los de tipo carcter (marcados con una c) la transferencia se realiza byte a byte, mientras que con
los de tipo bloque (marcados con una b) la transferencia se realiza por bloques completos de un
determinado tamao.

Los dispositivos dsp y tty0 son de tipo carcter (se corresponden con el procesador digital de la
tarjeta de sonido y la primera consola virtual, respectivamente), mientras que fd0 y hda1 (la
disquetera y la primera particin del primer disco IDE) son de tipo bloque.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



32 IES Las Fuentezuelas. Jan




Para crear un archivo especial, es suficiente la orden ##mknod Nom_Archivo Tipo Mayor Menor##

Dentro del directorio ##/dev## tambin existe un archivo de rdenes llamado ##MAKEDEV##, el cual
permite crear archivos especiales sin utilizar directamente ##mknod##



clear borra la pantalla y coloca el inductor en la parte superior izquierda.
Equivale a pulsar CTRL+L en la terminal

Copiar archivos

Para copiar archivos o directorios de un sitio a otro se usa el comando cp. La sintaxis del comando
sera:

cp archivo1 archivo2 /directorio_a_copiar_archivos

O si queremos copiar directorios sera:

cp -r directorio1 directorio2 /directorio_a_copiar_archivos

A la hora de poner la ruta de los ficheros o de la carpeta a la que se van a copiar los archivos se
pueden usar tanto rutas absolutas como relativas.

Opciones del comando cp:
-v Muestra informacin sobre la copia de los archivos o directorios.
-i Si lo que se va a copiar existe en el destino pregunta si se quiere sobreescribir.
-r Copia de forma recursiva lo que hay en un directorio. Si ponemos este comando se
copiaran el directorio y subdirectorios que contenga la carpeta con todos sus directorios y ficheros
al destino.

Mover archivos

Para mover archivos o directorios de un sitio a otro se usa el comando mv. La sintaxis del comando
sera:

mv archivo1 archivo2 /directorio_a_copiar_archivos

O si queremos copiar directorios sera:

mv directorio1 directorio2 /directorio_a_copiar_archivos


LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 33


A la hora de poner la ruta de los ficheros o de la carpeta a la que se van a copiar los archivos se
pueden usar tanto rutas absolutas como relativas.

El comando mv se puede usar tambin para cambiar el nombre de un fichero o directorio. Si
ponemos como nombre de archivo origen el nombre del archivo del que queremos cambiar el
nombre y como destino el nuevo nombre que queremos poner con eso ya cambiaramos el nombre.

Por ejemplo si tenemos el archivo carta.txt y lo queremos cambiar a nota.txt habra que poner:

mv carta.txt note.txt

Opciones del comando mv:
-v Muestra informacin sobre la copia de los archivos o directorios.
-i Si lo que se va a copiar existe en el destino pregunta si se quiere sobreescribir.
-f Si existe lo que se quiere copiar en el destino lo sobreescribe sin preguntar.

Con el comando mv se copian los directorios de forma recursiva sin poner ningn argumento.



Borrar archivos

Para borrar archivos se usa el comando rm. La sintaxis del comando sera:
rm archivo1 archivo2

A la hora de poner la ruta del fichero o ficheros a borrar se pueden usar tanto rutas absolutas como
relativas.

Opciones del comando rm:
-v Muestra informacin sobre el borrado de los archivos.
-r Permite hacer borrados recursivos. Con esta opcin se pueden borrar tambin directorios.
-i Pregunta antes de borrar los archivos si estamos seguros de querer borrarlos.
-f Borrar los archivos si hacer ninguna pregunta de si queremos borrarlos.


Borrar directorios

Para borrar directorios se usa el comando rmdir. Para borrar directorios con este comando los
directorios han de estar vacos.

La sintaxis del comando sera:
rmdir directorio1 directorio2 ...

A la hora de poner la ruta del directorio a borrar se pueden usar tanto rutas absolutas como
relativas.


Opciones del comando rmdir:

-v Muestra informacin sobre el borrado de los directorios.
-p Borra los directorios que le pongamos en la ruta de borrado del directorio. Por ejemplo si
ponemos rm -r dir1/dir2/dir3 borrara el dir3 luego el dir2 y luego el dir1.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



34 IES Las Fuentezuelas. Jan

Crear directorios

Para crear directorios se usa el comando mkdir. La sintaxis del comando sera:

mkdir directorio1 directorio2 ...

A la hora de poner la ruta del directorio a borrar se pueden usar tanto rutas absolutas como
relativas.

Opciones del comando mkdir:
-v Muestra informacin sobre el directorio creado.
-p Crea los directorios que le pongamos en la ruta de creacin del directorio. Por ejemplo si
ponemos mkdir -p dir1/dir2/dir3 creara el dir1 luego el dir2 y luego el dir3.
-m Permite asociarle permisos al directorio nada ms crearlo. Por ejemplo si ponemos:

mkdir -m 777 directorio

Daramos permisos de lectura, ejecucin y escritura a todo el mundo.


ln se emplea para crear enlaces a ficheros. Usado directamente genera un enlace
duro; si se aade el parmetro s se crea un enlace blando o simblico.


!!!: Podra hacer dos enlaces iguales en dispositivos distintos. En estos casos solo se puede
acceder de uno a otro con enlaces simblicos. Es posible crear enlaces duros a directorios, pero es poco
recomendable.

ln s [origen][destino]


La idea es : LN [LO QUE QUIERO ENLAZAR] [CON QU]


alias Se utiliza para guardar bajo un nombre a una cadena de caracteres, que
habitualmente puede ser un comando con una serie de parmetros o cualquier cadena que se
escriba a menudo.

alias comando=comando largo
alias ll=ls Rlia

Llamando al comando sin parmetros se obtiene una lista con los actuales alias definidos. Para
eliminar un alias se emplea el comando unalias:

unalias ll

file Muestra informacin sobre el tipo de fichero pasado como parmetro.
file system.log == > Texto ASCII



LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 35

Ver el contenido de archivos

Para ver el contenido de un archivo existen varios comandos. Estos comandos solo permiten ver el
contenido no permiten modificar el fichero. Los ms usados seran los siguientes:
1. cat
Este comando permite ver el contenido completo de un archivo. Muestra el contenido de un
archivo todo seguido, sin detenerse, por lo que suele pasar que no se vean todas las lneas
ya que si un fichero posee 1000 lneas estas no entran en la pantalla y solo se vern las
ltimas. La sintaxis es cat nombre_archivo. Como opciones del comando habra las
siguientes:
-n Muestra el nmero de lnea.
-E Muestra el smbolo $ al final de cada lnea.
-T Muestra las tabulaciones con el carcter ^I.
2. more
Muestra el contenido de un fichero y el nmero de lneas que entran en la pantalla, si en la
pantalla entran como mximo 50 lneas, las muestra y se detiene. Para seguir avanzando
basta con pulsar la barra espaciadora. Si se quiere dejar de ver el contenido del fichero se
pulsa la tecla q y se sale.
La sintaxis del comando es more nombreArchivo1 nombreArchivo2 ....
3. less
El comando less es el ms completo de los tres, pues puede hacer todo lo que hace
more aadiendo mayor capacidad de navegacin por el fichero (avanzar y retroceder)
adems de que sus comandos estn basados en el editor vi, del cual se diferencia en que
no tiene que leer todo el contenido del fichero antes de ser abierto. Tiene una gran cantidad
de opciones y parmetros, como siempre lo recomendable:
less --help
Con este comando adems se pueden hacer bsquedas poniendo Sip palabraAbuscar. Si
hacemos esto resaltar en el archivo todas las coincidencias que haya encontrado. Adems
funcionan las teclas de flecha arriba para subir una lnea, flecha abajo para bajar una
lnea, AvPag para avanzar una pgina y RePag para retroceder un pgina.
La sintaxis del comando es less nombreArchivo1 nombreArchivo2 ...
less SIp palabra archivo


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



36 IES Las Fuentezuelas. Jan

4. head
Muestra las 10 primeras lneas de un fichero. Como opciones del comando habra las
siguientes:
-c Muestra los caracteres que haya en los primeros bytes que le pongamos. Por
ejemplo, si ponemos:
head -c 10 archivo1 Mostrar los primeros 10 bytes del archivo.
-n Muestra las primeras lneas que le indiquemos. Por ejemplo si ponemos:
head -n 8 archivo1 Mostrar las primeras 8 lneas del archivo.
-v Muestra en la primera lnea el nombre del fichero.

La sintaxis del comando es head nombreArchivo1 nombreArchivo2 ...
5. tail
Muestra las 10 ltimas lneas de un fichero. Como opciones del comando habra las
siguientes:

-c Muestra los caracteres que haya en los ltimas bytes que le pongamos. Por ejemplo
si ponemos:
tail -c 8 archivo1 Mostrar los ltimos 8 bytes del archivo.
-n Muestra las primeras lneas que le indiquemos. Por ejemplo si ponemos:
tail -n 8 archivo1 Mostrara las ltimas 8 lneas del archivo.
-q No muestra en la primera lnea el nombre del fichero.
-v Muestra en la primera lnea el nombre del fichero.

La sintaxis del comando es tail nombreArchivo1 nombreArchivo2



LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 37

grep (o sus variantes fgrep, egrep): Buscan dentro de un fichero un patrn determinado y devuelve las
lneas coincidentes.

grep network fichero_texto

Otros parmetros interesantes pueden ser:
-A num muestra num lneas tras el patrn.
-B num muestra num lneas antes del patrn.
-c numero de lneas coincidentes con el patrn.
-v muestra las lneas NO coincidentes.
-w toma palabras completas.

Puede ser interesante el uso de rangos:
[0-9] [:digit:]
[a-z A-Z] [:alpha:]

split Particiona un fichero en varios basndose en el tamao pasado como parmetro.

wc Aplicacin contador. Se le pasa el parmetro y el fichero (este puede venir
redireccionado o entubado). Destacan los parmetros:

-l contar las lneas del fichero.
-w cuenta las palabras.
-m contar caracteres.
-c contar bytes.

tr Sustituye unos caracteres por otros a la salida de un fichero. No admite como
entrada un fichero, solo por redireccin y teclado. Son tiles aqu [:lower:] y [:upper:], para convertir
la salida a minsculas y maysculas respectivamente.

cat /etc/passwd | tr [:lower:][:upper:]

cmp Compara dos ficheros pasados como parmetro, comparando byte a byte.
Comando poco empleado.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



38 IES Las Fuentezuelas. Jan

Comparar archivos y directorios con diff

En Linux podemos comparar el contenido de dos archivos o ver las diferencias entre dos directorios
usando el comando diff. La sintaxis bsica es la siguiente:
diff fichero1 fichero2
diff directorio1 directorio2
En la salida que se muestra al comparar dos archivos las lneas que comienzan con los caracteres
"%<" corresponden a lneas del primer fichero, mientras que las que empiezan con "%>"
corresponden a lneas del segundo fichero.
Si por ejemplo tenemos dos directorios y solo queremos ver qu ficheros son diferentes entre los
dos habra que poner:
diff -q directorio1 directorio2
Si por ejemplo, queremos comparar dos directorios, queremos ver qu ficheros son diferentes, que
la bsqueda sea recursiva, nos muestre las diferencias en dos columnas y enviar la salida a un
fichero habra que poner:
diff -ryq directorio1 directorio2 > resultado
Si al comparar dos archivos se quiere que no se tengan en cuenta las maysculas y las minsculas
hay que poner:
diff -i fichero1 fichero2
Si al comparar dos archivos no se quiere que se tengan en cuenta los blancos hay que poner:
diff -w fichero1 fichero2

expand Convierte las tabulaciones de un fichero pasado como parmetro en espacios

paste Combina lneas de ficheros. Acepta entradas por redireccin y teclado.

sort Toma informacin (habitualmente por redirecciones) y la devuelve ordenada
segn los parmetros pasados. Los ms habituales son:

-f ignora maysculas y minsculas.
-r invierte el orden de salida.
-u omite las lneas repetidas.


LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 39

Localizacin de ficheros:

locate Busca un fichero o directorio pasado como parmetro en la base de datos del
sistema

whereis Localiza ficheros binarios, fuentes y pginas del manual.

which Sirve para obtener la ruta de situacin de comandos.

which ls /bin/ls

Bsqueda de ficheros, comando find

Este comando nos permite realizar la bsqueda de ficheros dentro de nuestro sistema. Su sintaxis
bsica es la siguiente:
find path -name nombreArchivo (el nombre entre comillas)
Las bsquedas que se realizan con el comando find se hacen de forma recursiva. Por ejemplo,
para encontrar el archivo "prueba" dentro del directorio actual en el que nos encontramos habra
que poner lo siguiente:
find . -name "prueba"
El punto significa el directorio actual.
Por defecto la bsqueda del archivo es case-sensitive lo que quiere decir que se buscar el nombre
del archivo segn se haya escrito, diferenciando entre maysculas y minsculas en el nombre de lo
que se va a buscar. En el ejemplo anterior hemos buscado el archivo "prueba", pero si hubiese un
archivo llamado "pruebA" no nos lo mostrara. Para hacer que busque todos los archivos sin tener
en cuenta maysculas y minsculas habra que escribir el comando de la siguiente manera:
find . -iname "prueba"
El comando find tiene una gran cantidad de opciones, vamos a enumerar y a explicar las
principales:
-type: especifica qu tipo de fichero se quiere buscar. Los tipos de fichero que se le pueden
poner para buscar son los siguientes:
o d directorios
o f ficheros
o l enlaces simblicos
o s sockets
-perm: se busca ficheros que posean los permisos que se indican. Si se pone delante de los
permisos "-" se busca aquellos que no posean esos permisos.
-user: se buscan ficheros cuyo propietario sea el usuario indicado.
-group: se buscan ficheros que sean miembro de determinado grupo.
-nouser: se buscan ficheros cuyo propietario sea el usuario indicado.
-nogroup: se buscan ficheros que no sean miembro de determinado grupo.
-size: busca ficheros de un determinado tamao.
-newer: busca ficheros que sean ms nuevos que el fichero 1 pero ms antiguos que el
fichero 2.
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



40 IES Las Fuentezuelas. Jan

-mtime: busca ficheros que han sido modificados antes de x das. Si pone el carcter "-"
antes de los das se buscan ficheros en ese mismo da, o antes, que han sido modificados.
Si se pusiese "-mtime -5" se buscaran aquellos ficheros que han sido modificados hace 5
das. Si se pone el carcter "+" se buscan ficheros que no han sido modificados en los das
pasados como parmetros.
Ejemplos de bsquedas:
Buscar el archivo "abc" en el directorio actual:
find . -name "abc"
Buscar archivos cuyo nombre sea "abc" sin tener en cuentas maysculas ni minsculas:
find . -iname "abc"
Buscar archivos cuya primera letra sea A,B o C en el directorio /etc
find /etc -name "[ABC]*"
Buscar archivos que terminen en "wd" en el directorio /etc, sin importar las maysculas y
minsculas y redirigir la salida al fichero find.log
find /etc -iname "*wd" > find.log
Realizar lo mismo que lo anterior, solo que mandando los mensajes de error al fichero
findErrors.log
find /etc -iname "*wd" 2>findErrors.log
La misma bsqueda que la anterior haciendo que no se muestren los mensajes de error por la
pantalla:
find /etc/ -iname "*wd" 2>/dev/null
Buscar en el directorio actual los directorios que hay:
find . -type d
Buscar en el directorio actual los directorios que empiezan por A:
find . -type d -name "A*"
Bsquedas complejas
Hasta ahora las bsquedas que hemos visto son bsquedas sencillas pero ahora voy a poner
ejemplos de bsquedas ms complejas ayudndonos de pipes.
Buscar en el directorio /etc el archivo "passwd" y buscar dentro si hay un usuario llamado root:
find /etc -name "passwd" | xargs grep "root"
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 41

Hacer la misma bsqueda evitando que se muestren mensajes de error por pantalla
find /etc -name "passwd" 2>/dev/null | xargs grep "root"
El comando xargs lo que permite es la ejecucin de un comando tomando como parmetro de
entrada la entrada standard. Para el ejemplo anterior lo que hara sera buscar el archivo
"passwd" dentro del directorio /etc y, en el caso de encontrar alguna coincidencia, se ejecutara
el comando grep que buscara la cadena de texto "root". En el caso de que se produzcan errores
en la bsqueda del fichero "passwd" debido, por ejemplo, a la falta de permisos para acceder a un
determinado directorio, estos se mandarn a /dev/null y no veramos dichos mensajes por la
pantalla.
Hacer la misma bsqueda que en el caso anterior pero esta vez que se muestren todos los usuarios
del archivo passwd excepto "root":
find /etc -name "passwd" 2>/dev/null | xargs grep -v "root"
Borrar los archivos que empiecen por "A" en el directorio actual y hacia abajo:
find . -type f -iname "A*" | xargs rm
Lo mismo que en el caso anterior pero que se pida confirmacin antes de borrar
find . -type f -name "A*" -exec rm -i {} \;
La opcin -exec permite realizar lo mismo que si se pone xargs pero sin usar un pipe. La sintaxis
de -exec es la siguiente:
find path -name nombreArchivo -exec comandoAEjecutar {} \;
Cuando se usa la opcin -exec el comando find todos los resultados obtenidos con a exec para que
trabaje con cada uno. Lo que pasa es que en algunos sistemas hay un lmite en la longitud de la
cadena que se le pasa a exec por lo que al rato de estar ejecutndose esta bsqueda termina por
mostrar un error. Para estos casos es mejor utilizar xargs.
Buscar archivos dentro del nuestro directorio de trabajo que contengan sh en su nombre y ver su
informacin.
find $HOME -name "*sh*" | xargs ls -l
El "$HOME" es una variable del sistema que define donde se encuentra el directorio de trabajo
de un usuario. El caracter "~" realiza la misma funcin.
Buscar aquellos ficheros que han sido modificados en los ltimos 14 das:
find . -type f -mtime -14
Si se quiere buscar ms de un fichero con el comando find se hace usando el parmetro -o. Lo que
se consigue con este parmetro es hacer bsquedas en las que se cumpla una condicin u otra. Por
ejemplo, para buscar todos los ficheros con extensin "xml" y "xsl" del directorio actual se hara
de la siguiente forma:
find . -name "*.xml" -o -name "*.xsl"
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



42 IES Las Fuentezuelas. Jan

Ejercicios sobre construccin de rboles de directorios y creacin de enlaces

1. Ejemplo de uso de enlaces. Crear este rbol de directorios y a continuacin un enlace duro
dentro de /VENTAS al fichero f001.txt.

~/PRACTICA2/CONTABILIDAD/FACTURACION/f001.txt
/NOMINAS
/VENTAS


mkdir p PRACTICA2/CONTABILIDAD/{FACTURACION,NOMINAS,VENTAS}

echo algo > PRACTICA2/CONTABILIDAD/FACTURACION/f001.txt

cd PRACTICA2/CONTABILIDAD/VENTAS

ln ../FACTURACION/f001.txt enlace1




2. Crear un enlace simblico llamado enlace2 en el directorio /usuario al directorio /VENTAS.

cd

ln s PRACTICA2/CONTABILIDAD/VENTAS enlace2



3. Crear en el directorio del usuario un enlace simblico al directorio /VAR. Copiar el enlace a la
carpeta /CONTABILIDAD. Probarlo a continuacin.

!!! Siempre es recomendable dar la ruta absoluta a los enlaces simblicos para
evitar que queden inutilizados al cambiarlos de lugar.

ln s /var /home/usuario/PRACTICA2/CONTABILIDAD/enlacevar




Ejercicios relativos al uso de grep:

1. Copiar el fichero /etc/passwd al directorio /usuario:

cp /etc/passwd /home/usuario


2. Buscar si existe en este un usuario llamado root:

grep ^root passwd
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 43



3. Borrar a root del fichero sin editarlo:

cat passwd | grep -v ^root > nuevopasswd


4. Mostrar la lnea 6 del fichero /etc/passwd:

cat n | grep ^6
O tambin:
head -n 6 /etc/passwd | tail n1

1. Suponiendo que te encuentras en el directorio /home crea con un slo comando el siguiente rbol de
directorios dentro de tu carpeta de usuario:
EJERCICIOS/
o TEMAA/
PRUEBA/
DEFINITIVOS/
o TEMAB/
PRUEBA/
DEFINITIVOS/
o TEMAC/
PRUEBA/
DEFINITIVOS/
o TEMAD/
PRUEBA/
DEFINITIVOS/
o TEMAE/
PRUEBA/
DEFINITIVOS/
mkdir p EJERCICIOS/TEMA{A,B,C,D,E}/PRUEBA DEFINITIVOS


2. Sin cambiar de directorio haz un listado para comprobar que realmente se han creado bien los
directorios.

ls lR EJERCICIOS


3. Sin cambiar de directorio haz un listado que muestre los directorios que se encuentran en
/home/usuario/EJERCICIOS cuyo nombre tenga dos vocales maysculas seguidas.

ls lRd EJERCICIOS/*[A,E,I,O,U][A,E,I,O,U]*



CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



44 IES Las Fuentezuelas. Jan

4. Listar los directorios que existen en EJERCICIOS y tengan dos vocales maysculas iguales A o
E en cualquier posicin.

ls lRd EJERCICIOS/{*A*A*,*E*E*}

5. Copiar los ficheros que se encuentren en el directorio /etc que comiencen por h y tengan un
punto en mitad del nombre al directorio a home/usuario/seguridad.

cp /etc/h*.* /home/usuario/seguridad

6. Comprueba que se ha copiado lo que queras y borra todo lo que se encuentre en el directorio
/home/usuario/seguridad.

ls l /home/usuario/seguridad
ls l ~/seguridad

7. Copia los ficheros que empiezan por a que se encuentran en /etc al directorio
/home/usuario/seguridad. (dentro de este directorio debe de quedar los directorios que
empiecen por aA y dentro su contenido).

cp /etc/a* ~/seguridad/

8. Comprueba que se ha copiado lo que queras y borra todo lo que se encuentre en el directorio
/home/usuario/seguridad.

ls ~/seguridad
rm /seguridad/*


Ejercicios sobre creacin, manejo y borrado de ficheros y directorios

1. Partiendo de la copia de /etc copiada en el directorio /usuario:

- Borrar archivos que contengan una letra a o A:

rm rf *[a,A]* ~ ls *[a,A]* ~


- Borrar archivos cuyo nombre contenga un nmero:

rm rf *[0-9]* ~ ls *[0-9]* ~

- Borrar solo los directorios vacios.

rmdir *

- Borrar todo:

rm rf *


LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 45


2. Crear la siguiente estructura de directorios:

EXMENES/ APUA_1_PLA
APUA_1_PLB
APUA_1_PLC
APUA_2_PLA
APUA_2_PLB
APUA_2_PLC


mkdir -p /EXMENES/APUA{1,2}PL{A,B,C}



3. Sin moverse del directorio usuario, comprobar la creacin de los directorios:

ls R ./EXAMENES


4. Sin cambiar de directorio, hacer un listado que muestre los directorios dentro de
/home/usuario/EXMENES

ls lR ~/EXAMENES






1. Contar las palabras de /etc/network/interfaces:

wc w /etc/network/interfaces | cut c-3 //Por columna

wc w /etc/network/interfaces | cut d f1 //Por delimitador



2. Contar las palabras del archivo /etc/fstab:

wc w /ect/fstab | cut c-3











CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



46 IES Las Fuentezuelas. Jan

3. Abrir varias terminales bajo root, y generar una orden que busque y muestre todas las
terminales abiertas por l:

Caso analizado

Informacin sobre los usuarios: finger, who

Filtrar la informacin sobre root: grep ^root

Contar el nmero de lneas: wc l


En una sola lnea, empleando pipes:

who | grep ^root | wc l




Ejercicios sobre bsqueda de ficheros y directorios

1. Buscar los ficheros que se hayan modificado al arrancar el sistema:

find / -daystart mmin0

2. Ficheros del usuario en curso que se hayan modificado en el ltimo minuto:

find / -user usuario mmin -1 // Hay que buscar en todo el
sistema de ficheros

3. Ficheros que hay en el sistema y no son de root:

find / -not user root // Con la negacion se busca de
forma inversa, mostrando los que NO
son de root.

4. Fichero que haya en el sistema que posean dos enlaces duros:

find / -links 2

5. Buscar directorios de root que tengan un nmero en su nombre:

find / -type d userroot name *[0-9]*

6. Buscar todos los ficheros en cuyo interior aparezca la secuencia de texto /bin/bash

find / -exec grep /bin/bash q {}\; -print

7. Buscar todos los ficheros mayores que 1 kilobyte:

find / -size +1kb


LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 47

Scripts en Linux

En su forma ms simple, se trata de un archivo de texto con una lista de comandos, que se ejecutan en
ese orden de forma automtica, del mismo modo que se escriben uno a uno en una consola de texto o
una terminal, lo que en ciertas tareas repetitivas es bastante cansino, salvo que usemos un script.

#! /bin/bash
# Las lneas que empiezan por "#" son comentarios
# La primera lnea o #! /bin/bash asegura que se interpreta como
# un script de bash, aunque se ejecute desde otro shell.

echo "Este es el primer comando"
echo" "Tras 5 segundos vers un listado del directorio actual"
sleep 5s
ls --color
echo "Fin del ejemplo"


o Una vez escrito se guarda con un nombre adecuado.
o Se ejecuta chmod +x nombre para permitir ejecutarlo.
o Se ejecuta llamndolo como ./nombre

Uso de variables:
VARIABLE=valor; export VARIABLE (en sh)

export VARIABLE=valor (en bash).
var1='expr'
var2="string"
Se escriben tras el nombre del script y se asignan consecutivamente a $1,
$2, $3, ... Hay otras muchas variables predeterminadas. Importantes a
recordar:
$# :num. de argumentos
$? :Valor del ultimo comando
$* :todos los arg de la shell
$$ :PID de la Shell (echo "para matarme, usa kill $$")
$ :opciones pasadas a la shell
$! :PID del ultimo comando &
$HOME
$PATH
$PS1 :prompt de 'espera'
$PS2: prompt de 'continua'
$IFS :Lista de char que separan palabras en los argumentos



CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



48 IES Las Fuentezuelas. Jan

Estructuras
o Ordenes condicionales IF
if [ "$1" = "hola" ]; then
ordenes
elif [ ]; then
ordenes
else ordenes
fi
o Menu (case)
case variable in
a) comandos ;;
b*) comandos ;;
*) comandos ;;
esac
o bucles FOR
for var1 in 0 1 2 3 4 ;
do
ordenes
done
o bucles UNTIL
until comando do comandos done

o funciones
[function] nombre() { comandos; }
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 49

1. Hacer un script que muestre el nmero de parmetros pasados, o bien muestre un mensaje de
error si no se ha incluido ninguno.


#!/bin/bash
if [ $1 > 0 ]
then
echo "Se han introducido $# parmetros";
echo "Los parmetros son: $@";
else
echo "No hay ningn parmetro";
fi




2. Hacer un script al que, pasndole como parmetro un fichero y un directorio, copie el fichero al
directorio, teniendo en cuenta que:
- Directorio destino: existe y hay permisos de lectura y escritura.
- Fichero: existe y hay permiso de lectura.
- Se han introducido los parmetros necesarios (solo dos).
#
#!/bin/bash
#

if [ $1 ] && [ $2 ]
then
if [ -e $1 ] && [ -r $1 ]
then
if [ -d $2 ] && [ -w $2 ]
then
cp $1 $2
else
echo "No hay directorio o no hay permiso de acceso"
fi
else
echo "No hay fichero o no se tiene permiso de escritura"
fi
else
echo "No hay parmetros o son incorrectos."
fi




1. Ejemplo de mensaje Hola mundo en script.

#!/bin/bash
#
# SCRIPT CON MENSAJE HOLA MUNDO

clear
echo "HOLA MUNDO"


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



50 IES Las Fuentezuelas. Jan

2. Ejemplo de uso de parmetros

#!/bin/bash
#
# SCRIPT DE EJEMPLO DE USO DE $@
#
#
clear
echo "hola $@"
echo "hola $@"




1. Crear un script que muestre por pantalla el mensaje:
---- est conectado
Donde ---- es el nombre del usuario que se halle conectado.

#!/bin/bash
#
#
# SCRIPT QUE MUESTRA UN LISTADO CON LOS USUARIOS CONECTADOS
#
clear

who | cut d f1 | sort u

// sort u ordena eliminando repetidos




2. Los usuarios del sistema tienen como shell /bin/bash. Crear un script que muestre por pantalla
la lista de usuarios y al lado si estn conectados o no:

#!/bin/bash

#
#
# SCRIPT QUE GENERA LISTADO DE USUARIOS E INDICA
# SI ESTAN CONECTADOS O NO.
#

clear

users=`grep /bin/bash /etc/passwd | cut d: f1`

for i in $users
do
if who | cut d f1 | grep $i > /dev/null
then
echo $i esta conectado
else
echo $i no esta conectado
fi
done
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 51

3. Generar un listado con los ordenadores del aula indicando cuales se encuentran apagados y
cuales encendidos. Hacer para ello un escner de red que analice las conexiones establecidas en la
subred 192.168.124.xxx.

#!/bin/bash

#
# Control de ordenadores conectados en el aula
#

i=1

while [ $i -le 254 ]
do
if ping -q -c 1 192.168.124.$i >/dev/null;
then
echo "Ordenador $i: Encendido";
else
echo "Ordenador $i: Apagado";
fi
i=$(($i+1))
done



Se escanea cada ordenador envindole paquetes con ping. En el condicional se
separan los que responden y los que no y se muestra por pantalla el resultado.

-q modo silencioso
-c n numero de paquetes a enviar
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



52 IES Las Fuentezuelas. Jan

4. Hacer un script que cuente las lneas del fichero .bash_history de los usuarios con acceso al
sistema (El fichero .bash_history es el historial de los comandos introducidos en el intrprete de
comandos)

#!/bin/bash

#
#
# SCRIPT DE RECUENTO DE LNEAS EN EL ARCHIVO
#
#
clear

grep /bin/bash /etc/passwd | cut d: f1 | > usuarios

while read lnea
do
num=`wc l /home/$linea/.bash_history`
echo Usuario $linea: $num lineas > listado

done < usuarios

echo Vea el fichero listado para ver los resultados

Este script recoge los nombres de los usuarios del sistema y los pasa a un bucle.
Se buscan los ficheros correspondientes y se cuenta su numero de lneas.



1. Hacer un script que genere media pirmide con nmeros enteros a partir de uno hasta llegar al
nmero introducido como parmetro.

#!/bin/bash
#
# MEDIA PIRAMIDE PARA NUMEROS ENTEROS A PARTIR DE 1
#

if [ $# == 1 ] && [ $1 -gt 0 ] && expr $1 + 1 >/dev/null 2>/dev/null
then

POS=1;

while [ $POS -le $1 ]
do
VUELTA=1
while [ $VUELTA -le $POS ]
do
echo -n " $POS "
VUELTA=$(($VUELTA+1))
done
echo
POS=$(($POS+1))

done
else
echo Parametro introducido incorrecto. Vuelva a ejecutar el programa
fi

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 53

2. Crear un script basado en el anterior, pero que genere una pirmide completa.


#!/bin/bash
#
# SCRIPT DE GENERACIN DE PIRAMIDE QUE INCLUYE EL CERO
# PARA NUMEROS MENORES DE 10.
#


# FUNCION QUE AADE UN 0 SI EL NUMERO ES MENOR DE 10
function dosCifras(){
if [ $1 -le 9 ]
then
echo "0$1"
else
echo "$1"
fi
}


# FUNCIN QUE CREA UNA NUEVA LNEA
function generaLinea(){

linea=`dosCifras $1`
cont=2
while [ $cont -le $1 ]
do
linea="$linea `dosCifras $1`"
cont=$(($cont+1))
done
echo $linea
}


# PROGRAMA PRINCIPAL
if [ $# == 1 ] && [ $1 -gt 0 ]
then

i=1
while [ $i -lt $1 ]
do
generaLinea $i
i=$(($i+1))
done

generaLinea $1
i=$(($1-1))

while [ $i -ge 1 ]
do
generaLinea $i
i=$(($i-1))
done
fi
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



54 IES Las Fuentezuelas. Jan

3. Script que compruebe que el parmetro introducido cumple que es solo uno y de tipo numrico:

#!/bin/bash
#
# Script de comprobacin de parmetro.
#
#

if [ $#==1 ] & [ `expr $1 + 1` ]
then
echo "Es un numero";
else
echo "No es un numero";
fi

Mediante expresin se analiza como verdadero o falso si el dato pasado es un
numero. Si la suma del dato mas 1 no se desborda se considera como verdadero.





4. Script que muestra como listado el contenido de un fichero:

#!/bin/bash
#
# Mostrar contenido de un fichero. Como ejemplo se toma un listado
# de contactos
#


clear

while read LINEA
do
NOMBRE=`echo $LINEA | cut -d":" -f1`;
TELEFONO=`echo $LINEA | cut -d":"-f2`;
echo "El telefono de $NOMBRE es $TELEFONO"

done < nombre_fichero // DE ESTA FORMA EL BUCLE
VUELVE A COMENZAR MIENTRAS
ENCUENTRE ALGO EN EL FICHERO





LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 55

1. Hacer un script que busque las palabras que hay en un fichero diccionario llamado trminos
pasado como parmetro e indique cada palabra en cuantos ficheros aparece. La ruta de bsqueda
se pasa como parmetro.

#!/bin/bash
#
#
# Buscador mediante fichero diccionario.
#

if [ $# == 2 ] && [ -d $1 ] && [ -r $2 ]
then
while read lnea
do
numveces=`find $1 exec grep $linea {} 2>/dev/null \; -print | wc -l`
echo $linea : $numero coincidencias

done < $2
else
echo Error en el parmetro. Asegrese de pasar como primer parmetro el
directorio de bsqueda y segundo parmetro el nombre del fichero.

fi





****** El fichero terminos ha sido creado en el mismo directorio del script y se
compone de las palabras:
root
user
bash
system
net


find $1 exec grep $linea {} 2>/dev/null \; se emplea para ejecutar una
condicin dentro de find sobre cada uno de los valores. Esto permite una entrada
dentro del fichero y as poder buscar por su nombre y por su contenido. La salida
de errores ha sido redireccionada.
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



56 IES Las Fuentezuelas. Jan

2. Generar el script de la media pirmide numrica de forma que muestre nicamente nmeros
pares o impares, segn el nmero pasado como parmetro.

#!/bin/bash

#
# SCRIPT QUE GENERA MEDIA PIRAMIDE EN BASE A NUMEROS PARES O
# IMPARES SEGN ENTRADA COMO PARAMETRO. INCLUYE EL CERO



function dosCifras() { // esta funcin aade un cero a la
izquierda a los nmeros de una sola cifra
if [ $1 -le 9 ]
then
echo "0$1"
else
echo "$1"
fi
}



function generaLinea(){
linea=`dosCifras $1`
cont=2
while [ $cont -le $1 ]
do
linea="$linea `dosCifras $1`"
cont=$(($cont+1))
done
echo $linea
}


if [ $# == 1 ] && [ $1 -gt 0 ]
then
i=$((2-$1%2))
while [ $i -lt $1 ]
do
generaLinea $i
i=$(($i+2)) // Al modificar el contador y
establecerlo como par ahora solo se toman
done los valores pares o impares segn el que
fi se haya introducido.







LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 57

3. Script que genere un documento con informacin sobre los usuarios del sistema. Este debe
contener:
- Nombre login.
- Nombre completo.
- Carpeta de trabajo.
- N de ficheros en su carpeta.
- N de ficheros ocultos.


#!/bin/bash
rm infor.dat 2>/dev/null

function Nombre_usuario ()
{
cut -f2 $1>nombre
cut -d":" -f1 nombre
}

function NombreCompleto_usuario ()
{
cut -d":" -f5 $1 | cut -d "," -f1
}

function Carpeta_usuario ()
{
cut -d ":" -f6 $1
}

function Ficheros ()
{
if [ "$2" == "1" ]
then
find `Carpeta_usuario $1` -type f | wc -l
elif [ "$2" == "2" ]
then
find `Carpeta_usuario $1` -name ".*" -type f | wc -l
elif [ "$2" == "3" ]
then
find `Carpeta_usuario $1` -type f -exec [ -x {} ] \; -print | wc -l
elif [ "$2" == "4" ]
then
find `Carpeta_usuario $1` -type f -exec [ -w {} ] \; -print | wc -l
elif [ "$2" == "5" ]
then
find `Carpeta_usuario $1` -type f -exec [ -r {} ] \; | grep -print | wc
-l
elif [ "$2" == "6" ]
then
find `Carpeta_usuario $1` -type d -exec cd {} | wc -l
fi
}

grep "/bin/bash" /etc/passwd | nl > infor_usuarios

lineas=`wc -l infor_usuarios | cut -d" " -f1`
i=1


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



58 IES Las Fuentezuelas. Jan

while [ $i -le $lineas ]
do
grep -m1 "$i" infor_usuarios>linea_usuario

cut -f2 linea_usuario>nombre

echo "Nombre:"`Nombre_usuario linea_usuario`>>infor.dat

echo "Nombre completo:"`NombreCompleto_usuario nombre`>>infor.dat

echo "Carpeta de trabajo:"`Carpeta_usuario linea_usuario`>>infor.dat

echo "Ficheros en la carpeta de trabajo:"`Ficheros linea_usuario 1`>>infor.dat

echo "Ficheros ocultos en la carpeta de trabajo:"`Ficheros linea_usuario
2`>>infor.dat

echo "Ficheros ejecutables en la carpeta de trabajo:"`Ficheros linea_usuario
3`>>infor.dat

echo "Ficheros de escritura en la carpeta de trabajo:"`Ficheros linea_usuario
4`>>infor.dat

echo "Ficheros de escritura accesibles por otros usuarios:"`Ficheros
linea_usuario `>>infor.dat

echo "Ficheros de lectura en la carpeta de trabajo:"`Ficheros linea_usuario
`>>infor.dat

echo "Directorios en la carpeta de trabajo:"`Ficheros linea_usuario
6`>>infor.dat

i=$(($i+1))

done

cat infor.dat
rm infor_usuarios 2>/dev/null
rm linea_usuario 2>/dev/null







LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 59

4. Crear una agenda para nombre y telefono con altas, bajas, busquedas y modificaciones.

#!/bin/bash
function Menu ()
{
clear
echo "1.-Introducir registro"
echo "2.-Consultar registro"
echo "3.-Borrar registro"
echo "4.-Modificar registro"
echo "5.-Listar registros"
echo "6.-Salir"
echo "Introduzca una opcion: (1,2,3,4,5)"
read opcion
case $opcion in
1)
Introducir_registro
Menu;;
2)
Consultar_registro
Menu;;
3)
Borrar_registro
Menu;;
4)
Modificar_registro
Menu;;
5)
Listar_registros
Menu;;
6)
echo "Est Vd. seguro? (S/N)";read salir
if [ "$salir" == "s" ] || [ "$salir" == "S" ]
then
Salir
else
Menu
fi;;
*)
Menu
esac
}
function Introducir_registro ()
{
clear
echo "Introducir Nombre y Apellidos:";read Nombre
echo "Introducir N Telefono:";read Telefono
echo $Nombre:$Telefono>>Agenda.dat
Menu
}
function Consultar_registro ()
{
echo "Introduzca el Nombre del registro a consultar:";read registro
grep -n "$registro" Agenda.dat | less -j1 -c --tilde
}




CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



60 IES Las Fuentezuelas. Jan

function Borrar_registro ()
{
echo "Introduzca el Nombre del registro a borrar:";read registro
grep -v "$registro" Agenda.dat > borraragenda
cat borraragenda > Agenda
cat Agenda | less -j1 -c --tilde
rm borraragenda
Menu
}
function Modificar_registro ()
{
echo "Introduzca el Nombre del registro a modificar:";read registro
grep -v "$registro" Agenda.dat > modificaragenda
cat modificaragenda > Agenda
Introducir_registro
rm modificaragenda
Menu
}
function Listar_registros ()
{
while read linea
do
nombre=`echo $linea | cut -d":" -f1`
telefono=`echo $linea | cut -d":" -f2`
echo $nombre $telefono | less -j1 -c --tilde
done < Agenda.dat
Menu
}
function Salir ()
{
return 0
}
Menu
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 61

Principios de administracin de sistemas bajo Linux.

La mayor parte de los comandos y servicios siguientes solo estn disponibles para el modo root.
GNU/Linux es un sistema operativo con muchas caractersticas y una de estas es el estar diseado para ser
utilizado por mltiples usuarios. Aun cuando se tenga un PC con un nico usuario, es importante recordar que
no es conveniente realizar el trabajo diario desde la cuenta de root, ya que solo debe utilizarse para la
administracin del sistema.
Una cuenta de usuario contiene las restricciones necesarias para impedir que se ejecuten mandatos que
puedan daar el sistema -programas troyanos-, se alteren accidentalmente la configuracin del sistema, los
servicios que trabajan en el trasfondo, los permisos y ubicacin de los archivos y directorios de sistema, etc.
Procedimientos.
Generalmente el paso que procede a una instalacin de GNU/Linux es la creacin de cuentas de usuario.
Existen distintos mtodos, todos son sencillos y permiten crear una cuenta con su propio directorio de trabajo
y los archivos necesarios.
Creando una cuenta en el modo de texto.
Lo primero: la orden useradd.
El primer paso para crear una nueva cuenta consiste en utilizar el mandato useradd del siguiente modo:
useradd nombre_del_usuario
Ejemplo:
useradd fulano
Lo segundo: la orden passwd.
Despus de crear la nueva cuenta con useradd lo que sigue es especificar una contrasea para el usuario.
Determine una que le resulte fcil de recordar, que mezcle nmeros, maysculas y minsculas y que,
preferentemente, no contenga palabras que se encontraran fcilmente en el diccionario.
Aunque el sistema siempre tratar de prevenirlo cuando se escoja una mala contrasea, el sistema no le
impedir que lo haga. Especificar una nueva contrasea para un usuario, o bien cambiar la existente, se
puede realizar utilizando el mandato passwd del siguiente modo:
passwd nombre_del_usuario
Ejemplo:
passwd fulano
El sistema solicitar entonces que proceda a teclear la nueva contrasea para el usuario y que repita sta para
confirmar. No ver el echo, por seguridad, el sistema no mostrar los caracteres tecleados, por lo que debe
hacerlo con cuidado. Si se considera que tal vez se cometieron errores de mecanografa, puede presionarse
las veces que sean necesarias la tecla <Backspace> o <Retroceso>. De cualquier forma el sistema le
informar si coincide o no lo tecleado. Si todo sali bien recibir como respuesta del sistema code 0. Si en
cambio recibe code 1, significa que deber repetir el procedimiento, ya que ocurri un error.
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



62 IES Las Fuentezuelas. Jan

Este procedimiento tambin puede utilizarse para cambiar una contrasea existente.
Opciones avanzadas.
En muchos casos pueden no ser necesarios, pero si se esta administrando un servidor o estacin de trabajo, o
bien se es un usuario un poco ms experimentado, y se quiere crear una cuenta con mayores o menores
restricciones, atributos y/o permisos, pueden utilizarse las siguientes opciones de useradd:
-c comment
Se utiliza para especificar el archivo de comentario de campo para la nueva cuenta.
-d home dir
Se utiliza para establecer el directorio de trabajo del usuario. Es conveniente, a fin de tener un
sistema bien organizado, que este se localice dentro del directorio /home.
-e expire date
Se utiliza para establecerla fecha de expiracin de una cuenta de usuario. Esta debe ingresarse en el
siguiente formato: AAAA-MM-DD.
-g initial group
Se utiliza para establecer el grupo inicial al que pertenecer el usuario. De forma predeterminada se
establece como nico grupo 1. Nota: el grupo asignado debe de existir.
-G group,[...]
Se utiliza para establecer grupos adicionales a los que pertenecer el usuario. Estos deben separarse
utilizando una coma y sin espacios. Esto es muy conveniente cuando se desea que el usuario tenga
acceso a determinados recursos del sistema, como acceso a la unidad de disquetes, administracin de
cuentas PPP (P2P) y POP. Nota: los grupos asignados deben de existir.
-m
Se utiliza para especificar que el directorio de trabajo del usuario debe ser creado si acaso este no
existiese y se copiarn dentro de este los archivos especificados en /etc/skel.
-s shell
Se utiliza para establecer el Shell que podr utilizar el usuario. De forma predeterminada se
establece bash como Shell predefinido.
-u uid
Se utiliza para establecer el UID, es decir, la ID del usuario. Este debe ser nico. De forma
predeterminada se establece como UID el nmero mnimo mayor a 99 y mayor que el de otro usuario
existente. Cuando se crea una cuenta de usuario por primera vez generalmente se asignar 500 como
UID del usuario. Los UID entre 0 y 99 son reservados para las cuentas de los servicios del sistema.
Ejemplo:
useradd -u 500 -d /home/fulano -G floppy,pppusers,popusers fulano
Lo anterior crear una cuenta de usuario llamada fulano, que se encuentra incluido en los grupos floppy,
pppusers y popusers, que tendr un UID=500, utilizar Bash como intrprete de mandatos y tendr un
directorio de trabajo en /home/fulano.
Existen ms opciones y comentarios adicionales para el mandato useradd, estas se encuentran especificadas
en los manuales -man-. Para acceder a esta informacin, utilice el mandato man useradd desde una ventana
terminal.

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 63

Cuando se agregan usuarios al sistema se modifican ciertos archivos:
/etc/passwd ste archivo contiene todos los usuarios del sistema y la estructura que guarda es de la
siguiente forma
usuario:x:UID:GID:comentarios:directorio_home:shell
Donde usuario indica el nombre con el que el usuario se loguea en el sistema, la x indica que el password se
encuentra en el archivo shadow, el ID de usuario, el ID del grupo, siguen comentarios, el directorio
home del usuario y el shell que va a usar el usuario.
/etc/group ste archivo contiene todos los grupos existentes en el sistema y los usuarios que
pertenecen a los diversos grupos, la estructura que guarda ste archivo es:
grupo:x:GID:lista_de_usuarios
Donde grupo indica el nombre del grupo creado, x indica que el password se guarda en el archivo shadow,
GID es el identificador del grupo y la lista de usuarios es, como su nombre indica, todos los usuarios que
pertenecen a ese grupo.
/etc/shadow ste archivo contiene el nombre del usuario, el password y parmetros relacionados
con la contrasea y cuenta del usuario. La estructura almacenada por el archivo es la siguiente:
usuario:password:das_del_ltimo_cambio:das_antes_del_cambio:das_despus_del_cambio:tiempo_de_
aviso:das_antes_de_la_inhabilitacin:periodo_que_lleva_caducado:reservado
o Usuario Nombre del usuario
o password contrasea cifrada.
o Tiempo del ltimo cambio de password Pero el tiempo cuenta desde el 1 de enero de 1970,
comienzo de la era UNIX.
o Das antes del cambio Periodo (en das) donde el password debe ser cambiado.
o Das despus del cambio En los das despus donde debe ser cambiado.
o Tiempo del aviso Periodo en el que el sistema tiene que avisar de la necesidad del cambio.
o Inhabilitacin Das antes de la inhabilitacin de la cuenta.
o Periodo caducado Das desde el 1 de enero de 1970 en el que la cuenta est deshabilitada.
o Campo reservado
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



64 IES Las Fuentezuelas. Jan

Eliminar una cuenta de usuario.
En ocasiones un administrador necesitar eliminar una o ms cuentas de usuario. Este es un procedimiento
principalmente utilizado en servidores y estaciones de trabajo a los cuales acceden mltiples usuarios. Para tal
fin nos valdremos del mandato userdel. La sintaxis bsica de userdel es la siguiente:
userdel nombre_del_usuario
Ejemplo:
userdel fulano
Si se desea eliminar tambin todos los archivos y sub-directorios contenidos dentro del directorio de trabajo
del usuario a eliminar, se debe agregar la opcin -r:
userdel -r nombre_del_usuario
Ejemplo:
userdel -r fulano
Manejo de Grupos.
Alta de grupos.
groupadd grupo-que-sea
Alta de grupos de sistema.
Un grupo de sistema es aquel que tiene un nmero de identidad de grupo (GID) por debajo del 500.
Regularmente se asigna automticamente el nmero de identidad de grupo ms bajo disponible.
groupadd -r grupo-que-sea
Baja de grupos
groupdel grupo-que-sea
Asignacin de usuario existentes a grupos existentes.
gpasswd -a usuario-que-sea grupo-que-sea


LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 65

Comentarios finales acerca de la seguridad.
Cuando, en la mayora de los casos, un hacker o cracker consigue infiltrarse en un sistema GNU/Linux o
Unix no es porque estos tengan un hueco de seguridad, sino porque el intruso pudo "hackear" alguna de las
contraseas de las cuentas existentes. Si usted especfic durante el proceso de instalacin de Linux
una mala contrasea de root, algo muy comn entre usuarios novatos, es altamente recomendado cambiarla.
Evite especificar contraseas fciles de adivinar. Con esto nos referimos particularmente a
utilizar contraseas que utilicen palabras incluidas en cualquier diccionario de cualquier idioma,
datos relacionados con el usuario o empresa como son fechas de nacimiento, nmeros
telefnicos, seguro social, nmeros de cuentas de alumnos y nombres de mascotas, la palabra
Linux, nombres de personajes de ciencia ficcin, etc.
Evite escribir las contraseas sobre medios fsicos, prefiera siempre limitarse
a memorizar stas.
Si necesita almacenar contraseas en un archivo, hgalo utilizando cifrado.
Si se le dificulta memorizar contraseas complejas, utilice entonces contraseas fciles de
recordar, pero cmbielas peridicamente.
Jams proporcione una contrasea a personas o instituciones que se la soliciten. Evite
proporcionarla en especial a personas que se identifiquen como miembros de algn servicio de
soporte o ventas. Este ltimo caso lo menciona con nfasis la pgina de manual del
mandato passwd.
Consideraremos como una buena contrasea aquella se compone de una combinacin de nmeros y letras
maysculas y minsculas y que contiene al menos 8 caracteres. Tambin es posible utilizar pares de palabras
con puntuacin insertada y frases o secuencias de palabras, o bien acrnimos de estas.
Observar estas recomendaciones, principalmente en sistemas con acceso a redes locales y/o pblicas, como
Internet, har que el sistema sea ms seguro.

Estructura del fichero /etc/passwd

usuario : x (contrasea) : UID usuario : GID grupo : nombre : directorio : shell


Su estructura:
o Cada lnea de este archivo corresponde con un usuario, y cada uno de sus campos (separados
por dos puntos) se refiere a un dato.
o Los asteriscos (*) o X (x) en el segundo campo indican las cuentas que poseen clave.
o Para eliminar una clave (password), se puede borrar lo que viene situado en el segundo
campo de cada lnea entre los dos puntos (:).




CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



66 IES Las Fuentezuelas. Jan

Permisos

En Linux podemos dar diferentes tipos de permisos a los ficheros y permisos que tenemos en
nuestro sistema. Para ello cada fichero tiene 3 tipos de permisos para cada propietario, grupo y el
resto que no pertenecen a los dos anteriores. Los tipos de permisos que podemos encontrar son los
siguientes:
r -> permiso de lectura, para un fichero significa que se puede leer el contenido mientras
que para un directorio quiere decir que se permite listar el contenido de dicho directorio
w -> permiso de escritura, para un fichero significa que se puede modificar el contenido
mientras que para un directorio quiere decir que se pueden crear y borrar contenidos dentro
del directorio
x -> permiso de ejecucin, para un fichero significa que se puede ejecutar ese fichero y
para un directorio quiere decir que se puede acceder al directorio
Si listamos el contenido de un directorio con "ls -l" podremos ver cuales son los permisos de lo que
contiene el directorio:
-rw-r--r-- 1 lostscene lost 4960 Jul 11 12:12 prueba.txt
De lo que se ve en la lnea anterior esto es lo que significa cada campo:
- -> indica que se trata de un fichero, si fuese un directorio se mostrara el carcter "d" y si
fuese un enlace simblico el carcter "l"
rw- -> esos tres caracteres son los permisos para el propietario del fichero que en esta
caso se llama "lostscene". Los permisos que tendra son lectura y escritura, no tendra
ejecucin porque aparece el carcter "-". Cuando no se tiene un permiso se muestra el
carcter "-"
r-- -> esos tres caracteres son los permisos para el grupo al que pertenece el fichero, que
en este caso se llama "lost". Para el grupo tiene el permiso de lectura solamente
r-- -> esos tres caracteres son los permisos para aquellos que no son el propietario ni el
grupo al que pertenece el fichero. Para este caso solo se tiene el permiso de lectura
Si ahora quisiramos cambiar los permisos de ese fichero usaramos el comando "chmod". Este
comando se puede usar de varias formas.
Una de ellas se llama forma octal que consiste en que cada permiso tiene un valor, los valores
son los siguientes:
permiso de lectura (r) -> vale 4
permiso de escritura (w) -> vale 2
permiso de ejecucin (x) -> vale 1
Para dar permisos con la forma octal lo que se hace es sumar lo que vale cada uno de los permisos
que vamos a dar. Si por ejemplo al fichero le queremos dar todos los permisos al propietario, de
lectura al grupo y al resto nada lo haramos poniendo "chmod 740 prueba.txt". Primero se pone
"chmod" luego los permisos y despus a lo que se lo queramos aplicar. Ponemos 740 porque 7 es
la suma de los valores de los permisos que le damos al propietario, 4 al grupo y 0 al resto.
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 67

permisos para el propietario -> 4 (valor del permiso de lectura) + 2 (valor del permiso
de escritura) + 1 (valor del permiso de ejecucin) = 7
permisos para el grupo -> 4 (valor del permiso de lectura) + 0 (vale 0 porque no le
queremos dar el permiso) + 1 (vale 0 porque no le queremos dar el permiso) = 4
permisos para el resto -> 0 (vale 0 porque no le queremos dar el permiso) + 0 (vale 0
porque no le queremos dar el permiso) + 1 (vale 0 porque no le queremos dar el permiso)
= 4
Si por ejemplo quisiramos dar todos los permisos al usuario, grupo y resto sera "chmod 777
prueba.txt".

La otra forma de dar permisos es indicar al comando chmod a quien se lo queremos dar y qu
permiso. A quien se lo queremos dar se indica de la siguiente forma:
u -> propietario del fichero
g -> grupo al que pertenece el fichero
o -> aquellos que no son el propietario
a -> a todos
Los permisos se indican de la siguiente forma:
r -> permiso de lectura
w -> permiso de escritura
x -> permiso de ejecucin
Para dar, quitar o igualar permisos se indican con los siguiente caracteres:
+ -> se aade un permiso
- -> se quita un permiso
= -> se igualan los permisos
Si por ejemplo queremos quitar al grupo el permiso de ejecucin habra que poner "chmod g-x
prueba.txt". Si queremos dar todos los permisos al propietario sera "chmod u+rwx prueba.txt"
y si por ejemplo al grupo le queremos dar el permiso de lectura y al resto quitarle el permiso de
ejecucin sera "chmod g+w,o-x prueba.txt".


Cambio de propietarios:

chown : Cambia el dueo de un fichero o directorio. Se puede emplear con el parmetro -R para
que se aplique recursivamente.

chown R usuario fichero | directorio

chgrp : Cambia el grupo asignado a un fichero | directorio. Tambin dispone del parmetro R.

chgrp R grupo fichero | directorio


El comando su

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



68 IES Las Fuentezuelas. Jan

Este comando permite hacer un login como superusuario desde cualquier terminal y bajo cualquier otro
usuario. Permite ejecutar todo cuanto est disponible para root adems de tener acceso ilimitado al
sistema. Para salir y regresar a la shell del usuario anterior se emplea CTRL+D o exit.

Root puede pasar a ser cualquier usuario sin introducir la contrasea. Por su parte entre usuarios el
password es obligatorio.

http://www.lostscene.com/manuales/linuxcomandos.php

Empaquetado y compresin de ficheros

Empaquetado:

tar : permite empaquetar directorios. No efecta labores de compresin.

Para empaquetar : tar cvf fichero_paquete directorio

Para desempaquetar: tar -xvf nombre_paquete

Compresin:

Existen varios compresores y descompresores para entornos Linux, como son Bzip, zip, Bzip2 y
sus respectivos descompresores, pero habitualmente el mas usado es gzip / gunzip.

gzip : Comprime un fichero .tar. Altamente configurable, ver man gzip. En su uso ms bsico, su
sintaxis es:
gzip fichero.tar (esto genera fichero.tar.gz)
gunzip : Se encarga de la descompresin. Su sintaxis es:
gunzip fichero.tar.gz


LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 69

Anexo : Seguridad del sistema.
ippl -n : Permite ver los intentos de entrada al ordenador.

Usos de netstat se pueden ver las conexiones establecidas. Algunos usos son:
netstat -atun
netstat -tua
netstat ltun


iptables (IP packet filter administration for 2.4.4+ kernels) : Firewall



Instalacin de software en Linux:

Hay cuatro formas bsicas de instalar software bajo Linux:

1. Descargar los ficheros fuentes y compilarlos en la propia mquina. Suele acompaar al cdigo un
fichero README o similar que indique los pasos a seguir en la compilacin e instalacin.

2. Instalando paquetes. Este sistema varia de una distribucin a otra. En el caso de las distribuciones
Guadalinex y Ubuntu los paquetes son .deb. Se instalan mediante el comando dpkg. Un ejemplo de
instalacin de paquetes en estas distribuciones:

dpkg i paquete.deb


En el caso de las distribuciones Red Hat y Fedora, los paquetes tienen otro formato y cuentan con la
extensin .rpm. Se instalan con el comando rpm usando una sintaxis semejante:
rpm i paquete.rpm

Hay que tener en cuenta en concepto de dependencia entre paquetes: para lograr el adecuado
acoplamiento cada paquete ha de contar con todos los dems de los cuales depende, lo cual puede causar
problemas en ocasiones.


3. Utilizando un asistente de instalacin. El mas empleado suele ser apt:

apt-get install [aplicacin]


4. Instalacin mediante paquetes ejecutables. Suelen ser instaladores sencillos preparados para el
entorno grfico. Tener cuidado al seleccionar los contenidos a instalar ya que pueden aparecer cualquier
ataque de seguridad.



CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



70 IES Las Fuentezuelas. Jan

El asistente de instalaciones apt:
El sistema de paquetes utiliza una base de datos para llevar un control de los paquetes instalados, los no
instalados y cules estn disponibles para su instalacin.
El programa apt-get utiliza esta base de datos para averiguar como instalar los paquetes que son
requeridos por el usuario y para indagar sobre que paquetes adicionales sern requeridos para que el
paquete seleccionado funcione correctamente.
Para actualizar la lista, se utiliza el comando apt-get update. Este comando busca el paquete en los
archivos listados en /etc/apt/sources.list.
Este fichero contiene una lista de los servidores de repositorios disponibles. Accediendo a estos se
obtienen los paquetes mas actualizados para mantener el sistema lo mas actualizado posible.
Una vez conocido el paquete que se pretende descargar se sigue la siguiente sintaxis:
apt-get install nombre_paquete
Este automticamente se encargar de instalar el paquete y las posibles dependencias.
Otra opcin de inters es apt-cache search [nombre],
lo que devuelve los paquetes que contengan ese nombre. Para los dems parmetros remitirse al manual.

Gestin de procesos en Linux.
Linux es un sistema operativo multitarea, lo que supone que varios procesos pueden estar al mismo
tiempo en marcha. Para ver los procesos en funcionamiento en un momento determinado disponemos
de:
ps : muestra una lista con los procesos en marcha. Dispone de varios parmetros, de cuales
destacan:
-s muestra el tiempo consumido de CPU por proceso.
-f formato de arbol.
-e modo extendido.
-mp muestra el numero de pgina de memoria.

La forma mas utilizada es: ps ef

top : aplicacin interactiva en modo texto con multiple informacin acerca de los procesos,
con posibilidad de interactuar sobre ellos (reinicio, kill, etc). No requiere parmetros.

IMPORTANTE: Tener presente que un sistema que muestra un elevado consumo de memoria swap no
est bien configurado o bien necesita una ampliacin a nivel hardware.

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 71

kill : Termina procesos. Sigue la sintaxis kill [seal] [PID]
Las seales mas empleadas (ver man kill para las dems) son:
-9 Mata al proceso.
-15 Emite un aviso de cierre al proceso.

Ejemplo kill -9 3682

jobs : Genera una lista con los trabajos en ejecucin. Dispone de varios parmetros aunque no
suelen emplearse.

nohup : permite que un comando lanzado a travs de este sea inmune a las seales de cierre del
sistema, de forma que tras el cierre de sesin este siga en marcha.

Con CTRL+Z un proceso es detenido y mandado a segundo plano.

Estos se pueden reanudar:
fg %nmero_trabajo : reanuda y trae a primer plano
bg %nmero_trabajo : reanuda y enva a segundo plano


Para invocar a un comando y enviarlo a segundo plano se aade al final &.


Planificacin de procesos:

En Linux es posible establecer una programacin de ciertas tareas que deban repetirse o llevarse a cabo
a ciertas horas. Para ello se dispone del comando cron.

Utilizando "crontab -e" como usuario se puede editar el fichero de tareas programadas de CRON. La
sintaxis de esta consiste en una lnea por tarea, con el siguiente formato:
minute hour daymonth month dayweek comando
Si se desea programar una tarea para un rango completo de das se incluye un *.

Tambin pueden incluirse mltiples fechas mediante , como por ejemplo, ejecutar un programa los
dias 1,3,5 de la semana.


Un ejemplo de programacin en el contrab:
minute hour daymonth month dayweek comando
30 12 * * * ./apagar_equipo

De modo que a las 12:30 de la maana se ejecute el script apagar equipo y se cierre el sistema cada da.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



72 IES Las Fuentezuelas. Jan

1. Crear un script que genere un informe con el nmero de procesos en ejecucin por cada
usuario.

#!/bin/bash

#
# INFORME PROCESOS
#

clear

who | cut d f1 | sort u > user

while read lnea
do
num=`ps ef | grep user | wc -l`
echo El usuario $user tiene $num procesos >> lista_procesos

done < user



2. Crear un script que trabaje en segundo plano y mantenga actualizada una lista con todos los
equipos del aula que se encuentren conectados:

#!/bin/bash

#
#
# SCRIPT QUE TRABAJE EN SEGUNDO PLANO Y
# MANTENGA UNA LISTA CON LOS EQUIPOS DEL AULA CONECTADOS.
#
#

clear
i=1
while [ $i -le 254 ]
do
echo Equipo $i : 0 >> listado
i=$(($i+1))
done




i=1
while [ $i -le 254 ]
do
linea=""

if [ ping -c 1 192.168.124.$i ]
then
linea=`Equipo $i : 1`
else
linea=`Equipo $i : 0`
fi
i=$(($i+1))

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 73

if grep "$linea" listado
then

head -n $(($linea - 1)) > aux
echo $linea >> aux
tail -n $((254-$linea )) >> aux
cp /root/aux /root/listado
echo "" > aux
fi
done



3. Disear un script que modifique el fichero de tareas crontab de forma que se le puedan incluir
rangos de fechas y horas para el apagado del ordenador.

#!/bin/bash
anio=`date +%G`
anio_antes=$(($anio - 1))
crontab -l > cron_actual
encontrado=0
if [ -a aux ]
then
rm aux
fi
while read linea
do
if [ "$encontrado" == "1" ]
then
encontrado=0
else
if [ `echo $linea | grep -w "$anio" | wc -l` -eq 1 ] || [ `echo $linea |
grep -w "$anio_antes" | wc -l` -eq 1 ]
then
encontrado=1
else
echo "$linea" >> aux
fi
fi
done < cron_actual
crontab aux
rm aux
crontab -l > cron_actual
./introducir_festivos // Llamada a script introducir_festivos



CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



74 IES Las Fuentezuelas. Jan

****** Segunda parte. Script encargado de pedir los das festivos y generar el fichero.

#!/bin/bash
function DiasMes()
{
local num
case $1 in
1|3|5|7|8|10|12)
num=31;;
4|6|9|11)
num=30;;
2)
num=28;;
esac
echo $num
}
if [ -a aux ]
then
rm aux
fi
terminar=" "
until [ -z "$terminar" ]
do
echo 1.-Introducir dia festivo
echo 2.-Introducir un rango de dias
echo 3.-Salir
read opcion
case $opcion in
1)
dia=" "
mes=" "
until [ -z "$dia" ] || [ -z "$mes" ]
do
echo Introduzca dia festivo:
read dia
echo Introduzca el mes del dia festivo:
read mes
if [ $dia ] && [ $mes ]
then
echo "#2007">>aux
echo "* * $dia $mes * poweroff" >> aux
fi
done;;
2)
dia_inicio=" "
mes_inicio=" "
dia_fin=" "
mes_fin=" "


LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 75

until [ -z "$dia_inicio" ] || [ -z "$mes_inicio" ] || [ -z
"$dia_fin" ] || [ -z "$mes_fin" ]
do
echo Introduzca el dia de inicio del rango:
read dia_inicio
echo Introduzca el mes del dia de inicio del rango:
read mes_inicio
echo Introduzca el dia de fin del rango:
read dia_fin
echo Introduzca el mes del dia de fin del rango:
read mes_fin
if [ $dia_inicio ] && [ $mes_inicio ] && [ dia_fin ] &&
[ mes_fin ]
then
if [ "$mes_inicio" == "$mes_fin" ]
then
echo "* * $dia_inicio-$dia_fin $mes_inicio *
poweroff">>aux
else
mes_dia=`DiasMes $mes_inicio`
if [ "$dia_inicio" == "$mes_dia" ]
then
echo "#2007">>aux
echo "* * $dia_inicio $mes_inicio *
poweroff">>aux
else
echo "#2007">>aux
echo "* * $dia_inicio-$mes_dia $mes_inicio
* poweroff">>aux
fi
echo "#2007">>aux
echo "* * 1-$dia_fin $mes_fin * poweroff">>aux
fi
fi
done;;
*)
terminar="";;
esac
done
cat aux cron_actual>cron
crontab cron
rm aux
rm cron_actual






CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



76 IES Las Fuentezuelas. Jan

Ejercicios de gestin de usuarios


1. Crear cuatro usuarios empleando el comando useradd.

useradd cSistema operativos d /home/sima s /bin/bash sima

useradd cPrueba d /home/prueba -s /bin/bash prueba

useradd cAntonio d /home/Antonio s /bin/bash p prueba antonio

useradd cFundamentos prog d /home/fpr s /bin/bash p fpr prog


// Solo los dos ltimos usuarios disponen de contrasea.



2. Crear en root un directorio accesible por todos los usuarios y dentro una carpeta por usuario,
accesible por todos los usuarios, pero modificable solo por el usuario al que le pertenezca.
Partimos de cuatro usuarios.

Creacin de directorios:

mkdir p /root/practicas/{usuario, fpr, sistemas, prueba}

Creacin de usuarios:

useradd cusuario d /home/usuario s /bin/bash usuario

useradd cprueba d /home/prueba s /bin/bash prueba

useradd csistemas d /home/sistemas s /bin/bash sistemas

useradd cprogramacin d /home/fpr s /bin/bash fpr

Asignacin de propietarios:

chown usuario usuario
chown prueba prueba
chown sistemas sistemas
chown fpr fpr


Permisos:
Directorio root: chmod 711 root // Ruta de paso
Directorio practicas: chmod 711 practicas // Ruta de paso
Directorios de usuario: chmod 711 [usuario]



// Para evitar el borrado es necesario darle 711. Tambin 744, que da lectura, pero
permite borrado a condicin.
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 77

Diseado en script:


#!/bin/bash
#
# Partimos como root, no habra que modificar permisos.
#
# Se crean los directorios con el mismo nombre de los usuarios.

clear

mkdir p /root/practicas/{$1,$2,$3,$4,$5}

#
# Los usuarios se suponen creados
#
# Se establecen los propietarios de cada carpeta
#

cont=1
while [ $cont le $# ]
do
chown $`cont` $`cont`
cont=$(($cont+1))
done

#
# Establecimiento de permisos
#

cd /
chmod R 711 root

************ Diseado de otra forma mas completa ***********

#!/bin/bash

chmod 711 /root

if [ ! -d /root/publica ]
then
mkdir /root/publica
fi
chmod 755 /root/publica

while read linea
do
nombre=`echo $linea | cut -d":" -f1`
uid=`echo $linea | cut -d":" -f3`

if [ $uid -ge 1000 ] && [ $uid -le 2000 ]
then

mkdir /root/publica/$nombre >/dev/null 2>/dev/null
chmod 755 /root/publica/$nombre
chown $nombre.users /root/publica/$nombre
fi

done</etc/passwd
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



78 IES Las Fuentezuelas. Jan


1. El script consiste en hacerle una fotografa al sistema de usuarios. Para ello deberemos
almacenar y empaquetar en un fichero copiaSeg_FECHA.tar.gz la informacin necesaria para
poder recuperar los usuarios, es decir, el fichero de pasword, el fichero de claves shadow, as como
las carpetas de trabajo de usuario estn estas donde estn (Para ello miraremos dentro de passwd).

El script que se encarga de hacer la copia de seguridad debe de crear una carpeta en el directorio
pasado como parmetro llamada copiaSeg_FECHA y dentro de est se almacenar el fichero
passwd el fichero shadow as como las carpetas de usuario empaquetadas y comprimidas. Una vez
se haya copiado dentro toda la informacin se aadir el script para restaurar el sistema y todo
ello se convertir en un fichero copiaSeg_FECHA.tar.gz dentro de la carpeta pasada como
parmetro y se eliminar el directorio temporal creado.

Ejemplo:
copiaseguridad /root

Qu har?
1. Crear en root un directorio copiaSeg_13012006
2. copiara el fichero passwd y shadow
3. enpaquetara todos las carpetas de usuario y las introducir en el directorio temporal.
4. Comprimir los paquetes.
5. copiar el script para restaurar el sistema dentro del directorio temporal
6. empaquetar el directorio temporal
7. comprimir el directorio temporal
8. borrar el directorio temporal.

#!/bin/bash

#
# SCRIPT GENERADOR DE COPIAS DE SEGURIDAD
#


clear

if [ -d $1 ]
then
fecha=`date +%d%m%G`
mkdir -p $1/copiaSeg_$fecha
cp /etc/passwd $1/copiaSeg_$fecha
cp /etc/shadow $1/copiaSeg_$fecha


grep "10[0-1][0-9]" /etc/passwd > /root/usuarios







LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 79


while read $linea
do
if [ "$linea" != "" ]
then
nombre=`echo $linea | cut -d":" -f1`;
echo $nombre;
carpeta=`echo $linea | cut -d":" -f6`;
echo $carpeta;

tar -cvf $carpeta $1/copiaSeg_$fecha/ $nombre.tar;
gzip $1/copiaSeg_$fecha/$nombre.tar $1/copiaSeg_$fecha/$nombre.tar.gz;
fi

done < /root/usuarios

cp $0 $1/copiaSeg_$fecha/
tar -cvf $1/copiaSeg_$fecha/ $1/copiaSeg_$fecha.tar
gzip $1/copiaSeg_$fecha.tar $1/copiaSeg_$fecha.tar.gz


else
echo No se ha introducido directorio o el directorio no existe

fi


# rm /root/usuarios
rm -rf $1/copiaSeg_$fecha
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



80 IES Las Fuentezuelas. Jan

2. Este script consiste en, una vez hayamos descomprimido y desempaquetado la copia de
seguridad sea capaz de crear los usuarios con la misma informacin que haba en el sistema antes
de hacer la copia de Seguridad. Por ello, el Script debe de crear los usuarios con sus claves
anteriores, uid, etc y generar las carpetas de usuario dndole a estas los propietarios y permisos
adecuados.

#!/bin/bash

#
# SCRIPT PARA RESTAURACION DE COPIAS DE SEGURIDAD
#
#
#
clear

if [ -d $1 ]
then
fecha=`date +%d%m%G`
mkdir -p $1/copiaSeg_$fecha
cp /etc/passwd $1/copiaSeg_$fecha
cp /etc/shadow $1/copiaSeg_$fecha


grep "10[0-1][0-9]" /etc/passwd > /root/usuarios

while read $linea
do
if [ "$linea" != "" ]
then
nombre=`echo $linea | cut -d":" -f1`;
echo $nombre;
carpeta=`echo $linea | cut -d":" -f6`;
echo $carpeta;

tar -cvf $carpeta $1/copiaSeg_$fecha/ $nombre.tar;
gzip $1/copiaSeg_$fecha/$nombre.tar $1/copiaSeg_$fecha/$nombre.tar.gz;
fi

done < /root/usuarios

cp $0 $1/copiaSeg_$fecha/
tar -cvf $1/copiaSeg_$fecha/ $1/copiaSeg_$fecha.tar
gzip $1/copiaSeg_$fecha.tar $1/copiaSeg_$fecha.tar.gz


else
echo No se ha introducido directorio o el directorio no existe

fi


rm /root/usuarios
rm -rf $1/copiaSeg_$fecha
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 81

RELACIN EXTRA DE 100 EJERCICIOS


1. Listar todos los archivos del directorio bin.

ls la /bin

2. Listar todos los archivos del directorio tmp.

ls la /tmp

3. Listar todos los archivos del directorio etc que empiecen por t en orden
inverso.

ls lrd /etc/t*

4. Listar todos los archivos del directorio dev que empiecen por tty y
tengan 5
caracteres.

ls l /dev/tty??

5. Listar todos los archivos del directorio dev que empiecen por tty y
acaben en 1,2,3 4.

ls l /dev/tty*[1-4]

6. Listar todos los archivos del directorio dev que empiecen por t y
acaben en C1.

ls l /dev/t*C1

7. Listar todos los archivos, incluidos los ocultos, del directorio raz.

ls la /

8. Listar todos los archivos del directorio etc que no empiecen por t.

ls /etc/[^t]*

9. Listar todos los archivos del directorio usr y sus subdirectorios.

ls laR /usr

10. Cambiarse al directorio tmp.

cd /tmp

11. Verificar que el directorio actual ha cambiado.

pwd
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



82 IES Las Fuentezuelas. Jan


12. Mostrar el da y la hora actual.

date

13. Con un solo comando posicionarse en el directorio $HOME.

cd o tambin cd $home

14. Verificar que se est en l.

pwd

15. Listar todos los ficheros del directorio HOME mostrando su nmero de
inodo.

ls li $HOME

16. Borrar todos los archivos y directorios visibles de vuestro directorio
PRUEBA.

rm rf ~/PRUEBA/*

17. Crear los directorios dir1, dir2 y dir3 en el directorio PRUEBA. Dentro
de dir1 crear el directorio dir11. Dentro del directorio dir3 crear el
directorio dir31. Dentro del directorio dir31, crear los directorios dir311 y
dir312.

mkdir p ~/PRUEBA/dir{1/dir11,2,3/dir31/dir31{1,2}}

18. Copiar el archivo /etc/motd a un archivo llamado mensaje de vuestro
directorio PRUEBA.

cp /etc/motd ~/PRUEBA/mensaje

19. Copiar mensaje en dir1, dir2 y dir3.

cat ~/PRUEBA/mensaje
>~/PRUEBA/dir1/mensaje>~/PRUEBA/dir2/mensaje>~/PRUEBA/dir3/mensaje

20. Comprobar el ejercicio anterior mediante un solo comando.

ls lR ~/PRUEBA/

21. Copiar los archivos del directorio rc.d que se encuentra en /etc al
directorio dir31.

cp r /etc/rc0.d/* ~/PRUEBA/dir1/dir11/

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 83

22. Copiar en el directorio dir311 los archivos de /bin que tengan una a
como segunda letra y su nombre tenga cuatro letras.

cp /bin/?a??

23. Copiar el directorio de otro usuario y sus subdirectorios debajo de
dir11 (incluido el propio directorio).

cp r ~/user/ ~/PRUEBA/dir1/dir11/

24. Mover el directorio dir31 y sus subdirectorios debajo de dir2.

mv ~/PRUEBA/dir3/dir31 ~/PRUEBA/dir2/

25. Mostrar por pantalla los archivos ordinarios del directorio HOME y sus
subdirectorios.

ls lR $HOME | grep ^_

26. Ocultar el archivo mensaje del directorio dir3.

mv ~/PRUEBA/dir3/mensaje ~/PRUEBA/dir3/.mensaje

27. Borrar los archivos y directorios de dir1, incluido el propio directorio.

rm rf ~/PRUEBA/dir1

28. Copiar al directorio dir312 los ficheros del directorio /dev que
empiecen por t, acaben en una letra que vaya de la a a la b y tengan
cinco letras en su nombre.

cp /dev/t???[a,b] ~/PRUEBA/dir31/dir312

29. Borrar los archivos de dir312 que no acaben en b y tengan una q
como cuarta letra.

rm ~/PRUEBA/dir3/dir31/dir312/???q*[^b]

30. Mover el directorio dir312 debajo de dir3.

mv ~/PRUEBA/dir2/dir31/dir312/ ~/PRUEBA/dir3/

31. Crear un enlace simblico al directorio dir1 dentro del directorio dir3
llamado enlacedir1.

ln s /home/usuario/PRUEBA/dir1/ /home/usuario/PRUEBA/dir3/enlacedir1


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



84 IES Las Fuentezuelas. Jan

32. Posicionarse en dir3 y, empleando el enlace creado en el ejercicio
anterior, crear el directorio nuevo1 dentro de dir1.

cd ~/PRUEBA/dir3 mkdir enlacedir1/nuevo1

33. Utilizando el enlace creado copiar los archivos que empiecen por u del
directorio /bin en directorio nuevo1.

cp /bin/u*

34. Crear dos enlaces duros del fichero fich1, llamarlo enlace, en los
directorios dir1 y dir2.

ln /home/usuario/fich1 /home/usuario/PRUEBA/dir1/enlace

ln /home/usuario/fich1 /home/usuario/PRUEBA/dir2/enlace



35. Borrar el archivo fich1 y copiar enlace en dir3.

rm ~/fich1 ; cp ~/PRUEBA/dir1/enlace ~/PRUEBA/dir3/

36. Crear un enlace simblico (llamado enlafich1) al fichero enlace de dir2
en dir1.

ln s home/usuario/PRUEBA/dir2/enlace /home/usuario/PRUEBA/dir2/enlafich1


37. Posicionarse en dir1 y, mediante el enlace creado, copiar el archivo
fichl dentro de dir311.

cd ~/PRUEBA/dir1 cp enlafich1 ~/PRUEBA/dir2/dir31/dir311/

38. Seguir en dir1 y, mediante el enlace creado, sacar por pantalla las
lneas que tiene el archivo fich1.

cat enlafich1

39. Borrar el fichero fich1 de dir2

rm ~/PRUEBA/dir2/fich1

40. Borrar todos los archivos y directorios creados durante los ejercicios.

rm rf ~/PRUEBA

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 85

41. Crear el directorio dir2 y dir3 en el directorio PRUEBA Cules son los
actuales permisos del directorio dir2?

mkdir p ~/PRUEBA/dir{2,3} ;

ls la ~/PRUEBA/ | grep dir2 | cut d f1

(Esto genera la cadena d rwx r-x r-x es decir 755)


42. Utilizando la notacin simblica, eliminar todos los permisos de
escritura (propietario, grupo, otros) del directorio dir2. .

chmod a-w ~/PRUEBA/dir2

43. Utilizando la notacin octal, eliminar el permiso de lectura del
directorio dir2, al resto de los usuarios.

chmod 751 ~/PRUEBA/dir2

44. Cules son ahora los permisos asociados a dir2?

ls l ~/PRUEBA/dir2 | grep dir2 | cut d f1

(Esto genera la cadena d r-x r-x x es decir 551)

45. Crear bajo dir2, un directorio llamado dir2l.

No se puede, se exige previamente cambiar los permisos.

46. Concederse a s mismo permiso de escritura en el directorio dir2 e
intentar de nuevo el paso anterior.

chmod 751 ~/PRUEBA/dir2 ; mkdir ~/PRUEBA/dir2/dir21

47. Cules son los valores por omisin asignados a los archivos?

rw- r-- r-- o 644

48. Cambiar el directorio actual al directorio dir3. Imprimir su trayectoria
completa para verificar el cambio.

cd ~/PRUEBA/dir3 ; pwd

49. Cules son los permisos asignados en su momento a este directorio?

rwx r-x r-x o 755

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



86 IES Las Fuentezuelas. Jan

50. Establecer mediante el comando umask (buscar este comando) los
siguientes valores por omisin: rwxr--r--para los directorios y rw-r--r--
para los archivos ordinarios.

umask 0033

51. Crear cuatro nuevos directorios llamados dira, dirb, dirc, y dird bajo
el directorio actual.

mkdir dir{a-d}

52. Comprobar los permisos de acceso de los directorios recin creados
para comprobar el funcionamiento del comando umask.

ls l (Los permisos coinciden con lo esperado)

53. Crear el fichero uno . Quitarle todos los permisos de lectura.
Comprobarlo. Intentar borrar dicho fichero.

echo algo > uno ; chmod a-r uno ; ls l
rm uno (Con permiso de escritura es posible borrarlo)

54. Quitarle todos los permisos de paso al directorio dir2 y otorgarle
todos los dems.

chmod 666 dir2


55. Crear en el directorio propio: El directorio carpeta1 con los tres
permisos para el propietario, dentro de l fich1 con lectura y escritura
para todos y fich2 con lectura y escritura para el propietario y solo
lectura para el resto. El directorio carpeta2 con todos los permisos para
el propietario y lectura y ejecucin para los del mismo grupo. Dentro file1
con lectura y escritura para el propietario y los del grupo y file2 con los
mismos para el propietario y solo lectura para el grupo.

mkdir carpeta {1,2} ; chmod 744 carpeta1 ; chmod 754 carpeta2

echo algo > ~/carpeta1/fich1 ; chmod 666 ~/carpeta1/fich1
echo algo > ~/carpeta1/fich2 ; chmod 644 ~/carpeta1/fich2

echo algo > ~/carpeta2/file1 ; chmod 664 ~/carpeta1/file1
echo algo > ~/carpeta2/file2 ; chmod 644 ~/carpeta1/file2



LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 87

56. Desde otro usuario probar todas las operaciones que se pueden hacer
en los ficheros y directorios creados.

(Se abre una terminal con el usuario prueba).

carpeta 1: Se puede entrar, no mover ni renombrar, se puede listar

carpeta 2: Se puede entrar, no mover / renombrar, se puede listar

fich1 : se puede modificar, se puede leer, no ejecutar.
fich2 : se puede modificar, se puede leer, no ejecutar.

file1 : se puede modificar, se puede leer, no ejecutar.
file2 : no se puede modificar, se puede leer, no ejecutar.

57. Visualizar la trayectoria completa del directorio actual. Crear dos
directorios llamados correo y fuentes debajo del directorio actual.

pwd ; mkdir correo fuentes

58. Posicionarse en el directorio fuentes y crear los directorios dir1, dir2,
dir3.

cd fuentes ; mkdir dir{1-3}

59. Crear el directorio menus bajo correo sin moverse del directorio
actual.

mkdir ../correo/menus

60. Posicionarse en el directorio HOME. Borrar los directorios que cuelgan
de fuentes que acaben en un nmero que no sea el 1.

cd rm rf ~/carpeta2/fuentes/*[^1]


61. Ver si existe el archivo tty2 en el directorio dev. En caso de que
exista, ver su fecha de creacin o actualizacin.

ls l /dev/tty2 (La fecha es 7/3/2007)

62. Ver los permisos que tienen los archivos que empiecen por tt del
directorio /dev.

ls l /dev/tt*

63. Visualizar la lista de los archivos ordinarios que estn en el directorio
/usr/bin.

find /usr/bin type f

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



88 IES Las Fuentezuelas. Jan

64. Visualizar la lista de todos los directorios que cuelgan del raz.

find / -type d o tambin ls l | grep ^d*

65. Visualizar la lista de todos los ficheros que pertenezcan a root.

find / -user root

66. Visualizar la lista de todos los ficheros .h del directorio /usr/include.

ls lF /usr/include/*.h | grep v /

o tambin find /usr/include *.h maxdepth 1

67. Ejecutar todos los comandos que empiecen por ls del directorio /bin.

ls /bin | grep ^ls | /bin/bash

ls /bin/ls* | /bin/bash

o por ejecucin directa:
ls
lsmod
lsmod.modutils
lspci

68. Visualizar de qu tipo son todos y cada uno de ficheros de todo el
rbol del sistema propiedad de un usuario conocido.

find /user root >> tmp ; file f tmp

69. Crear el directorio uno en el directorio HOME con permiso de escritura
y paso para el propietario, de lectura y paso para los usuarios de su
mismo grupo y ningn permiso para el resto de usuarios.

mkdir ~/uno ; chmod 350 uno

70. Crear el directorio uno1 dentro del directorio creado en el ejercicio
anterior con todos lo permisos para el usuario, ninguno para los usuarios
del grupo y permiso de escritura para el resto de usuarios.

mkdir ~/uno/uno1 ; chmod 702 ~/uno/uno1

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 89

71. Copiar todos los ficheros propiedad de un usuario conocido que
acaben en un nmero en el directorio menus.

#!/bin/bash

rm file

find /home -user usuario >> file

while read lnea
do
cp R $linea ~/usuario/menus


done < file


72. Visualiza con la orden who la relacin de usuarios conectados y sus
terminales. Mediante la orden cat, crea un pequeo mensaje desde tu
consola y redirgelo a uno de los terminales conectados.

who | cut c 1-14 ; cat > /dev/tty3

73. Crea un archivo de tamao 0

echo > fichero

74. Visualiza el archivo /etc/motd, que contiene el "mensaje del da".

cat /etc/motd

75. Utilizando de entrada la informacin de los usuarios conectados al
sistema, guardar, ordenadas por el campo hora, las lneas
correspondientes al usuario que se desee en el archivo persona.

who | grep usuario > persona

76. Crear el directorio carpeta debajo del directorio PRUEBA. Quitarle
todos los permisos de lectura. A continuacin, buscar todos los
directorios que cuelguen del directorio propio y guardarlos en el archivo
direc.

mkdir ~/PRUEBA ; chmod 333 ~/PRUEBA ; find ~/ -type d > direc

77. Volver a realizar la segunda parte del ejercicio anterior, pero
redireccionando los errores al fichero malos. Comprobar la informacin
del fichero malos.

find ~/ -type d > direc 2>malos ; cat malos

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



90 IES Las Fuentezuelas. Jan

78. Aadir al fichero direc la lista de todos los ficheros ordinarios que
cuelguen de /etc.
find /etc type f >> direc


79. Aadir al archivo nuevalista el/los nombre/s de el/los fichero/s del
directorio PRUEBA que contengan en su nombre la cadena "ai",
aadiendo el posible error al fichero malos.

(Es necesario modificar los permisos de lectura)

find ~/PRUEBA/ *ai* -type f >> nuevalista 2>>malos

80. Sacar por pantalla nicamente el tiempo (buscar comando time) que
tarda en ejecutarse el comando who.

time who >/dev/null (deriva a null la salida del fichero)

81. Sacar por pantalla un listado completo (buscar comando ps) de los
procesos que est realizando el usuario root.

ps u root (-u user)

82. Crear el archivo proceso con los procesos que no tienen ningn
terminal asignado.

ps ef | grep v tty > proceso

83. Aadir al fichero anterior la fecha actual y la trayectoria completa del
directorio actual.

date > tmp ; pwd >> tmp ; cat temp >> proceso

84. Sacar por pantalla el listado de todos los usuarios conectados
ordenados por nmero de proceso asignado.

ps a f (a incluye a otros usuarios ; -f formato de arbol)

85. Averiguar cul es la actividad actual del sistema. Para ello visualice
un listado completo del estado de todos los procesos que se estn
ejecutando en el sistema.

ps -ef (e muestra enviroment, entorno) o tambin con top


86. Obtener un listado con los siguientes datos de los procesos de su
shell actual.

Este listado se compone de la compilacin de los comandos de los
ejercicios 87 a 91 y con su salida derivada a un fichero
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 91


87. Mostrar cuantos usuarios tiene registrados el sistema (el registro de
usuarios est en el archivo /etc/passwd)

cat /etc/passwd | grep 10[0-9][0-9] | cut d: -f1

88. Mostrar cuntos usuarios tiene registrados el sistema y que utilizan
el intrprete bash (debe aparecer al final de la lnea /bin/bash o similar)

cat /etc/passwd | grep 10[0-9][0-9] | grep /bin/bash | cut d: -f1


89. Mostrar cuantos usuarios hay conectados

who | cut d f-2 > tmp ; cat tmp | wc l >> tmp ; cat tmp

90. Mostrar las lneas, de un archivo de texto, empiecen por L (mayscula
o minscula)

cat doc | grep l,L

91. Contar las lneas, del ejemplo anterior

cat doc | grep l,L | wc -l

92. Extraer los nombres de usuario (primer campo) del sistema

cat /etc/passwd | grep 10[0-9][0-9] | cut d: -f1

93. Extraer los nombres de usuario y el shell que utilizan (ltimo campo)

#!/bin/bash

cat /etc/passwd | grep 10[0-9][0-9] | cut d: -f1 > temp1
cat /etc/passwd | grep 10[0-9][0-9] | cut d: -f2 > temp2

cat n temp1 > tmp

num =1;

echo > archivo

while read lnea

do
usuario=`cat tmp | grep[$num] | cut d. f2`;
echo $usuario : $linea >> archivo
num=$(($num+1));

done < temp2

cat archivo


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



92 IES Las Fuentezuelas. Jan

94. Cambiar la fecha de creacin de un archivo ya previamente creado

echo otra cosa > file1 ; touch t 198003181632 file1

95. Calcular la firma md5 de un archivo

md5sum fichero > fichero.md5 (Vuelca la firma del archivo)

96. Modificar la firma md5 y detectar que se ha cambiado (revisin de
firma)

El fichero fichero.md5 es editado. Se prueba el comando:

md5sum vc fichero.md5 (v verboso , c comprobar fichero)

97. Monitorear la ocupacin de las particiones en los discos

du a (a datos sobre ficheros y directorios)
df ha (h muestra unidades de medida, a: all, toda la informacin)

98. Cual es el proceso que ms carga el procesador?

top ; El comando find /*, con un 13 % de la CPU

99. Est corriendo el proceso bash?

ps ef | grep bash (si, se encuentra en ejecucion)

100. Cuntos procesos que empiecen por k estn corriendo?

ps e | cut -c 25-100 | grep ^k | wc l (Hay 10 procesos)

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 93

Recopilacin de algunos de los comandos LINUX ms usados.
A
addgroup
Se utiliza para crear un grupo nuevo.
Sintaxis: addgroup nom_grupo
adduser
Se utiliza para aadir un usuario. En ese momento, no solo se crear la cuenta del usuario sino tambin su directorio
de trabajo, un nuevo grupo de trabajo que se llamar igual que el usuario y aadir una serie de ficheros de
configuracin al directorio de trabajo del nuevo usuario.
Sintaxis: adduser nom_usuario [nom_grupo]
alias
En ciertas ocasiones se suelen utilizar comandos que son difciles de recordar o que son demasiado extensos, pero
en UNIX existe la posibilidad de dar un nombre alternativo a un comando con el fin de que cada vez que se quiera
ejecutar, slo se use el nombre alternativo.
Sintaxis: alias nom_alias=comando
apt-cache search (texto)
Muestra una lista de todos los paquetes y una breve descripcin relacionado con el texto que hemos buscado.
apt-get dist-upgrade
Funcin adicional de la opcin anterior que modifica las dependencias por la de las nuevas versiones de los
paquetes.
apt-get install (paquetes)
Instala paquetes.
apt-get remove (paquete)
Borra paquetes. Con la opcin purge borramos tambien la configuracin de los paquetes instalados.
apt-get update
Actualiza la lista de paquetes disponibles para instalar.
apt-get upgrade
Instala las nuevas versiones de los diferentes paquetes disponibles.
at
Realiza un tarea programada una sola vez.
Sintaxis: at [-lr] hora [fecha].
B
bash, sh
Existen varias shells para Unix, Korn-Shell (ksh), Bourne-Shell (sh), C-Shell (csh),bash.
Sintaxis: bash / sh / ksh / csh.
bg
Manda un proceso a segundo plano.
Sintaxis: bg PID.
C
cal
Muestra el calendario.
Sintaxis: cal [[mes] ao].
cat
Muestra el contenido del archivo en pantalla en forma continua, el prompt retornar una vez mostrado el contenido
de todo el archivo. Permite concatenar uno o mas archivos de texto.
Sintaxis: cat nom_archivo.
cd
Cambia de directorio.
Sintaxis: cd nom_directorio.
chattr
Cambiar atributos de un fichero.
Sintaxis: chattr atributos nom_archivo.
chgrp
Cambia el grupo al que pertenece el archivo.
Sintaxis: chgrp nom_grupo nom_archivo.
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



94 IES Las Fuentezuelas. Jan

chmod
Utilizado para cambiar la protecin o permisos de accesos a los archivos.
r:lectura w:escritura x:ejecucin
+: aade permisos -:quita permisos
u:usuario g:grupo del usuario o:otros
Sintaxis: chmod permisos nom_archivo
chown
Cambia el propietario de un archivo.
Sintaxis: chown nom_propietario nom_archivo.
chroot
Nos permite cambiar el directorio raiz.
Sintaxis: chroot nom_directorio_raiz.
clear
Limpia la pantalla, y coloca el prompt al principio de la misma.
Sintaxis: clear.
cmp, diff
Permite la comparacin de dos archivos, lnea por lnea. Es utilizado para compara archivos de datos.
Sintaxis: diff nom_archivo1 nom_archivo2 / cmp nom_archivo1 nom_archivo2.
cp
Copia archivos en el directorio indicado.
Sintaxis: cp nom_archivo nom_directorio.
crontab
Realizar una tarea programada de forma regular.
Sintaxis: minuto(0-59) hora(0-23) dia_mes(1-31) mes(1-12) dia_semana(0-6) comando.
cut
Ttiene como uso principal mostrar una columna de una salida determinada. La opcin -d va seguida del delimitador
de los campos y la opcin -f va seguida del nmero de campo a mostrar. El delimitador por defecto es el tabulador,
nosotros lo cambiamos con la opcin -d. Tiene algunas otras opciones tiles.
Sintaxis: cut [opciones] nom_archivo.
D
date
Retorna el da, fecha, hora (con minutos y segundos) y ao.
Sintaxis: date.
delgroup
Se utiliza para eliminar un grupo.
Sintaxis: delgroup nom_grupo.
deluser
Elimina una cuenta de usuario. La pega de este comando es que no elimina automticamente el directorio de trabajo
del usuario.
Sintaxis: deluser nom_usuario.
df
Muestra los sistemas de ficheros montados.
Sintaxis:df
dmesg
Muestra los mensajes del kernel durante el inicio del sistema.
Sintaxis: dmesg.
Dpkg -reconfigure (paquetes)
Volver a reconfigurar un paquete ya instalado.
du
Sirve para ver lo que me ocupa cada directorio dentro del directorio en el que me encuentro y el tamao total.
Sintaxis: du
E
echo
Muestra un mensaje por pantalla.
Sintaxis: echo Cadena.
eject
Mediante la utilizacin de este comando se conseguir la expulsin de la unidad de CD, siempre y cuando esta no
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 95

est en uso.
Sintaxis: eject.
env
Para ver las variables globales.
Sintaxis: env.
exit
Cierra las ventanas o las conexiones remotas establecidas o las conchas abiertas. Antes de salir es recomendable
eliminar todos los trabajos o procesos de la estacin de trabajo.
Sintaxis: exit.
F
fg
Manda un proceso a primer plano.
Sintaxis: fg PID.
file
Determina el tipo del o los archivo(s) indicado(s).
Sintaxis: file nom_archivo.
find
Busca los archivos que satisfacen la condicin en el directorio indicado.
Sintaxis: find nom_directorio o nom_archivo condicin.
free
Muestra informacin sobre el estado de la memoria del sistema, tanto la swap como la memoria fsica.Tambien
muestra el buffer utilizado por el kernel.
Sintaxis: free.
fsck
Para chequear si hay errores en nuestro disco duro.
Sintaxis: fsck t fs_typo dispositivo.
ftp
Protocolo de Transferencia de Archivos, permite transferir archivos de y para computadores remotos.
Sintaxis: ftp maquina_remota.
G
grep
Su funcionalidad es la de escribir en salida estndar aquellas lneas que concuerden con un patrn. Busca patrones
en archivos.
Sintaxis: grep [-cilnv] expr nom_archivos.
gzip
Comprime solo archivo utilizando la extensin .gz.
Sintaxis: gzip nom_archivo.
H
head
Muestra las primeras lineas de un fichero.
Sintaxis: head -count nom_archivo.
history
Lista los ms recientes comandos que se han introducido en la ventana. Es utilizado para repetir comandos ya
tipeados, con el comando !.
Sintaxis: history
I
id
Numero id de un usuario.
Sintaxis: id
ifconfig
Obtener informacin de la configuracin de red.
Sintaxis: ifconfig.
insmod
Carga en memoria un mdulo.
Sintaxis: insmod
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



96 IES Las Fuentezuelas. Jan

J
job
Lista los procesos que se estn ejecutando en segundo plano.
Sintaxis: jobs
K
kill
Permite interactuar con cualquier proceso mandando seales.Kill (pid) termina un proceso y Kill -9 (pid) fuerza a
terminar un proceso en caso de que la anterior opcin falle.
Sintaxis: kill [opciones] PID.
L
last
Este comando permite ver las ltimas conexiones que han tenido lugar.
Sintaxis: last.
less
Muestra el archivo de la misma forma que more, pero puedes regresar a la pgina anterior presionando las teclas u
o b.
Sintaxis: less nom_archivo
ln
Sirve para crear enlaces a archivos, es decir, crear un fichero que apunta a otro. Puede ser simblico si usamos -s o
enlace duro.
Sintaxis: ln [-s] nom_archivo nom_acceso.
logout
Las sesiones terminan con el comando logout.
Sintaxis: logout.
lpr
Imprime un archivo en la impresora predeterminada.
Sintaxis: lpr -[lista de requerimientos]/ lpr -P nombre_archivo.
ls
Lista los archivos y directorios dentro del directorio de trabajo.
Sintaxis: ls.
lsattr
Ver atributos de un fichero.
Sintaxis: lsattr nom_archivo.
lsmod
Muestra los mdulos cargados en memoria.
Sintaxis: lsmod.
M
mail
Para enviar/recibir correo a/de otros usuarios de la red, o dentro de nuestro ordenador.
Sintaxis: mail.
make
Es una herramienta que controla la creacin de ejecutables y otros archivos de un programa a partir de los archivos
fuente.
Sintaxis: make.
man
Ofrece informacin acerca de los comandos o tpicos del sistema UNIX, as como de los programas y libreras
existentes.
Sintaxis: man comando.
mkdir
Crea un nuevo directorio.
Sintaxis: mkdir nom_directorio.
mv
Este comando sirve para renombrar un conjunto.
Sintaxis: mmv nom_archivos1 nom_archivos2.

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 97

more
Muestra el archivo en pantalla. Presionando enter, se visualiza linea por linea. Presinando la barra espaciadora,
pantalla por pantalla. Si desea salir, presiona q.
Sintaxis: more nom_archivo.
mount
En Linux no existen las unidades A: ni C: sino que todos los dispositivos cuelgan del directorio raz /. Para acceder
a un disco es necesario primero montarlo, esto es asignarle un lugar dentro del rbol de directorios del sistema.
Sintaxis: mount -t sistema_de_archivo dispositivo nom_directorio.
mv
Mueve archivos o subdirectorios de un directorio a otro, o cambiar el nombre del archivo o directorio.
Sintaxis: mv nom_archivo1 nom_archivoN nom_directorio.
N
netstat
Muestra las conexiones y puertos abiertos por los que se establecen las comunicaciones.
Sintaxis: netstat.
nice
Permite cambiar la prioridad de un proceso en nuestro sistema.
Sintaxis: nice -n prioridad PID.
O
Aun no se ha dado de alta ningn comando que comience con esta letra
P
passwd
Se utiliza para establecer la contrasea a un usuario.
Sintaxis: passwd nom_usuario.
ping
El comando ping se utiliza generalmente para testear aspectos de la red, como comprobar que un sistema est
encendido y conectado; esto se consigue enviando a dicha mquina paquetes ICMP. El ping es til para verificar
instalaciones TCP/IP. Este programa nos indica el tiempo exacto que tardan los paquetes de datos en ir y volver a
travs de la red desde nuestro PC a un determinado servidor remoto.
Sintaxis: ping (maquina).
poweroff
Apagar el ordenador.
Sintaxis: poweroff.
ps
Muestra informacin acerca de los procesos activos. Sin opciones, muestra el nmero del proceso, terminal, tiempo
acumulado de ejecucin y el nombre del comando.
Sintaxis: ps.
pstree
Muestra un rbol de procesos.
Sintaxis: pstree.
pwd
Muestra el directorio actual de trabajo.
Sintaxis: pwd.
Q
Aun no se ha dado de alta nign comando que comience con esta letra
R
reset
Si observamos que escribimos en pantalla y no aparece el texto pero al pulsar enter realmente se est escribiendo, o
que los colores o los textos de la consola se corrompen, puede ser que alguna aplicacin en modo texto haya
finalizado bruscamente no restaurando los valores estndar de la consola al salir. Con esto forzamos unos valores
por defecto, regenerando la pantalla.
Sintaxis: reset.
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



98 IES Las Fuentezuelas. Jan

rlogin
Conectan un host local con un host remoto.
Sintaxis: rlogin maquina_remota.
rm
Remueve o elimina un archivo.
Sintaxis: rm nom_archivo.
rmdir
Elimina el directorio indicado, el cual debe estar vaco.
Sintaxis: rmdir nom_directorio.
rmmod
Descarga de memoria un mdulo, pero slo si no est siendo usado.
Sintaxis: rmmod.
route
El comando route se utiliza para visualizar y modificar la tabla de enrutamiento.
Sintaxis: route (muestra informacin del comando route).
S
scp
Sirve para hacer una copia segura entre dos ordenadores. La informacin viaja encriptada.
Sintaxis: scp usuario@servidor:directorio_servidor directorio_local.
set
Para ver las variables de entorno.
Sintaxis: set.
sftp
Protocolo de Transferencia de Archivos, permite transferir archivos de y para computadores remotos. La informacin
viaja encriptada.
Sintaxis: sftp maquina_remota.
sort
Muestra el contenido de un fichero, pero mostrando sus lneas en orden alfabtico.
Sintaxis: Sort [opciones] nom_archivo.
ssh (Secure Shell Client)
Es un programa para conectarse en una mquina remota y ejecutar programas en ella. Utilizado para reemplazar el
rlogin y rsh, adems provee mayor seguridad en la comunicacin entre dos hosts. El ssh se conecta al host indicado,
donde el usuario de ingresar su identificacin (login y password) en la mquina remota, la cual realiza una
autentificacin del usuario.
Sintaxis: ssh maquina_remota.
startx
Inicia el entorno grfico(servidor X).
Sintaxis: startx.
su
Con este comando accedemos al sistema como root.
Sintaxis: su.
T
tail
Este comando es utilizado para examinar las ltimas lneas de un fichero.
Sintaxis: tail -count nom_archivo.
tar
Comprime archivos y directorios utilizando la extensin .tar.
Sintaxis: tar -[arg] nom_archivo.tar nom_archivo.
telnet
Conecta el host local con un host remoto, usando la interfaz TELNET.
Sintaxis: telnet maquina_remota
top
Muestra los procesos que se ejecutan en ese momento, sabiendo los recursos que se estn
consumiendo(Memoria,CPU,).Es una mezcla del comando uptime,free y ps.
Sintaxis: top.
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 99

touch
Crea un archivo vacio.
Sintaxis: touch nom_archivo.
traceroute
Permite determinar la ruta tomada por un paquete para alcanzar su destino en Internet.
Sintaxis: traceroute [opciones] host [tamao del paquete].
U
umask
Establece la mscara de permisos. Los permisos con los que se crean los directorios y los archivos por defecto.
Sintaxis: umask a-rwx,u+rw,g+r.
umount
Establece la mscara de permisos. Los permisos con los que se crean los directorios y los archivos por defecto.
Sintaxis: umask a-rwx,u+rw,g+r.
unalias
Borra un alias.
Sintaxis: unalias nom_alias.
uniq
Este comando lee un archivo de entrada y compara las lneas adyacentes escribiendo solo una copia de las lneas a
la salida. La segunda y subsecuentes copias de las lneas de entrada adyacentes repetidas no sern escritas. Las
lneas repetidas no se detectarn a menos que sean adyacentes. Si no se especifica algn archivo de entrada se
asume la entrada estndar.
Sintaxis: uniq [opciones] nom_archivo_entrada nom_archivo_salida.
uptime
Nos indica el tiempo que ha estado corriendo la mquina.
Sintaxis: uptime.
V
vi
Permite editar un archivo en el directorio actual de trabajo. Es uno de los editores de texto ms usado en UNIX.
Sintaxis: vi nom_archivo.
view
Es similar al vi, solo que no permite guardar modificaciones en el archivo, es para leer el contenido del archivo.
Sintaxis: view nom_archivo.
W
wc
Cuenta los carteres, palabras y lneas del archivo de texto.
Sintaxis: wc nom_archivo.
whereis
Devuelve la ubicacin del archivo especificado, si existe.
Sintaxis: whereis nomb_archivo.
who, w
Lista quienes estn conectado al servidor, con nombre de usuario, tiempo de conexin y el computador remoto
desde donde se conecta.
Sintaxis: who / w.
whoami
Escribe su nombre de usuario en pantalla.
Sintaxis: whoami.
X
xmessage
Enviar un mensaje al display de otro usuario o al nuestro propio.
Sintaxis: xmessage (mensaje) / export DISPLAY=157.92.49.211:0 xmessage Hola!!.
Y
yes
Escribe y continuamente.
Sintaxis: yes.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



100 IES Las Fuentezuelas. Jan

Z
Aun no se ha dado de alta nign comando que comience con esta letra
Varios
&
Aadiendo un & al final del comando haremos que se comando ese ejecute en segundo plano.
Sintaxis: nom_comando&.
!
Repite el ltimo comando colocando la letra con la que comienza el comando o su nmero de history.
Sintaxis: !.

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 101

Algunos comandos de GNU/Linux
Informacin del sistema
1. arch: mostrar la arquitectura de la mquina (1).
2. uname -m: mostrar la arquitectura de la mquina (2).
3. uname -r: mostrar la versin del kernel usado.
4. uname -a: mostrar la informacin completa.
5. dmidecode -q: mostrar los componentes (hardware) del sistema.
6. hdparm -i /dev/hda: mostrar las caractersticas de un disco duro.
7. hdparm -tT /dev/sda: realizar prueba de lectura en un disco duro.
8. cat /proc/cpuinfo: mostrar informacin de la CPU.
9. cat /proc/interrupts: mostrar las interrupciones.
10. cat /proc/meminfo: verificar el uso de memoria.
11. cat /proc/swaps: mostrar ficheros swap.
12. cat /proc/version: mostrar la versin del kernel.
13. cat /proc/net/dev: mostrar adaptadores de red y estadsticas.
14. cat /proc/mounts: mostrar el sistema de ficheros montado.
15. lspci -tv: mostrar los dispositivos PCI.
16. lsusb -tv: mostrar los dispositivos USB.
17. lshw: listar el hardware.
18. discover: listar el hardware.
19. date: mostrar la fecha del sistema.
20. cal 2011: mostrar el almanaque de 2011.
21. cal 07 2011: mostrar el almanaque para el mes julio de 2011.
22. date 041217002011.00: colocar (declarar, ajustar) fecha y hora.
23. clock -w: guardar los cambios de fecha en la BIOS.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



102 IES Las Fuentezuelas. Jan

Apagar, reiniciar o cerrar sesin
1. shutdown -h now: apagar el sistema (1).
2. init 0: apagar el sistema (2).
3. telinit 0: apagar el sistema (3).
4. halt: apagar el sistema (4).
5. shutdown -h hours:minutes &: apagado planificado del sistema.
6. shutdown -c: cancelar un apagado planificado del sistema.
7. shutdown -r now: reiniciar (1).
8. reboot: reiniciar (2).
9. logout: cerrar sesin.
10. exit: salir del intrprete de comandos (si solo hay uno, equivale a cerrar sesin).

Gestionar archivos y directorios
1. cd /home: entrar en el directorio home.
2. cd ..: retroceder un nivel.
3. cd ../..: retroceder 2 niveles.
4. cd: ir al directorio raz.
5. cd ~user1: ir al directorio user1.
6. cd -: ir (regresar) al directorio anterior.
7. pwd: mostrar el camino del directorio de trabajo.
8. ls: ver los ficheros de un directorio.
9. ls -F: ver los ficheros de un directorio.
10. ls -l: mostrar los detalles de ficheros y carpetas de un directorio.
11. ls -a: mostrar los ficheros ocultos.
12. ls *[0-9]*: mostrar los ficheros y carpetas que contienen nmeros.
13. tree: mostrar los ficheros y carpetas en forma de rbol comenzando por la raz.(1)
14. lstree: mostrar los ficheros y carpetas en forma de rbol comenzando por la raz.(2)
15. mkdir dir1: crear una carpeta o directorio con nombre 'dir1'.
16. mkdir dir1 dir2: crear dos carpetas o directorios simultneamente (Crear dos directorios a la vez).
17. mkdir -p /tmp/dir1/dir2: crear un rbol de directorios.
18. rm -f file1: borrar el fichero llamado 'file1'.
19. rmdir dir1: borrar la carpeta llamada 'dir1'.
20. rm -rf dir1: eliminar una carpeta llamada 'dir1' con su contenido de forma recursiva. (Si lo borro recursivo
estoy diciendo que es con su contenido).
21. rm -rf dir1 dir2: borrar dos carpetas (directorios) con su contenido de forma recursiva.
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 103

22. mv dir1 new_dir: renombrar o mover un fichero o carpeta (directorio).
23. cp file1: copiar un fichero.
24. cp file1 file2: copiar dos ficheros al unsono.
25. cp dir /* .: copiar todos los ficheros de un directorio dentro del directorio de trabajo actual.
26. cp -a /tmp/dir1 .: copiar un directorio dentro del directorio actual de trabajo.
27. cp -a dir1: copiar un directorio.
28. cp -a dir1 dir2: copiar dos directorio al unsono.
29. ln -s file1 lnk1: crear un enlace simblico al fichero o directorio.
30. ln file1 lnk1: crear un enlace fsico al fichero o directorio.
31. touch -t 0712250000 file1: modificar el tiempo real (tiempo de creacin) de un fichero o directorio.
32. file file1: salida (volcado en pantalla) del tipo mime de un fichero texto.
33. iconv -l: listas de cifrados conocidos.
34. iconv -f fromEncoding -t toEncoding inputFile > outputFile: crea una nueva forma del fichero de
entrada asumiendo que est codificado en fromEncoding y convirtindolo a ToEncoding.
35. find . -maxdepth 1 -name *.jpg -print -exec convert {} -resize 8060 thumbs/{} \;: agrupar
ficheros redimensionados en el directorio actual y enviarlos a directorios en vistas de miniaturas
(requiere convertir desde ImagemagicK).

Encontrar archivos
1. find / -name file1: buscar fichero y directorio a partir de la raz del sistema.
2. find / -user user1: buscar ficheros y directorios pertenecientes al usuario 'user1'.
3. find /home/user1 -name \*.bin: buscar ficheros con extensin '. bin' dentro del directorio '/ home/user1'.
4. find /usr/bin -type f -atime +100: buscar ficheros binarios no usados en los ltimos 100 das.
5. find /usr/bin -type f -mtime -10: buscar ficheros creados o cambiados dentro de los ltimos 10 das.
6. find / -name \*.rpm -exec chmod 755 '{}' \;: buscar ficheros con extensin '.rpm' y modificar permisos.
7. find / -xdev -name \*.rpm: Buscar ficheros con extensin '.rpm' ignorando los dispositivos removibles
como cdrom, pen-drive, etc.
8. locate \*.ps: encuentra ficheros con extensin '.ps' ejecutados primeramente con el command 'updatedb'.
9. whereis halt: mostrar la ubicacin de un fichero binario, de ayuda o fuente. En este caso pregunta
dnde est el comando 'halt'.
10. which comando: mostrar la senda completa (el camino completo) a un comando.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



104 IES Las Fuentezuelas. Jan

Montando un sistema de ficheros
1. mount /dev/hda2 /mnt/hda2: montar un disco llamado hda2. Verifique primero la existencia del
directorio '/ mnt/hda2'; si no est, debe crearlo.
2. umount /dev/hda2: desmontar un disco llamado hda2. (Antes es necesario salir del punto '/mnt/hda2'.
3. fuser -km /mnt/hda2: forzar el desmontaje cuando el dispositivo est ocupado.
4. umount -n /mnt/hda2: correr el desmontaje sin leer el fichero /etc/mtab. til cuando el fichero es de solo
lectura o el disco duro est lleno.
5. mount /dev/fd0 /mnt/floppy: montar un disco flexible (floppy).
6. mount /dev/cdrom /mnt/cdrom: montar un cdrom / dvdrom.
7. mount /dev/hdc /mnt/cdrecorder: montar un cd regrabable o un dvdrom.
8. mount /dev/hdb /mnt/cdrecorder: montar un cd regrabable / dvdrom (un dvd).
9. mount -t udf,iso9660 -o loop file.iso /mnt/cdrom: montar un fichero o una imagen ISO.
10. mount -t vfat /dev/hda5 /mnt/hda5: montar un sistema de ficheros FAT32.
11. mount -t ntfs-3g /dev/hda5 /mnt/hda5: montar un sistema de ficheros NTFS.
12. mount /dev/sda1 /mnt/usbdisk: montar un usb pen-drive o una memoria (sin especificar el tipo de
sistema de ficheros).

Espacio en disco
1. df -h: mostrar una lista de las particiones montadas.
2. ls -lSr |more: mostrar el tamao de los ficheros y directorios ordenados por tamao.
3. du -sh dir1: Estimar el espacio usado por el directorio 'dir1'.
4. du -sk * | sort -rn: mostrar el tamao de los ficheros y directorios ordenados por tamao.
5. rpm -q -a qf '%10{SIZE}t%{NAME}n' | sort -k1,1n: mostrar el espacio usado por los paquetes rpm
instalados organizados por tamao (Fedora, Redhat y otros).
6. dpkg-query -W -f='${Installed-Size;10}t${Package}n' | sort -k1,1n: mostrar el espacio usado por los
paquetes instalados, organizados por tamao (Ubuntu, Debian y otros).


LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 105

Usuarios y grupos
1. groupadd nombre_del_grupo: crear un nuevo grupo.
2. groupdel nombre_del_grupo: borrar un grupo.
3. groupmod -n nuevo_nombre_del_grupo viejo_nombre_del_grupo: renombrar un grupo.
4. useradd -c Name Surname -g admin -d /home/user1 -s /bin/bash user1: Crear un nuevo usuario
perteneciente al grupo admin.
5. useradd user1: crear un nuevo usuario.
6. userdel -r user1: borrar un usuario ('-r' elimina el directorio Home).
7. usermod -c User FTP -g system -d /ftp/user1 -s /bin/nologin user1: cambiar los atributos del
usuario.
8. passwd: cambiar contrasea.
9. passwd user1: cambiar la contrasea de un usuario (solamente por root).
10. chage -E 2011-12-31 user1: colocar un plazo para la contrasea del usuario. En este caso dice que la
clave expira el 31 de diciembre de 2011.
11. pwck: chequear la sintaxis correcta el formato de fichero de '/etc/passwd' y la existencia de usuarios.
12. grpck: chequear la sintaxis correcta y el formato del fichero '/etc/group' y la existencia de grupos.
13. newgrp group_name: registra a un nuevo grupo para cambiar el grupo predeterminado de los ficheros
creados recientemente.

Permisos en ficheros (usar "+" para colocar permisos y "-" para eliminar)
1. ls -lh: Mostrar permisos.
2. ls /tmp | pr -T5 -W$COLUMNS: dividir la terminal en 5 columnas.
3. chmod ugo+rwx directory1: colocar permisos de lectura , escritura (w) y ejecucin(x) al propietario
(u), al grupo (g) y a otros (o) sobre el directorio 'directory1'.
4. chmod go-rwx directory1: quitar permiso de lectura , escritura (w) y (x) ejecucin al grupo (g) y otros
(o) sobre el directorio 'directory1'.
5. chown user1 file1: cambiar el dueo de un fichero.
6. chown -R user1 directory1: cambiar el propietario de un directorio y de todos los ficheros y directorios
contenidos dentro.
7. chgrp group1 file1: cambiar grupo de ficheros.
8. chown user1:group1 file1: cambiar usuario y el grupo propietario de un fichero.
9. find / -perm -u+s: visualizar todos los ficheros del sistema con SUID configurado.
10. chmod u+s /bin/file1: colocar el bit SUID en un fichero binario. El usuario que corriendo ese fichero
adquiere los mismos privilegios como dueo.
11. chmod u-s /bin/file1: deshabilitar el bit SUID en un fichero binario.
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



106 IES Las Fuentezuelas. Jan

12. chmod g+s /home/public: colocar un bit SGID en un directorio similar al SUID pero por directorio.
13. chmod g-s /home/public: desabilitar un bit SGID en un directorio.
14. chmod o+t /home/public: colocar un bit STIKY en un directorio. Permite el borrado de ficheros
solamente a los dueos legtimos.
15. chmod o-t /home/public: desabilitar un bit STIKY en un directorio.

Atributos especiales en ficheros (usar "+" para colocar permisos y "-" para eliminar)
1. chattr +a file1: permite escribir abriendo un fichero solamente modo append.
2. chattr +c file1: permite que un fichero sea comprimido / descomprimido automaticamente.
3. chattr +d file1: asegura que el programa ignore borrar los ficheros durante la copia de seguridad.
4. chattr +i file1: convierte el fichero en invariable, por lo que no puede ser eliminado, alterado,
renombrado, ni enlazado.
5. chattr +s file1: permite que un fichero sea borrado de forma segura.
6. chattr +S file1: asegura que un fichero sea modificado, los cambios son escritos en modo synchronous
como con sync.
7. chattr +u file1: te permite recuperar el contenido de un fichero an si este est cancelado.
8. lsattr: mostrar atributos especiales.

Archivos y ficheros comprimidos
1. bunzip2 file1.bz2: descomprime in fichero llamado 'file1.bz2'.
2. bzip2 file1: comprime un fichero llamado 'file1'.
3. gunzip file1.gz: descomprime un fichero llamado 'file1.gz'.
4. gzip file1: comprime un fichero llamado 'file1'.
5. gzip -9 file1: comprime con compresin mxima.
6. rar a file1.rar test_file: crear un fichero rar llamado 'file1.rar'.
7. rar a file1.rar file1 file2 dir1: comprimir 'file1', 'file2' y 'dir1' simultneamente.
8. rar x file1.rar: descomprimir archivo rar.
9. unrar x file1.rar: descomprimir archivo rar.
10. tar -cvf archive.tar file1: crear un tarball descomprimido.
11. tar -cvf archive.tar file1 file2 dir1: crear un archivo conteniendo 'file1', 'file2' y'dir1'.
12. tar -tf archive.tar: mostrar los contenidos de un archivo.
13. tar -xvf archive.tar: extraer un tarball (si el archivo adems est comprimido con gzip, bzip2 o xz,
descomprimirlo automticamente).
14. tar -xvf archive.tar -C /tmp: extraer un tarball en /tmp.
15. tar -cjvf archive.tar.bz2 dir1: crear un tarball comprimido en bzip2.
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 107

16. tar -xjvf archive.tar.bz2: descomprimir un archivo tar comprimido en bzip2
17. tar -cJvf archive.tar.xz dir1: crear un tarball comprimido en xz.
18. tar -xJvf archive.tar.xz: descomprimir un archivo tar comprimido en xz.
19. tar -czvf archive.tar.gz dir1: crear un tarball comprimido en gzip.
20. tar -xzvf archive.tar.gz: descomprimir un archive tar comprimido en gzip.
21. zip file1.zip file1: crear un archivo comprimido en zip.
22. zip -r file1.zip file1 file2 dir1: comprimir, en zip, varios archivos y directorios de forma simultnea.
23. unzip file1.zip: descomprimir un archivo zip.

Paquetes deb (Debian, Ubuntu y otros)
1. dpkg -i package.deb: instalar / actualizar un paquete deb.
2. dpkg -r package_name: eliminar un paquete deb del sistema.
3. dpkg -l: mostrar todos los paquetes deb instalados en el sistema.
4. dpkg -l | grep httpd: mostrar todos los paquetes deb con el nombre httpd
5. dpkg -s package_name: obtener informacin en un paquete especfico instalado en el sistema.
6. dpkg -L package_name: mostar lista de ficheros dados por un paquete instalado en el sistema.
7. dpkg contents package.deb: mostrar lista de ficheros dados por un paquete no instalado todava.
8. dpkg -S /bin/ping: verificar cul paquete pertenece a un fichero dado.

Actualizador de paquetes apt (Debian, Ubuntu y otros)
1. apt-get install package_name: instalar / actualizar un paquete deb.
2. apt-cdrom install package_name: instalar / actualizar un paquete deb desde un cdrom.
3. apt-get update: actualizar la lista de paquetes.
4. apt-get upgrade: actualizar todos los paquetes instalados.
5. apt-get remove package_name: eliminar un paquete deb del sistema.
6. apt-get check: verificar la correcta resolucin de las dependencias.
7. apt-get clean: limpiar cache desde los paquetes descargados.
8. apt-cache search searched-package: retorna lista de paquetes que corresponde a la serie paquetes
buscados.

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



108 IES Las Fuentezuelas. Jan

Ver el contenido de un fichero
1. cat file1: ver los contenidos de un fichero comenzando desde la primera hilera.
2. tac file1: ver los contenidos de un fichero comenzando desde la ltima lnea.
3. more file1: ver el contenido a lo largo de un fichero.
4. less file1: parecido al commando 'more' pero permite salvar el movimiento en el fichero as como el
movimiento hacia atrs.
5. head -2 file1: ver las dos primeras lneas de un fichero.
6. tail -2 file1: ver las dos ltimas lneas de un fichero.
7. tail -f /var/log/messages: ver en tiempo real qu ha sido aadido al fichero.

Manipulacin de texto
1. cat file1 file2 .. | command <> file1_in.txt_or_file1_out.txt: sintaxis general para la manipulacin de
texto utilizando PIPE, STDIN y STDOUT.
2. cat file1 | command( sed, grep, awk, grep, etc) > result.txt: sintaxis general para manipular un texto
de un fichero y escribir el resultado en un fichero nuevo.
3. cat file1 | command( sed, grep, awk, grep, etc) result.txt: sintaxis general para manipular un texto
de un fichero y aadir resultado en un fichero existente.
4. grep Aug /var/log/messages: buscar palabras Aug en el fichero '/var/log/messages'.
5. grep ^Aug /var/log/messages: buscar palabras que comienzan con Aug en fichero '/var/log/messages'
6. grep [0-9] /var/log/messages: seleccionar todas las lneas del fichero '/var/log/messages' que contienen
nmeros.
7. grep Aug -R /var/log/*: buscar la cadena Aug en el directorio '/var/log' y debajo.
8. sed 's/stringa1/stringa2/g' example.txt: reubicar string1 con string2 en ejemplo.txt
9. sed '/^$/d' example.txt: eliminar todas las lneas en blanco desde el ejemplo.txt
10. sed '/ *#/d; /^$/d' example.txt: eliminar comentarios y lneas en blanco de ejemplo.txt
11. echo 'esempio' | tr '[:lower:]' '[:upper:]': convertir minsculas en maysculas.
12. sed -e '1d' result.txt: elimina la primera lnea del fichero ejemplo.txt
13. sed -n '/stringa1/p': visualizar solamente las lneas que contienen la palabra string1.

Establecer caracter y conversin de ficheros
1. dos2unix filedos.txt fileunix.txt: convertir un formato de fichero texto desde MSDOS a UNIX.
2. unix2dos fileunix.txt filedos.txt: convertir un formato de fichero de texto desde UNIX a MSDOS.
3. recode ..HTML < page.txt > page.html: convertir un fichero de texto en html.
4. recode -l | more: mostrar todas las conversiones de formato disponibles.
Anlisis del sistema de ficheros
LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 109

1. badblocks -v /dev/hda1: Chequear los bloques defectuosos en el disco hda1.
2. fsck /dev/hda1: reparar / chequear la integridad del fichero del sistema Linux en el disco hda1.
3. fsck.ext2 /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1.
4. e2fsck /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 2 en el disco hda1.
5. e2fsck -j /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1.
6. fsck.ext3 /dev/hda1: reparar / chequear la integridad del fichero del sistema ext 3 en el disco hda1.
7. fsck.vfat /dev/hda1: reparar / chequear la integridad del fichero sistema fat en el disco hda1.
8. fsck.msdos /dev/hda1: reparar / chequear la integridad de un fichero del sistema dos en el disco hda1.
9. dosfsck /dev/hda1: reparar / chequear la integridad de un fichero del sistema dos en el disco hda1.

Formatear un sistema de ficheros
1. mkfs /dev/hda1: crear un fichero de sistema tipo Linux en la particin hda1.
2. mke2fs /dev/hda1: crear un fichero de sistema tipo Linux ext 2 en hda1.
3. mke2fs -j /dev/hda1: crear un fichero de sistema tipo Linux ext3 (peridico) en la particin hda1.
4. mkfs -t vfat 32 -F /dev/hda1: crear un fichero de sistema FAT32 en hda1.
5. fdformat -n /dev/fd0: formatear un disco flooply.
6. mkswap /dev/hda3: crear un fichero de sistema swap.

Particin de sistema swap
1. mkswap /dev/hda3: crear fichero de sistema swap.
2. swapon /dev/hda3: activando una nueva particin swap.
3. swapon /dev/hda2 /dev/hdb3: activar dos particiones swap.


CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



110 IES Las Fuentezuelas. Jan

Salvaguardas
1. dump -0aj -f /tmp/home0.bak /home: hacer una salva completa del directorio '/home'.
2. dump -1aj -f /tmp/home0.bak /home: hacer una salva incremental del directorio '/home'.
3. restore -if /tmp/home0.bak: restaurando una salva interactivamente.
4. rsync -rogpav delete /home /tmp: sincronizacin entre directorios.
5. rsync -rogpav -e ssh delete /home ip_address:/tmp: rsync a travs del tnel SSH.
6. rsync -az -e ssh delete ip_addr:/home/public /home/local: sincronizar un directorio local con un
directorio remoto a travs de ssh y de compresin.
7. rsync -az -e ssh delete /home/local ip_addr:/home/public: sincronizar un directorio remoto con un
directorio local a travs de ssh y de compresin.
8. dd bs=1M if=/dev/hda | gzip | ssh user@ip_addr 'dd of=hda.gz': hacer una salva de un disco duro en
un host remoto a travs de ssh.
9. dd if=/dev/sda of=/tmp/file1: salvar el contenido de un disco duro a un fichero. (En este caso el disco
duro es sda y el fichero file1).
10. tar -Puf backup.tar /home/user: hacer una salva incremental del directorio '/home/user'.
11. tar -czv exclude=/root/dir1/* -f /var/salvas/cfg_$(date +%F_%H%M).tgz /etc /root: salvar los
directorios /etc y /root (excluyendo el contenido del subdirectorio /root/dir1/) en un archivo comprimido,
cuyo nombre contenga la fecha y hora actual.
12. ( cd /tmp/local/ && tar c . ) | ssh -C user@ip_addr 'cd /home/share/ && tar x -p': copiar el contenido
de un directorio en un directorio remoto a travs de ssh.
13. ( tar c /home ) | ssh -C user@ip_addr 'cd /home/backup-home && tar x -p': copiar un directorio local
en un directorio remoto a travs de ssh.
14. tar cf - . | (cd /tmp/backup ; tar xf - ): copia local conservando las licencias y enlaces desde un
directorio a otro.
15. find /home/user1 -name '*.txt' | xargs cp -av target-directory=/home/backup/ parents: encontrar y
copiar todos los ficheros con extensin '.txt' de un directorio a otro.
16. find /var/log -name '*.log' | tar cv files-from=- | bzip2 > log.tar.bz2: encontrar todos los ficheros con
extensin '.log' y hacer un archivo bzip.
17. dd if=/dev/hda of=/dev/fd0 bs=512 count=1: hacer una copia del MRB (Master Boot Record) a un disco
floppy.
18. dd if=/dev/fd0 of=/dev/hda bs=512 count=1: restaurar la copia del MBR (Master Boot Record) salvada
en un floppy.

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 111

CDROM
1. cdrecord -v gracetime=2 dev=/dev/cdrom -eject blank=fast -force: limpiar o borrar un cd regrabable.
2. mkisofs /dev/cdrom > cd.iso: crear una imagen iso de cdrom en disco.
3. mkisofs /dev/cdrom | gzip > cd_iso.gz: crear una imagen comprimida iso de cdrom en disco.
4. mkisofs -J -allow-leading-dots -R -V Label CD -iso-level 4 -o ./cd.iso data_cd: crear una imagen
iso de un directorio.
5. cdrecord -v dev=/dev/cdrom cd.iso: quemar una imagen iso.
6. gzip -dc cd_iso.gz | cdrecord dev=/dev/cdrom -: quemar una imagen iso comprimida.
7. mount -t udf,iso9660 -o loop cd.iso /mnt/iso: montar una imagen iso.
8. cd-paranoia -B: llevar canciones de un cd a ficheros wav.
9. cd-paranoia -3: llevar las 3 primeras canciones de un cd a ficheros wav.
10. cdrecord scanbus: escanear bus para identificar el canal scsi.
11. dd if=/dev/hdc | md5sum: hacer funcionar un md5sum en un dispositivo, como un CD.
12. eject -v: expulsar un medio o disco extrable, ofreciendo informacin adicional.

Trabajo con la red (LAN Y WIFI)
1. ifconfig eth0: mostrar la configuracin de una tarjeta de red Ethernet.
2. ifup eth0: activar una interface 'eth0'.
3. ifdown eth0: deshabilitar una interface 'eth0'.
4. ifconfig eth0 192.168.1.1 netmask 255.255.255.0: configurar una direccin IP.
5. ifconfig eth0 promisc: configurar 'eth0'en modo comn para obtener los paquetes (sniffing).
6. dhclient eth0: activar la interface 'eth0' en modo dhcp.
7. route -n: mostrar mesa de recorrido.
8. route add -net 0/0 gw IP_Gateway: configurar entrada predeterminada.
9. route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.1.1: configurar ruta esttica para buscar la
red '192.168.0.0/16'.
10. route del 0/0 gw IP_gateway: eliminar la ruta esttica.
11. echo 1 > /proc/sys/net/ipv4/ip_forward: activar el recorrido ip.
12. hostname: mostrar el nombre del host del sistema.
13. host www.example.com: buscar el nombre del host para resolver el nombre a una direccin ip(1).
14. nslookup www.example.com: buscar el nombre del host para resolver el nombre a una direccim ip y
viceversa(2).
15. ip link show: mostar el estado de enlace de todas las interfaces.
16. mii-tool eth0: mostar el estado de enlace de 'eth0'.
17. ethtool eth0: mostrar las estadsticas de tarjeta de red 'eth0'.
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



112 IES Las Fuentezuelas. Jan

18. netstat -tup: mostrar todas las conexiones de red activas y sus PID.
19. netstat -tupl: mostrar todos los servicios de escucha de red en el sistema y sus PID.
20. netstat -punta: mostrar todas las conexiones activas por direccin IP y puerto.
21. tcpdump tcp port 80: mostrar todo el trfico HTTP.
22. iwlist scan: mostrar las redes inalmbricas.
23. iwconfig eth1: mostrar la configuracin de una tarjeta de red inalmbrica.
24. whois www.example.com: buscar en base de datos Whois.

Redes de Microsoft Windows (Samba)
1. nbtscan ip_addr: resolucin de nombre de red bios.
2. nmblookup -A ip_addr: resolucin de nombre de red bios.
3. smbclient -L ip_addr/hostname: mostrar acciones remotas de un host en windows.

Cortafuegos (iptables)
1. iptables -t filter -L: mostrar todas las cadenas de la tabla de filtro.
2. iptables -t nat -L: mostrar todas las cadenas de la tabla nat.
3. iptables -t filter -F: limpiar todas las reglas de la tabla de filtro.
4. iptables -t nat -F: limpiar todas las reglas de la tabla nat.
5. iptables -t filter -X: borrar cualquier cadena creada por el usuario.
6. iptables -t filter -A INPUT -p tcp dport telnet -j ACCEPT: permitir las conexiones telnet para entar.
7. iptables -t filter -A OUTPUT -p tcp dport http -j DROP: bloquear las conexiones HTTP para salir.
8. iptables -t filter -A FORWARD -p tcp dport pop3 -j ACCEPT: permitir las conexiones POP a una
cadena delantera.
9. iptables -t filter -A INPUT -j LOG log-prefix DROP INPUT: registrando una cadena de entrada.
10. iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE: configurar un PAT (Puerto de traduccin
de direccin) en eth0, ocultando los paquetes de salida forzada.
11. iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp dport 22 -j DNAT to-destination
10.0.0.2:22: redireccionar los paquetes diriguidos de un host a otro.
12. iptables -t nat -S: Listar todas las reglas activas en la tabla nat.
13. iptables-save -c > archivo: Salvar las reglas en un archivo (incluyendo los contadores de paquetes y
bytes).
14. iptables-restore -c < archivo: Restaurar las reglas desde un archivo (incluyendo los contadores de
paquetes y bytes).

LINUX

CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS


IES Las Fuentezuelas. Jan 113

Monitoreando y depurando
1. top: mostrar las tareas de linux usando la mayora cpu.
2. htop: mostrar y gestionar las tareas con una interfaz amistosa.
3. ps -eafw: muestra las tareas Linux.
4. ps -e -o pid,args forest: muestra las tareas Linux en un modo jerrquico.
5. ps aux | grep -i wget: listar todas las tareas activas que incluyen el comando wget (sintaxis BSD).
6. pstree: mostrar un rbol sistema de procesos.
7. kill -9 ID_Processo: forzar el cierre de un proceso y terminarlo.
8. kill -1 ID_Processo: forzar un proceso para recargar la configuracin.
9. killall Nombre_Proceso: terminar un proceso por el nombre del comando y no por el ID.
10. lsof -p $$: mostrar una lista de ficheros abiertos por procesos.
11. lsof /home/user1: muestra una lista de ficheros abiertos en un camino dado del sistema.
12. strace -c ls >/dev/null: mostrar las llamadas del sistema hechas y recibidas por un proceso.
13. strace -f -e open ls >/dev/null: mostrar las llamadas a la biblioteca.
14. watch -n1 'cat /proc/interrupts': mostrar interrupciones en tiempo real.
15. last reboot: mostrar historial de reinicio.
16. lsmod: mostrar el kernel cargado.
17. free -m: muestra el estado de la RAM en megabytes.
18. smartctl -A /dev/hda: monitorear la fiabilidad de un disco duro a travs de SMART.
19. smartctl -i /dev/hda: chequear si SMART est activado en un disco duro.
20. tail /var/log/dmesg: mostrar eventos inherentes al proceso de carga del kernel.
21. tail /var/log/messages: mostrar los eventos del sistema.
22. multitail follow-all /var/log/dmesg /var/log/messages: mostrar dos registros de eventos en una
misma pantalla.

Otros comandos tiles
1. apropos keyword: mostrar una lista de comandos que pertenecen a las palabras claves de un
programa; son tiles cuando t sabes qu hace tu programa, pero de sconoces el nombre del comando.
2. man ping: mostrar las pginas del manual on-line; por ejemplo, en un comando ping, usar la opcin '-k'
para encontrar cualquier comando relacionado.
3. whatis keyword: muestra la descripcin de lo que hace el programa.
4. mkbootdisk device /dev/fd0 `uname -r`: crear un floppy boteable.
5. gpg -c file1: codificar un fichero con guardia de seguridad GNU.
6. gpg file1.gpg: decodificar un fichero con Guardia de seguridad GNU.
7. wget -r www.example.com: descargar un sitio web completo.
CFGS Administracin de Sistemas Informticos en Red
IMPLANTACIN Y ADMINISTRACIN DE SISTEMAS OPERATIVOS
LINUX



114 IES Las Fuentezuelas. Jan

8. wget -c www.example.com/file.iso: descargar un fichero con la posibilidad de parar la descargar y
reanudar ms tarde.
9. echo 'wget -c www.example.com/files.iso' | at 09:00: Comenzar una descarga a cualquier hora. En
este caso empezara a las 9 horas.
10. ldd /usr/bin/ssh: mostrar las bibliotecas compartidas requeridas por el programa ssh.
11. alias hh='history': colocar un alias para un commando hh= Historial.
12. chsh: cambiar el comando Shell.
13. chsh list-shells: es un comando adecuado para saber si tienes que hacer remoto en otra terminal.
14. who -a: mostrar quien est registrado, e imprimir hora del ltimo sistema de importacin, procesos
muertos, procesos de registro de sistema, procesos activos producidos por init, funcionamiento actual y
ltimos cambios del reloj del sistema.
15. echo 128*1024*1024 | bc: calcular desde la consola el tamao en bytes de 128 MiB.
16. sudo !!: ejecutar como superusuario el ltimo comando tecleado.
17. clear: limpiar la pantalla.

Vous aimerez peut-être aussi