Todolinux 130127015720 Phpapp02
Todolinux 130127015720 Phpapp02
Todolinux 130127015720 Phpapp02
1. Historia ........................................................................................................... 3
Antecedentes:............................................................................................................. 3
Nacimiento:................................................................................................................. 3
Expansin de Unix:..................................................................................................... 3
Evolucin: ................................................................................................................... 4
La G.N.U..................................................................................................................... 5
Distribuciones de Linux. ............................................................................................. 6
5. Primera Aproximacin................................................................................... 9
Antes de entrar al Sistema: ........................................................................................ 9
Escribir algunos comandos para tomar contacto. ...................................................... 9
Redireccionamiento:................................................................................................. 28
Tuberas (pipes): ...................................................................................................... 29
Filtros para: Contar, Ordenar y Eliminar Repetidos.................................................. 30
Filtros para ver que hay en los ficheros.................................................................... 32
Filtro para cambiar caracteres.................................................................................. 33
Buscar en ficheros. Familia grep. ............................................................................. 35
Comparacion de Ficheros. ....................................................................................... 36
Cortar y Pegar Ficheros. .......................................................................................... 37
Historia
Antecedentes:
El SO Multics se utiliz durante algn tiempo en los laboratorios Bell.
En Europa se haba desarrollado el sistema de acceso multiple de Cambridge (The Cambridge
Multiple Access System).
Tambin se emple durante algn tiempo el CTSS (sistema de tiempo compartido compatible).
Los desarrolladores de Unix aprovecharon este trabajo realizado con estos y otros sistemas
operativos, para combinar las mejores caractersticas de cada uno.
Nacimiento:
El UNIX surgi en 1964-66 cuando Ken Thompson intentaba utilizar un programa de un
ordenador grande, que funcionaba con el SO Multics, en otro ordenador llamado PDP-7. Para ello
escribi un sistema operativo nuevo llamado UNIX.
A l se uni Dennis Ritchie y el UNIX se comenz a utilizar en los laboratorios Bell.
Pronto se adapt a otros ordenadores y tuvo gran aceptacin en el ambiente universitario, del
cual recibi un gran impulso, en especial de la Universidad de Berkeley en California.
En un principio fue escrito en Ensamblador, pero el hecho de que se pudiese adaptar a
muchos tipos de ordenadores (portabilidad), se debe a que se reescribi casi en su totalidad en
lenguaje C, lenguaje de nivel medio desarrollado por Dennis Ritchie modificando otro ya existente
llamado lenguaje B.
El nacimiento de UNIX y el lenguaje C se hizo a la par y su posterior desarrollo continu
paralelo.
Expansin de Unix:
El sistema operativo Unix ha estado ejecutndose en ordenadores ms de 40 aos. En un
principio se ejecutaba en mainframes y miniordenadores, aunque su principal plataforma de
desarrollo han sido las estaciones de trabajo RISC. En la actualidad el acercamiento de los PC,s a
las estaciones de trabajo ha hecho de las plataformas Intel una buena base para utilizar Unix.
Debido a la gran portabilidad que ofrece el lenguaje
creasen versiones destinadas a otros procesadores.
V1
V6
Xenix
2.0
V7
BSD
SIII
32V
2BSD
System V
V8
3BSD
SVR2
V10
4BSD
SVR3
Plan 9
4.2
SCO
4.3
SVRS3.2
AIX
V1
Mach
SVR4
Evolucin:
Cuando Unix era joven (versin 6), su cdigo fuente se encontraba por todas partes, con
autorizacin de AT&T, y se estudiaba frecuentemente en muchas universidades, de las cuales
haba recibido y reciba un gran impulso.
Pero AT&T, en la versin 7 (1979), comprendi que Unix era un valioso producto comercial; y
prohibi el estudio y distribucin del cdigo fuente, para evitar poner en peligro su condicin de
secreto comercial.
Para remediar la situacin y especialmente con fines educativos, en 1983, Andy Tannembaum
desarroll un SO nuevo en cuanto a cdigo, pero compatible con Unix en cuanto a su funcionalidad,
evadiendo los problemas legales para su estudio. Lo llam Minix de Mini-Unix. Finalmente su
creador cedi todos los derechos sobre Minix a una empresa que comenz a cobrar por licencia.
A principios de la decada de los 90, un estudiante de informtica se pone a trabajar en una
variante de Unix llamada Linux, con la idea de que estubiese enmarcado dentro del proyecto GNU.
El padre de la criatura es Linus Benedict Torvalds, nacido en Helsinki en 1969.
El 5 de octubre de 1991 Linus dio a conocer la primera versin oficial, que poda ejecutar el
bash (shell de GNU) y el compilador de C. Lo puso en un grupo de noticias con el siguiente
mensaje:
Suspiris por recordar aquellos das del Minix-1.1, cuando los hombres eran
hombres y escriban sus propios drivers? Os sents sin ningn proyecto interesante y os
gustara tener un verdadero SO, que pudierais modificar a placer?
Os resulta frustrante el tener slo a Minix? Entonces, este artculo es para vosotros.
Como dije hace un mes, estoy trabajando en una versin gratuita de algo parecido a
Minix para ordenadores AT-386. He alcanzado la etapa en la que puede ser utilizable y voy a
poner las fuentes para su distribucin. Es slo la versin 0.02 ... pero he conseguido ejecutar
en el bash, gcc, gnu-make, gnu-sed, compress, etc.
La G.N.U.
Linux est regido por lo que se conoce como la Licencia Pblica General de GNU, o GPL,
General Public License. La GPL fue desarrollada para el proyecto GNU por la Free Software
Foundation, que podemos traducir como "Fundacin por el Software Gratuito". La licencia hace una
serie de previsiones sobre la distribucin y modificacin del "software gratis". "Gratis" en este
sentido se refiere a libertad, y no slo al coste. La GPL puede ser interpretada de distintas formas,
y esperamos que este resumen ayude a entenderla y cmo afecta a Linux. Se puede encontrar una
copia completa de la Licencia en Internet o en cualquier libro de Linux.
Originalmente, Linus Torvalds lanz Linux bajo una licencia ms restrictiva que la GPL, que
permita que el software fuera libremente distribuido y modificado, pero prohiba su uso para ganar
dinero. Sin embargo, la GPL autoriza que la gente venda su software, aunque no le permite
restringir el derecho que su comprador tiene a copiarlo y venderlo a su vez.
En primer lugar, hay que aclarar que el "software gratis" de la GPL no es software de dominio
pblico. El software de dominio pblico carece de copyright y pertenece literalmente al pblico. El
software regido por la GPL s tiene el copyright de su autor o autores. Esto significa que est
protegido por las leyes internacionales del copyright y que el autor del software est declarado
legalmente. No slo porque un programa sea de libre distribucin puede considerrsele del dominio
pblico.
El software regido por la GPL tampoco es "shareware". Por lo general, el "shareware" es
propiedad del autor, y exige a los usuarios que le paguen cierta cantidad por utilizarlo despus de la
distribucin. Sin embargo, el software que se rige por la GPL puede ser distribuido y usado sin
pagar a nadie.
La GPL permite a los usuarios modificar el software y redistribuirlo. Sin embargo,
cualquier trabajo derivado de un programa GPL se regir tambin por la GPL. En otras
palabras, una compaa nunca puede tomar Linux, modificarlo y venderlo bajo una licencia
restringida. Si un software se deriva de Linux, ste deber regirse por la GPL tambin.
La GPL permite distribuir y usar el software sin cargo alguno. Sin embargo, tambin permite
que una persona u organizacin gane dinero distribuyendo el software. Sin embargo, cuando se
venden programas GPL, el distribuidor no puede poner ninguna restriccin a la redistribucin. Esto
es, si compras un programa GPL, puedes a su vez redistribuirlo gratis o cobrando una cantidad.
Esto puede parecer contradictorio. Por qu vender software cuando la GPL especifica que
puede obtenerse gratis? Por ejemplo, supongamos que una empresa decide reunir una gran
cantidad de programas GPL en un CD-ROM y venderlo. La empresa necesitar cobrar por el hecho
de haber producido el CD, y asimismo querr ganar dinero. Esto est permitido por la GPL.
Las organizaciones que vendan el software regido por la GPL deben tener en cuenta algunas
restricciones. En primer lugar, no pueden restringir ningn derecho al comprador del programa.
Esto significa que si compramos un CD-ROM con programas GPL, podremos copiar ese CD y
revenderlo sin ninguna restriccin. En segundo lugar, los distribuidores deben hacer saber que el
software se rige por la GPL. En tercer lugar, el vendedor debe proporcionar, sin coste
adicional, el cdigo fuente del software a distribuir. Esto permite a cualquiera adquirir el software
y modificarlo a placer.
Permitir a una empresa distribuir y vender programas que son gratis es bueno. No todo el
mundo tiene acceso a Internet para llevarse los programas, como Linux, gratis. La GPL permite a
las empresas vender y distribuir programas a esas personas que no pueden acceder al software
con un coste bajo. Por ejemplo, muchas empresas venden Linux CD-ROM por correo, y hacen
negocio de esas ventas. Los desarrolladores de Linux pueden no tener constancia de estos
negocios. Por ejemplo, Linus sabe que ciertas compaas venden Linux, y l no va a cobrar nada
por esas ventas.
Distribuciones de Linux.
Es imprescindible seleccionar una distribucin que se adapte a las necesidades de cada uno
para poder instalar, configurar y administrar un sistema Linux con xito.
Hace aos, cuando Linux empez a distribuirse por Internet, instalar Linux consista en bajarse
de Internet todos los archivos necesarios a unos disquetes. En esos tiempos la instalacin poda
llegar a ser un laborioso proceso, haciendo que muchos usuarios frustrados acabasen por rendirse.
Por ello, programadores de todo el mundo se unieron para crear distribuciones que incorporasen el
sistema operativo y programas que facilitaran la instalacin, adems de los paquetes conteniendo
programas de todo tipo. De esta forma la instalacin se reduca a seguir unos pasos, dando la
posibilidad a los usuarios con pocos conocimientos de poder instalar un sistema operativo de este
tipo con un menor esfuerzo.
En este momento hay un buen nmero de distribuciones en las que poder elegir, pero cada
una de ellas tiene sus pros y sus contras.
Linux tiene soporte para diferentes sistemas de archivos, algunos son sistemas de archivos de
redes especializados o son sistemas de archivos desarrollados para otros sistemas operativos. Una
sorprendente cantidad de ellos pueden ser utilizados como sistema de archivos nativo en Linux:
ext2, ext3, ext4, ReiserFS, XFS, y Journaled File System (JFS).
La cuarta extensin del sistema de archivos (ext4fs) existe porque algunos desarrolladores
queran incorporar nuevas y mejoradas caractersticas al ext3. La mejora ms llamativa de ext4
est en el soporte de archivos y sistemas de archivos de gran tamao.
Caractersticas
Multitarea: Un usuario puede ejecutar varios programas (procesos) a la vez, sin tener que
detener una aplicacin para ejecutar otra.
Multiusuario: Varios usuarios pueden acceder a las aplicaciones y a los recursos en el mismo
PC y al mismo tiempo. Con la impresin para cada uno de ellos de estar trabajando solo.
Tiempo compartido: Es la forma de conseguir las caractersticas anteriores, y se basa en que
en una fraccin de tiempo muy pequea, la CPU atiende a varios usuarios. A cada proceso se le
dedica por turno una unidad de tiempo llamada cuanto.
La memoria: es aprovechada al mximo, para acceder al disco el menor nmero de veces,
consiguiendo mayor rapidez.
Recuperacin automtica del sistema de ficheros despus de una cada del sistema, o
interrupcin elctrica.
Seguridad de acceso a la informacin de cada usuario, mediante una serie de permisos que el
propietario puede conceder o denegar sobre cada uno de sus ficheros.
Multiplataforma: Corre en muchos PCs distintos (Intel 386/486/Pentium y compatibles,...).
Facilita la portabilidad del software, entre plataformas, al menos a nivel de cdigo fuente.
Shell programables, lo que le hace ser un SO muy flexible.
SHELL
Utilidades
Dispositivos
Kernel
Hardware
Kernel o Ncleo
Es el corazn del sistema, la parte ms cerrada al usuario y ms cercana al hardware.
Reside permanentemente en memoria. Su trabajo consiste en:
Dispositivos
Los ficheros de dispositivo son los intermediarios entre el SO y el dispositivo fsico.
Utilidades
Estas rdenes tambin conocidas como herramientas, que van desde el compilador de C,
hasta el editor de texto, pueden utilizarse por separado o de forma conjunta para llevar a cabo
tareas tiles. Se invocan por su nombre a travs del Shell.
SHELL o Caparazn
Es la parte que permite al usuario comunicarse con el sistema, tambin se le conoce como
"caparazn".
Puede estudiarse desde dos puntos de vista:
-
Primera Aproximacin
Antes de entrar al Sistema:
Debe de tener creada una cuenta de usuario, la cual tendr un nombre y que adems puede
llevar asociada una palabra clave.
Se podr acceder al sistema mediante cualquier terminal que est preparado, en cuyo caso
mostrar por pantalla: login:, esto quiere decir que est esperando a que le introduzcamos un
nombre de usuario. Una vez introducido y pulsado Return puede que nos pida una palabra clave
password: Pasados estos requisitos puede que aparezca algn mensaje y debajo el prompt del
Sistema.
Para los usuarios habitualmente el prompt es slo el signo dlar ($), pero en linux suele
aparecer por defecto: el nombre del usuario, el de la computadora y la trayectoria actual en el rbol
de directorios (el directorio de conexin se muestra como ~).
cd nombre_dir
Activa o se traslada al directorio indicado.
date
Muestra la fecha actual.
who
Indica que usuarios estn en ese momento conectados al Sistema.
clear
Borra la pantalla.
echo mensaje
Vuelve a escribir el mensaje.
echo mensaje > fichero
El signo mayor que (>), significa redirigir la salida o resultado de un comando. Guardara el
mensaje dentro del fichero que hayamos indicado.
ls
Lista los nombre de los ficheros.
cat fichero
Visualizara el contenido del fichero, aunque su principal funcin es concatenar ficheros.
rm fichero
Borra el fichero indicado.
Cuando se desea terminar un programa antes de su fin normal debemos pulsar la tecla Supr
dos veces en Unix y Ctrl + C en Linux.
Para salirnos del Sistema pulsamos las teclas Ctrl + d.
Hacer clculos
bc
Se puede emplear como una calculadora normal.
Para separar los decimales emplea el punto (.).
Admite cualquier nivel de parntesis.
Las operaciones son: + (suma), - (resta), * (multiplicacin), / (divisin), % (mdulo o resto), ^
(exponenciacin).
10
Tiene capacidad para asignar valores a variables utilizando el signo igual (=).
Utiliza unas variables internas que rigen su trabajo, a las que les podemos cambiar su valor,
como son:
-
Mirar el almanaque
cal [[mes] ao]
Sin argumento nos muestra fecha, hora y despliega el mes actual, anterior y posterior.
Con un solo n del 0 al 9999 muestra todo el calendario del ao correspondiente; y si le
especificamos mes y ao slo muestra ese mes.
11
Inodos
Los ficheros son la unidad fundamental del Sistema de Ficheros Linux. Cada fichero al ser
grabado es asociado automticamente y durante toda su vida a un inodo (nodo-i), este identifica
perfectamente al fichero asociado y contiene los siguientes datos del fichero al que identifica:
TIPO: ordinario (-), directorio (d), especial (b) o (c), enlace simblico (l)
PROPIETARIO: usuario que cre el fichero.
GRUPO: grupo al que pertenece el usuario.
PERMISOS: pueden ser de lectura, escritura y ejecucin para el propietario, su grupo y
el resto de los usuarios. Estos se pueden alterar segn las necesidades de seguridad con el
comando chmod.
NMERO DE ENLACES: un enlace es la unin entre un nombre de fichero y un inodo.
Un mismo fichero puede estar referenciado por otro nombre. Los enlaces se pueden crear con
la orden ln.
TABLA DE PUNTEROS: es un vector con trece posiciones, cada una de las cuales
almacena un puntero, cuyo significado es:
-
Los diez primeros punteros sealan a los diez primeros bloques de informacin del
fichero.
El dcimoprimer puntero seala a otra tabla que contiene punteros, que a su vez
apuntan a bloques de informacin.
El dcimosegundo puntero seala a otra tabla que contiene punteros, que a su vez
apuntan a tablas de punteros, que apuntan a bloques de informacin.
El dcimotercer puntero seala a otra tabla de punteros, cada uno de los cuales
apuntan a tablas de punteros, que a su vez apuntan a tablas de punteros, que
apuntan a bloques de informacin.
FECHA DE CREACION.
FECHA DE LA LTIMA MODIFICACION.
FECHA DE LA LTIMA UTILIZACION.
12
Con la orden cat fichero Cmo accede el SO a los bloques de este fichero?.
Los directorios son ficheros que contienen informacin sobre ficheros u otros directorios, esta
informacin es su nombre y nmero de inodo. Con el comando ls se pueden visualizar los nombres
de los ficheros contenidos en el directorio y otros datos.
Linux utiliza la estructura de directorios en forma de rbol, para mantener la cohesin entre sus
ramas, cada directorio contiene otro llamado . (punto), que hace referencia a l mismo, y otro .. (dos
puntos), que hace referencia al su directorio padre.
Para ver la informacin de los directorios . y .., utilizar la orden ls con la opcin -a.
Utilizar la orden ls -l, que nos muestra la mayor parte de las caractersticas de los ficheros y
directorios (tipo, permisos, enlaces, propietario, grupo, ocupacin en bytes, fecha ltima actualizacin y
nombre del fichero).
Distingue entre los tipos de ficheros, para ver ficheros de dispositivo en /dev.
Observa los permisos de los ficheros ordinarios y de los directorios. Son iguales?
A qu grupo perteneces?
13
bin
boot
dev
etc
Ftp
Linux
home
lib
user##
bin
lib
proc
X11R6
man
sbin
bin
usr
doc
faq
tmp
var
lib
local
etc
howto
bin
lib
Directorio raiz del sistema de ficheros. En algunos casos directorio home del
administrador.
bin
Abreviatura de binaries. En este directorio se encuentran los rdenes bsicas del SO.
En /usr/bin tambin hay rdenes bsicas, pero son menos esenciales.
boot Aqu estn los ficheros binarios de arranque del sistema (vmlinuz)
dev
Contiene los ficheros especiales o de dispositivo (device drivers). Son usados para
acceder a los dispositivos del sistema y recursos, como discos duros, mdems,
memoria, etc. Por ejemplo, de la misma forma que podemos leer datos de un fichero,
podemos leerla desde la entrada del mdem usando /dev/modem.
etc
home Por cada usuario cuelga de home un directorio que por defecto tendr el mismo nombre
que el del usuario. Ejemplo /home/user01. Estos a su vez dentro de su directorio pueden
crear la estructura de ficheros y directorios que necesiten.
root
lib
Directorio que contiene las libreras compartidas. Estas son comunes para todos los
programas que las usan, en lugar de tener cada programa su copia.
14
sbin
man
proc No existe fsicamente, es un SF virtual. Los ficheros que contiene residen realmente en
memoria. En l podemos encontrar informacin sobre el sistema (procesos).
sbin
tmp
Contiene los ficheros temporales que el Sistema necesita crear para realizar
determinados trabajos.
usr
Para almacenar otros directorios accesibles a los usuarios, tales como: /usr/lib, /usr/bin,
/usr/share/man, /usr/share/doc. En algunos sistemas, de aqu cuelgan los directorios de
los usuarios.
Los directorios descritos arriba son esenciales para que el sistema est operativo, pero
la mayora de las cosas que se encuentran en /usr son opcionales para el sistema. De
cualquier forma, son estas cosas opcionales las que hacen que el sistema sea til e
interesante, contiene la mayora de los paquetes grandes de programas y sus ficheros
de configuracin.
/usr/bin
/usr/etc
/usr/include
/usr/include/g++
/usr/include).
/usr/lib
Contiene las libreras equivalentes stub y static a los ficheros encontrados en /lib.
Adems, varios programas guardan ficheros de configuracin en /usr/lib.
/usr/man
/usr/src
opt
Este es la raz del subrbol que contiene los paquetes de aplicacin especficos.
15
var
Este contiene los directorios de todos los ficheros que cambian de tamao o tienden a
crecer, como /var/adm (ficheros de registro y contabilidad), /var/mail (ficheros de correo
del usuario), /var/spool (ficheros que van a ser pasados a otro programa), /var/news
(mensajes de inters comn),...
mnt o media De este cuelgan directorios para montar sistemas de ficheros sobre el Root File
System. Por ejemplo /mnt/floppy, /mnt/cdrom,...
lost+found (perdido+encontrado) Contiene ficheros que por algn problema no estn enlazados
al Sistema de Ficheros.
Trayectoria o pathname:
Es el camino que hay que seguir dentro de la estructura arborescente de directorios para
encontrar un fichero o directorio.
Vamos a distinguir dos tipos de trayectorias:
1. Trayectoria absoluta es la que parte del directorio raz (root).
2. Trayectoria relativa es la que parte del directorio de trabajo.
Referencias a directorios especiales:
-
* Equivale a 0 o ms caracteres.
16
conjunto de caracteres, para indicar cualquier carcter que no est entre los
corchetes, ponindole delante el signo de admiracin [!caracteres].
-
El proceso de sustitucin de los metacaracteres, por los nombres de los ficheros que
correspandan se llama expansin de los metacaracteres, y es efectuado por el intrprete de
comandos, de esta forma los comandos u rdenes nunca ven los metacaracteres.
Crear todos los ficheros necesarios para practicar con los metacaracteres, al menos con la orden
ls.
17
Crear ficheros
Vaco:
cat /dev/null > fichero
> fichero
Las dos rdenes tienen el mismo efecto, en la primera de ellas se emplea el dispositivo nulo.
18
-R Recursividad.
-F Pone una (/) despus de cada directorio y un (*) despus de cada ejecutable.
La orden l es un alias de ls la.
Como argumentos se puede especificar: nombre(s) de fichero(s), de directorio(s) y utilizar los
metacaracteres.
file fichero(s)
Realiza una suposicin sobre qu tipo de informacin almacena un fichero; as nos puede
indicar s un fichero es de texto, ejecutable, directorio, un programa fuente, est comprimido ...
Para ello revisa la primera parte del fichero en busca de palabras clave o nmeros especiales
del linkador, tambin consulta los permisos de acceso. Sus resultados no siempre son correctos.
Copiar:
cp [opc.] f_origen f_destino
19
Mover:
mv [-i] f_origen f_destino
mv [-i] f(s)_origen directorio
Renombra un fichero dentro de un directorio o lo traslada a otro directorio.
La diferencia con la orden cp es que mv no duplica la informacin, desapareciendo siempre los
ficheros origen.
-i Si en el destino ya existe el fichero, pregunta antes de sobreescribirlo.
La mayora de las veces es ms rpida que cp, ya que se limita solo a anotar el cambio en los
ficheros directorio.
Enlazar:
ln [-f] f_origen f_destino
-f No hace preguntas.
A un mismo fichero se le da otro nombre, los dos nombres se referirn en adelante al mismo
fichero.
No se hace una copia del fichero origen y el nuevo nombre puede estar en distinto directorio.
Lo nico que realiza esta orden es aadir una nueva entrada en el directorio que corresponda
con el nombre del fichero destino y el n de i-nodo del fichero origen.
No es necesario poseer ningn permiso sobre el fichero origen, pero si debemos poseer
permiso de escritura (w) sobre el directorio destino y de lectura sobre el directorio origen.
Como origen se pueden indicar varios ficheros si el destino es un directorio.
-s Realiza un enlace simblico.
Un enlace o vnculo simblico es un archivo que slo contiene el nombre de otro archivo.
Cuando el SO opera sobre el enlace simblico, se dirige hacia el archivo al que apunta. Se usan
para enlazar ficheros en computadoras diferentes o en distintos sistemas de ficheros, tambin para
crear varios nombres a un directorio.
Estas tres rdenes tienen en comn, que el contenido del fichero destino, si existe, es
destruido.
Borrar:
rm [opc] fichero(s)
20
Para borrar un fichero es necesario poseer permiso de escritura sobre el directorio, no sobre el
fichero, pues lo que realmente se hace es borrar un entrada del directorio.
Si el fichero a borrar tiene varios enlaces, se borrar el enlace que tiene con el nombre de
fichero indicado, los dems permanecen.
-f (forzar) S no tenemos permiso de escritura sobre el fichero, se salta una pregunta
de confirmacin y lo borra.
-i (interactivo) Pide confirmacin en todos los ficheros.
-r (recursivo) Borra a partir de donde le indiquemos, toda la posible rama de
subdirectorios, es rpida y peligrosa.
Ejemplos peligrosos:
rm * .c
rm -r dir1
Ejercicios:
Estudiar los permisos de vuestro directorio home. Qu permisos tienen los de tu grupo?.
Entra en el directorio home de algn compaero. Intenta crear ficheros. Borra un fichero.
En los ficheros directorio el permiso de lectura posibilita que podamos averiguar el contenido
del directorio, es decir, los nombres de los ficheros que contiene, el no poseer este permiso no
impide acceder al contenido de los ficheros.
El permiso de escritura nos permite crear y borrar ficheros, la modificacin de un fichero en
particular no la controlan los permisos de directorio sino los de ese fichero.
21
El permiso de ejecucin en el caso de directorios impide que podamos usarlo dentro de una
trayectoria o que lo usemos como directorio de trabajo, denegar el permiso de ejecucin si es una
proteccin real para un directorio y los ficheros que contenga. (Si perdemos el permiso de ejecucin
sobre el directorio de trabajo o el padre de este, podemos desplazarnos a cualquier otro usando
una trayectoria absoluta.)
El propietario de un fichero puede cambiarle los permisos con respecto a l mismo, su grupo o
el resto de los usuarios con la orden:
chmod [quien(es)][+-=][permiso(s)] fichero(s)| directorio(s)
[quien]:
u Usuario propietario.
g Grupo.
o Otros, el resto.
a Todos (por defecto).
[+-=]:
+ Aade permiso.
- Elimina permiso.
= Asigna o establece permiso. Aade los permisos indicados y quita
los dems, para los usuarios indicados.
[permiso]: r Lectura.
w Escritura.
x Ejecucin.
Ejemplos:
Un permiso a un quin:
Varios permisos a un quin:
Varios permisos a gente variada:
Permisos distintos para varia gente:
Asignacin absoluta:
Ejercicios:
Si a un fichero con varios enlaces se le cambian los permisos Se cambiarn tambin en sus
ficheros enlazados?
Grabar en un fichero:
clear
echo hola mundo
echo te encuentras en
pwd
22
Tambin se permite una notacin numrica, en octal, para indicar los permisos que se van a
establecer a unos determinados ficheros.
chmod nmero_octal fichero(s)
Nmero_octal: Un fichero tiene 9 permisos, se codifican en binario, si se tiene permiso 1 y si no
se tiene 0; resulta un nmero binario de 9 dgitos binarios, este se pasa a octal y obtenemos el
nmero octal de tres dgitos.
Permisos especiales.
An hay otro tipo de permisos que hay que considerar. Se trata de:
o El bit de permisos SUID (Set User ID).
o El bit de permisos SGID (Set Group ID).
o El bit de permisos de persistencia (sticky bit).
Para entender los dos primeros el SUID y el SGID veamos los permisos para un comando de
uso comn a todos los usuarios, que es el comando passwd, que como se sabe sirve para cambiar
la contrasea del usuario, y puede ser invocado por cualquier usuario para cambiar su propia
contrasea, si vemos sus permisos observaremos un nuevo tipo de permiso:
#> ls -l /usr/bin/passwd
-r-s--x--x 1 root root 21944 feb 12 2006 /usr/bin/passwd
SUID
En vez de la 'x' para el usuario encontramos ahora una 's' (suid). passwd es un comando
propiedad de root, pero sin embargo debe de poder ser ejecutado por otros usuarios, no solo por
root. Es aqu donde interviene el bit SUID, al activarlo obliga al archivo ejecutable binario a
ejecutarse como si lo hubiera lanzado el usuario propietario y no realmente quien lo ejecut. Es
decir, es poder invocar un comando propiedad de otro usuario (generalmente de root) como si uno
fuera el propietario.
SGID
El bit SGID funciona exactamente igual que el anterior solo que aplica al grupo del archivo. Es
decir si, permite ejecutar el comando con los permisos del grupo.
Se muestra como una 's' en vez del bit 'x' en los permisos del grupo.
#> ls -l /usr/bin/write
-rwxr-sr-x 1 root tty 10320 Jun 6 2008 write
23
Puede apreciarse la 't' en vez de la 'x' en los permisos de otros. Lo que hace el bit de
persistencia en directorios compartidos por varios usuarios, es que el slo el propietario del archivo
pueda eliminarlo del directorio.
Para cambiar este tipo de bit se utiliza el mismo comando chmod pero agregando un nmero
octal extra al principio de los permisos, ejemplo:
#> ls -l /usr/prog
-r-x--x--x 24 root root 4096 sep 25 18:14 prog
#>chmod 4511 /usr/prog
#> ls -l /usr/prog
-r-s--x--x 24 root root 4096 sep 25 18:14 prog
Ntese que el valor extra es el '4' y los dems permisos se dejan como se quieran los permisos
para el archivo. Es decir, los permisos originales en este ejemplo eran 511 (r-x--x--x), y al
cambiarlos a 4511, se cambi el bit SUID reemplazando el bit 'x' del usuario por 's'.
Los posibles valores seran los siguientes:
- - - - - - - - - = 0 Predeterminado, sin permisos especiales.
- - - - - - - - t = 1 Bit de persistencia, sticky bit
- - - - - s - - - = 2 Bit sgid de grupo
- - s - - - - - - = 4 Bit suid
MUY IMPORTANTE: Algo sumamente delicado y que se tiene que tomar muy en cuenta es lo
que decidas establecer con permisos de bit SUID y SGID, ya que recuerda que al establecerlos de
esta manera, cualquier usuario podr ejecutarlos como si fuera el propietario original de ese
programa. Y esto puede tener consecuencias de seguridad severas en tu sistema. Siempre
considera y reconsidera si conviene que un usuario normal ejecute aplicaciones propias de root a
travs del cambio de bits SUID o SGID. Mejores alternativas pueden ser los comandos sudo y su.
Cambio de propietario.
El propietario de un fichero en System V (en los sistemas Berkeley solo el administrador)
puede cambiar el fichero de propietario y de grupo.
chown [-R] nuevo_propietario[:grupo] fichero(s)
-R Recursividad.
El nombre del nuevo propietario debe de ser un nombre vlido de entrada al sistema (login) o
un nmero de identificacin de usuario; estos y otros datos se encuentran en el fichero /etc/passwd.
24
Si el usuario perteneciese a otro grupo se indica este separado del usuario por (:). Y se cambia
al mismo tiempo de usuario y de grupo.
Cambio de grupo.
chgrp nuevo_grupo fichero(s)
Igualmente el nuevo grupo se puede indicar con el nombre o el nmero de identificacin, que
se encuentra en el fichero /etc/group.
Poner a dos ficheros al mismo tiempo los permisos rw- -wx r--.
Poner al directorio permiso de escritura y un fichero dentro de l sin este permiso, probar a
borrarlo.
Poner una mscara de creacin, de forma que a los directorios slo les de permiso de ejecucin
para g y o, y para el propietario todos. Comprobarla creando algn directorio.
25
Creacin.
mkdir trayectoria(s)
Para crear un directorio necesitamos permiso de escritura sobre el directorio en el que se va a
crear.
Se pueden crear varios directorios al mismo tiempo, indicando su trayectoria, ya sea absoluta o
relativa.
Ejemplos.
~> mkdir base/direc base2
~> mkdir base/dire1 base/dire1/dire2
(dire1 no exista)
Eliminar directorios
rmdir directorio(s)
Se requiere permiso de escritura sobre el directorio padre.
Antes de borrar un directorio debemos de borrar su contenido y cuidar de que no sea el
directorio de trabajo.
Otro usuario que tenga permiso para ello nos puede borrar nuestro directorio de trabajo, con lo
que nos dejar "como suspendidos en el aire", pero podemos transladarnos a cualquier otro
directorio.
El sistema permite borrar el directorio de trabajo.
Recordar que tambin se pueden borrar directoros usando la orden rm de forma recursiva.
Cambio de nombre.
mv directorio_antiguo directorio_nuevo
Se requiere permiso de escritura en el directorio padre.
26
Copia de directorios.
cp (-R) DirectorioOrigen DirectorioDestino
-R
De forma recursiva.
27
Flujo De Informacin.
Entrada y salidas estndar (std).
Muchas rdenes Unix reciben informacin desde el teclado, que es la entrada estndar (stdin)
y muestran los resultados por la pantalla, salida estndar (stdout); la pantalla tambin es la salida
estndar para los posibles errores (stderr).
Ejemplo:
Cat
sort
Sin opciones ni argumentos leen texto del teclado (stdin) y muestran los resultados por pantalla
(stdout), visualizando los posibles errores, en el caso de que se produzcan, por pantalla (stderr).
Tanto la entrada como las salidas estndar son tratadas como ficheros especiales, y el shell
los identifica por su nmero de descriptor de fichero:
stdin
0
stdout
1
stderr
2
(Deben de emplearse junto al signo de redireccionamiento).
Redireccionamiento:
Se pueden redireccionar la entrada y salidas estndar mediante metacaracteres de
redireccionamiento: > < >>.
> Redireccionamiento de salida, enva los datos que normalmente saldran por pantalla hacia
el fichero que indiquemos.
Ejemplo:
cat > file
cat 1> file
cat - > file
Usa la entrada estndar y la salida al fichero especificado.
>> redireccionamiento de adicin, igual que el anterior, pero si el fichero al que se dirige la
salida ya existe no se borra la informacin que tenga, sino que la nueva se aade al final.
Ejemplo:
Cat 1>> file
Aadiendo informacin a un fichero desde la entrada estndar.
< Redireccionamiento de entrada, la orden no tomar la informacin del teclado, sino del
fichero especificado.
Ejemplo:
cat file
cat < file
28
Con el formato:
orden >& fichero
Tanto la salida estndar, como la salida de error se almacenan en el fichero indicado.
Ejemplo:
Cat fichero fichero_inexistente >& todo
Tuberas (pipes):
Orden | Orden2
Mediante el uso de tuberas se consigue que la salida de una orden sea la entrada de otra. El
metacarcter tubera es |.
Ejemplo:
ls lR /home | less
Duplicar la salida
orden | tee [opciones] fichero(s)
orden | tee [opciones] | filtro
La entrada que recibe tee la copia en la salida estndar y en el o los ficheros indicados como
argumentos.
-i No responde a interrupciones.
-a Si los ficheros existen le aade la informacin al final.
Ejemplo:
date | tee a fecha
ls l | tee listado
cat fichero1 fichero2 | sort | tee FileOrden
El primero muestra la fecha y adems la aade en un fichero.
E segundo muestra el contenido del directorio y lo almacena en el fichero listado.
Y el tercero concatena la entrada, la ordena, la muestra ordenada y la almacena en el fichero
FileOrden.
29
Ejercicios:
Practicar todos los redireccionamientos, con todas las formas de indicar la entrada y salida.
En los ejercicios anteriores emplear los filtros vistos: less, cat y sort.
Contar:
wc [opciones] fichero(s)
Abreviatura de Word Counting. Sin opciones cuenta el nmero de lneas, palabras y caracteres
contenidos en un fichero o en la entrada indicada. Si se especifica un grupo de ficheros contabiliza
en cada uno de ellos y adems muestra un total.
Si no especificamos la entrada, toma por defecto la entrada estndar.
Para que no muestre toda la informacin o la muestre en otro orden, podemos utilizar las
opciones:
-l Slo cuenta las lneas.
-w Idem las palabras.
-c Idem los caracteres.
Ejemplos:
wc f1 f2 f3
Cuenta el n de lneas, palabras y caracteres de cada fichero y hace un total.
ls | wc -w
Cuenta el n de ficheros de un directorio.
Ordenar:
Este filtro adems de clasificar puede fusionar ficheros. En principio lo hace siguiendo el cdigo
ASCII.
La entrada, al igual que en todos los filtros, pueden ser: ficheros indicados como argumentos,
pasada por una tubera o suministrada por la entrada estndar.
sort [opciones] [campos] [fichero(s)]
Opciones generales:
-o file Sirve para indicar el fichero de salida. Ya que si redireccionamos la salida a un
fichero que se llame igual que el de entrada, se pierde la informacin.
-m Mezcla los ficheros que supone que estn ordenados.
-c Comprueba si el fichero est ordenado.
-u Muestra las lneas repetidas una sola vez, til para la mezcla de ficheros.
Opciones de ordenacin de datos:
-d (diccionario), slo tiene en cuenta los caracteres alfabticos, numricos y espacio.
-f Convierte maysculas a minsculas a efectos de la ordenacin.
-b Ignora los blancos iniciales.
-n Ordenamiento numrico, toman su valor aritmtico el signo menos (-) y el punto
decimal (.). Los blancos iniciales no se tienen en cuenta.
30
-r Ordenacin inversa.
-R Ordenacin aleatoria (Random).
Ordenacin de campos:
Los campos se entienden separados por blancos o tabuladores salvo que se indique la opcin:
-tx Donde x es el carcter delimitador de campos. Es aconsejable poner el carcter
entre comillas.
Para indicar a partir de que campo se va a realizar la ordenacin, pondremos: +n.c, donde n es
el nmero de campos que se van a saltar sin ordenar y c el nmero de caracteres que se saltan
contando a partir del ltimo campo saltado.
+n N de campos que se saltan sin ordenar.
Pueden indicarse opciones slo para un campo, si se colocan inmediatamente despus del
especificador de campo, no irn precedidas de guiones; estas son b, f, n, r.
La lista de ficheros caso de ser varios los ordena y mezcla, salvo que se utilice la opcin -m,
que slo mezcla.
Ejemplos:
sort -f +1 lista > lista.ord
Un fichero de nombres y apellidos ordenarlo por apellidos.
who | sort | tee quien.hay
Muestra y almacena los usuarios que hay conectados de forma ordenada.
31
Practicar sort:
Sin argumentos ni opciones.
Ordenando un fichero.
Almacenando el resultado en otro fichero.
Probar las opciones y su combinacin.
Mostrar el listado largo de ficheros de un directorio, ordenado por tamao, de mayor a menor.
Ordenar el fichero de grupos (/etc/group) por el n de grupo (campo 3) de menor a mayor.
Crear un fichero con los campos: Nombre, Apellidos y Edad, separados por (;).
Procurar que se repitan algunas edades y algunos apellidos.
Ordenar por edad de mayor a menor.
Ordenar por apellido.
Cuntos hay de cada edad?
En un fichero tenemos los nmeros del 0 al 9 (cada uno en una lnea), escribir la lnea de
comando para que nos muestre uno de ellos aleatoriamente.
32
\r
\t
Return.
Tabulador.
-d Decimal.
-x Hexadecimal.
\t
representa un tabulador.
Formato:
Indicar rangos
Se pueden usar conjuntos de caracteres. Por ejemplo para cambiar letras minsculas por
maysculas:
tr [a-z] [A-Z] < fichero
Ejemplo para codificar texto, desplazando cada letra trece posiciones en el alfabeto ingls de
26 letras:
tr [a-m][n-z][A-M][N-Z] [n-z][a-m][N-Z][A-M] < fich > fich.13
Para traducir un conjunto de caracteres de entrada por el mismo carcter de salida, se usa el *
despus del carcter de salida indicando que se repita las veces que sea necesario.
tr [0-9] [#*] < fichero
Eliminacin de caracteres
tr -cd [a-z][A-Z][0-9] < fichero
33
Son eliminados todos los caracteres no alfanumricos incluidos los signos de puntuacin,
espacios,...
Ejercicio:
Dado un fichero de texto, producir un listado con las palabras que contiene ordenadas
alfabticamente, sin que estn repetidas e indicar el n de veces que aparece cada palabra en el
fichero.
tr -s "[:blank:]" "\n" < fichero | sort | uniq -c
34
Sin opciones produce como salida las lneas que contienen el patrn.
35
Si se especifican varios patrones en la lnea de comando, irn todos entre comillas y separados
por un retorno de carro.
Ejemplo:
fgrep f palabras lista1 lista2
sustituye a
egrep
grep F
sustituye a
fgrep
Ejercicios:
Buscar una palabra en un fichero. Comprobar la opcin para que no distinga las maysculas.
En varios ficheros buscar una frase e informar del nombre de los ficheros que la contengan.
Borrar todas las lneas que contengan Manolo, Manuel, Lolo o Manoln.
Comparacion de Ficheros.
diff - busca diferencias entre dos ficheros
diff [opciones] fichero-origen fichero-destino
Por defecto muestra los cambios de edicin que habra que realizar en f1 para que quedase
igual que f2, de la siguiente forma:
Lnea o rango de f1 operacin lnea o rango de f2
Donde operacin puede ser:
a (aadir lneas de f2 a f1)
d (borrar lneas de f1)
c (cambiar lneas de f1 por lneas de f2).
Y a continuacin de cada operacin muestra las lneas afectadas, si estas se preceden por el
smbolo "<" quiere decir que son de f1, y si se preceden por ">" son de f2.
36
Opciones
-a Trata todos los ficheros como de texto y los compara lnea por lnea, incluso si no
parecen ser de texto.
-b No se tienen en cuenta los blancos al final de lnea y trata los distinto conjuntos de
blancos como si fuesen iguales.
-B No hace caso de cambios consistentes en slo insertar o borrar lneas en blanco.
-c Emplea el formato de salida de contexto.
-i Considera las letras maysculas y minsculas equivalentes.
-q Informa slo de si los ficheros difieren, no de los detalles de las diferencias.
-r Cuando compara directorios, compara recursivamente cualesquier subdirectorios
encontrados.
-u Emplea el formato de salida unificado.
Variante de split
csplit [-f prefijo] fichero arg1 [...argn]
Divide el fichero en las porciones que indiquen los argumentos, estos pueden ser:
n
El trozo termina en la lnea n n (no incluida).
"/exp/"
Hasta la lnea que contiene la expresin (no incluida).
"%exp%" Salta sin grabar en fichero hasta la lnea que contiene la expresin, esta lnea se
graba en el prximo fichero.
En pantalla se muestra el tamao de los ficheros en los que se divide. Algunas opciones son:
-f prefijo Prefijo tiene el mismo significado que en split, si no se pone se asume "xx" y
se van numerando, desde xx00 hasta xx99.
-s No muestra el tamao de las partes en la salida estndar.
37
Ejercicios:
38
Obtener un listado ordenado de todos los usuarios que son propietarios de algo dentro del
directorio /home; no deben de estar repetidos. Orientaciones:
A la salida de la orden ls -l le podemos eliminar la cabecera.
Cortar la columna de los propietarios.
Ordenar
Eliminar los repetidos.
En un fichero de alumnos, donde tenemos los datos de un alumno por linea, con los datos
Nombre; Apellidos; Edad. Obtener otro fichero con los datos apellidos, nombre; ordenado por
apellidos.
Bsqueda de ficheros.
find [ruta(s)] [opcion(es)]
Es til para localizar ficheros que cumplan determinadas condiciones o caractersticas, en las
ramas del rbol de directorio que se le indique. Finalmente sobre los ficheros o directorios
encontrados se puede ejecutar alguna accin.
Dentro de las opciones, unas indican criterios de bsqueda (en el caso de que se indique ms
de un criterio se seleccionan los ficheros que cumplan todos simultneamente).
Otras opciones indican las acciones a realizar con los ficheros encontrados.
Cuando el criterio se acompaa de un n n, este puede llevar el signo positivo (+), negativo (-) o
ninguno, significando respectivamente mayor que, menor que o igual que.
Algunas opciones que indican criterios de busqueda:
-name patrn
-iname patrn Como -name, pero no hace distincin entre maysculas y minsculas.
-type t
-links []n
-inum n
-perm n
-user usuario
-uid n
-group grupo
-gid n
-size []n
-empty
-atime []n
39
-mtime []n
Idem modificado.
-mindepth n
Ejemplos:
find . -size -25c
find /home/user07 -name hola -type d
find programas -name "*.c"
find /home -atime +30
-a
-o
-fprint file
-ls
40
-ok orden [{}] \; Igual que la anterior, pero pide confirmacin antes de ejecutar la orden
con cada fichero. Los corchetes indican opcionalidad.
Ejemplos:
find . -name carta* - type f -exec cat {} \;
find cuentas -atime +90 -ok rm {} \;
find programas -newer proyec.c -exec mv {} /home/user07/actual \;
find . -atime +3 -atime -60 -exec mv {} ../reserva \;
find /home -atime +30 -size +20 -ok rm {} \;
En ocaciones, esta orden puede tardar bastante, por lo que se suele ejecutar en background, si
no necesitamos su resultado inmediatamente, para ello se aade al final de la orden el carcter &.
En este caso ejecutar las acciones de forma desatendida y la salida estndar la debemos de
redirigir.
Observar la diferencia entre find . -name fichero y find /home/user07 -name fichero.
Para ejecutar acciones sobre los ficheros encontrados, realizar la prctica en vuestro directorio
de trabajo y preferiblemente con -ok orden ....
41
Editores:
Editor VIsual. Generalidades.
Comenzar con VI
vi [-opciones] [fichero(s)]
-R Abre el fichero en modo de solo lectura.
+n Al abrir el fichero se posiciona automticamente en la lnea n.
+ dem, pero colocndose al final del fichero.
Modos de trabajo
Texto.
Comando:
De lnea de rdenes.
Pulsando <Esc>.
Desplazamiento
En algunos terminales con las teclas de direccin.
Tambin h j k l (izquierda, abajo, arriba y derecha respectivamente).
<Ctrl>+f
Avanza pantalla.
<Ctrl>+b
Retrocede pantalla.
<Ctrl>+d
<Ctrl>+u
Sobreescritura
r
Grabar y Salir
:q
:q!
42
:wq
Grabar y salir.
:w fich
:w! fich
:w >> fich
^g
Borrar
J Une la lnea actual con la siguiente.
x Borra el carcter sobre el que est el cursor.
d[n]alcance
Donde n es el nmero de veces que se va a repetir la operacin.
El alcance puede ser:
d Lnea actual.
w Palabra siguiente a partir del cursor.
b Palabra anterior a partir del cursor.
) Hasta final de frase. (Punto o lnea en blanco)
( Hasta principio de frase.
} Hasta el final de prrafo. (Pto. y aparte y lnea en blanco)
{ Hasta el principio de prrafo.
$ Hasta final de lnea.
^ Hasta principio de lnea.
Sin n de veces.
Cambiar
c[n]alcance
n y alcance tienen el mismo significado que en la orden anterior, pero para indicar una lnea en
alcance, se emplea la letra c.
El bloque de texto as especificado se sustituye por la siguiente entrada por teclado, hasta que
pasemos a modo comando.
43
Pegar
p
Repeticin
. El punto repite la ltima operacin de borrado o el ltimo bloque insertado.
Deshacer
u
Configuracin
:set showmode
:set list
Muestra los caracteres no imprimibles, TAB como ^I, final de lnea como $.
:set nolist
Desactiva la anterior.
:set number
:set nonumber
Desactiva la anterior.
:set wrapscan
:set ignorecase
44
:set autoindent
:set showcmd
:set ruler
:set noruler
Desactiva la anterior.
Para recomponer la pantalla despus de un mensaje u otra incidencia pulsar ^L, en modo
comando.
:set
:set all
Estos comandos set se pueden utilizar en cualquier momento cuando se esta trabajando con
vi, pero se pueden guardar en un fichero de configuracin llamado ".exrc" (.vimrc para el editor
vim) y automticamente se cargaran al comenzar una sesin con vi. Estos ficheros se encuentran
en el directorio home de cada usuario. Por ejemplo .exrc (.vimrc) puede contener:
set showmode
set number
set autoindent
set shiftwidth=4
set wrapmargin=5
Acceder al shell
:!orden
:sh
Abreviaturas
:ab abreviada cadena_a_abreviar Pone una abreviatura a una cadena.
:una abreviada
Deshace la abreviatura.
:ab
45
Bsquedas y reemplazos.
/texto
?texto
Se puede utilizar una expresin en lugar del texto. Caracteres con un significado especial
dentro de las expresiones de bsqueda:
Cualquier carcter.
Reemplazos globales.
:mbitos/patrn1/patrn2/g
mbito
La lnea nmero n.
Lnea actual.
Final de fichero.
Todo el fichero.
Es la orden.
/patrn1
Lo que buscamos.
/patrn2
/g
En todas las ocurrencias de una lnea. De no indicarse se reemplaza la
primera ocurrencia de cada lnea.
46
Marcar texto.
mletra
Donde m es el comando (mark) marcar, y debe de ir seguido de una letra de la a a la z. Pone
una seal invisible en la posicin del cursor.
Las marcas sirven para:
Referirnos a la lnea: 'letra (comilla simple).
Referirnos al carcter: `letra (acento grave).
Con las marcas podemos desplazarnos a determinados puntos, solo con teclearlas precedidas
de ' o `.
Tambin se pueden utilizar para indicar el alcance en comandos como d, y, c. As por ejemplo
para borrar de la lnea en curso hasta la que esta marcada con la letra a d'a.
Los bfers numerados, que son nueve. Y contienen los nueve grupos de lneas
borradas ms recientemente con el comando d o x. Lo borrado ms recientemente se
almacena en el bfer n 1.
Los 26 bfers alfabticos (de la a a la z). Se emplean en conjuncin con las rdenes
de cortar, copiar y pegar. Para ello se teclea precediendo la orden, comillas dobles y la
letra del bfer, que se va a utilizar para depositar la informacin o tomarla de all.
:rew!
:args
47
Ejemplo: "ay'z (extrae el texto desde la lnea en curso hasta la marcada con z y las almacena
en el bfer a.
En otro fichero se pegar con la orden ap.
No se puede utilizar el bfer sin nombre, ni los numerados (en el vi estndar), pues estos se
borran al pasar de un fichero a otro.
48
finger
Proporciona informacin sobre los usuarios conectados al sistema, o incluso no conectados si
indicamos su nombre. La sintaxis es:
finger [opc] [usuario...] [usuario@host...]
Por defecto muestra la siguiente informacin sobre cada usuario comectado al host local:
Nombre de conexin.
Nombre completo del usuario.
Nombre del terminal, si va precedido por un * no admite mensajes con write.
Tiempo que lleva ocioso.
Hora de conexin.
Desde dnde se ha establecido la conexin.
Si slo queremos informacin del usuario user07 escribiremos:
finger user07
En este caso la muestra aunque no est conectado.
who
who [opciones]
Con who podemos ver los usuarios conectados a nuestro sistema, adems, nos muestra el
terminal en el que estn conectados y el tiempo de conexin. who imprime la siguiente informacin
por cada usuario que actualmente est conectado al sistema:
Nombre de la cuenta (login name).
Terminal.
Momento en el que se conect.
Nombre de ordenador remoto o terminal X.
Si slo queremos informacin sobre el usuario que ejecuta la orden escribiremos:
who -m
who am i
w
w [usuario]
Nos da informacin sobre los usuarios que estn conectados en el momento que se ejecuta el
comando y sobre que estn haciendo.
Tambin se puede indicar un usuario en concreto.
Ejemplo:
$w
4:59pm up 4:05, 3 users, load average: 0.00, 0.01, 0.01
USER
TTY
LOGIN@
IDLE
JCPU
PCPU
WHAT
49
paco
tty1
cursolin tty3
paco
pts/0
12:54pm 4:04m
4:59pm 7.00s
4:53pm 0.00s
11.85s
0.06s
0.08s
0.03s
?
0.03s
startx
w
write
write usuario [terminal]
El comando write nos permite mandar un mensaje a otro usuario en tiempo real, es decir, el
mensaje aparecer inmediatamente en la pantalla del destinatario. Estos mensajes no se
almacenan en ningn buzn.
Por supuesto slo nos vale si el destinatario est conectado, y adems debe tener mesg en y.
Supongamos que deseamos enviar un mensaje al usuario user07, y que tiene activa la
recepcin de mensajes, en ese caso escribiramos
write user07
Una vez escrito el texto que deseemos enviar como mensaje:
Hola Pepito, que no se te olvide la cita.
pulsaremos [Ctrl]+[d] y el mensaje ser enviado.
wall
wall [archivo]
Si queremos enviar un mensaje, no a un solo usuario, sino a todos los usuarios conectados
usaremos wall. El mensaje puede estar previamente contenido en un fichero, y para enviarlo
escribiremos:
wall < fichero.txt
Es una utilidad para el administrador y slo l puede escribir en los terminales de los usuarios
que hayan denegado la recepcin de mensajes.
50
Mensaje de preentrada
Aparece justo antes de la lnea que nos pide el nombre del usuario login:, cuando accedemos
al sistema mediante acceso de consola.
El administrador coloca el mensaje en el fichero /etc/issue.
mail
En el caso de que nuestro usuario no est conectado, el mejor comando para comunicarnos
con l es mail.
Envio de mensajes
El mensaje a enviar puede ser tecleado directamente o estar previamente contenido en un
fichero. La sintaxis bsica es:
mail usuario(s)
mail usuario(s) < fichero
No admite metacaracteres.
Si queremos enviar un mensaje a User07 escribiremos:
mail User07
Subject: Cita
Te recuerdo que tenemos una cita
.
Se nos pide el asunto y a continuacin escribimos el texto, finalmente al principio de una nueva
lnea ponemos un punto (.) y pulsamos return.
Cuando User07 se conecte al sistema, ste le avisar de que tiene un correo:
51
z+ z-
n_mensaje
Visualiza el mensaje.
Intro
pre n_mensaje
s n_mensaje fichero
Configuracin.
mail posee un fichero de configuracin llamado .mailrc, que es utilizado por mail cada vez que
se ejecuta, en l podemos configurar muchas opciones:
set asksub
Solicita introduccin de asunto.
set askcc
Solicita, antes de enviarlo, direcciones para copias.
52
set prompt=cad
set sign=cad
set folder=dir
set record=fich
set outfolder
set MBOX=fich
set MBOX=+fich
Otra utilidad del fichero de configuracin es la de crear alias, un alias en mail es un nombre que
se le da a un grupo de usuarios para mandarle el mismo correo a todos, ahorrndonos de esta
forma tener que teclear el nombre de cada usuario individual. El formato es el siguiente:
alias NombreAlias ListaUsuarios
ejemplo:
alias clase user01 user02 user03 user 04 user05 user06 user07
53
tar
Tar (Tape Archive, archivar en cinta) permite empaquetar o desempaquetar ficheros. El
concepto de empaquetar aqu es el de meter varios ficheros y/o directorios en un solo fichero
(paquete). Posteriormente podremos recuperar esa estructura de ficheros y directorios en el lugar
donde queramos. Su sintaxis bsica es:
tar opciones [archivo.tar] [origen]
Opciones:
Se pueden combinar, siempre y cuando no indiquen acciones contrarias. Si especificamos varias se escriben
juntas sin mediar espacios entre ellas. Tradicionalmente no se emplea el guin (-), que normalmente precede
a las opciones en las rdenes Unix.
54
Uso de dispositivos
En lugar de un fichero como contenedor para empaquetar los ficheros o directorios, podemos
usar el nombre de un fichero dispositivo, /dev/fd0 para el primer disquete y /dev/rmt0 para la unidad
de cinta.
Para usar un disquete con tar, no requiere formato MSDOS ni SF Unix, slo es necesario que
el disco este formateado a bajo nivel, lo cual se consigue con:
fdformat dispositivo
Para el caso del disquete (A:) de 1,440 MB
fdformat /dev/fd0H1440
Podemos usar tar para hacer copias de seguridad en varios discos (multivolumen), en ese
caso la sintaxis sera:
tar cvfM /dev/fd0 origen
Hay que hacer notar que en este caso no se puede empaquetar y comprimir a la vez y que no
podemos poner el guin delante de las opciones, no funciona.
Para desempaquetar los discos as obtenidos tan slo tendremos que introducir el primer
disco, y sin montarlo, ejecutar:
tar xvfM /dev/fd0
Se nos pedirn los disco uno a uno hasta que termine el proceso.
gzip
Gzip permite comprimir ficheros, la sintaxis bsica es:
gzip [opciones] fichero
Reemplaza el fichero existente por su versin comprimida, aadindole al nombre la extensin
.gz.
Opciones:
-v Comprime y muestra el nombre y porcentaje de reduccin de cada fichero.
-d Para descomprimir archivos.
-t Para comprobar la integridad del fichero comprimido, si est bien no muestra nada,
a no ser que la combinemos con la opcin -v.
-1 a -9 Nivel de compresin, el -1 indica menor ratio y mayor rapidez, el -9 dara como
resultado un archivo ms pequeo pero un mayor tiempo de compresin. El nivel por
defecto es 6.
-c Para que trabaje con la entrada / salida estndar.
55
archivo
zcat
Visualiza ficheros comprimidos.
compress, uncompress
Los ficheros comprimidos con compress tienen extensin .Z, para comprimirlos se usa el
programa compress y para descomprimirlos uncompress, es un formato no muy utilizado en este
momento y, adems la utilidad gunzip permite descomprimirlos. As, para descomprimir un fichero
comprimido con compress podemos usar:
uncompress archivo.Z
o bien
gunzip archivo.Z
bzip2, bunzip2
Para comprimir y descomprimir ficheros existen ms herramientas que las ya comentadas pero
la nica que merece mencin especial es bzip2.
Prcticas:
56
Sistema de Impresin.
rdenes relacionadas con la Impresin: lp, lpr, lpq, lprm lpstat, cancel, pr, lpc.
La instalacin y configuracin de una impresora se tratar al hablar de las tareas del
administrador.
Un sistema Unix puede disponer de varias impresoras (caso de tener muchas se suelen
organizar en grupos), siempre habr una a la que se dirigirn los trabajos por defecto.
Los trabajos que se mandan a la impresora se gestionan mediante un spooler o cola de
impresin, al colocarse un trabajo en el spooler se le asigna un n (request ID), mediante el cual
ser identificado hasta que termine de imprimirse o se retire de la cola.
La impresin se realiza en 2 plano, de forma desatendida, de esta manera no compite con los
procesos interactivos, pudiendo el usuario realizar cualquier otro trabajo inmediatamente despus
de mandar un documento a la impresora.
Los ficheros que estn en la cola se colocan normalmente en un directorio llamado
/usr/spool/lpd, donde existe un directorio para cada impresora.
La gestin de la cola de impresin la lleva a cabo el proceso lpd, que es un demonio, es decir,
un proceso que no est asociado a ningn terminal.
Orden lpr
Enva un trabajo a la cola de impresin.
lpr [opc] fichero(s)
Si el sistema tiene conectadas varias impresoras, es til la siguiente opcin para usar una
distinta a la impresora por defecto.
-P NombreImpresora
-c
-t ttulo
-m
-s
57
-q nivel_prioridad
El rango es desde 0 (mxima prioridad), hasta 25 (mnima
prioridad). En Suse 1 mnima, 100 mxima, 50 por defecto.
Puede recibir la informacin a imprimir mediante una tuberia, procedente de otro comando o
con un redireccionamiento. Si no se le indica entrada o se especifica con un guin (-) se usa la
entrada estndar.
Control de la cola.
58
Un solo guin elimina todos los trabajos de impresin del usuario que ejecuta la
orden. Si lo ejecuta el administrador, elimina todos los trabajos de todos los
usuarios.
Administrar la impresin.
lpc
Permite comprobar el estado de las impresoras, activar y desactivar las impresoras, iniciar o
detener la impresin de trabajos, as como reorganizar el orden de los trabajos en la cola de
impresin.
Esta orden muestra su propio prompt (lpc>) en el que admite sus propias rdenes, algunas de
las ms tiles son:
status [all | printer]
enable [all | printer] Activa el spooling de las impresoras que se listan. Permite
nuevos trabajos en la cola de impresin.
disable [all | printer] Desactiva las colas de impresin y no se aceptan nuevos trabajos.
topq printer JobId ... Pone los trabajos relacionados al principio de la cola.
quit o exit
Sale de lpc.
? o help
59
5. Para activarlo cuando se arranca, edita /etc/fstab para incluir una de estas lneas:
/dev/hdb2
UUID=
none
none
swap
swap
sw
sw
0
0
0
0
Introduccin
El objetivo de este wiki, es conocer las diferentes maneras de obtener ayuda sobre sistemas
basado en GNU/Linux. No importa la distribucin que manejes, la forma de obtener la sintaxis,
los parmetros y dems acciones de los diferentes comandos y/o forma de invocacin.
Daremos una revisin a la forma estndar de correr programas, as como tambin a las
mltiples opciones de obtener ayuda e interpretarla.
Corriendo Programas
Los sistemas *nix, se han caracterizado por tener una lnea de comandos altamente eficiente, y
poderosa, para realizar cualquier tipo de procedimiento sobre ella.
Antes de proceder, acerca de como obtener ayuda, es conveniente dar un acercamiento a la
lnea de comandos.
La mayora de los comandos, tienen una sintaxis parecida a la siguiente:
comando opciones argumento
Aunque actualmente muchos comandos permiten cambiar el orden entre los argumentos y las
opciones, esta es la forma general y universal para cualquier sistemas *NIX.
Las opciones modifican el comportamiento de los comandos y normalmente tienen la siguiente
caracterstica:
Opciones de una sola letra, estn precedidas por un -, y es posible unirlas en una sola,
por ejemplo:
ls -l -h
ls -lh
Opciones en forma de palabras, normalmente estn precedidas por --, por ejemplo:
ls --color=tty
Los argumentos se refieren a los nombres de archivos y/o otros datos necesitados por el
comando. Es posible poner mltiples comandos separando uno de otro a travs del ;
Obteniendo ayuda
La lnea de comandos es muy extensa, y dependiendo de la cantidad de paquetes instalados,
podemos encontrarnos con miles de comandos y cada uno de estos con diferentes opciones
que varan una y otra vez su comportamiento.
La idea es como siempre no tratar de memorizar todo, sino comprender como funciona, y para
entender esto, uno no esta solo. Existen diferentes niveles para la obtencin de ayuda sobre
las distintas utilidades del sistema, estos niveles incluyen:
La opcin --help
Las paginas del manual
Las pginas info
La documentacin incluida con el paquete
Los grandes foros como esdebian.org y Google
La opcin --help
La mayora de los comandos, ofrecen una ayuda intuitiva y bsica directamente sobre la
terminal, esta ayuda es llamada con la opcin --help. Una salida, comn de esta opcin es:
natas@pc-natas:~$ sed --help
Usage: sed [OPTION]... {script-only-if-no-other-script} [inputfile]...
-n, --quiet, --silent
suppress automatic printing of pattern space
-e script, --expression=script
add the script to the commands to be executed
-f script-file, --file=script-file
add the contents of script-file to the commands to be
executed
-i[SUFFIX], --in-place[=SUFFIX]
edit files in place (makes backup if extension
supplied)
-l N, --line-length=N
specify the desired line-wrap length for the `l'
command
--posix
disable all GNU extensions.
-r, --regexp-extended
use extended regular expressions in the script.
-s, --separate
consider files as separate rather than as a single
continuous
long stream.
-u, --unbuffered
load minimal amounts of data from the input files and
flush
the output buffers more often
--help
display this help and exit
--version output version information and exit
If no -e, --expression, -f, or --file option is given, then the first
non-option argument is taken as the sed script to interpret. All
remaining arguments are names of input files; if no input files are
specified, then the standard input is read.
La lnea que comienza con usage es la que nos dice como se usa el comando, la forma de
leer, este tipo de lneas, quedar aclarada con un ejemplo:
El comando man
Las conocidas pginas del manual de linux, proporcionan informacin autosuficiente y extensa
sobre los comandos. Casi todas las utilerias, comandos y archivos de configuracin mantienen
una pgina del manual.
Las pginas del manual, estn organizadas en captulos, donde cada captulo especfica la
seccin y tipo de informacin que proporciona, estos captulos son:
embargo usualmente y a no ser que modifiquemos las caractersticas, es less, que ser el
usado en este wiki.
La navegacin por las paginas del manual puede hacerse mediante las flechas del teclado, o
con las teclas PageUp y PageDown.
Para buscar una frase o palabra en especfico podemos usar /texto a buscar, y para movernos
a travs de las coincidencias usamos n o N, segun nos movamos a la siguiente o anterior
coincidencia respectivamente.
Unas de las opciones de man mas usadas es :
man -a passwd Nos entrega todas las paginas del manual de passwd (el comando, el archivo,
etc)
man 5 passwd Nos entrega la pagina del manual de archivo passwd (recordemos que la
seccin 5 es de archivos de configuracin).
El comando info
El comando info es la siguiente generacin de ayuda, y es usado generalmente cuando la
informacin de man es o muy poca, o tanta que es dificil movernos por ella.
Aunque, estaba planeado que esta utileria sustituyera a las pginas del man, en la actualidad
son complementos uno de otra, puesto que en muchos casos, la informacin contenida en una,
es la misma que en la otra.
8. Redes
9. Otros
9.1. Mldonkey
9.2. Mutella
9.3. FTP
9.4. IRC
9.5. Calculadora
9.6. Promps
PRLOGO
Los datos estn cogidos de los artculos:
http://www.esdebian.org/articulos/24063/lista-comandos-gnulinux-i
http://www.esdebian.org/articulos/24062/lista-comandos-gnulinux-ii
http://www.esdebian.org/articulos/24070/lista-comandos-gnulinux-iii
Varios
mc
Explorador de archivos que incluye su propio editor,mcedit.
mcedit
Editor de texto includo en mc.
ls
Lista los ficheros de un directorio concreto.
1.
ls -l
ls -la
ls -la | more
stat -f fichero
tail -n 12 archivo
tail -f archivo
Muestra las ltimas lneas del archivo, actualizndolo a medida que se van aadiendo.
til para controlar logs.
head archivo
Muestra las primeras lneas de un archivo, 10 por defecto. Admite opcin -n igual que el
comando tail.
find /usr -name lilo -print
Busca todos los ficheros con nombre lilo en /usr.
find /home/paco -name *.jpg -print
---------- ---------- ----|
|
|
V
V
`---->muestra la ruta completa del
fichero encontrado
ruta patrn de bsqueda
Busca todas las imgenes .jpg en /home/paco.
find -maxdepth 1 -regex ".*/[^./]*" -type f
Lista ficheros sin punto en el directoria actual.
whereis ejecutable
Busca ejecutables(ejemplo: whereis find)
type comando
Muestra la ubicacin del comando indicado.
Si es un comando interno del shell mostrar algo as como:comando is a shell builtin.
pwd
Visualiza el directorio actual.
history
Muestra el listado de comandos usados por el usuario (~/.bash_history)
fc -l
Muestra el listado de los ltimos comandos ejecutados.
eject cdrom0
Abre la bandeja del cdrom.
1.
eject -t cdrom0
cd ..
Vuelves al anterior.
2.
cd .mozilla
cd ./.mozilla
cd /home/paco/.mozilla
-R
-p
-d
Conserva los enlaces simblicos como tales y preserva las relaciones de los duros.
4.
-a
rm -r directorio
rm *.jpg
ln ruta_fichero ruta_enlace
Crea un enlace duro (con el mismo inodo,es decir mismo fichero con distintos nombres)
ln -s ruta_directorio ruta_enlace
Crea un enlace simblico (con diferente inodo,es decir se crea un nuevo fichero que apunta al
\"apuntado\",permitiendo enlazar con directorios y con ficheros de otro sistema de archivos)
diff [opciones] fichero1 fichero2
Compara ficheros.
1.
touch fichero
dueo
-----
grupo
-----
otros
-----
asci
binario
octal
paso de asci
a binario
paso de
binario
a octal
r w x
1 1 1
7
r w x
1 1 1
1 1 1
4+2+1
7
r w 1 1 0
6
r w 1 1 0
1 1 0
4+2+0
6
- - 0 0 0
0
- - 0 0 0
0 0 0
0+0+0
0
activar=1
desactivar=0
r activado=4
w activado=2
x activado=1
umask nnn
Establece qu permisos sern deshabilitados para los archivos nuevos.
umask
Muestra la configuracin actual de umask(normalmente 022)
umask 000
Deshabilita ninguno,es decir los activa todos.
Atencin,que la cosa manda huevos:
umask
umask
umask
umask
0 2
0 0
-----
2 =
0 =
-w---
chmod
chmod
-w- =
--- =
7 5 5
7 7 7 |
chmod rwx r-x r-x
chmod rwx r-x r-x
Una manera rpida de averiguar los permisos partiendo de umask es aplicando la siguiente
resta:
777-022=755 para el primer caso y 777-000=777 para el segundo.
Cuando umask es 022,los permisos normales de un directorio son 755 (rwx r-x r-x) producto de
la
resta 777-022.Sin embargo los de un fichero son 644 (rw- r-- r--).sto es as porque se
considera que lo normal para un fichero es que no sea ejecutable de manera que la resta para
averiguar los permisos de un fichero sera 666-022=644
Si escribo en una consola umask 000 y a continuacin \"mkdir nuevodirectorio\",ste tendr
todos los pemisos:
rwx rwx rwx (777) pero y los ficheros que creemos dentro de dicho directorio? pues stos
tendrn los permisos :
rw- rw- rw- (666) resultado de la resta 666-000=666
Os aclarais?... yo tamp
Para que la mscara de permisos permanezca de una sesin a otra tienes que ponerla en el
.bash_profile de tu home.
Imprimiendo
lpr fichero
Aade un documento a la cola de impresin.
lpr -P "nombre_impresora" fichero
Se especifica la impresora a la que queremos mandar el fichero a imprimir
lpr -#3 fichero
Realiza 3 copias del fichero.
lpr -P "hp" -o page-set=odd fichero
Imprime slo las pginas impares del fichero que hemos mandado a la impresora "hp"
lpr -o page-ranges=7-49 fichero
Imprime el intervalo de pginas 7-49 del documento
lpr fichero
Aade un documento a la cola de impresin.
lpq
Muestra los documentos en cola.
lprm
Cancela la impresin del documento activo.
lprm 3
Cancela la impresin del trabajo n 3.
pr +2 l70 -w 80 -h \"Comandos\" fichero
Preprocesador de impresin para formatear un archivo de texto.
-l70
Establece la longitud de la pgina de 70 lineas (66 por defecto).
-w 80
Establece el ancho de linea en 80 caracteres()72 por defecto).
-h \"Comandos\"
Establece \"Comandos\" como cabecera de cada pgina.
+2
Imprime a partir de la pgina 2.
-t
No imprimira cabeceras ni pies de pgina.
pr l70 -d comandos.txt | lpr
Una vez formateado el documento lo manda a la cola.
Nano
nano fichero
Leer,crear,editar un fichero de texto.
M = Esc/Alt | | Ctrl
Ctrl + x ----------Ctrl + o ----------Ctrl + r ----------Ctrl + w ----------Ctrl + y ----------Ctrl + v ----------Ctrl + k ----------cutbuffer.
Ctrl + u ----------Ctrl + l ----------Ctrl + j ----------Ctrl + m ----------cursor.
Ctrl + _ ----------M + g -------------M + i -------------M + x -------------M + p -------------M + m -------------M + r -------------M + e -------------M + b -------------M + s -------------M + h --------------
Formatos
[w3m,lynx,links,links2,elinks] fichero.html
Visualizan ficheros html.
tidy fichero.html
Analiza el cdigo de un documento html.
tidy -m fichero.html
Corrige,modificndolo,el cdigo del fichero html.
tidy -m -asxml fichero.html
Convierte un html a xml.
tidy -m -asxhtml fichero.html
Convierte un html a xhtml.
tidy -m -ashtml fichero.xhtml
Convierte un xhtml a html.
pstotext fichero.ps | less
Visualiza ficheros ps.
pstotext fichero.pdf | less
Visualiza ficheros pdf.
pdftops fichero.pdf fichero.ps
Convierte un fichero pdf a ps.
pdftotext -layout fich.pdf fich.txt
Convierte un fichero pdf a texto.
pdftotext -layout -htmlmeta fich.pdf fich.html
Empaquetado y compresin
7z a fichero.7z fichero
Comprimir.
7z e fichero_comprimido
Descomprimir.
7z x fichero_comprimido -o ruta_de_destino
Extraer donde indicamos.
7z l fichero_comprimido
Ver contenido.
7z t fichero_comprimido
Chequea el contenido.
Notas sobre 7zip
Comprime en formato 7z, zip, gzip, bzip2 y tar.
Si es un directorio lo hace recursivamente sin emplear la opcin -r
Con -t{tipo de fichero} tras las opcin \"a\" elegimos el formato de compresin:
7z a -tgzip fichero.gz fichero
Con -p protegemos con una contrasea el fichero:
7z a -tgzip -p fichero.gz fichero
Para comprimir ms de un archivo gz o bz2 antes hay que empaquetarlos en formato tar:
1)
7z a -ttar prueba.tar *.txt
2)
7z a -tgzip prueba.tgz prueba.tar
El formato 7z no guarda el dueo o grupo de un fichero por lo que | | no es recomendable para
copias de seguridad.
Es capaz de descomprimir zip,rar,gz,bz2,tar,cab,arj,cpio,deb,rpm aunque para rar necesita del
paquete 7zip-rar
zip -r fichero.zip fichero ;ejemplo: zip -r sinatra.zip ./sinatra/
Comprimir zip.
unzip archivo.zip
Descomprimir zip.
unzip -v archivo.zip
Ver contenido zip.
unrar e -r archivo.rar (e extrae en el directorio actual)
Descomprimir rar.
unrar x -r archivo.rar directorio de destino (x extrae donde se
indique)
Descomprimir rar.
unrar v archivo.rar
Ver contenido rar.
gzip -r fichero ; ejemplo: gzip -r ./sinatra
Comprimir gz.
gzip -d fichero.gz
Descomprimir gz.
gzip -c fichero.gz
Ver contenido gz.
bzip2 fichero ; ejemplo: bzip2 ./sinatra/*.ogg
Comprimir bz2.
bzip2 -d fichero.bz2
Descomprimir bz2.
bzip2 -c fichero.bz2
NOTA:
r equivale en todos los casos a recursivo
Mientras que zip comprime y empaqueta,gzip bzip2 slo comprimen ficheros,no
directorios,para eso existe tar.
Ficheros tar
tar -vcf archivo.tar /fichero1 /fichero2 ...(fichero puede ser
directorio)
Empaquetar.
tar -vxf archivo.tar
Desempaquetar.
tar -vtf archivo.tar
Ver contenido.
Para comprimir varios ficheros y empaquetarlos en un solo archivo hay que combinar el tar y el
gzip o el bzip2 de la siguiente manera:
Ficheros tar.gz (tgz)
tar -zvcf archivo.tgz directorio
Empaquetar y comprimir.
tar -zvxf archivo.tgz
Desempaquetar y descomprimir.
tar -zvtf archivo.tgz
Ver contenido.
Ficheros tar.bz2 (tbz2)
tar -jvcf archivo.tbz2 directorio
Empaquetar y comprimir.
tar -jvxf archivo.tbz2
Desempaquetar y descomprimir.
tar -jvtf archivo.tbz2
Ver contenido.
Opciones de tar:
-c : crea un nuevo archivo.
-f : cuando se usa con la opcin -c,usa el nombre del fichero
especificado para la creacin del fichero tar
cuando se usa con la opcin -x,retira del archivo el fichero
especificado.
-t : muestra la lista de los ficheros que se encuentran en el fichero
tar
-v : muestra el proceso de archivo de los ficheros.
-x : extrae los ficheros de un archivo.
-z : comprime el fichero tar con gzip.
-j : comprime el fichero tar con bzip2.
Comodines
Alias
Es el mote que se le pone a un comando,de manera que la prxima vez que queramos
ejecutarlo
basta con llamarlo por su mote.Escribiendo alias sin parmetos nos aparecen la lista de alias
que tenemos.
Ejemplos:
Si ejecuto:
alias rm=\'mv --target-directory=/home/paco/.papelera_rm\'
le he puesto el mote rm a mv --target-directory=/home/paco/.papelera_rm
As la prxima vez que borre algo con rm, ir a parar al directorio .papelera_rm
Pero si lo escribo as: \\rm loquesea el alias ser ignorado.
Otro:
alias cdrip=\'cdda2wav -B -D /dev/hdd -s -x\'
cada vez que escriba en una consola cdrip me ripear el CD que tenga en /dev/hdd
Para que los alias permanezcan de una sesin a otra hay que ponerlos en el archivo
/home/.bashrc
nota1:el mote y el comando al que sustituye bien pegaditos al signo igual.
nota2:el comando entre comillas simples.
stdin
entrada estandar para datos,el teclado (0)
stdout
salida estandar para los programas,la pantalla (1)
stderr
salida estandar para los mensajes de error,la pantalla (2)
Redirecciones,un redireccionador redirige la salida de un comando a un fichero
(<)
comando < fichero
(>)
Su sintaxix suele ser:
comando > fichero
(>>)
comando >> fichero
Ejemplos:
dpkg --get-selections > programas_instalados.txt
En vez de mostrar la salida por pantalla, nos la vuelca al fichero programas_instalados.txt
Si ese fichero ya exista ha sido sobreescrito su contenido,pero si usamos >> no borrar nada
y aadira su salida al final del fichero.Otro ejemplo con echo:
echo \"fin de la lista de programas instalados\" >>
programas_instalados.txt
en vez de mostrar en pantalla el texto,lo aade al final del fichero programas_instalados.txt
Para despistar los de Unix se han inventado el mismo caracter pero al revs:
cat < programas_instalados.txt
en donde programas_instalados hace,no de salida sino de entrada para cat el cual lo muestra
en pantalla ,ya que la salida natural de cat es la estandar,stdout o pantalla
Si queremos que la salida de error no aparezca en pantalla sino que vaya a un archivo de
texto:
comando 2> fichero.txt ejemplo: xmms 2> error_xmms.txt
Tuberas,Una tubera hace que la salida de un programa sea la entrada de otro.
(|) Su sintaxis suele ser:
comando | comando
Ejemplos:
cat programas_instalados.txt | grep mozilla
Aqu le hemos cambiado la salida natural a cat y se la hemos mandado a grep para que
busque la
palabra mozilla dentro del fichero programas_instalados.txt
pr l70 -d comandos.txt | lpr Una vez formateado el documento (pr) lo manda a la cola (lpr)
Renombrando
Ejemplo:
1. cd/ruta a los ficheros
debe ejecutarse en el directorio en donde se encuentren.
2. mrename \'*.jpg\' boda -m
aadira boda a los nombres de los jpg
mmv \";*.original\" \"#1#2.nuevo\"
Comando para cambiar el sufijo del nombre de los archivos.En su sintaxis #1 sustituye a la
primera expresin regular(;) y #2 a la segunda(*).Aunque con este comando el(;) representa
cualquier subdirectorio y es la forma de darle recursividad a la accin.
Ejemplos:
1. mmv \"*.cbz\" \"#1.zip\"
Renombrara todos los cbz a zip,conservandose el nombre que precede a .cbz
2. mmv \";*.cbz\" \"#1#2.zip\"
Renombrara todos los cbz a zip en el directorio actual y sus subdirectorios
Mtools
mbadblocks a:
Se emplea tras formatear para buscar errores.
mcd [a:]
Informa del directorio MS-DOS en curso o bin cambiamos a uno.
mdir -a a:
Muestra el contenido de un directorio MS-DOS.
mcopy
Copia de ficheros MS-DOS a/o desde Unix.
mcopy \"a:directorio/*\"
copiara el contenido de \"a:directorio/*\" al directorio en curso.
mcopy \"a:directorio/*\" ~/disquete
copiara el contenido de \"a:directorio/*\" al directorio \"disquete\".
mcopy *.txt a:bill
copiara al directorio \"bill\" del disquete todos los .txt.
mmd a:nuevo_directorio
Crea un directorio MS-DOS
mdel \"a:bill/*.txt\"
Elimina un fichero MS-DOS.
mrd a:bill
Elimina un directorio MS-DOS
mdeltree a:bill
Elimina recursivamente un directorio MS-DOS
mren \"a:direct1/*.txt\" a:direct2
Mueve o renombra ficheros MS-DOS
mmove a:directorio1 a:directorio2
Mueve o renombra ficheros o subdirectorios MS-DOS
Comandos relacionados:
mkfs.msdos /dev/fd0
Formatea en formato msdos un disquete.
fdformat /dev/fd0
Formatea en formato msdos un disquete y despus verifica el formateo.
GRFICOS
glxinfo
Informacin sobre la biblioteca grfica OpenGL y su extensin GLX para X-Window
direct rendering: YES = Salida de glxinfo que nos indica si tenemos activada la aceleracin 3D.
showrgb
lista los colores reconocidos por el sistema y su valor RGB.
bsdgames
Coleccin de juegos para consola.
sl
Tren pasando.
apt-get moo
La supervaca del apt ----------->
cowsay muuuuu
Una vaca hablando en su idioma
cowthink -p muuuuu??
Una vaca pensando. *
cowsay -f tux hola
Tux saludando.Ver /usr/share/cowsay/cows.
(__)
(oo)
/------ \\/
/ | ||
/\\---/\\
banner [texto]
Muestra un cartel en pantalla.
figlet [opciones] [texto]
Derivado del anterior pero ms versatil.Tambin se puede usar de forma interactiva.
-w valor ------------------------- Indicamos la anchura del texto,el
valor por defecto es 80
-t ------------------------------- La salida se mostrar en su mxima
anchura.
-c ------------------------------- La salida se mostrar centrada.
-f tipo -------------------------- Indicamos la tipografa de la
salida.Ver /usr/share/figlet/fichero.flf
small,shadow,mini,etc. Podemos indicar la ruta donde buscar las
fuentes: figlet -f ~/fuentes/konto
Ejemplo: #figlet -f small texto
_
_
| |_ _____ _| |_ ___
| _/ -_) \\ / _/ _ \\
\\__\\___/_\\_\\\\__\\___/
xwd -root -screen > pantalla.xwd
Capturar la pantalla.
sleep 5 ; xwd -root -screen > pantalla.xwd
Capturar la pantallas tras 5 segundos.
xwd > ventana.xwd
Capturar una ventana.
import -window root pantalla.ps (tambin jpg,png,gif,etc)
Capturar la pantalla en cualquier formato.
sleep 5s ; import -window root pantalla.png
Capturar la pantalla tras 5 segundos.
import -window - ventana.jpg
Capturar una ventana en cualquier formato.
xwud -in pantalla.xwd
Ver imgenes en formato xwd.
display imagen.xwd
Visualizar imgenes (includas las xwd).
animate remero.gif (tambin admite delay)
Visualizar gif animados.
ascii/color
cacaview imagen.jpg (tambin png,gif,etc)
ascii
asciiview imagen.jpg (tambin png,gif,etc)
Visualizar imgenes en consola.
identify imagen.gif
Ver las propiedades de una imagen.
pdfimages fichero.pdf nombre_para_las_imgenes: pdfimages Xmen.pdf
xmen
Extraer las imgenes de un pdf
convert fichero.pdf nombre_y_formato_imgenes:convert fichero.pdf
imagen.png
Extraer las imgenes de un pdf
convert *.jpg catlogo.pdf
Crear un catlogo pdf con imgenes.
display \"vid:*.jpg\"
Crear un ndice grfico con miniaturas.
convert imgen_color.jpg -monochrome imgen_b/n.jpg
Convertir una imagen a blanco y negro.
convert imagen_original.ppm imagen_nueva.jpg
Cambiar el formato de UNA imagen.
convert -sample 100x50 imagen_original.jpg imagen_nueva.jpg
Cambiar las dimensiones de UNA imagen.
mogrify -format jpg *.ppm (convierte a .jpg todas las imgenes .ppm)
Cambiar el formato de VARIAS imgenes.
_fil
a
|
|
convert -font courier -fill yellow -pointsize 25 -draw \'text 100,250
remeros\' imagen.jpg imagen_con_txt.jpg
-------------------- -----------------------|
|
|
posicin del
texto
|
V
V
V
v
fuente
color de fuente tamao de la
fuente
|texto
|si ste tuviese ms de una palabra
|habra que ponerlo entre dobles comillas
Notas:
xwd viene en el paquete xbase-clients.
pdfimages viene en el paquete xpdf-utils.
las cacas viene en el paquete caca-utils.
asciiview viene en el paquete aview
aafire viene en el paquete libaa-bin
convert,animate,identify,mogrify import y display vienen en el paquete imagemagick
libaa es una libreria que nos permite ver las imgenes,incluso las animadas,mediante
caracteres ascii.
libcaca permite lo mismo que libaa pero en color-
MULTIMEDIA
grabadora
lector
/dev/sr0
/dev/sr1
Nota:
Salvo cdrecord y dvdrecord los dems se pueden usar en un kernel sin emulacin SCSI.
Para usar cdrecord y dvdrecord con un kernel 2.6 ,sin emulacin SCSI, podemos probar a
realizar un scanbus sobre nuestro dispositivo grabador para ver si lo detecta:
# cdrecord -scanbus dev=/dev/hdc
en cuyo caso lo podremos usar sin ms,sustituyendo la nomenclatura propia de cdrecord
dev=0,0,0 por dev=/dev/hdc (ver nota 1 ms abajo)
Imgenes
Grabacin de CD
1 sesin
dnde acab la sesin
en el siguiente paso.
creamos nueva imagen
imagen2.iso fichero2
2 sesin
Grabar CD multisesin
cdrecord -v blank=fast (ver cdrecord blank=help)
Borrar un CDRW.
cdrecord -v -eject speed=8 blank=all dev=1,1,0
Borrar un CDRW por completo, y no slo la tabla de particiones (tardar ms que en el caso
anterior). Le pedimos que nos muestre los detalles con -v (por ejemplo, el progreso del
borrado) y con -eject indicamos que el CD ser expulsado al finalizar el proceso
wodim -v dev=/dev/cdrw -blank=all
Borrar un CDRW por completo.
Grabacin de DVD
Notas:
1.Se pueden establecer valores predeterminados para dev,el dispositivo de grabacin;
fs,el tamao del bufer(nunca menor que el de la grabadora) y speed,la velocidad de
grabacin,indicndolo en el fichero /etc/default/cdrecord y simplificando de esta
manera la sintaxis.
2.growisofs viene en el paquete dvd+rw-tools.
3.dvdrecord viene en el paquete dvdrtools.
Ripeo de un CD
cdda2wav -B -H -D /dev/sr1 -s -x
extrae disco completo en archivos wav separados.
cdda2wav -H -D /dev/sr1 -s -x -t 5
extrae el track n 5
cdparanoia -B -d /dev/sr1
extrae disco completo en archivos wav separados.
cdparanoia 5 -d /dev/sr1
extrae el track n 5
cdparanoia -- "1-"
extrae el disco completo desde el track n 1 en un solo archivo wav
abcde -d /dev/sr1 -N -x -o mp3
extrae disco completo en archivos mp3 separados.
abcde -d /dev/sr1 -N -x -o mpc
extrae disco completo en archivos mpc separados.
abcde -d /dev/sr1 -N -x -o ogg
extrae disco completo en archivos ogg separados.
abcde -d /dev/sr1 -N -x -o ogg tracks 1-3 5
extrae las tres primeras canciones y la quinta.
-d indica el dispositivo
-N actua con las opciones por defecto,sin preguntar
-x expulsa el cd al acabar
-o tipo de archivo resultante
abcde -1 -M -o flac
extrae el CD en un solo archivo flac con su correspondiente cuesheet
Nota:
abcde conserva los id3 de los temas al pasarlos al disco duro,es decir artista,ttulo,etc.Requiere
de oggenc,lame,cdparanoia o cdda2wav,id3v2 y cd-discid y opcionalmente normalize.
Conversiones
lame -h -m j tema.wav
Pasar de wav a mp3 (-b bitrate -h mayor calidad; -m j join stereo)
lame -h -m j --nogap *.wav
Pasar lote de wav a mp3
oggenc -b 128 -q 5 tema.wav
y 10)
oggenc *.wav
fichero ogg)
oggenc -a -l -t *.wav
respectivos ogg)
Otros
Reproduccin
aafire
Fuego animado.
cacafire
Fuego animado a color.
cacademo
Demostracin de arte ascii a color.
cacaball
cacamoin
cacaplas
Variados grficos animados a color.
bb
Impresionante demostracin audiovisual de arte ascii.
aatv
Programa para ver la tele mediante cdigo ascii.
xaos -driver aa
Indicamos a xaos que use las librerias aalib para visualizar fractales.
aaxine video.wmv
mplayer -vo aa video.avi
mplayer -vo caca video.mpg
mplayer video.avi
mplayer -vcd 1
mplayer -dvd-device /dev/hdd dvd://1
(en ascii)
(en ascii con color)
(tambin mpg,wmv,etc)
(para ver un vcd)
(para ver un dvd)
(digital)
(digital con
(cd con ncurses)
(cd)
Escuchar audio.
mplayer -cache 100
mms://...
(protocolo mms)
mplayer -cache 100 -playlist
http://ruta_del_archivo.asx
(protocolo mms)
mlayer http://... ;ejemplo:mplayer
http://147.156.27.128:8004
(shoutcast-icecast)
somaplayer http://... ;ejemplo:somaplayer
http://147.156.27.128:8004
(shoutcast-icecast)
Ecuchar la radio.
mimms -t 20 -o radio3_uned.asf mms://...
-t tiempo de grabacin en mnts.
-o nombre que queremos para la grabacin.
mms (asf/wma)
streamripper http://... -l
3600
shoutcast(mp3/ogg)
-l tiempo de grabacin en sgs.
Grabar emisiones.
Cmo conseguir la direccin mms:
Una vez en la web de la radio que nos gusta,por ejemplo radio3,nos vamos al enlace que nos
indican para el comienzo del streaming y copiamos su ruta o bin nos bajamos dicho
enlace,que es un fichero asx que contiene las direcciones mms,lo abrimos con un editor de
texto y las buscamos.
Pero si el enlace es cdigo javascript al aparecer la ventana emergente, miramos su cdigo
fuente y buscamos (Ctrl+f) por asx o mms y ah estarn.
Cmo conseguir direcciones shoutcast-icecast:
aqu: http://www.shoutcast.com/ y aqu: http://www.icecast.org
Notas:
Con -vo le indicamos al mplayer el driver de salida de video,en este caso aa o caca para verlo
en ascii.
Con \"mplayer -vo help\" podemos ver los drivers de salida de video disponibles.
Si tenemos un enlace de nuestro dispositivo a /dev/dvd, podemos simplificar la sintaxises,ya
que es el sitio por defecto en el que mira el mplayer.
aaxine viene en el paquete xine-ui de sid y lee los mismos formatos de video que xine.
play y soxmix vienen en el paquete sox.
cdplay viene en el paquete cdtool.
mocp viene en el paquete moc.
somaplayer y mplayer pueden igualmente reproducir audio digital y audio cd.
SISTEMA
Varios
man comando
man --help
info comando
xman
Muestra informacin sobre el comando.
help comando
Muestra informacin sobre un comando interno del shell(bash).
apropos palabra_clave
Busca dentro de las descripciones de man la palabra clave.
apropos -e palabra_clave
Busca la palabra exacta.
finger
Muestra los usuarios conectados en tiempo real al sistema. Necesita instalarse como paquete
aparte (finger).
last
Muestra los ltimos usuarios que se conectaron al sistema y las fechas y horas de conexin
(til para analizar intrusiones)
cal -my
Muestra el calendario.
uptime
Muestra la hora,tiempo de funcionamiento,n usuarios conectados y la carga media.
tzconfig/tzselect
Programas interactivos que permiten selecionar la zona horaria.
grep UTC /etc/default/rcS
Comprobamos si el reloj hardware mantiene la hora local o universal (UTC)
date
Muestra la fecha y hora del sistema,en formato local.
date -u
Muestra la fecha y hora en formato UTC(Tiempo Universal Coordinado).
hwclock --show
Muestra el reloj harware (tambin llamado reloj de la BIOS y reloj CMOS).
hwclock -systohc
Pone el reloj harware a la hora del sistema.
ntpdate servidor NTP
Ajusta directamente la hora del sistema sincronizndola con la de un servidor NTP.
ntpd
Demonio que ajusta el reloj de forma gradual sincronizndolo con servidores NTP.
Como obtener Ayuda en GNU/LinuxarribaLista de comandos de GNU/Linux
$ watch -n 1 date
Igual que date pero en este caso veramos correr los segundos.
$ clear
Limpia la pantalla.
$ reset
Restaura la Consola.til para cuando empiezan a aparecer caracteres raros.
$ uname -a
Versin del kernel
$ hostname
Visualiza el nombre de la mquina.
$ tty
Muestra el nombre de fichero de la terminal conectada a la salida estndar.
# /etc/init.d/servicio stop
Para un servicio/demonio
# /etc/init.d/servicio start
Inicia un servicio/demonio.
# /etc/init.d/servicio restart
Reinicia un servicio/demonio.
$ startx
Arranca el entorno grfico con el gestor especificado en el .initrc de tu home.
$ startx /usr/bin/X11/icewm
Arranca el entorno grfico con el icewm (si es que no fuera el predeterminado)
$ Ctrl+C
Termina un proceso.
$ Ctrl+Z
Suspende temporalmente la ejecucin de un programa.
$ Ctrl+S
Para la transferencia de datos a la terminal.
$ Ctrl+Q
Resume,reinicia la tranferencia de datos
$ Ctrl+R
Entra en modo de busqueda incremental de linea de comandos, ej: Si entras en el modo y
escribis "ls" (sin comillas) te completar la entrada ms reciente que empiece por "ls", para ir
rotando por la entradas antereriores seguir presionando Ctrl+R, para terminar presionar alguna
flecha.
$ Ctrl+L
Limpia la pantalla.
$ Ctrl+O
Ejecuta un comando (como si se hubiera presionado ENTER) pero vuelve y deja el comando
escrito en el prompt.
$ Ctrl+K
Borra desde donde est el cursor hasta el final.
$ Ctrl+W
Borra desde donde est el cursor hasta el inicio de la palabra debajo de l.
$ Ctrl+E
Salta al final de lo que se est escribiendo.
$ Ctrl+Alt+F2
Salir del entorno grfico a un terminal.(Fn segn gettys activados en /etc/inittab)
$ Ctrl+Alt+Supr
Estando en una terminal reinicia (si no se indica otra cosa en /etc/inittab)
$ ./script
Ejecuta un script de shell.
$ consolechars -f fuente.psf.gz
Cambiar la fuente de la consola.Las fuentes se encuentran en /usr/share/consolefonts/
$ base-config
Configura el sistema base.
$ gpm
Programa que da soporte de ratn a la consola y aplicaciones que corren sobre ella.
$ reportbug
Programa en modo texto para enviar bugs a Debian
$ exit
Termina la ejecucin del programa en curso.
# init 0
Apaga la mquina.
# init 6
Reinicia la mquina.
$ su
Entrar a la sesin como root u otro usuario.
# su nom_usuario
Estando como root entramos como otro usuario.
$ passwd
Cambio de contrasea.
$ who -a -H
Muestra informacin de los usuarios conectados al sistema.
$ users
Muestra informacin de los usuarios conectados al sistema.
$ id
Muestra informacin del usuario actual,(grupos a los que pertenece,uid,gid)
$ groups
Muestra los grupos a los que pertenece un usuario.
# adduser usuario
Crea un nuevo usuario.
# addgroup grupo
Crea un nuevo grupo.
# deluser usuario
Elimina un usuario.
# delgroup grupo
Elimina un grupo.
# usermod -l nuevo_login
Cambia el nombre del usuario. Sera bueno combinarlo con -d
image = /boot/memtest86+.bin
label = memtest86+
En menu.lst:
title memtest86+
root
(hd0,0)
kernel /boot/memtest86+.bin
# make-memtest86+-boot-floppy
Crea un disquete de arranque desde el que se ejecutar memtest86+
$ free -m -s 3
Muestra el uso de memoria.
$ ps aux
Muestra informacin de los procesos en curso.
$ top
Muestra informacin de los procesos en curso.(tecla z colorea los activos)
$ pstree
Muestra los procesos en curso en rbol.
$ pidof comando
Busca el ID de un programa que se est ejecutando.
$ killall proceso
Para un proceso.
$ strace comando
Muestra las llamadas al sistema originadas por un proceso.
$ fuser -v archivo
Muestra los procesos que estn usando un fichero o directorio.
$ lsof | less
Lista los ficheros abiertos por los procesos, en realidad descriptores de ficheros
$ lsof -c comando
Lista los ficheros abiertos por un proceso.
$ lsof +D /home/paco
Lista los procesos que estn usando mi directorio.
$ lsof -i :60627
Muestra que proceso se encuentra detrs del puerto 60627 (aunque est a la escucha)
$ comando &
Ejecuta un comando en segundo plano(background),permitiendonos seguir usando el promp.
$ jobs
Lista los procesos en segundo plano identificndolos con un n de tarea.
$ fg n
Pasa a primer plano (foreground)un proceso
$ bg
Pasa a background un proceso que hemos suspendido temporalmente tecleando Ctrl-z
$ sleep 5 comando
Retarda 5 segundos la ejecucin de un comando, m para minutos y h para horas.
$ at [tiempo]
sta forma nos abre un promp interactivo.
Ejemplo:
$ at 15:00
Abre el promp de at
$ at > comando
Ingresamos el comando/os.
$ ctrl+d
Salimos de at
$ atq
Muestra,numeradas,la lista de tareas programadas.
$ atrm n
Eliminar una tarea identificada por su n.
$ batch
Se emplea de las mismas formas que at,solo que en este caso, el script o comando se
ejecutar slo si la media de carga de la CPU es inferior al 80%.
5.c.-Disco duro
Nomenclatura de dispositivos
------------------------------------------------------| Nomenclatura de discos en linux|
IDE
|
SCSI
|
| -------------------------------|-----------|----------|
| Disco maestro del primer bus | /dev/hda | /dev/sda |
| Disco esclavo del primer bus | /dev/hdb | /dev/sdb |
| Disco maestro del segundo bus | /dev/hdc | /dev/sdc |
| Disco esclavo del segundo bus | /dev/hdd | /dev/sdd |
-------------------------------------------------------
Designacion de particiones
|
|
|
|
|
|
$ du -h fichero
Muestra espacio ocupado en disco,del directorio en curso si no indicamos nada.
$ tree -a -s -L 2
tree es un programa que muestra lo mismo que du en forma de rbol.
$ df
Muestra informacin sobre particiones montadas, con la opcion -h se muestra en formato
Human Readable (e.g. KB, MB, GB).
# cfdisk
Muestra informacin sobre particiones.Herramienta para particionar en ncurses.
# fdisk -l
Muestra informacin sobre particiones.Herramienta para particionar.
# mount
Vemos el listado de dispositivos montados.
# mount punto_montaje
Monta un dispositivo.(ya establecido en el fstab)
# umount punto_montaje
Desmonta un dispositivo.(ya establecido en el fstab)
# umount /dev/hda2
Desmonta un dispositivo
# fsck /dev/hdax
Chequea y repara el sistema de archivos de una particin NO MONTADA.
# mkfs.ext2 /dev/hdb1
Crea un sistema de ficheros Linux ext2 en la primera particin del segundo disco duro.
# mkfs.ext3 /dev/hdb1
Crea un sistema de ficheros Linux ext3 en la primera particin del segundo disco duro.
# mkfs.ext3 /dev/fd0
Crea un sistema de ficheros Linux ext3 en el floppy.
# mkswap /dev/hda2
Crea un sistema de ficheros Linux swap (intercambio) en hda2.
# resize2fs -f /dev/hda2
Reajusta el tamao del sistema de ficheros despus de haber ampliado/reducido la
particin/volumen
# tune2fs -j /dev/hda2
Convierte hda2 de ext2 a ext3
# quota
Programa que gestiona/limita el uso que hacen del disco los usuarios/grupos.
5.d.-Entorno
$ locale
Muestra la zona geogrfica configurada.
# dpkg-reconfigure locales
Reconfigura los locales.
# dpkg-reconfigure console-data
Reconfigura el teclado.
$ loadkeys ruta_mapa_teclado.gz
Carga el mapa de teclado que le indicamos,que estar en:/usr/share/keymaps
$ locale charmap
Muestra el cdigo de caracteres en uso.
$ set
Muestra las variables locales definidas
$ env
Muestra las variables de entorno definidas.
$ export
Muestra las variables de entorno declaradas.
$ export VARIABLE=valor
Aadimos una variable.Con export EDITOR=nano establecemos nano como editor
predeterminado.
$ export VARIABLE=
Eliminamos una variable dejando en blanco su valor. Para que las variables permanezcan de
una sesin a otra hay que ponerlas en el archivo .bashrc de tu home.
5.e-Instalacin de software
Dpkg
Herramienta de nivel medio para instalar, construir, borrar y gestionar los paquetes de Debian
# dpkg -i paquete
Instalacin de paquetes .deb
# dpkg -r paquete
Desinstala un paquete.
# dpkg -c paquete
Muestra el contenido (ficheros) de un paquete.
# dpkg -L paquete
Muestra todos los ficheros que se instalaron con un paquete.
# dpkg -S fichero
Muestra a qu paquete pertenece un fichero.
# dpkg --get-selections
Muestra todos los paquetes instalados en el sistema.
# dpkg-reconfigure paquete
Reconfigura paquetes instalados.Ejemplo: dpkg-reconfigure locales
Apt
Herramienta Avanzada de Empaquetamiento (Advanced Packaging Tool)
que gestiona el sistema de paquetes de Debian instalando,desinstalando, actualizando y
configurando los mismos.
La sintaxis es:
# apt-get [opciones] accin
# apt-get update
Descarga y analiza la lista de nuevos paquetes desde los repositorios del sources.list.
# apt-get upgrade
Actualiza todos los paquetes instalados(no instala ni elimina paquetes).
# apt-get dist-upgrade
Actualiza todos los paquetes resolviendo las dependencias.
# apt-get -s accin
Simula,sin llevar a cabo la accin. Por ejem: apt-get -s install paquete.
# apt-get -d accin
Slo descarga los paquetes deb en /var/cache/apt/archives/ sin instalar o desinstalar nada
# apt-get clean
Elimina todos los paquetes (.deb) descargados y almacenados en /var/cache/apt/archives/
Apt-cache
Utilidad que manipula la cach de paquetes de APT en busca de informacin
Apt-build
Herramienta que no se limita a instalar un paquete deb sino que compila el tarball, crea el
paquete deb y lo instala, quedando as integrado con apt. Lo que se consigue compilando es
Aptitude
Gestor de paquetes con algunas mejoras con respecto a apt como la instalacin automtica de
los paquetes que sin ser dependencias forman parte de los sugeridos o recomendados y la
autodesinstalacin de los paquetes instalados en su momento como dependencias de otros
(automticamente en contraposicin a manualmente),si ningn otro paquete|
los necesitase.Se puede usar de forma interactiva si no se especifica ninguna accin o desde
la linea de comandos,usando las mismas opciones y acciones de apt.La sintaxis es: aptitude
[opciones] accin ejem.: aptitude -s purge firefox
# aptitude update
Descarga y analiza la lista de nuevos paquetes segn los repositorios del sources.list.
# aptitude safe-upgrade
Realiza una actualizacin segura (no instala ni elimina paquetes).
# aptitude full-upgrade
Realiza una actualizacin,instalando y eliminando paquetes si fuera preciso
$ aptitude clean
Elimina los ficheros .deb descargados
Opciones:
-s
Simula las acciones, pero en realidad no las realiza.
-d
Slo descarga paquetes, no instala o desinstala nada.
-p
Siempre pide confirmacin de las acciones
-y
Supone que la respuesta a preguntas simples del tipo s/no es s
-f
Trata de arreglar paquetes rotos de forma agresiva.
-V
Muestra la versin de los paquetes a instalar.
-D
Muestra las dependencias de los paquetes cambiados automticamente.
-t rama
Establece la rama de Debian desde la que se instalan los paquetes
Deborphan
Muestra los bibliotecas (paquetes lib) hurfanas
-a
Muestra todos los paquetes hurfanos (que no dependen de ningn otro).
-d
Muestra tambin sus dependencias.
-n
Muestra los paquetes \"sugeridos\" y \"recomendados\" como dependencias.
# deborphan -A paquete
Ignora un paquete(buena opcion si tenemos mala memoria y queremos conservar un hurfano)
# deborphan -R paquete
Cancela la orden anterior,si el paquete es hurfano lo mostrar.
# deborphan -L
Lista los paquetes ignorados
Orphaner
Interfaz grfica de deborphan, sin parmetros slo mostrar paquetes lib.
-a
Muestra todos los paquetes hurfanos del sistema.
Editkeep
Interfaz grfica que gestiona o edita la lista de paquetes ocultos de deborphan.
Debfoster
Programa que mantiene una lista de los paquete que fueron instalados como dependencias de
otros.La primera vez que se ejecuta pregunta si quieres conservar los paquetes
instalados(pregunta por todos),Puede ejecutarse de manera interactiva o bin directamente
desde la linea de comandos para instalar o desinstalar paquetes.
Localepurge
Script que elimina e impide la instalacion de los locales y pginas man que
no nos interesa tener en el disco.Al instalarlo nos da a elegir los locales y
si automaticamente impide la instalacin de otros.El programa no se encuentra
bin integrado con la gestin de paquetes de debian...
Checkinstall
$
$
$
#
./configure
make
su
checkinstall
Esta sucesin de comandos crean un paquete .deb, una vez descomprimido el tarball* y
ubicados en el directorio recin creado (si es el caso).
./configure: comprueba si nos faltan dependencias y crea el archivo make.ini necesario para la
compilacin.
make: compila el programa.(lo pasa a lenguaje mquina o binario)
checkinstall: crea el paquete .deb
*tarball: fichero comprimido con el cdigo fuente del programa.
Me parece mejor la idea de hacer un paquete deb que la de compilar un programa desde las
fuentes, de sta manera se puede instalar el programa mediante dpkg -i quedando totalmente
integrado en el sistema y luego si queremos desinstalarlo lo tendremos tambin mucho ms
facil con dpkg -r
root@CD # cd /
nos vamos a / del knoppix CD.
root@disco_duro # /sbin/lilo
ejecutamos lilo.
root@disco_duro # exit
nos salimos de chroot y por tanto del disco duro
root@CD # exit
salimos del root de knoppix.
CD_knoppix $
volvemos al punto de partida.
* La orden chroot lo que hace es situarte virtualmente en la particin que le indicas y a partir de
ah las ordenes que le pases a la consola se ejecutan en esa particin, es como si realmente
estuvieras en esa particin.
boot=/dev/fd0
Si teneis varias particiones,entre ellas alguna lgica debeis aadir al lilo.conf del disquete la
opcin: \"lba32\" para que pueda arrancarla.
mkboot, entre otras cosas, te copia el lilo.conf al disquete,pero la verdad es que yo slo he
conseguido que me funcionen los disquetes creados con mkboot,cambiando el lilo.conf que te
crea por el original y realizando despus las modificaciones que cuento ms arriba.El mismo
programa te explica cmo:
# cd /mnt
nos vamos a l.
# nano lilo.conf
editamos lilo.conf
# lilo -C lilo.conf
con -C le decimos que ejecute el lilo del disquete y no el de /etc/lilo.conf
# cd ..
nos salimos.
# umount /dev/fd0
desmontamos el disquete.
Con grub
ste no lo he probado pero por lo que he visto se tratara de copiar los ficheros stage1 y stage2
al disquete tal que as:
# mkfs.ext3 /dev/fd0
formateamos el disquete.
# cp /ruta_de_acceso/stage1 /floppy
copiamos stage1
# cp /ruta_de_acceso/stage2 /floppy
copiamos stage2
# cp /boot/vmlinuz /dev/fd0
si hay sitio se puede incluir el nucleo en el disquete.
# umount /dev/fd0
se desmonts floppy sin sacarlo.
# grub
inicia la interfaz de comandos de GRUB
grub> quit
salimos
Cuando se arranque desde el disquete y aparecezca el interprete de comandos de grub hay
que teclear:
root=/dev/hda2
$ cat /proc/version
Versin del nucleo y compilador empleado.
$ lsmod
Lista los mdulos cargados.
$ cat /proc/modules
Lista los mdulos cargados.
$ modinfo mdulo
Muestra informacin sobre un mdulo.
# modprobe mdulo
Inserta un mdulo en el kernel cargando antes los mdulos de los cuales dependa.
# modprobe -r mdulo
Elimina un mdulo del kernel y si procede los que dependen del mismo.
# insmod mdulo
Inserta un mdulo en el kernel.
# rmmod mdulo
Elimina un mdulo del kernel.
# depmod mdulo
Comprueba las dependencias del mdulo.
# modconf
Programa grfico para listar,cargar y descargar mdulos del kernel.
# alsaconf
Programa interactivo que detecta las tarjetas de audio y carga los modulos adecuados.
# less /var/log/kern.log
Mensajes del nucleo (solo root o algun usuario que pertenesca al grupo adm tiene acceso a los
logs)
# less /var/log/syslog
Registro de mensajes relativos a la seguridad.
# less /var/log/debug
Registro de informacin de depuracin de los programas.
# less /var/log/messages
Mensajes del sistema de carcter informativo.
# less /var/log/user.log
Informacin del usuario.
# less /var/log/XFree86.0.log
Informacin sobre las X
# less /var/log/Xorg.0.log
Informacin sobre las X
# less /var/log/auth.log
Accesos al sistema(incluye los intentos fallidos).
# last
Lista los usuarios conectados/desconectados (fichero /var/log/wtmp).
# lastb
Muestra los intentos de conexin fallidos (fichero /var/log/btmp).
# hdparm /dev/hda
Verificar DMA
# hdparm -I /dev/hdx
Informacin sobre hdx
$ dmesg
Ver la salida que el kernel produjo en el arranque.
$ dmesg | grep hd
Informacin sobre dispositivos IDE.
# sensors-detect
Detecta,instala y carga los sensores y los mdulos necesarios(en un kernel 2.6)
# sensors
Tras ejecutar el anterior,muestra temperaturas, voltajes y revoluciones de ventilador.
# lsdev
Muestra informacin sobre los dispositivos(canales IRQ,DMA y puertos E/S que utilizan)
# lspci
Ver dispositivos conectados a la placa madre mediante un bus PCI.
# lsusb
Ver los buses USB y los dispositivos conectados a los mismos.
# cdda2wav -scanbus
Comprobar el interfaz SCSI.
# cdrecord -scanbus
Comprobar el interfaz SCSI.
$ cat /proc/meminfo
Informacin sobre la memoria.
$ cat /proc/cpuinfo
Informacin sobre el procesador.
$ cat /proc/devices
Informacin sobre dispositivos en uso.
Notas
syslogd registra los mensajes que los programas y el sistema ofrecen.
klogd es un demonio del sistema que intercepta y registra los mensajes del ncleo.
lsdev viene en el paquete procinfo.
sensors viene en el paquete lm-sensors.
Dispositivo de bloques:aquellos que almacenan informacin en bloques de tamao fijo,
(cada uno con su direccin) y utilizan los buffers del sistema (memoria temporal),
Dispositivo de caracteres: aquellos que envian o reciben un flujo de datos de forma
secuencial y sus procesos de lectura/escritura no poseen buffer.por ej. el ratn
DMA(Acceso Directo Memoria): es la manera en que los dispositivos se comunican directamente con la memoria sin intervencin del procesador.Cada controlador dispone de una
linea o canal DMA de acceso directo.
IRQ (solicitud de interrupcin): es la manera en que el controlador de un dispositivo
solicita al procesador que le atienda porque va a comunicarle algn suceso,cada controlador tiene una linea IRQ distinta.
IO Ports (puertos de entrada/salida): se trata de una abstraccin (que se corresponde
con un dispositivo)a travs de la cual un dispositivo intercambia datos con el sistema.
Tienen una direccin(en hexadecimal)que los identifica.
8. Redes
# /etc/init.d/networking start
Inicia los servicios de red.
# /etc/init.d/networking restart
Reinicia los servicios de red.
# /etc/init.d/networking stop
Para los servicios de red.
# ifconfig
Muestra el estado de los interfaces activos.
# ifconfig -a
Muestra el estado de todos los interfaces.
# ifconfig ppp0
Muestra el estado de ppp0
# ifconfig eth0 up
Activa eth0.
# iwconfig
Similar a ifconfig pero slo para interfaces wireless
# ifup interface
Habilita la interface especificada,ejemplos: ifup eth0 ;ifup ppp0
# ifdown interface
Deshabilita la interface especificada,ejemplos: ifdown eth0 ;ifdown ppp0
# dhclient eth0/eth1
Inicia conexin dhcp mediante el cliente dhcp-client.
# pump -i eth0/eth1
Inicia conexin dhcp mediante el cliente pump.
# pppoeconf
Programa para configurar conexiones pppoe.
# pppconfig
Programa en modo texto para configurar una conexin ppp.
# pon
Establece la conexin ppp a internet.
# plog
Monitoriza la conexin ppp.
# poff
Finaliza la conexin ppp a internet.
$ finger usuario
Informa sobre un usuario conectado al sistema.
$ finger @servidor
Informa sobre todos los usuarios conectados a un servidor (nombre o IP)
$ finger usuario@servidor
Informa sobre un usuario conectado a un servidor
$ ping google.com
Verifica la conexin,en este caso con www.google.com (Ctrl+Z pone fin)
$ traceroute microsoft.es
Muestra la ruta que los paquetes de datos han seguida hasta la mquina de destino.
$ mtr rediris.es
Combinacin de ping y traceroute.
$ whois esdebian.org
Informacin sobre ste,nuestro dominio.
$ host -v -a telefonica.com
Determina la ip de un nombre o el nombre de una ip.(host -v -a 194.224.55.221)
$ iptraf
Monitoriza trfico de redes(ncurses)
# tethereal
Versin para consola de ethereal,un analizador del trfico de red (sniffer).
# ettercap
Sniffer/interceptor/logger para redes LAN con switchs basado en ncurses.
$ nmap
Escaner de puertos.
# fail2ban
Escanea logs como /var/log/auth.log y banea las IP con demasiados errores de conexin.
# snort
Sniffer de paquetes y un detector de intrusiones en una red (NIDS).
# aide
Detector de intrusiones en un nico Servidor, PC o host.(HIDS).
# portsentry
IDS que detecta escaneos de puertos y reacciona a un ataque.
3 chkrootkit
Detector de rootkit.
w3m,lynx,links,links2,elinks
Navegadores web,elinks soporta SSL con lo que podremos acceder a correo web.
Irssi,*censored*x,WeeChat-curses
Clientes IRC( Internet Relay Chat) )
mutt,mush,pine,elm
Clientes de correo(MUA).
cabber
Cliente jabber( protocolo libre para mensajera instantnea.)
Centericq
Cliente de mensajeria multiprotocolo (ICQ,Yahoo,AIM,MSN,IRC,Jabber)
ncftp
Cliente ftp (File Transfer Protocol) basado en ncurses
ftp-ssl
Cliente ftp con soporte de cifrado SSL y TSL.(dependiendo de la otra parte)
telnet-ssl
Cliente telnet(acceso remoto) con soporte de cifrado SSL,(dependiendo de la otra parte)
ssh
Cliente ssh (Secure SHell),acceso remoto cifrado,forma parte del paquete openssh-client
rtorrent, bittornado
Clientes bittorrent.Bitornado es una versin mejorada del cliente homnimo bittorrent.
$ talk usuario
Entabla una conversacion con un usuario del sistema.
$ talk usuario@sistema
Entabla conversacion con un usuario de otro sistema(entre mquinas UNIX)
$ mesg -n
Anula la notificacion de comunicacion de talk o write
$ mesg -y
Habilita la llegada de notificaciones de talk o write
$ write usuario
Manda un mensaje a un usuario del sistema.
$ netstat -napt
Saber qu puertos tiene abiertos nuestro sistema
n
No resuelve las direcciones a sus nombres DNS. Esto hace ms rpida la ejecucin.<
a
Muestra todos las conexiones,includas las que estn escuchando.
p
Muestra el nmero y nombre del proceso,dueo de dicha conexin.
t
slo muestra conexiones tcp
$ jigdo-lite fichero.jigdo
Programa interactivo que permite la descarga y/o \"actualizacin\" de una imagen ISO;
descarga los ficheros de una imagen ISO mediante wget, los une y forma al vuelo una copia de
la imagen ISO original. Pero si ya tenemos una imagen en el disco o un CD, bastara con
indicarle la ruta a la misma para que se actualizara. Para ambos casos hay
que descargar previamente los ficheros .jigdo y .template asociados a la imagen.
$ jigdo-file
Herramienta para generar los ficheros .jigdo y .template de una imagen
-p
descarga web completa.
-r
recursivo.
-k
Convierte los enlaces absolutos en relativos.
-c
Reanuda la descarga de un fichero parcialmente descargado.
-l6
profundidad de recursin (5 por defecto)
-A formato
formato para descargar.
-nH
hace que no se cree el subdirectorio localhost.
--cut-dirs=n
elimina n nmero de directorios dentro de la jerarquia.
Ejemplo 1w
$ get -A zip URL
Bajara todos los archivos zip de una pgina web.
Ejemplo 2: nos queremos descargar el manual nano.pdf que est en
http://www.manuales.com/informtica/editores/nano.pdf
remove_use usuario
Elimina un usuario
voo
Ver todas las opciones
set opcin valor
Cambiar valor de la opcin
save
Guardar opciones
networks
Ver todas las redes
enable n
Activar la red n
disable n
Desactivar la red n
alias
Crea un alias.Ejemplo:alias red netwoks
unalias
Elimina un alias.Ejemplo:unalias red
c n
Conectar a ms servidores o aln
vm
Servidores conectados
vma
Lista todos los servidores conocidos
x n
Desconectar del servidor
dllink .torrent
Inicia la descarga de un elinks o torrent
dllinks fichero
Descarga los elinks contenidos en un fichero
http url refererencia
Inicia la descarga desde una URL
s
Buscar archivos en todas las redes
format: formato
title: ttulo
album: album
artist: autor
field: field ,fieldvalue
not: palabra
and: palabra
or: palabra
vr
Ver resultados de la ltima busqueda
vs
Ver todas las busquedas
d n
Bajar resultado n
cancel n
Cancelar descarga n
pause n
Pausar descarga n
resume n
Resumir descarga n
uploaders
Informa sobre la subidas y sus usuarios
upstats
Muestra estadsdicas sobre las subidas
torrents
Muestra todos los torrents en el servidor
compute_torrent fichero
Genera un .torrent
vd
Muestra la cola de descargas
scan_temp
Muestra el contenido del directorio temp
recover_temp
Recupera los archivos perdidos detemp
commit
Mueve las descargas al directorio incoming
9.b. MUTELLA
mutella
Abrimos la interfaz de mutella.
leave
Cerramos la interfaz,pero mutella sigue corriendo.
exit
Salir.
version
Muestra la versin del programa.
help
Muestra la ayuda.
help commando
Muestra la ayuda del comando.
?
Igual que "help"
set
Muestra las opciones de mutella.
set+
Aade un valor a las opciones.
setQuita un valor de las opciones.
color
Configurar los colores de la consola.
info opciones
Muestra informacin sobre la actividad de la red, las opciones son:
hosts
Muestra la lista de servidores en cach.
open
Conectar a un servidor.
close ID
Cierra una conexin/es
find palabra/s opciones
Buscar archivos, las opciones son:
mget
Obtener mltiples archivos#
mkdir
Crear directorio en el equipo remoto#
mls
Mostrar el contenido de mltiples directorios remotos
mput
Enviar mltiples archivos
open
Conectar a tftp remoto
put
Enviar un archivo
pwd
Imprimir el directorio de trabajo del equipo remoto
quit
Finalizar la sesin ftp y salir
quote
Enviar un comando arbitrario ftp
recv
Recibir archivo
rename
Cambiar el nombre del archivo
rmdir
Quitar directorio en el equipo remoto
remotehelp
Obtener ayuda del servidor remoto
send
Enviar un archivo
status
Muestra el estado actual#
trace
Alternar trazado de paquetes#
type
Establecer el tipo de transferencia de archivos
user
Enviar nueva informacin de usuario
verbose
Alternar modo detallado
9.d. IRC
/server
Lista,aade o elimina servidores.
/server [nombre:puerto:clave]
Conecta con un servidor.
/info [servidor]
Obtener informacin sobre servidor.
/lusers
Obtener estadsticas del servidor.
/users
Usuarios conectados al servidor.
/links
Lista los servidores de la red actual.
/list
Lista e informa sobre los canales.
/admin
Informa sobre el admin. del servidor.
/help [comando]
Muestra la ayuda sobre un comando.
/ison [nick]
Comprobar si un usuario est conectado.
/join [canal]
Unirse a un canal.
/names
Listar usuarios en canales.
/whois [nick]
Muestra informacin sobre un usuario.
/whowas [nick]
Informa sobre un usuario que ya no est.
/who [patrn]
Muestra informacin sobre patrn.
/msg NiCK SET PASSWORD [clave]
Cambiar de contrasea(en irc-hispano)
/msg [nick | canal][texto]
Envia un mensaje a un usuario o canal.
/amsg [texto]
Envia mensaje a todos los canales en los que ests.
/part [canal]
Abandonar un canal.
/quit
Cerrar todas las conexiones y salir.
Notas:
CTCP (Protocolo de cliente a cliente): permite dar respuestas predeterminadas y automticas
ante una peticin espeffica de otro usuario.
DCC: protocolo que establece una conexin TCP directa entre dos ordenadores.
9.d. Calculadora
bc
Abrimos bc.
> 20 + 5.4
Suma.
> 77 - n
Resta.
> 99 * 86
Multiplica.
> 47 / 3
Muestra el cociente de la divisin.
> 47 % 3
Muestra el resto de la divisin.
>4 ^ 2
Calcula la potencia 4
> sqrt (16)
Calcula la raiz cuadrada de 16
> (2*3+2) / sqrt (2^3/2.5)
Un poco de cada.
> quit
Salimos de bc.
Tambin podemos hacerlo usando echo y mandando la salida a bc:
echo \"(2*3+2)\" / sqrt \"(2^3/2.5)\" | bc
en este caso los parntesis deben ir entrecomillados
9.e. Ppromps
PS1=\"\\[\\033[1;34m\\][\\u@\\h:\\w]$\\[\\033[0m\\] \"
PS1=\"\\[\\033[30;47m\\][\\[\\033[31m\\]\\u\\[\\033[30;47m\\]@ \\ \\W]\\[\\033[00m\\]$ \"
PS1=\'\\[\\033[01;30m\\]\\u
\\[\\033[01;32m\\]\\h\\[\\033[01;33m\\]:\\[\\033[01;35m\\]\\w\\[\\033[0m\\$ \'
PS1=\"\\[\\033[;31m\\][\\[\\033[;36m\\]\\u@\\h\\[\\033[;31m\\]:\\[\\033[;36m\\ ]\\w\\
[\\033[;31m\\]]$\\[\\033[0m\\] \"
Para que los promp permanezcan de una sesin a otra hay que ponerlos enel archivo .bashrc
de tu home.
Lista de comandos de GNU/Linux (II)arribaLocalizar y eliminar lneas que coincidan con una
expresin regular especfica
Autologin en Debian
Como lograr un Autologin en tu Debian. Para hacer que una terminal ingrese automticamente,
(estilo Live-CD)
Metodo 1
Edita tu /etc/inittab. Puedes usar tu editor favorito.
#vi /etc/inittab
#nano /etc/inittab
Busca la siguiente lnea
1:2345:respawn:/sbin/getty 38400 tty1
Comntala con un #. Debe quedar as:
#1:2345:respawn:/sbin/getty 38400 tty1
Agrega la siguiente linea debajo:
1:2345:respawn:/bin/login -f YOUR_USER_NAME tty1 </dev/tty1 >/dev/tty1
2>&1
Reemplazando YOUR_USER_NAME por el nombre de usuario que quieres que haga login
automtico.
Ahora, si deseas que el servidor X se inicie automticamente:
Edita el archivo .bash_profile del home del usuario con login automtico. En caso de no existir
el archivo crealo.
#vi ~/.bash_profile
#nano ~/.bash_profile
Y agrega:
Viviendo en Consola
ndice
1. Introduccin
2. Navegadores Web
2.1. Lynx
2.2. Links2
2.3. W3M
3. Gestores de archivos
3.1. Midnight Commander (MC)
3.2. FD Clone (FD)
3.3. Vladi File Manager for Unix (VFU)
4. Clientes de Mensajera instantnea
4.1. Pebrot
4.2. CenterIM
4.3. Finch
4.4. Bitlbee
5. Reproductores de Msica
5.1. Music Player Daemon (mpd)
5.2. Mp3Blaster
5.3. MOC
6. Control de procesos
6.1. HTop
7. Consultando el estado del tiempo
7.1 Weather-util
8. Montar unidades externas
9. Redes sociales
9.1. Twidge
1. Introduccin
En algunas ocasiones en las cuales se pretende evitar el uso de todo tipo de aplicacin grfica,
como en el caso de servidores o en casos mas particulares cuando realizamos una instalacin
desde cero digamos tipo Netinstall, y deseamos navegar, chatear o poder realizar una gestin
de archivos de una forma un poco didctica siempre se encuentra como limitante la falta de un
ratn, de no tener los tan cmodos iconos y dems.
Pero hoy os digo que es posible vivir en una tty utilizando herramientas como las que
conocers a continuacin.
2. Navegadores Web
Antes de empezar a analizar cada uno de los navegadores es importante saber como trabajan
estos, y bueno en general convierten el cdigo HTML a cdigo ASCCI y permiten la
visualizacin del "documento" de forma ordenada por medio de un paginados como less,
utilizando en la mayora de los casos el siguiente comando:
2.1 Lynx
Lynx es un navegador web en modo texto para consola. Permite en algunos casos especficos la
visualizacin de tablas linearizandolas y los marcos los identifica por nombres para luego ser
explorados como paginas independientes, tambin conexiones SSL y permite desplazamiento
tanto vertical como horizontal. Una de sus grandes ventajas es que no es necesario esperar a
que cargue la pagina completa para permitir la visualizacin de esta, por que la va
renderizando mientras va cargando la misma.
Navegar con Lynx es casi tan sencillo como jugar PACMAN es solo cuestion de desplazarnos
por los diferentes enlaces con las teclas de direccin, tambin en algunos casos podemos usar
los nmeros con enlaces numerados y las teclas pg up y pg dn para avanzar o retroceder de
una forma rapida. La versin actual soporta conexiones SSL y HTML. Las tablas se linearizan y
los marcos se idenfitican por nombre para ser explorados como pginas independientes.
Ultima versin estable lynx2-8-6 y la linea de trabajo actualmente se basa en la versin lynx2-87.
instalacin:
En una terminal ejecutamos:
lynx
Esta opcin nos abrir el navegador con su pagina principal en la cual muestra algunos
comandos generales para realizar la navegacin.
Opcin2
lynx www.esdebian.org
Esta opcin nos abrir el navegador con la pagina de esdebian, ahora si revisamos en la parte
de abajo de nuestro navegador, podremos observar que se encuentran los atajos de teclado
mas utilizados, puesto que lynx se maneja nicamente por medio de teclado y en general para
revisar y configurar las diferentes opciones solo basta con presionar la tecla (o)pciones.
Atajos de teclado comandos para lynx.
Y para el dado caso de paginas en las cuales se requiere login y pass, podemos ingresar
directamente en sta de la siguiente forma:
man lynx
2.2 Links2
Un poco de historia.
La versin original de Links, fue desarrollada en 1999 y era muy similar a Lynx, por lo que
despus cambio la orientacion del proyecto, renombrndolo como Links2. Escrito inicialmente
como un simple pasatiempo, es desarrollado por Twibright Labs en el ao 2000, siendo el
sucesor de Links.
Permite conexiones multiples, lo que facilita el estar realizando una descarga y poder continuar
con la navegacion en diferentes paginas. Otra de sus caractersticas es el soporte parial para
tablas y frames en HTML, permite el scroll horizontal, tambin el uso de marcadores, soporte
de formatos grficos antialising del texto y javascrpti4, todo esto acompaado de un men
desplegable. Soporta consolas con color o monocromo , ademas permite la pre-visualizacin
de las pginas an sin estar cargadas.
En cuanto a la versin la ultima en la que se desarrollo fue la versin 0.98, desde entonces no
se agregan nuevas caractersticas, slo se han realizado correcciones de algunos errores.
Instalacin:
En una terminal ejecutamos:
links2
Esta opcin nos abrir el navegador pero con una pantalla vaca, en la cual dependiendo de las
opciones iniciamos la navegacin
Opcin2
links2 www.esdebian.org
Esta opcin abrir el navegador con la pagina indicada en este caso: www.esdebian.org, para
ver el men solo basta con presionar la tecla [Esc]. Links2 est disponible en ingls , pero
podemos configurarlo al espaol o cualquiera de los otros 23 idiomas disponibles, si nos
dirigimos a Setup > Lenguage.
Atajos de teclado para Links2:
G : Abre una nueva linea para escribir la url a la cual se desea acceder
A: Aade favoritos
man links2
2.3 W3M
Leer ms w3m - Navegador web en lnea de comandos
W3m es un navegador web basado en texto, que utiliza un paginador. En general se parece
mucho a Lynx, tiene soporte para tablas, marcos, conexiones SSL, soporta colores e incluso
imgenes. Tambien en el caso de no encontrarnos en una consola real, brinda soporte al
mouse y ademas se rige por los estandares W3C
Instalacin:
En una terminal ejecutamos:
A diferencia de las anteriores para ejecutar w3m debemos asignar una direccion url de esta
forma:
w3m www.esdebian.org
Con esto abrir el navegador con la pagina indicada en este caso: www.esdebian.org.
Atajos de teclado comandos para w3m:
U: Muestra la URL
man w3m
3. Gestores de archivos
Un administrador o gestor de archivos puede verse como una apliacin que facilita el acceso a
los archivos y a su vez facilita las diferentes operaciones que se pueden realizar con estos,
llmese copiar, mover, eliminar, etc.
Los gestores de archivos tipo consola, se caracterizan por tener uns interfaz de usuario de
smbolos ascii que representan las unidades, particiones y directorios reales dentro del
sistema.
Instalacin:
En una terminal ejecutamos:
#aptitude install mc
#mc
F1: Ayuda
F3: Ver
F4: Editar
F5: Copiar
F6: Mover
F8: Borrar
F10: Salir
R: Actualizar
B: Buscar archivos
Temas de colores
Para cambiar el tema por defecto de Midnight Commmander podemos editar el archivo
~/.mc/ini, y agregar la etiqueta [Colors] seguido de la configuracin deseada de colores.Guate
con la siguiente configuracin de ejemplo:
[Colors]
base_color=lightgray,green:normal=green,default:selected=white,gray:ma
rked=yellow,default:markselect=yellow,gray:directory=blue,default:exec
utable=brightgreen,default:link=cyan,default:device=brightmagenta,defa
ult:special=lightgray,default:errors=red,default:reverse=green,default
:gauge=green,default:input=white,gray:dnormal=green,gray:dfocus=bright
green,gray:dhotnormal=cyan,gray:dhotfocus=brightcyan,gray:menu=green,d
efault:menuhot=cyan,default:menusel=green,gray:menuhotsel=cyan,default
:helpnormal=cyan,default:editnormal=green,default:editbold=blue,defaul
t:editmarked=gray,blue:stalelink=red,default
Lo invocamos con:
fd
Retroceso Atrs
Bs:Directorio raiz
l: Directorio de entrada
c: Copiar archivos
m: Mover archivos
d: Eliminar
k: Crear directorio
D: Eliminar directorio
r: Renombrar archivos
u: Descomprimir
f: Buscar
Lo ejecutamos con:
vfu
cGREEN=.ext.ext.ext.
La cual dice que mostrar en color verde los archivos citados, por ejemplo :
cGREEN=.txt.odf.rc.TXT.
En el ejemplo, vfu mostrar los documentos de texto en color verde.
chGREEN=.ext.ext.ext.
La variable "h" provocara que los archivos citados se visualicen en verde claro. Por ejemplo:
chGREEN=.TXT.
Podemos usar otros colores:
cMAGENTA=.ext.ext.ext.
cCYAN=.ext.ext.ext.
cRED=.ext.ext.ext.
cBLUE=.ext.ext.ext.
cYELLOW=.ext.ext.ext.
N: Buscar
: Renombrar archivo.
~: Transporta el directorio seleccionado a la carpeta home.
Q: Salir
Ayuda fuera de vfu:
man vfu
4.1 Pebrot
Pebrot es la solucin para los msn-adictos, que ven como necesidad de estar conectados la
mayoria del tiempo con el mundo de la internet, este esta desarrollado en su gran mayoria en
python y exclusivamente para sistemas de tipo *nix
Este programa posee una interface sencilla pero a su vez lo suficiente funcional, es decir
soporta cosas tales como conversaciones multiples por medio de pestaas y establecer tu
estado de conexin (disponible, ocupado, etc).
Nota: Como requerimiento para su funcionamiento debe estar instalado Python 2.2 o superior
Instalacin
Para la instalacin debemos descargar de la pgina del proyecto el Pebrot el correspondiente
.tar.gz y luego desde consola por medio del comando cd ingresamos a la correspondiente ruta
en la cual hemos descargado nuestro .tar.gz de la siguiente forma.
Nota:La siguiente instalacin se realizo desde el escritorio de root
#cd /root/Desktop/
#tar -zxvf
pebrot-0.8.8.tar.gz
Configuracin Pebrot
Abrimos con nuestro editor favorito el archivo pebrotrc, para este caso especifico, lo haremos
de la siguiente forma:
nano /root/Desktop/pebrot-0.8.8/pebrotrc
User= [email protected]
Password= esta_es_mi_contrasea
Estado:
state= NLN
#Comentarios de mas estados:
#NLN: En lnea
#FLN: Fuera de lnea
#HDN: Invisible Desconectado
#IDL: Inactivo
#Awy: Ausente
#BSY: Ocupado
#NPH: Al Telfono
#y dems
Activar conversaciones:
Show_invited= 1
1 Conversaciones mltiples
0 Conversacin nica
Campanilla ante un nuevo mensaje:
Beep_on_msg= 1
Beep_on_new_chat= 1
Download_dir= /esta/es/mi/ruta/descargas-msn
Para mayor informacin acerca de mas configuraciones pueden revisar el archivo README, en
este se encuentran detalladas cada una de las opciones de configuracin y personalizacin de
nuestro msn tipo consola.
Imagen Pebrot:
4.2. CenterIM
CenterIM (tambin conocido como "cim")es un mensajero instantneo multiprotocolo y
multiplataforma, basado en ncurses para los sistemas *nix publicado bajo la licencia GPL. Es
un fork del mensajero CenterICQ.
Instalacin:
En una terminal ejecutamos:
Ejecucin y configuracin:
Para ejecutarlo simplemente lo invocamos desde la consola de la siguiente forma:
centerim-utf8
Una vez llevado acabo, las primeras pantallas mostradas por el programa son en su mayora
de configuracin.
Configuracin de cuenta
Jabber
Servidor: Servidor:5223
Secured: s
Nombre de Usuario: Mi_usuario
Contrasea: Mi_contrasea
Priority: 4
Msn
Servidor: messenger.hotmail.com:1863
Nombre de Usuario: Mi_usuario
Contrasea: Mi_contrasea
Q: Salir
Imagen CenterIM:
man centerim
4.3. Finch
Finch es completo cliente de mensajera multiplataforma y multiprotocolo, sencillamente es la
versin de Pidgin para la lnea de comandos.
Para instalar Finch:
Invocamos con:
finch
La primera vez que ejecutamos Finch notamos que viene con una agradable interfaz que se ve
totalmente diferente en comparacin con la mayora de los clientes en modo texto. En otras
palabras, disponemos de la interfaz de Pidgin bajo la lnea de comandos. Cuenta con ventanas
pop-up que se abren conforme nos envien mensajes, as como la capacidad de cerrarlas,
minimizarlas o maximizarlas.
Podemos editar los atajos del teclado, la configuracin de los colores y el registro de nuestras
conversacin con un archivo de texto. Una vez dentro de Finch, este nos solicitara la
informacin de nuestra(s) cuentas de MI, usamos la tecla TAB para desplazarnos por los
mens. Terminando el llenado de nuestros datos, salimos del programa y volvemos a
ejecutarlo.
Si todo ha salido bien, debemos de tener algo como esto en la pantalla:
Atajos de teclado:
Por otro lado Finch requiere algunas libreras innecesarias de Pidgin, gtk y gnome para
funcionar. Pero a manera de evitar esto, se puede optar por la compilacin de Finch desde el
cdigo fuente de Pidgin.
Descargamos el cdigo fuente desde la pgina oficial de Pidgin.
4.4. Bitlbee
Leer ms Bitlbee
Con bitlbee podremos hacer uso de la mensajera instantnea a travs de nuestro cliente de
IRC preferido. Bitlbee soporta los protocolos XMPP/Jabber (Google Talk includo), MSN
Messenger, Yahoo! Messenger, AIM y ICQ, y es una buena opcin si somos usuarios de IRC y
no queremos utilizar otro cliente adicional para la mensajera instantnea.
Nuestro entorno de trabajo ser una Debian Sid/Experimental, aunque este dato carece de
especial relevancia, puesto que bitlbee se encuentra en todas las ramas de Debian. Para
empezar lo instalamos,
#aptitude install bitlbee
Permitiremos el acceso a nuestra mquina en /etc/hosts.allow y reiniciamos.
#nano /etc/hosts.allow
bitlbee: 127.0.0.1
5. Reproductores de Msica
En el caso de los reproductores de msica existen tambin varias opciones, aqu enunciaremos
unas cuantas:
# mkdir /home/arctica/.mpd
# mkdir /home/arctica/.mpd/playlists
5.2. Mp3Blaster
Mp3Blaster es un programa reproductor de ficheros de audio que soporta formatos tales
como:mp3,wav y ogg, posee una interfaz grfica basada en consola con mens para la facil
navegacin entre las diferentes opciones. Entre sus caracteristicas se encuentran el control de
volumen, selector de carpetas, mezclador y por supuesto su bajo consumo de memoria.
Instalacin:
En una terminal ejecutamos:
Ejecucin:
mp3blaster
/: Iniciar bsqueda.
r: Renombrar fichero.
U: Deseleccionar todo.
D: Eliminar fichero.
?: Invocar ayuda.
4: Cancin anterior.
5: Reproducir/Pausar cancin.
6: Cancin siguiente.
1: Retroceder cancin.
2: Deneter cancin.
3: Avanzar cancin.
man mp3blaster
5.3. MOC
Leer ms MOC - Music on console
Caractersticas:
MOC es un reproductor de audio fcil de manejar y ligero, ideal para equipos con
pocos recursos.
La interfaz es similar a MC (Midnight Commander, el administrador de archivos)
MOC reproduce todos los archivos en el directorio a partir del archivo seleccionado
para lo que no es necesario crear listas de reproduccin.
Es posible reproducir varios archivos o directorios de archivos y despus guardar la
lista de reproduccin como un archivo con extensin m3u.
Funciona como demonio, es decir que se ejecuta en segundo plano por lo que no
necesita entorno grfico. Esto quiere decir tambin que si necesitas usar la terminal, el
emulador de terminal cerrar el entorno grfico no es necesario detener la
reproduccin ya que sta sigue activa en segundo plano. Esto lo hace una gran opcin
para cuando estas configurando kdm, los drivers de la tarjeta de video o cosas por el
estilo y por supuesto para manejadores de ventanas y entornos minimalistas
Soporta los siguientes formatos: mp3, Ogg Vorbis, FLAC, Musepack, Speex, WAVE,
AIFF y AU entre otros.
Soporta Internet stream.
Soporta temas de configuracin.
6. Control de Procesos
#ps aux
6.1. HTop
HTop es un visor de procesos con interfaz basada en ncurses que permite gestionar procesos.
Entre las grandes ventajas que nos ofrece est el monitoreo del sistema mostrando el estado
de la memoria RAM, la Swap y el consumo de CPU.
Instalacin:
$ htop
Puede ser ejecutado por cualquier usuario y dependiendo de los privilegios este sobre los
procesos que se estn ejecutando en el sistema, podr o no ejecutar tareas como terminar o
matar estos procesos.
La vista de la aplicacin:
F3: Buscar
$ man htop
7.1 Weather-util
Weather-util es una aplicacin muy simple, para consultar el estado del tiempo en cualquier
ciudad del mundo.
Instalacin
Ejecutamos como root en una consola:
weather -i cdigo_de_la_ciudad
Para obtener el cdigo de la ciudad, tenemos que buscarlo en esta pgina Ah, en la parte de
abajo, veremos una opcin que dice: "Display all stations in a country" ("Mostrar todas las
estaciones en un pas") y ah buscar el pas que nos interese.
Si queremos ampliar la informacin mostrada en pantalla por weather, tenemos que agregar el
parmetro: -v
Tambin nos da la posibilidad de obtener un pronstico con el parmetro -f, pero eso
solamente est disponible para ciudades de Estados Unidos
Podemos definir aliases en el archivo $HOME/.weatherrc de la siguiente forma:
[alias]
City = Ciudad
Forecast = True/False (para el pronstico del tiempo)
ID = cdigo_de_la_ciudad
Verbose = 1/0 (verdadero/falso) (con esto le indicamos si queremos usar o n
el parmetro -v)
[Montevideo]
City = Montevideo
Forecast = False
ID = SUMU (este es el cdigo de una de las estaciones meteorolgicas de
Montevideo)
verbose = 1
Salida del programa ejecutando weather Montevideo (que, segn mis definiciones en
$HOME/.weatherrc, es equivalente a ejecutar weather -i sumu -v):
emacs /etc/usbmount/usbmount.conf
Guardamos los cambios y reiniciamos el ordenador, ahora al conectar un dispositivo usb este
se montar automticamente dentro de la carpeta /media/usb*.
9. Redes sociales
9.1 Twidgwe
Twidge es un cliente de consola para las redes sociales Twitter e identi.ca; con el podremos
realizar una serie de tareas comunes en estos sitios de "microblogging" sin necesidad de abrir
un navegador web.
Actualmente se encuentra en los repositorios de testing/unstable, por lo que instalarlo no
implica ms que:
Obviamente, necesitaremos una cuenta en cualquiera de los dos servicios para poder utilizarlo.
Antes de ejecutarlo por primera vez, es necesario configurarlo. Para ello:
twidge setup
Este comando nos guiar de forma muy clara en la configuracin de la aplicacin; nos solicitar
usuario y contrasea y, en el caso de Twitter, se genera una url a la que debemos acceder
para "decirle" a Twitter que permitimos a twidge acceder a nuestros datos mediante el API.
A continuacin, ya podremos utilizar twidge. Si lo ejecutamos, nos dir esto:
usuario@host ~ $ twidge
Invalid command name help
Usage: twidge [global-options] command [command-options]
Available global-options are:
-d
-c FILE
--debug
--config=FILE
--help
Enable debugging
Use specified config file
Display this help
twidge lscommands
Este comando nos muestra todos los comandos disponibles de este modo:
Puede cumplir las mismas funciones que /etc/profile. Si existe, se leer a continuacin de
/etc/bash.bashrc, solo que este es ledo nicamente por bash, excluyendo otras shells, por lo
que si en nuestro sistema usamos varios tipos, podramos dedicar este fichero para configurar
bash.
~/.bashrc
Aqu es donde habitualmente se establece el prompt y los alias. Es un fichero para uso
individual de cada usuario de consolas que no necesitan login, sin embargo es muy comn que
este archivo sea invocado desde ~/.profile por lo que tambin afectar a consolas login. Si
queremos modificaciones individuales, este es el archivo a modificar, con preferencia a todos
los anteriores.
Nota: entiendas por nologin shell a toda shell a la cual se accede sin necesidad de ingresar
usuario y contrasea como ser xterm, konsole, gnome-terminal o bien la ejecucin de una nueva
instancia del shell sobre una shell ya activa (p.e. ejecutar $ bash). Es tambin un caso de
nologin shell el escalar/degradar privilegios mediante $ su.
En la practica podr identificar un nologin shell sabiendo que no es posible salir de ellas
mediante logout.
Comprobar configuracin
ifconfig
El fichero /etc/network/interfaces
Contiene la configuracin de las interfaces de red, cada interfaz de red a configurar
aparece en una seccin.
Cmo se configuran las interfaces de red ms habituales:
Configuracin de DNS
Para hacer que el sistema consulte con uno o varios servidores de nombres, slo tiene que
aadir sus direcciones en /etc/resolv.conf.
Por ejemplo, una mquina que debe realizar bsquedas desde el servidor DNS con la
direccin IP 192.168.1.200 el archivo resolv.conf tendra lo siguiente:
nameserver 192.168.1.200
F a m i l i a r i z n d on o s c o n L i n u x
1. Historia ........................................................................................................... 3
Antecedentes:.....................................................................................................................3
Nacimiento:.........................................................................................................................3
Expansin de Unix:.............................................................................................................3
Evolucin: ...........................................................................................................................4
La G.N.U.............................................................................................................................5
Distribuciones de Linux. .....................................................................................................6
5. Primera Aproximacin................................................................................... 9
Antes de entrar al Sistema: ................................................................................................9
Escribir algunos comandos para tomar contacto. ..............................................................9
Historia
Antecedentes:
El SO Multics se utiliz durante algn tiempo en los laboratorios Bell.
En Europa se haba desarrollado el sistema de acceso multiple de Cambridge (The Cambridge
Multiple Access System).
Tambin se emple durante algn tiempo el CTSS (sistema de tiempo compartido compatible).
Los desarrolladores de Unix aprovecharon este trabajo realizado con estos y otros sistemas
operativos, para combinar las mejores caractersticas de cada uno.
Nacimiento:
El UNIX surgi en 1964-66 cuando Ken Thompson intentaba utilizar un programa de un
ordenador grande, que funcionaba con el SO Multics, en otro ordenador llamado PDP-7. Para ello
escribi un sistema operativo nuevo llamado UNIX.
A l se uni Dennis Ritchie y el UNIX se comenz a utilizar en los laboratorios Bell.
Pronto se adapt a otros ordenadores y tuvo gran aceptacin en el ambiente universitario, del
cual recibi un gran impulso, en especial de la Universidad de Berkeley en California.
En un principio fue escrito en Ensamblador, pero el hecho de que se pudiese adaptar a
muchos tipos de ordenadores (portabilidad), se debe a que se reescribi casi en su totalidad en
lenguaje C, lenguaje de nivel medio desarrollado por Dennis Ritchie modificando otro ya existente
llamado lenguaje B.
El nacimiento de UNIX y el lenguaje C se hizo a la par y su posterior desarrollo continu
paralelo.
Expansin de Unix:
El sistema operativo Unix ha estado ejecutndose en ordenadores ms de 40 aos. En un
principio se ejecutaba en mainframes y miniordenadores, aunque su principal plataforma de
desarrollo han sido las estaciones de trabajo RISC. En la actualidad el acercamiento de los PC,s a
las estaciones de trabajo ha hecho de las plataformas Intel una buena base para utilizar Unix.
Debido a la gran portabilidad que ofrece el lenguaje
creasen versiones destinadas a otros procesadores.
Comandos Bsicos
Evolucin:
Cuando Unix era joven (versin 6), su cdigo fuente se encontraba por todas partes, con
autorizacin de AT&T, y se estudiaba frecuentemente en muchas universidades, de las cuales
haba recibido y reciba un gran impulso.
Pero AT&T, en la versin 7 (1979), comprendi que Unix era un valioso producto comercial; y
prohibi el estudio y distribucin del cdigo fuente, para evitar poner en peligro su condicin de
secreto comercial.
Para remediar la situacin y especialmente con fines educativos, en 1983, Andy Tannembaum
desarroll un SO nuevo en cuanto a cdigo, pero compatible con Unix en cuanto a su funcionalidad,
evadiendo los problemas legales para su estudio. Lo llam Minix de Mini-Unix. Finalmente su
creador cedi todos los derechos sobre Minix a una empresa que comenz a cobrar por licencia.
A principios de la decada de los 90, un estudiante de informtica se pone a trabajar en una
variante de Unix llamada Linux, con la idea de que estubiese enmarcado dentro del proyecto GNU.
El padre de la criatura es Linus Benedict Torvalds, nacido en Helsinki en 1969.
El 5 de octubre de 1991 Linus dio a conocer la primera versin oficial, que poda ejecutar el
bash (shell de GNU) y el compilador de C. Lo puso en un grupo de noticias con el siguiente
mensaje:
Comandos Bsicos
Suspiris por recordar aquellos das del Minix-1.1, cuando los hombres eran
hombres y escriban sus propios drivers? Os sents sin ningn proyecto interesante y os
gustara tener un verdadero SO, que pudierais modificar a placer?
Os resulta frustrante el tener slo a Minix? Entonces, este artculo es para vosotros.
Como dije hace un mes, estoy trabajando en una versin gratuita de algo parecido a
Minix para ordenadores AT-386. He alcanzado la etapa en la que puede ser utilizable y voy a
poner las fuentes para su distribucin. Es slo la versin 0.02 ... pero he conseguido ejecutar
en el bash, gcc, gnu-make, gnu-sed, compress, etc.
La G.N.U.
Linux est regido por lo que se conoce como la Licencia Pblica General de GNU, o GPL,
General Public License. La GPL fue desarrollada para el proyecto GNU por la Free Software
Foundation, que podemos traducir como "Fundacin por el Software Gratuito". La licencia hace una
serie de previsiones sobre la distribucin y modificacin del "software gratis". "Gratis" en este
sentido se refiere a libertad, y no slo al coste. La GPL puede ser interpretada de distintas formas,
y esperamos que este resumen ayude a entenderla y cmo afecta a Linux. Se puede encontrar una
copia completa de la Licencia en Internet o en cualquier libro de Linux.
Originalmente, Linus Torvalds lanz Linux bajo una licencia ms restrictiva que la GPL, que
permita que el software fuera libremente distribuido y modificado, pero prohiba su uso para ganar
dinero. Sin embargo, la GPL autoriza que la gente venda su software, aunque no le permite
restringir el derecho que su comprador tiene a copiarlo y venderlo a su vez.
En primer lugar, hay que aclarar que el "software gratis" de la GPL no es software de dominio
pblico. El software de dominio pblico carece de copyright y pertenece literalmente al pblico. El
software regido por la GPL s tiene el copyright de su autor o autores. Esto significa que est
protegido por las leyes internacionales del copyright y que el autor del software est declarado
legalmente. No slo porque un programa sea de libre distribucin puede considerrsele del dominio
pblico.
El software regido por la GPL tampoco es "shareware". Por lo general, el "shareware" es
propiedad del autor, y exige a los usuarios que le paguen cierta cantidad por utilizarlo despus de la
distribucin. Sin embargo, el software que se rige por la GPL puede ser distribuido y usado sin
pagar a nadie.
La GPL permite a los usuarios modificar el software y redistribuirlo. Sin embargo,
cualquier trabajo derivado de un programa GPL se regir tambin por la GPL. En otras
palabras, una compaa nunca puede tomar Linux, modificarlo y venderlo bajo una licencia
Comandos Bsicos
restringida. Si un software se deriva de Linux, ste deber regirse por la GPL tambin.
La GPL permite distribuir y usar el software sin cargo alguno. Sin embargo, tambin permite
que una persona u organizacin gane dinero distribuyendo el software. Sin embargo, cuando se
venden programas GPL, el distribuidor no puede poner ninguna restriccin a la redistribucin. Esto
es, si compras un programa GPL, puedes a su vez redistribuirlo gratis o cobrando una cantidad.
Esto puede parecer contradictorio. Por qu vender software cuando la GPL especifica que
puede obtenerse gratis? Por ejemplo, supongamos que una empresa decide reunir una gran
cantidad de programas GPL en un CD-ROM y venderlo. La empresa necesitar cobrar por el hecho
de haber producido el CD, y asimismo querr ganar dinero. Esto est permitido por la GPL.
Las organizaciones que vendan el software regido por la GPL deben tener en cuenta algunas
restricciones. En primer lugar, no pueden restringir ningn derecho al comprador del programa.
Esto significa que si compramos un CD-ROM con programas GPL, podremos copiar ese CD y
revenderlo sin ninguna restriccin. En segundo lugar, los distribuidores deben hacer saber que el
software se rige por la GPL. En tercer lugar, el vendedor debe proporcionar, sin coste
adicional, el cdigo fuente del software a distribuir. Esto permite a cualquiera adquirir el software
y modificarlo a placer.
Permitir a una empresa distribuir y vender programas que son gratis es bueno. No todo el
mundo tiene acceso a Internet para llevarse los programas, como Linux, gratis. La GPL permite a
las empresas vender y distribuir programas a esas personas que no pueden acceder al software
con un coste bajo. Por ejemplo, muchas empresas venden Linux CD-ROM por correo, y hacen
negocio de esas ventas. Los desarrolladores de Linux pueden no tener constancia de estos
negocios. Por ejemplo, Linus sabe que ciertas compaas venden Linux, y l no va a cobrar nada
por esas ventas.
Distribuciones de Linux.
Es imprescindible seleccionar una distribucin que se adapte a las necesidades de cada uno
para poder instalar, configurar y administrar un sistema Linux con xito.
Hace aos, cuando Linux empez a distribuirse por Internet, instalar Linux consista en bajarse
de Internet todos los archivos necesarios a unos disquetes. En esos tiempos la instalacin poda
llegar a ser un laborioso proceso, haciendo que muchos usuarios frustrados acabasen por rendirse.
Por ello, programadores de todo el mundo se unieron para crear distribuciones que incorporasen el
sistema operativo y programas que facilitaran la instalacin, adems de los paquetes conteniendo
programas de todo tipo. De esta forma la instalacin se reduca a seguir unos pasos, dando la
posibilidad a los usuarios con pocos conocimientos de poder instalar un sistema operativo de este
tipo con un menor esfuerzo.
En este momento hay un buen nmero de distribuciones en las que poder elegir, pero cada
una de ellas tiene sus pros y sus contras.
Comandos Bsicos
negativa. Para los procesos que utilizan mucho la CPU, se les concede tiempo segn Round-Robin.
La espera de un proceso indefinidamente, se resuelve mediante el cambio de prioridad por
envejecimiento de los procesos.
Existen dos tendencias en la planificacin de la memoria, dependiendo de las diferentes
versiones de Unix:
a) En unas se utiliza el intercambio (swapping) entre los diferentes procesos. Los
procesos vctimas se eligen: por estar ociosos, llevar mucho tiempo en memoria o ser
grandes. Y se cargan en memoria si llevan mucho tiempo fuera o son pequeos.
b) En las versiones de Berkeley y Linux, se utiliza el sistema de memoria virtual con
paginacin bajo solicitud.
El sistema de entrada y salida maneja normalmente dos tipos de dispositivos:
1. De bloque, como discos y cintas.
2. Y de caracteres, terminales e impresoras.
Los ficheros se organizan en directorios estructurados en rbol y se manejan mediante bloques
de datos.
Linux tiene soporte para diferentes sistemas de archivos, algunos son sistemas de archivos de
redes especializados o son sistemas de archivos desarrollados para otros sistemas operativos. Una
sorprendente cantidad de ellos pueden ser utilizados como sistema de archivos nativo en Linux:
ext2, ext3, ext4, ReiserFS, XFS, y Journaled File System (JFS).
La cuarta extensin del sistema de archivos (ext4fs) existe porque algunos desarrolladores
queran incorporar nuevas y mejoradas caractersticas al ext3. La mejora ms llamativa de ext4
est en el soporte de archivos y sistemas de archivos de gran tamao.
Caractersticas
Multitarea: Un usuario puede ejecutar varios programas (procesos) a la vez, sin tener que
detener una aplicacin para ejecutar otra.
Multiusuario: Varios usuarios pueden acceder a las aplicaciones y a los recursos en el mismo
PC y al mismo tiempo. Con la impresin para cada uno de ellos de estar trabajando solo.
Tiempo compartido: Es la forma de conseguir las caractersticas anteriores, y se basa en que
en una fraccin de tiempo muy pequea, la CPU atiende a varios usuarios. A cada proceso se le
dedica por turno una unidad de tiempo llamada cuanto.
La memoria: es aprovechada al mximo, para acceder al disco el menor nmero de veces,
consiguiendo mayor rapidez.
Recuperacin automtica del sistema de ficheros despus de una cada del sistema, o
interrupcin elctrica.
Seguridad de acceso a la informacin de cada usuario, mediante una serie de permisos que el
propietario puede conceder o denegar sobre cada uno de sus ficheros.
Multiplataforma: Corre en muchos PCs distintos (Intel 386/486/Pentium y compatibles,...).
Facilita la portabilidad del software, entre plataformas, al menos a nivel de cdigo fuente.
Shell programables, lo que le hace ser un SO muy flexible.
Comandos Bsicos
Hardware
Kernel
Dispoditivos
Kernel o Ncleo
Es el corazn del sistema, la parte ms cerrada al usuario y ms cercana al hardware.
Reside permanentemente en memoria. Su trabajo consiste en:
o Planificar, coordinar y gestionar la ejecucin de procesos.
o Dar servicio al sistema, como entrada / salida y gestin de ficheros.
o Manejar las operaciones dependientes del hardware, realizando las operaciones de
ms bajo nivel de manera que se oculten al usuario.
Dispositivos
Los ficheros de dispositivo son los intermediarios entre el SO y el dispositivo fsico.
Utilidades
Estas rdenes tambin conocidas como herramientas, que van desde el compilador de C,
hasta el editor de texto, pueden utilizarse por separado o de forma conjunta para llevar a cabo
tareas tiles. Se invocan por su nombre a travs del Shell.
SHELL o Caparazn
Es la parte que permite al usuario comunicarse con el sistema, tambin se le conoce como
"caparazn".
Puede estudiarse desde dos puntos de vista:
-
Comandos Bsicos
Primera Aproximacin
Antes de entrar al Sistema:
Debe de tener creada una cuenta de usuario, la cual tendr un nombre y que adems puede
llevar asociada una palabra clave.
Se podr acceder al sistema mediante cualquier terminal que est preparado, en cuyo caso
mostrar por pantalla: login:, esto quiere decir que est esperando a que le introduzcamos un
nombre de usuario. Una vez introducido y pulsado Return puede que nos pida una palabra clave
password: Pasados estos requisitos puede que aparezca algn mensaje y debajo el prompt del
Sistema.
Para los usuarios habitualmente el prompt es slo el signo dlar ($), pero en linux suele
aparecer por defecto: el nombre del usuario, el de la computadora y la trayectoria actual en el rbol
de directorios (el directorio de conexin se muestra como ~).
Comandos Bsicos
date
Muestra la fecha actual.
who
Indica que usuarios estn en ese momento conectados al Sistema.
clear
Borra la pantalla.
echo mensaje
Vuelve a escribir el mensaje.
echo mensaje > fichero
El signo mayor que (>), significa redirigir la salida o resultado de un comando. Guardara el
mensaje dentro del fichero que hayamos indicado.
ls
Lista los nombre de los ficheros.
cat fichero
Visualizara el contenido del fichero, aunque su principal funcin es concatenar ficheros.
rm fichero
Borra el fichero indicado.
Cuando se desea terminar un programa antes de su fin normal debemos pulsar la tecla Supr
dos veces en Unix y Ctrl + C en Linux.
Para salirnos del Sistema (modo comando) pulsamos las teclas Ctrl + d. (Unix) o exit
Hacer clculos
bc
Se puede emplear como una calculadora normal.
Para separar los decimales emplea el punto (.).
Admite cualquier nivel de parntesis.
Las operaciones son: + (suma), - (resta), * (multiplicacin), / (divisin), % (mdulo o resto), ^
(exponenciacin).
Tiene capacidad para asignar valores a variables utilizando el signo igual (=).
Utiliza unas variables internas que rigen su trabajo, a las que les podemos cambiar su valor,
Comandos Bsicos
10
como son:
-
Mirar el almanaque
cal [[mes] ao]
Sin argumento nos muestra fecha, hora y despliega el mes actual, anterior y posterior.
Con un solo n del 0 al 9999 muestra todo el calendario del ao correspondiente; y si le
especificamos mes y ao slo muestra ese mes.
Comandos Bsicos
11
Inodos
Los ficheros son la unidad fundamental del Sistema de Ficheros Linux. Cada fichero al ser
grabado es asociado automticamente y durante toda su vida a un inodo (nodo-i), este identifica
perfectamente al fichero asociado y contiene los siguientes datos del fichero al que identifica:
TIPO: ordinario (-), directorio (d), especial (b) o (c), enlace simblico (l)
PROPIETARIO: usuario que cre el fichero.
GRUPO: grupo al que pertenece el usuario.
PERMISOS: pueden ser de lectura, escritura y ejecucin para el propietario, su grupo y
el resto de los usuarios. Estos se pueden alterar segn las necesidades de seguridad con el
comando chmod.
NMERO DE ENLACES: un enlace es la unin entre un nombre de fichero y un inodo.
Un mismo fichero puede estar referenciado por otro nombre. Los enlaces se pueden crear con
la orden ln.
TABLA DE PUNTEROS: es un vector con trece posiciones, cada una de las cuales
almacena un puntero, cuyo significado es:
-
Los diez primeros punteros sealan a los diez primeros bloques de informacin del
fichero.
El dcimoprimer puntero seala a otra tabla que contiene punteros, que a su vez
apuntan a bloques de informacin.
El dcimosegundo puntero seala a otra tabla que contiene punteros, que a su vez
apuntan a tablas de punteros, que apuntan a bloques de informacin.
El dcimotercer puntero seala a otra tabla de punteros, cada uno de los cuales
apuntan a tablas de punteros, que a su vez apuntan a tablas de punteros, que
apuntan a bloques de informacin.
FECHA DE CREACION.
FECHA DE LA LTIMA MODIFICACION.
FECHA DE LA LTIMA UTILIZACION.
Comandos Bsicos
12
Con la orden cat fichero Cmo accede el SO a los bloques de este fichero?.
Los directorios son ficheros que contienen informacin sobre ficheros u otros directorios, esta
informacin es su nombre y nmero de inodo. Con el comando ls se pueden visualizar los nombres
de los ficheros contenidos en el directorio y otros datos.
Linux utiliza la estructura de directorios en forma de rbol, para mantener la cohesin entre sus
ramas, cada directorio contiene otro llamado . (punto), que hace referencia a l mismo, y otro .. (dos
puntos), que hace referencia al su directorio padre.
Para ver la informacin de los directorios . y .., utilizar la orden ls con la opcin -a.
Utilizar la orden ls -l, que nos muestra la mayor parte de las caractersticas de los ficheros y
directorios (tipo, permisos, enlaces, propietario, grupo, ocupacin en bytes, fecha ltima actualizacin y
nombre del fichero).
Distingue entre los tipos de ficheros, para ver ficheros de dispositivo en /dev.
Observa los permisos de los ficheros ordinarios y de los directorios. Son iguales?
A qu grupo perteneces?
Comandos Bsicos
13
Directorio raiz del sistema de ficheros. En algunos casos directorio home del
administrador.
bin
Abreviatura de binaries. En este directorio se encuentran los rdenes bsicas del SO. En
/usr/bin tambin hay rdenes bsicas, pero son menos esenciales.
boot Aqu estn los ficheros binarios de arranque del sistema (vmlinuz)
dev
Contiene los ficheros especiales o de dispositivo (device drivers). Son usados para
acceder a los dispositivos del sistema y recursos, como discos duros, mdems,
memoria, etc. Por ejemplo, de la misma forma que podemos leer datos de un fichero,
podemos leerla desde la entrada del mdem usando /dev/modem.
etc
home Por cada usuario cuelga de home un directorio que por defecto tendr el mismo nombre
que el del usuario. Ejemplo /home/user01. Estos a su vez dentro de su directorio pueden
crear la estructura de ficheros y directorios que necesiten.
root
Comandos Bsicos
14
lib
Directorio que contiene las libreras compartidas. Estas son comunes para todos los
programas que las usan, en lugar de tener cada programa su copia.
proc No existe fsicamente, es un SF virtual. Los ficheros que contiene residen realmente en
memoria. En l podemos encontrar informacin sobre el sistema (procesos).
sbin
tmp
Contiene los ficheros temporales que el Sistema necesita crear para realizar
determinados trabajos.
usr
Para almacenar otros directorios accesibles a los usuarios, tales como: /usr/lib, /usr/bin,
/usr/share/man, /usr/share/doc. En algunos sistemas, de aqu cuelgan los directorios de
los usuarios.
Los directorios descritos arriba son esenciales para que el sistema est operativo, pero
la mayora de las cosas que se encuentran en /usr son opcionales para el sistema. De
cualquier forma, son estas cosas opcionales las que hacen que el sistema sea til e
interesante, contiene la mayora de los paquetes grandes de programas y sus ficheros
de configuracin.
/usr/X11R6
/usr/bin Es el almacn real de programas del sistema Unix. Contiene la mayora de los
programas que no se encuentran en otras partes como /bin.
/usr/etc Como /etc contiene diferentes ficheros de configuracin y programas del sistema,
/usr/etc contiene incluso ms que el anterior. En general, los ficheros que se encuentran
en /usr/etc/ no son esenciales para el sistema, a diferencia de los que se encuentran en
/etc, que si lo son.
/usr/include
/usr/include/g++
/usr/lib Contiene las libreras equivalentes stub y static a los ficheros encontrados en /lib.
Adems, varios programas guardan ficheros de configuracin en /usr/lib.
/usr/local
/usr/man
/usr/src Contiene el cdigo fuente (programas por compilar) de varios programas de nuestro
Comandos Bsicos
15
opt
Este es la raz del subrbol que contiene los paquetes de aplicacin especficos.
var
Este contiene los directorios de todos los ficheros que cambian de tamao o tienden a
crecer, como /var/adm (ficheros de registro y contabilidad), /var/mail (ficheros de correo
del usuario), /var/spool (ficheros que van a ser pasados a otro programa), /var/news
(mensajes de inters comn),...
mnt o media De este cuelgan directorios para montar sistemas de ficheros sobre el Root File
System. Por ejemplo /mnt/floppy, /mnt/cdrom,...
lost+found (perdido+encontrado) Contiene ficheros que por algn problema no estn enlazados
al Sistema de Ficheros.
Trayectoria o pathname:
Es el camino que hay que seguir dentro de la estructura arborescente de directorios para
encontrar un fichero o directorio.
Vamos a distinguir dos tipos de trayectorias:
1. Trayectoria absoluta es la que parte del directorio raz (root).
2. Trayectoria relativa es la que parte del directorio de trabajo.
Referencias a directorios especiales:
-
Directorio padre del directorio en curso, es el directorio del cual cuelga el directorio
activo, se representa por dos puntos (..).
* Equivale a 0 o ms caracteres.
Comandos Bsicos
16
El proceso de sustitucin de los metacaracteres, por los nombres de los ficheros que
correspandan se llama expansin de los metacaracteres, y es efectuado por el intrprete de
comandos, de esta forma los comandos u rdenes nunca ven los metacaracteres.
Crear todos los ficheros necesarios para practicar con los metacaracteres, al menos con la orden
ls.
Comandos Bsicos
17
Crear ficheros
Vaco:
cat /dev/null > fichero
> fichero
Las dos rdenes tienen el mismo efecto, en la primera de ellas se emplea el dispositivo nulo.
Comandos Bsicos
18
-F Pone una (/) despus de cada directorio y un (*) despus de cada ejecutable.
La orden l es un alias de ls la.
Como argumentos se puede especificar: nombre(s) de fichero(s), de directorio(s) y utilizar los
metacaracteres.
file fichero(s)
Realiza una suposicin sobre qu tipo de informacin almacena un fichero; as nos puede
indicar s un fichero es de texto, ejecutable, directorio, un programa fuente, est comprimido ...
Para ello revisa la primera parte del fichero en busca de palabras clave o nmeros especiales
del linkador, tambin consulta los permisos de acceso. Sus resultados no siempre son correctos.
Copiar:
cp [opc.] f_origen f_destino
-i Pide confirmacin antes de sobreescribir.
-r Copia recursiva, incluyendo subdirectorios.
Realiza duplicados de ficheros, en el mismo directorio con distinto nombre o en distinto
directorio con cualquier nombre. S el nombre del fichero destino ya existe se pierde la informacin
que pudiera tener.
Sobre el f_origen hay que tener al menos permiso de lectura (r) y sobre el f_destino, si ya
existe, de escritura (w).
Como destino se puede indicar un directorio, en cuyo caso se copiaran todos los ficheros
Comandos Bsicos
19
origen en l.
cp f(s)_origen directorio
Los ficheros origen se pueden indicar por su nombre completo, separados por blancos o
utilizando metacaracteres; por supuesto se puede emplear una trayectoria.
Con esta orden al duplicarse la informacin nunca se pierde el contenido del fichero origen.
Mover:
mv [-i] f_origen f_destino
mv [-i] f(s)_origen directorio
Renombra un fichero dentro de un directorio o lo traslada a otro directorio.
La diferencia con la orden cp es que mv no duplica la informacin, desapareciendo siempre los
ficheros origen.
-i Si en el destino ya existe el fichero, pregunta antes de sobreescribirlo.
La mayora de las veces es ms rpida que cp, ya que se limita solo a anotar el cambio en los
ficheros directorio.
Enlazar:
ln [-f] f_origen f_destino
-f No hace preguntas.
A un mismo fichero se le da otro nombre, los dos nombres se referirn en adelante al mismo
fichero.
No se hace una copia del fichero origen y el nuevo nombre puede estar en distinto directorio.
Lo nico que realiza esta orden es aadir una nueva entrada en el directorio que corresponda
con el nombre del fichero destino y el n de i-nodo del fichero origen.
No es necesario poseer ningn permiso sobre el fichero origen, pero si debemos poseer
permiso de escritura (w) sobre el directorio destino y de lectura sobre el directorio origen.
Como origen se pueden indicar varios ficheros si el destino es un directorio.
-s Realiza un enlace simblico.
Un enlace o vnculo simblico es un archivo que slo contiene el nombre de otro archivo.
Cuando el SO opera sobre el enlace simblico, se dirige hacia el archivo al que apunta. Se usan
para enlazar ficheros en computadoras diferentes o en distintos sistemas de ficheros, tambin para
crear varios nombres a un directorio.
Estas tres rdenes tienen en comn, que el contenido del fichero destino, si existe, es
destruido.
Borrar:
rm [opc] fichero(s)
Para borrar un fichero es necesario poseer permiso de escritura sobre el directorio, no sobre el
fichero, pues lo que realmente se hace es borrar un entrada del directorio.
Si el fichero a borrar tiene varios enlaces, se borrar el enlace que tiene con el nombre de
fichero indicado, los dems permanecen.
-f (forzar) S no tenemos permiso de escritura sobre el fichero, se salta una pregunta
de confirmacin y lo borra.
-i (interactivo) Pide confirmacin en todos los ficheros.
-r (recursivo) Borra a partir de donde le indiquemos, toda la posible rama de
Comandos Bsicos
20
Estudiar los permisos de vuestro directorio home. Qu permisos tienen los de tu grupo?.
Entra en el directorio home de algn compaero. Intenta crear ficheros. Borra un fichero.
En los ficheros directorio el permiso de lectura posibilita que podamos averiguar el contenido
del directorio, es decir, los nombres de los ficheros que contiene, el no poseer este permiso no
impide acceder al contenido de los ficheros.
El permiso de escritura nos permite crear y borrar ficheros, la modificacin de un fichero en
particular no la controlan los permisos de directorio sino los de ese fichero.
El permiso de ejecucin en el caso de directorios impide que podamos usarlo dentro de una
trayectoria o que lo usemos como directorio de trabajo, denegar el permiso de ejecucin si es una
proteccin real para un directorio y los ficheros que contenga. (Si perdemos el permiso de ejecucin
sobre el directorio de trabajo o el padre de este, podemos desplazarnos a cualquier otro usando
una trayectoria absoluta.)
El propietario de un fichero puede cambiarle los permisos con respecto a l mismo, su grupo o
el resto de los usuarios con la orden:
Comandos Bsicos
21
u Usuario propietario.
g Grupo.
o Otros, el resto.
a Todos (por defecto).
[+-=]:
+ Aade permiso.
- Elimina permiso.
= Asigna o establece permiso. Aade los permisos indicados y
quita los dems, para los usuarios indicados.
[permiso]:
r Lectura.
w Escritura.
x Ejecucin.
Ejemplos:
Ejercicios:
Si a un fichero con varios enlaces se le cambian los permisos Se cambiarn tambin en sus
ficheros enlazados?
Grabar en un fichero:
clear
echo hola mundo
echo te encuentras en
pwd
Tambin se permite una notacin numrica, en octal, para indicar los permisos que se van a
establecer a unos determinados ficheros.
chmod nmero_octal fichero(s)
Nmero_octal: Un fichero tiene 9 permisos, se codifican en binario, si se tiene permiso 1 y si no
se tiene 0; resulta un nmero binario de 9 dgitos binarios, este se pasa a octal y obtenemos el
nmero octal de tres dgitos.
Comandos Bsicos
22
Permisos especiales.
An hay otro tipo de permisos que hay que considerar. Se trata de:
o El bit de permisos SUID (Set User ID).
o El bit de permisos SGID (Set Group ID).
o El bit de permisos de persistencia (sticky bit).
SUID
Veamos los permisos de un par de comandos que cuando se ejecutan modifican el fichero
/etc/passwd, que es propiedad de root, y slo l lo puede modificar.
ls -l /etc/passwd
-rw-r--r-- 1 root root 2625 2010-11-19 11:39 /etc/passwd
El comando passwd, sirve para cambiar la contrasea del usuario, y puede ser invocado por
cualquier usuario para cambiar su propia contrasea.
Y el comando chsh, que se usa para cambiarnos el shell de conexin por defecto.
Si vemos sus permisos observaremos un nuevo tipo de permiso:
$ cd /usr/bin
$ ls -l passwd chsh
-rwsr-xr-x 1 root root 31700 2010-01-26 18:09 chsh
-rwsr-xr-x 1 root root 37140 2010-01-26 18:09 passwd
En lugar de la 'x' para el usuario encontramos ahora una 's' (suid).
passwd es un comando propiedad de root, que modifica ficheros de configuracin de usuarios
sobre los que slo el administrador posee permiso de escritura, pero sin embargo un usuario sin
privilegios al ejecutar este comando tambin deber de modificar los ficheros de configuracin de
usuarios. Es aqu donde interviene el bit SUID.
Este nuevo permiso obliga a la orden a ejecutarse como si la hubiera lanzado el usuario
propietario y no realmente quien la ejecut. Es decir, es poder invocar un comando propiedad de
otro usuario (generalmente de root) como si uno fuera el propietario.
SGID
El bit SGID funciona exactamente igual que el anterior, solo que se aplica al grupo del
programa. Es decir, permite ejecutar el comando con los permisos del grupo.
Veamos un ejemplo con la orden write, que sirve para realizar una comunicacin instantana
con los usuarios que hay conectados. Para realizar su cometido necesita escribir en los ficheros de
dispositivo de los terminales, que pertenen al grupo tty.
$ ls -l /dev/tty8
crw--w---- 1 root tty 4, 8 2010-11-20 21:32 /dev/tty8
En nuestro sistema write es un enlace simblico al siguiente fichero, en el que se muestra una
Comandos Bsicos
23
Comandos Bsicos
24
umask [nmero_octal]
Solamente tiene formato numrico, el n octal al pasarlo a binario, los unos indican los
permisos que quitamos y a quin.
La orden tiene efecto para el usuario que la aplica, y a partir de su uso los ficheros y directorios
se crearn con la restriccin de los permisos indicada.
(Atencin: a los ficheros de texto, en un principio, no se les asigna permiso de ejecucin)
Si utilizamos la orden sin ningn parmetro, muestra la mscara de creacin actual, que suele
ser 022.
Para dejarlo fijo en la sesin, agregarlo a nuestro fichero de inicio de sesin .bashrc de nuestro
directorio de inicio o .profile si iniciamos con una consola de texto (Ctrl + Alt + Fn).
Cambio de propietario.
El propietario de un fichero en System V (en los sistemas Berkeley solo el administrador)
puede cambiar el fichero de propietario y de grupo.
chown [-R] nuevo_propietario[:grupo] fichero(s)
-R
Recursividad.
El nombre del nuevo propietario debe de ser un nombre vlido de entrada al sistema (login) o
un nmero de identificacin de usuario; estos y otros datos se encuentran en el fichero /etc/passwd.
Si el usuario perteneciese a otro grupo se indica este separado del usuario por (:). Y se cambia
al mismo tiempo de usuario y de grupo.
Cambio de grupo.
chgrp nuevo_grupo fichero(s)
Igualmente el nuevo grupo se puede indicar con el nombre o el nmero de identificacin, que
se encuentra en el fichero /etc/group.
Poner a dos ficheros al mismo tiempo los permisos rw- -wx r--.
Poner al directorio permiso de escritura y un fichero dentro de l sin este permiso, probar a
borrarlo.
Poner una mscara de creacin, de forma que a los directorios slo les de permiso de ejecucin
para g y o, y para el propietario todos. Comprobarla creando algn directorio.
Comandos Bsicos
25
Concede permiso de ejecucin a tu directorio de conexin para los de tu grupo, dentro crea una
carpeta llamada compartida, donde los de tu grupo puedan escribir y borrar slo lo que han
creado.
Comandos Bsicos
26
Creacin.
mkdir trayectoria(s)
Para crear un directorio necesitamos permiso de escritura sobre el directorio en el que se va a
crear.
Se pueden crear varios directorios al mismo tiempo, indicando su trayectoria, ya sea absoluta o
relativa.
Ejemplos.
mkdir base/direc base2
mkdir base/dire1 base/dire1/dire2 (dire1 no exista)
Eliminar directorios
rmdir directorio(s)
Se requiere permiso de escritura sobre el directorio padre.
Antes de borrar un directorio debemos de borrar su contenido y cuidar de que no sea el
directorio de trabajo.
Otro usuario que tenga permiso para ello nos puede borrar nuestro directorio de trabajo, con lo
que nos dejar "como suspendidos en el aire", pero podemos transladarnos a cualquier otro
directorio.
El sistema permite borrar el directorio de trabajo.
Recordar que tambin se pueden borrar directoros usando la orden rm de forma recursiva.
Cambio de nombre.
mv directorio_antiguo directorio_nuevo
Se requiere permiso de escritura en el directorio padre.
Comandos Bsicos
27
Copia de directorios.
cp [-R] DirectorioOrigen DirectorioDestino
-R
De forma recursiva.
Comandos Bsicos
28
Flujo De Informacin.
Entrada y salidas estndar (std).
Muchas rdenes Unix reciben informacin desde el teclado, que es la entrada estndar (stdin)
y muestran los resultados por la pantalla, salida estndar (stdout); la pantalla tambin es la salida
estndar para los posibles errores (stderr).
Ejemplo:
Cat
sort
Sin opciones ni argumentos leen texto del teclado (stdin) y muestran los resultados por pantalla
(stdout), visualizando los posibles errores, en el caso de que se produzcan, por pantalla (stderr).
Tanto la entrada como las salidas estndar son tratadas como ficheros especiales, y el shell
los identifica por su nmero de descriptor de fichero:
stdin
0
stdout
1
stderr
2
(Deben de emplearse junto al signo de redireccionamiento).
Redireccionamiento:
Se pueden redireccionar la entrada y salidas estndar mediante los metacaracteres de
redireccionamiento: > < >>.
> Redireccionamiento de salida, enva los datos que normalmente saldran por pantalla hacia
el fichero que indiquemos.
Ejemplo:
cat > file
cat 1> file
cat - > file
Usa la entrada estndar y la salida al fichero especificado.
>> Redireccionamiento de adicin, igual que el anterior, pero si el fichero al que se dirige la
salida ya existe no se borra la informacin que tenga, sino que la nueva se aade al final.
Ejemplo:
Cat 1>> file
Aadiendo informacin a un fichero desde la entrada estndar.
< Redireccionamiento de entrada, la orden no tomar la informacin del teclado, sino del
fichero especificado.
Ejemplo:
cat file
cat < file
Comandos Bsicos
29
Con el formato:
orden >& fichero
Tanto la salida estndar, como la salida de error se almacenan en el fichero indicado.
Ejemplo:
cat fichero fichero_inexistente >& todo
Tuberas (pipes):
Orden | Orden2
Mediante el uso de tuberas se consigue que la salida de una orden sea la entrada de otra. El
metacarcter tubera es |.
Ejemplo:
ls lR /home | less
Duplicar la salida
orden | tee [opciones] fichero(s)
orden | tee [opciones] | filtro
La entrada que recibe tee la copia en la salida estndar y en el o los ficheros indicados como
argumentos, si estos no existen son creados.
-i No responde a interrupciones.
-a Si los ficheros existen le aade la informacin al final.
Ejemplo:
date | tee a fecha
ls l | tee listado
cat fichero1 fichero2 | sort | tee FileOrden
El primero muestra la fecha y adems la aade en un fichero.
E segundo muestra el contenido del directorio y lo almacena en el fichero listado.
Y el tercero concatena la entrada, la ordena, la muestra ordenada y la almacena en el fichero
Comandos Bsicos
30
FileOrden.
Ejercicios:
Practicar todos los redireccionamientos, con todas las formas de indicar la entrada y salida.
En los ejercicios anteriores emplear los filtros vistos: less, cat y sort.
Contar:
wc [opciones] fichero(s)
Abreviatura de Word Counting. Sin opciones cuenta el nmero de lneas, palabras y caracteres
contenidos en un fichero o en la entrada indicada. Si se especifica un grupo de ficheros contabiliza
en cada uno de ellos y adems muestra un total.
Si no especificamos la entrada, toma por defecto la entrada estndar.
Para que no muestre toda la informacin, podemos utilizar las opciones:
-l Slo cuenta las lneas.
-w Idem las palabras.
-c Idem los caracteres.
Ejemplos:
wc f1 f2 f3
Cuenta el n de lneas, palabras y caracteres de cada fichero y hace un total.
ls | wc -w
Cuenta el n de ficheros de un directorio.
Ejercicios:
Averiguar cuantos ficheros y directorios hay en una rama del rbol de directorios, por ejemplo
en tu $HOME. El resultado almacenarlo en un fichero y los posibles errores que no aparezcan
por ninguna parte.
Ordenar:
Este filtro adems de clasificar puede fusionar ficheros. En principio lo hace siguiendo el cdigo
ASCII.
Comandos Bsicos
31
La entrada, al igual que en todos los filtros, pueden ser: ficheros indicados como argumentos,
pasada por una tubera o suministrada por la entrada estndar.
sort [opciones] [fichero(s)]
Opciones generales:
-o file Sirve para indicar el fichero de salida. Ya que si redireccionamos la salida a un
fichero que se llame igual que el de entrada, se pierde la informacin.
-m Mezcla los ficheros que supone que estn ordenados.
-c Comprueba si el fichero est ordenado.
-u Muestra las lneas repetidas una sola vez, til para la mezcla de ficheros.
Opciones de ordenacin de datos:
-d (diccionario), slo tiene en cuenta los caracteres alfabticos, numricos y espacio.
-f Convierte maysculas a minsculas a efectos de la ordenacin.
-b Ignora los blancos iniciales.
-n Ordenamiento numrico, toman su valor aritmtico el signo menos (-) y el punto
decimal (.), En Ubuntu como tenemos definido el idioma toma como separador de
los decimales la coma (,). Los blancos iniciales no se tienen en cuenta.
-r Ordenacin inversa.
-R Ordenacin aleatoria (Random).
Ordenacin de campos:
Los campos se entienden separados por blancos o tabuladores salvo que se indique la opcin:
-tx Donde x es el carcter delimitador de campos. Es aconsejable poner el carcter
entre comillas.
Para ordenar slo por un grupo de campos:
-k inicio[,fin]
Pueden indicarse opciones slo para un rango, si se colocan inmediatamente despus del
nmero de campo, no irn precedidas de guiones; estas son b, f, n, r.
La lista de ficheros caso de ser varios los ordena y mezcla, salvo que se utilice la opcin -m,
que slo mezcla.
Ejemplos:
sort t"," -f k 2,3 lista > lista.ord
Un fichero con la estructura: nombre, apellido1, apellido2, edad. Es ordenado por apellidos, sin
diferenciar entre maysculas y minsculas.
who | sort | tee quien.hay
Muestra y almacena los usuarios que hay conectados de forma ordenada.
sort -nr o num num
Ordena el fichero num, que contiene nmeros, en orden descendente y lo almacena en el
mismo fichero.
Comprobar que ocurre si en lugar de usar la opcin o empleamos el redireccionamento de
salida.
Comandos Bsicos
32
Ejercicios:
Ordenando un fichero.
Mostrar el listado largo de ficheros de un directorio, ordenado por tamao, de mayor a menor.
Ordenar el fichero de password (/etc/passwd) por el GID (4 campo) de forma numrica, los
que pertenecen al mismo grupo los ordenamos por su nombre de usuario LOGNAME (campo
1). Los campos estn separados por :. El resultado almacenarlo en un fichero llamado passwd
en vuestro directorio $HOME.
Ordenar y mezclar dos ficheros con nmeros (donde algunos estn repetidos), comprobar la
opcin u.
Comandos Bsicos
33
Mostrar el listado largo de un directorio, sin que incluya la 1 linea, que indica el total de
bloques usados.
En un fichero tenemos los nmeros del 0 al 9 (cada uno en una lnea), escribir la lnea de
comando para que nos muestre uno de ellos aleatoriamente.
Almacenar en un fichero la palabra hola ms intro. Mostrarlo con las distintas opciones.
Comandos Bsicos
34
\t
representa un tabulador.
Formato:
Indicar rangos
Se pueden usar conjuntos de caracteres. Por ejemplo para cambiar letras minsculas por
maysculas:
tr [a-z] [A-Z] < fichero
Ejemplo para codificar texto, desplazando cada letra trece posiciones en el alfabeto ingls de
26 letras:
tr [a-m][n-z][A-M][N-Z] [n-z][a-m][N-Z][A-M] < fich > fich.13
Para traducir un conjunto de caracteres de entrada por el mismo carcter de salida, se usa el *
despus del carcter de salida indicando que se repita las veces que sea necesario.
tr [0-9] [#*] < fichero
Eliminacin de caracteres
tr -cd [a-z][A-Z][0-9] < fichero
Comandos Bsicos
35
Son eliminados todos los caracteres no alfanumricos incluidos los signos de puntuacin,
espacios,...
Dado un fichero de texto, producir un listado con las palabras que contiene ordenadas
alfabticamente, sin que estn repetidas e indicar el n de veces que aparece cada palabra en el
fichero.
tr -s "[:blank:]" "\n" < fichero | sort | uniq -c
Comandos Bsicos
36
Sin opciones produce como salida las lneas que contienen el patrn.
Comandos Bsicos
37
Si se especifican varios patrones en la lnea de comando, irn todos entre comillas y separados
por un retorno de carro.
Ejemplo:
fgrep f palabras lista1 lista2
Ejercicios:
Buscar una palabra en un fichero. Comprobar la opcin para que no distinga las maysculas.
En varios ficheros buscar una frase e informar del nombre de los ficheros que la contengan.
Borrar todas las lneas que contengan Manolo, Manuel, Lolo o Manoln.
Comparacion de Ficheros.
diff - busca diferencias entre dos ficheros
diff [opciones] fichero-origen fichero-destino
Por defecto muestra los cambios de edicin que habra que realizar en f1 para que quedase
igual que f2, de la siguiente forma:
Lnea o rango de f1 operacin lnea o rango de f2
Donde operacin puede ser:
a (aadir lneas de f2 a f1)
d (borrar lneas de f1)
c (cambiar lneas de f1 por lneas de f2).
Y a continuacin de cada operacin muestra las lneas afectadas, si estas se preceden por el
smbolo "<" quiere decir que son de f1, y si se preceden por ">" son de f2.
Opciones
Comandos Bsicos
38
-a Trata todos los ficheros como de texto y los compara lnea por lnea, incluso si no
parecen ser de texto.
-b No se tienen en cuenta los blancos al final de lnea y trata los distinto conjuntos de
blancos como si fuesen iguales.
-B No hace caso de cambios consistentes en slo insertar o borrar lneas en blanco.
-c Emplea el formato de salida de contexto.
-i Considera las letras maysculas y minsculas equivalentes.
-q Informa slo de si los ficheros difieren, no de los detalles de las diferencias.
-r Cuando compara directorios, compara recursivamente cualesquier subdirectorios
encontrados.
-u Emplea el formato de salida unificado.
Variante de split
csplit [-f prefijo] fichero arg1 [...argn]
Divide el fichero en las porciones que indiquen los argumentos, estos pueden ser:
n
El trozo termina en la lnea n n (no incluida).
"/exp/"
Hasta la lnea que contiene la expresin (no incluida).
"%exp%" Salta sin grabar en fichero hasta la lnea que contiene la expresin, esta lnea se
graba en el prximo fichero.
En pantalla se muestra el tamao de los ficheros en los que se divide. Algunas opciones son:
-f prefijo Prefijo tiene el mismo significado que en split, si no se pone se asume "xx" y
se van numerando, desde xx00 hasta xx99.
-s No muestra el tamao de las partes en la salida estndar.
Comandos Bsicos
39
-f lista
En ambos casos la lista est formada por un conjunto de nmeros separados por comas o
guiones.
-dcarcter
Informa de cual es el carcter delimitador de campos cuando
usamos la opcin -f, por defecto se asume tab.
-s Se usa conjuntamente con la opcin f, para pasar por alto las lneas que no tengan
el delimitador, como son cabeceras, ttulos o lneas vacas.
Ejemplos:
Corta el rango de caracteres del 20 al 35:
cut -c20-35 datos
Se obtiene el 2 y 4 campo, actuando como separador los :
cut -d: -f2,4 datos
Ejercicios:
Obtener un listado ordenado de todos los usuarios que son propietarios de algo dentro del
directorio /home; no deben de estar repetidos. Orientaciones:
A la salida de la orden ls -l le podemos eliminar la cabecera.
Cortar la columna de los propietarios.
Ordenar
Eliminar los repetidos.
Comandos Bsicos
40
En un fichero de alumnos, donde tenemos los datos de un alumno por linea, con los datos
Nombre; Apellidos; Edad. Obtener otro fichero con los datos apellidos, nombre; ordenado por
apellidos.
Bsqueda de ficheros.
find [ruta(s)] [opcion(es)]
Es til para localizar ficheros que cumplan determinadas condiciones o caractersticas, en las
ramas del rbol de directorio que se le indique. Finalmente sobre los ficheros o directorios
encontrados se puede ejecutar alguna accin.
Dentro de las opciones, unas indican criterios de bsqueda (en el caso de que se indique ms
de un criterio se seleccionan los ficheros que cumplan todos simultneamente).
Otras opciones indican las acciones a realizar con los ficheros encontrados.
Cuando el criterio se acompaa de un n n, este puede llevar el signo positivo (+), negativo (-) o
ninguno, significando respectivamente mayor que, menor que o igual que.
Algunas opciones que indican criterios de busqueda:
-name patrn
-iname patrn Como -name, pero no hace distincin entre maysculas y minsculas.
-type t
-links []n
N de enlaces.
-inum n
-perm n
-user usuario
-uid n
-group grupo
-gid n
-size []n
N de bloques de tamao
del fichero. Si se aade una c detrs del nmero se interpreta el
tamao en bytes (caracteres), k (Kbytes), w (palabras 2 bytes), b
(bloques, por defecto).
-empty
Si el fichero o el directorio
est vaco.
-atime []n
Comandos Bsicos
41
-mtime []n
Idem modificado.
-mindepth n
Ejemplos:
find . -size -25c
find /home/user07 -name hola -type d
find programas -name "*.c"
find /home -atime +30
-a
-o
-fprint file
-ls
Comandos Bsicos
42
Ejemplos:
find . -name carta* - type f -exec cat {} \;
find cuentas -atime +90 -ok rm {} \;
find programas -newer proyec.c -exec mv {} /home/user07/actual \;
find . -atime +3 -atime -60 -exec mv {} ../reserva \;
find /home -atime +30 -size +20 -ok rm {} \;
En ocaciones, esta orden puede tardar bastante, por lo que se suele ejecutar en background, si
no necesitamos su resultado inmediatamente, para ello se aade al final de la orden el carcter &.
En este caso ejecutar las acciones de forma desatendida y la salida estndar la debemos de
redirigir.
Observar la diferencia entre find . -name fichero y find /home/user07 -name fichero.
Para ejecutar acciones sobre los ficheros encontrados, realizar la prctica en vuestro directorio
de trabajo y preferiblemente con -ok orden ....
Comandos Bsicos
43
Editores:
Editor VIsual. Generalidades.
Comenzar con VI
vi [-opciones] [fichero(s)]
-R Abre el fichero en modo de solo lectura.
+n Al abrir el fichero se posiciona automticamente en la lnea n.
+ dem, pero colocndose al final del fichero.
Modos de trabajo
Texto.
Comando:
De lnea de rdenes.
Entrar a modo texto:
Pulsando <Esc>.
Desplazamiento
En algunos terminales con las teclas de direccin.
Tambin h j k l (izquierda, abajo, arriba y derecha respectivamente).
<Ctrl>+f
Avanza pantalla.
<Ctrl>+b
Retrocede pantalla.
<Ctrl>+d
<Ctrl>+u
Sobreescritura
r
Grabar y Salir
:q
:q!
Comandos Bsicos
44
:wq
Grabar y salir.
:w fich
:w! fich
:w >> fich
^g
Borrar
J Une la lnea actual con la siguiente.
x Borra el carcter sobre el que est el cursor.
d[n]alcance
Donde n es el nmero de veces que se va a repetir la operacin.
El alcance puede ser:
d Lnea actual.
w Palabra siguiente a partir del cursor.
b Palabra anterior a partir del cursor.
) Hasta final de frase. (Punto o lnea en blanco)
( Hasta principio de frase.
} Hasta el final de prrafo. (Pto. y aparte y lnea en blanco)
{ Hasta el principio de prrafo.
$ Hasta final de lnea.
^ Hasta principio de lnea.
Sin n de veces.
Cambiar
c[n]alcance
n y alcance tienen el mismo significado que en la orden anterior, pero para indicar una lnea en
alcance, se emplea la letra c.
El bloque de texto as especificado se sustituye por la siguiente entrada por teclado, hasta que
pasemos a modo comando.
Comandos Bsicos
45
Pegar
p
Repeticin
. El punto repite la ltima operacin de borrado o el ltimo bloque insertado.
Deshacer
u
Configuracin
:set showmode
:set list
:set nolist
Muestra los caracteres no imprimibles, TAB como ^I, final de lnea como
$.
Desactiva la anterior.
:set number
:set nonumber
Desactiva la anterior.
:set wrapscan
:set nowrapscan
:set ignorecase
:set shiftwidth=n
Sangrado izquierdo.
^T deja n espacios ms.
^D quita n espacios al sangrado.
Comandos Bsicos
46
:set showcmd
:set ruler
:set noruler
Para recomponer la pantalla despus de un mensaje u otra incidencia pulsar ^L, en modo
comando.
:set
Estos comandos set se pueden utilizar en cualquier momento cuando se esta trabajando con
vi, pero se pueden guardar en un fichero de configuracin llamado ".exrc" (.vimrc para el editor
vim) y automticamente se cargaran al comenzar una sesin con vi. Estos ficheros se encuentran
en el directorio home de cada usuario. Por ejemplo .exrc (.vimrc) puede contener:
set showmode
set number
set autoindent
set shiftwidth=4
set wrapmargin=5
Acceder al shell
:!orden Ejecuta la orden y despus de pulsar return regresa al vi.
:sh
Abreviaturas
:ab abreviada cadena_a_abreviar Pone una abreviatura a una cadena.
:una abreviada
:ab
Deshace la abreviatura.
Muestra las abreviaturas creadas.
Comandos Bsicos
47
Bsquedas y reemplazos.
/texto
Se puede utilizar una expresin en lugar del texto. Caracteres con un significado especial
dentro de las expresiones de bsqueda:
Cualquier carcter.
\<
Comienzo de palabra.
\>
Final de palabra.
[]
Reemplazos globales.
:mbitos/patrn1/patrn2/g
mbito n
La lnea nmero n.
n1,n2
Rango de lneas.
Lnea actual.
Final de fichero.
Todo el fichero.
Es la orden.
Comandos Bsicos
48
Marcar texto.
mletra
Donde m es el comando (mark) marcar, y debe de ir seguido de una letra de la a a la z. Pone
una seal invisible en la posicin del cursor.
Las marcas sirven para:
Referirnos a la lnea: 'letra (comilla simple).
Referirnos al carcter: `letra (acento grave).
Con las marcas podemos desplazarnos a determinados puntos, solo con teclearlas precedidas
de ' o `.
Tambin se pueden utilizar para indicar el alcance en comandos como d, y, c. As por ejemplo
para borrar de la lnea en curso hasta la que esta marcada con la letra a d'a.
Los bfers numerados, que son nueve. Y contienen los nueve grupos de lneas
borradas ms recientemente con el comando d o x. Lo borrado ms recientemente se
almacena en el bfer n 1.
Los 26 bfers alfabticos (de la a a la z). Se emplean en conjuncin con las rdenes
de cortar, copiar y pegar. Para ello se teclea precediendo la orden, comillas dobles y la
letra del bfer, que se va a utilizar para depositar la informacin o tomarla de all.
:n
:n!
:rew
:rew!
:args
Comandos Bsicos
49
:e#
Ejemplo: "ay'z (extrae el texto desde la lnea en curso hasta la marcada con z y las almacena
en el bfer a.
En otro fichero se pegar con la orden ap.
No se puede utilizar el bfer sin nombre, ni los numerados (en el vi estndar), pues estos se
borran al pasar de un fichero a otro.
Comandos Bsicos
50
finger
Proporciona informacin sobre los usuarios conectados al sistema, o incluso no conectados si
indicamos su nombre. La sintaxis es:
finger [opc] [usuario...] [usuario@host...]
Por defecto muestra la siguiente informacin sobre cada usuario comectado al host local:
Nombre de conexin.
Nombre completo del usuario.
Nombre del terminal, si va precedido por un * no admite mensajes con write.
Tiempo que lleva ocioso.
Hora de conexin.
Desde dnde se ha establecido la conexin.
Si slo queremos informacin del usuario user07 escribiremos:
finger user07
En este caso la muestra aunque no est conectado.
who
who [opciones]
Con who podemos ver los usuarios conectados a nuestro sistema, adems, nos muestra el
terminal en el que estn conectados y el tiempo de conexin. who imprime la siguiente informacin
por cada usuario que actualmente est conectado al sistema:
Nombre de la cuenta (login name).
Terminal.
Momento en el que se conect.
Nombre de ordenador remoto o terminal X.
Si slo queremos informacin sobre el usuario que ejecuta la orden escribiremos:
who -m
who am i
w
w [usuario]
Nos da informacin sobre los usuarios que estn conectados en el momento que se ejecuta el
comando y sobre que estn haciendo.
Tambin se puede indicar un usuario en concreto.
Ejemplo:
$w
4:59pm up 4:05, 3 users, load average: 0.00, 0.01, 0.01
USER
TTY
LOGIN@
IDLE
JCPU
PCPU
Comandos Bsicos
WHAT
51
paco
tty1
cursolin tty3
paco
pts/0
12:54pm 4:04m
4:59pm 7.00s
4:53pm 0.00s
11.85s
0.06s
0.08s
0.03s
?
0.03s
startx
w
write
write usuario [terminal]
El comando write nos permite mandar un mensaje a otro usuario en tiempo real, es decir, el
mensaje aparecer inmediatamente en la pantalla del destinatario. Estos mensajes no se
almacenan en ningn buzn.
Por supuesto slo nos vale si el destinatario est conectado, y adems debe tener mesg en y.
Supongamos que deseamos enviar un mensaje al usuario user07, y que tiene activa la
recepcin de mensajes, en ese caso escribiramos
write user07
Una vez escrito el texto que deseemos enviar como mensaje:
Hola Pepito, que no se te olvide la cita.
pulsaremos [Ctrl]+[d] y el mensaje ser enviado.
wall
wall [archivo]
Si queremos enviar un mensaje, no a un solo usuario, sino a todos los usuarios conectados
usaremos wall. El mensaje puede estar previamente contenido en un fichero, y para enviarlo
escribiremos:
wall < fichero.txt
Es una utilidad para el administrador y slo l puede escribir en los terminales de los usuarios
que hayan denegado la recepcin de mensajes.
Comandos Bsicos
52
Mensaje de preentrada
Aparece justo antes de la lnea que nos pide el nombre del usuario login:, cuando accedemos
al sistema mediante acceso de consola.
El administrador coloca el mensaje en el fichero /etc/issue.
mail
En el caso de que nuestro usuario no est conectado, el mejor comando para comunicarnos
con l es mail.
Envio de mensajes
El mensaje a enviar puede ser tecleado directamente o estar previamente contenido en un
fichero. La sintaxis bsica es:
mail usuario(s)
mail usuario(s) < fichero
No admite metacaracteres.
Si queremos enviar un mensaje a User07 escribiremos:
mail User07
Subject: Cita
Te recuerdo que tenemos una cita
.
Se nos pide el asunto y a continuacin escribimos el texto, finalmente al principio de una nueva
lnea ponemos un punto (.) y pulsamos return.
Cuando User07 se conecte al sistema, ste le avisar de que tiene un correo:
-c Usuario(s)
-b usuario(s)
enteran).
En cualquiera de los dos formatos en lugar de poner un ususario podemos colocar una lista de
destinatarios.
Si queremos enviar un mensaje a un usuario de otra mquina escribiremos:
$ mail usuario@nombre_maquina
Comandos Bsicos
53
z+ z-
n_mensaje
Visualiza el mensaje.
Intro
pre n_mensaje
leidos.
s n_mensaje fichero
w n_mensaje fichero
Configuracin.
mail posee un fichero de configuracin llamado .mailrc, que es utilizado por mail cada vez que
Comandos Bsicos
54
Comandos Bsicos
55
Particionado
Particin
Una particin de disco, es el nombre genrico que recibe cada divisin de una unidad fsica
de almacenamiento de datos. Toda particin tiene su propio sistema de ficheros (formato);
generalmente, casi cualquier sistema operativo interpreta, utiliza y manipula cada particin
como un disco fsico independiente, a pesar de que dichas particiones estn en un solo disco
fsico.
Fsicamente una particin se corresponde con un conjunto de cilindros contiguos.
Size
+00h
446 byte
Cdigo ejecutable
2 bytes
Este diseo permite que la BIOS arranque el cdigo mquina contenido all y este inicie el
sistema operativo segn las especificaciones de su programa. Muchos virus aprovechan este
funcionamiento de arranque estndar para arrancarse antes que el sistema operativo.
Particin primaria: Son las divisiones crudas o primarias del disco, solo puede haber
un mximo de 4, o 3 primarias y una extendida. Un disco fsico completamente
formateado consiste, en realidad, de una particin primaria que ocupa todo el espacio
del disco y posee un sistema de archivos. A este tipo de particiones, prcticamente
cualquier sistema operativo puede detectarlas y asignarles una unidad, siempre y
cuando el sistema operativo reconozca su formato (sistema de archivos).
Particin extendida: Tambin conocida como particin secundaria es otro tipo de
particin que acta como una particin primaria; sirve para contener infinidad de
unidades lgicas en su interior. Fue ideada para romper la limitacin de 4 particiones
primarias en un solo disco fsico. Solo puede existir una particin de este tipo por
disco, y solo sirve para contener particiones lgicas. Por lo tanto, es el nico tipo de
particin que no soporta un sistema de archivos directamente.
Particin lgica: Ocupa una porcin de la particin extendida o la totalidad de la
misma, la cual se ha formateado con un tipo especfico de sistema de archivos
(FAT32, NTFS, ext4,...) y se le ha asignado una unidad, as el sistema operativo
reconoce las particiones lgicas o su sistema de archivos. Puede haber un mximo de
23 particiones lgicas en una particin extendida. Linux impone un mximo de 15,
incluyendo las 4 primarias, en discos SCSI y en discos IDE 63.
Dos Letras Iniciales - las primeras dos letras del nombre de la particin indican el
tipo de dispositivo donde reside la particin. Normalmente sern hd (para discos IDE)
o sd (para discos SCSI o SATA).
Tercera Letra - esta letra indica que dispositivo contiene la particin. Por ejemplo
/dev/hda (el primer disco duro IDE) o /dev/sdb (segundo disco SCSI).
Nmero - indica la particin. Las primeras cuatro (primarias o extendida) particiones
son numeradas de 1 a 4. Particiones lgicas empiezan en 5. Por ejemplo /dev/hda3 es
la tercera primaria o extendida en el primer disco IDE; /dev/sdb6 es la segunda
particin lgica del segundo disco duro SATA.
Disqueteras
o Primera disquetera: /dev/fd0 (en Windows sera la disquetera A:)
o Segunda disquetera: /dev/fd1
Discos IDE (en general: /dev/hdx#, donde x es el disco y # es la particin)
o Primer disco duro: (todo el disco) /dev/hda
Particiones primarias
Primera particin primaria: /dev/hda1
Segunda particin primaria: /dev/hda2
Tercera particin primaria: /dev/hda3
Cuarta particin primaria: /dev/hda4
Particiones lgicas
Primera particin lgica: /dev/hda5, las siguientes correlativas
o Segundo disco duro: (todo el disco) /dev/hdb
Discos SCSI o SATA
o Primer disco: /dev/sda
o Segundo disco: /dev/sdb
Y la misma numeracin para las particiones.
Primer CD-ROM SCSI: /dev/scd0, tambin conocido como /dev/sr0
Servidor ssh
Secure SHell, (cuya traduccin sera intrprete de comandos seguro) es un protocolo de
comunicacin para controlar un ordenador en remoto a travs de una CLI (Command Line Interface Interfaz de Lnea de Comandos- tambin llamada: "shell"). Sirve para conectarnos con un ordenador
ante el cual no estamos fsicamente, bien porque est en una sala de servidores refrigerada, bien
porque no tiene teclado ni pantalla, por ejemplo los que estn apilados en un rack (un armario donde
se guardan ordenadores como los servidores web, de correo electrnico, firewalls, etc...).
OpenSSH es una versin libre del protocolo Secure Shell (SSH), es una familia de herramientas para
control remoto o transferencia de archivos entre equipos. Las herramientas utilizadas tradicionalmente
para realizar estas funciones, eran telnet o rcp, que son inseguras y transmiten la contrasea de los
usuarios en texto plano cuando son usadas. OpenSSH proporciona un demonio y unos clientes para
facilitar un control remoto seguro y encriptado.
Instalacin
La instalacin de cliente y servidor OpenSSH es simple. Para instalar las aplicaciones cliente de
OpenSSH en tu sistema Linux, usa el siguiente comando:
sudo apt-get install openssh-client
Para instalar la aplicacin servidor de OpenSSH, y los archivos de soporte relacionados:
sudo apt-get install openssh-server
Configuracin
Puedes configurar el comportamiento predeterminado del servidor OpenSSH, sshd,
editando el archivo /etc/ssh/sshd_config. Para ms informacin: man sshd_config.
Debes hacer una copia del archivo original y protegerlo contra escritura; as tendrs la
configuracin original como referencia y podrs volver a usarla si es necesario.
Ejemplos de direct ivas de configuracin que se pueden cambiar editando el archivo
/etc/ssh/ssh_config:
Para hacer que OpenSSH escuche por el puerto TCP 2222 en lugar del puerto TCP 22
por defecto, cambia la direct iva Port como sigue:
Port 2222
Para hacer que sshd permita credenciales de inicio de sesin basados en clave
pblica, simplemente aade o modifica la lnea:
Openssh
PubkeyAuthentication yes
Para hacer que el servidor OpenSSH muestre el contenido del archivo /etc/issue.net
como banner antes del login, simplemente aade o modifica la lnea:
Banner /etc/issue.net
/etc/init.d/ssh
restart
Reiniciar el servicio.
Openssh
que nos hayamos conectado, utilizando los recursos del host remoto (CPU, memoria, disco, etc.). Esta
arquitectura puede utilizarse, por ejemplo, para tener un servidor ms potente y varios clientes que
ejecutan aplicaciones en dicha mquina.
Openssh
Openssh
Grupo:x:GID:Lista de usuarios
GID: identificador del grupo, internamente el sistema identifica al grupo por este nmero.
Lista de usuarios: los usuarios que pertenecen al grupo, separados por comas ,
Por ejemplo:
sif:x:519:pilar,alvaro,juan,luis,user01,user02,user03
/etc/gshadow, contiene la informacin de seguridad de los grupos (grupo, contrasea, y tambin los
miembros). Su funcionalidad es la misma que /etc/shadow para los usuarios, esto es, aadir una seguridad
extra a las contraseas. Su estructura es:
Usuarios y Grupos
Administracin Linux
Tipos de grupos
Secundarios: los otros grupos a los que pertenece, que aparen en /etc/group
Comandos
Nuevo grupo:
groupadd grupo
Tambin podemos dar de alta un grupo editando directamente el fichero /etc/group.
Eliminar un grupo:
groupdel grupo
Tambin lo podemos eliminar directamente en el fichero /etc/group, con cuidado de mantener la integridad
con los ficheros de usuarios.
newgrp grupo
Usuarios y Grupos
Administracin Linux
Lanza un shell donde el usuario trabaja con los permisos del grupo indicado, y los ficheros o directorios que
cree pertenecern a este grupo.
gpasswd grupo
Si un grupo tiene contrasea, un usuario que la conozca podr trabajar con ese grupo, a pesar de no
pertenecer l. Al ejecutar la orden newgrp grupo introducir la contrasea y pasar a ser su grupo activo.
gpasswd r grupo
groups usuario
id usuario
grpck
grconv
Se usa la orden pwconv para los ficheros de usuarios.
Grupos predeterminados
o
root, sys
bin, daemon, adm, lp, disk, mail, ftp, nobody, tty, etc.
Kmem: Grupo propietario de los programas para leer la memoria del kernel
users
Prctica de grupos:
Usuarios y Grupos
Administracin Linux
Los usuarios
Las cuentas de usuario ofrecen:
o
/etc/passwd
Este 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
Con el siguiente significado:
Usuarios y Grupos
Administracin Linux
/etc/shadow
Almacena informacin sobre la contrasea de cada usuario. No es obligatorio, por lo que no existe en
algunas versiones. Sus campos, tambin separados por : son los siguientes:
Contrasea cifrada.
N de das a partir del 1/1/1970, pasados los cuales su nombre no podr ser utilizado.
No usado.
Creacin de usuarios
Esta labor es exclusiva del administrador. Dependiendo de las versiones, contamos con las rdenes:
o
adduser
mediante parmetros.
o
useradd
[-opciones] login
Crea su directorio y en el copia los ficheros existentes en /etc/skel, que deber de contener los
ficheros de configuracin.
-G IDGrupo(s)
Usuarios y Grupos
Administracin Linux
-d directorio
-m
-M
-s shell
-c informacin
-k directorio
-e fecha_exp.
-f nDas
Tiempo inactivo dado en das, que tiene que transcurrir para que caduque la
-U
-N
-p passwd
En el fichero /etc/default/useradd, podemos definir valores por defecto para la creacin de nuevos usuarios.
Si no lo hacemos en el momento de la creacin del usuario, posteriormente deberemos crear su directorio y
asignarle un passwd.
Ejemplo:
El usuario no se puede conectar hasta que no se le defina una contrasea. El administrador crear una
contrasea para cada usuario con el comando:
# passwd nombre_usuario
Cuando se omite el nombre_usuario, nos cambiamos la contrasea a nosotros mismos.
Usuarios y Grupos
Administracin Linux
Plantillas de ususarios
/etc/skel
Crear una plantilla nos permite, a partir de ella, aadir nuevos usuarios con unas determinadas
configuraciones en cuanto a aspecto del escritorio y entorno por defecto de archivos y carpetas, as como
valores en variables de entorno.
El directorio /etc/skel contiene ficheros y directorios que son automticamente copiados al directorio home
del usuario, cuando un nuevo usuario es creado utilizando el programa de lnea de comando useradd o bien
desde el entorno grfico (Sistema->Administracin->Usuarios y grupos).
Un directorio home, tambin denominado directorio de login, es un directorio en los sistemas operativos
Linux/Unix, que sirve como repositorio o almacn para los ficheros personales del usuario, directorios y
programas, incluyendo los ficheros de configuracin personales. Tambin es el directorio donde el sistema
nos ubica despus de loguearnos ante el sistema.
Si queremos estar seguros que todos los usuarios de nuestro sistema tengan la misma configuracin inicial,
los cambios los deberemos realizar en /etc/skel
Procedimiento:
cp r /etc/skel /etc/skel.original
Los ficheros de configuracin, como .profile, los modificamos directamente en /etc/skel, para
modificar variables de entorno como PATH o incluir rdenes como umark.
Slo nos queda copiar, al directorio /etc/skel, las carpetas del directorio personal del usuario
plantilla, donde se encuentra la configuracin del escritorio y del gestor de ventanas gnome.
cd /etc/skel
sudo cp rf /home/plantilla/Escritorio .
sudo cp rf /home/plantilla/.gconf .
sudo cp rf /home/plantilla/.gnome2 .
sudo cp rf /home/plantilla/.gnome2_private .
Una vez copiadas al directorio /etc/skel, sern copiadas al directorio home de los usuarios cada vez que
creemos uno nuevo, quedando configurado el aspecto del escritorio, su mscara y su PATH, a partir de la
plantilla almacenada en /etc/skel.
Usuarios y Grupos
Administracin Linux
.bash_profile
.profile
.login
en C Shell (csh)
Cada vez que se ejecuta un shell (alias, var. del propio shell, etc.)
.bashrc
.cshrc
en C Shell (csh)
.logout
en C Shell (csh)
Password o contraseas
El administrador puede cambiar la contrasea de cualquier usuario, y cada usuario se la puede cambiar a si
mismo.
passwd [nombre_usuario]
A la hora de elegir una buena contrasea:
No utilizar:
Tu nombre o parte de l, o de alguien cercano a ti.
Nmeros significativos para ti o alguien cercano a ti.
Algn nombre, nmero, lugar, gente, etc., asociado a tu trabajo.
Palabra que este en un diccionario (espaol, ingls, etc.)
Nombre de gente famosa, lugares, pelculas, relacionadas con publicidad, etc.
Consejos:
Introducir 2 o ms caracteres extras, smbolos especiales o de control.
Escribir mal las palabras.
Utilizar maysculas y minsculas, pero no de forma evidente.
Utilizar algunos dgitos.
Concatenar, embeber o mezclar 2 o ms palabras, o partes de palabras.
Usar caracteres poco comunes, como por ejemplo $, &, # ,
La contrasea se debe cambiar cuando:
Se sospecha que alguien la ha podido conocer o averiguar.
Un usuario se marcha del trabajo, cambiar todas las que conozca.
Un administrador del sistema se va, cambiar TODAS.
Se sospecha que alguien ha conseguido el fichero con las contraseas (tanto /etc/passwd como
/etc/shadow)
Un intruso ha conseguido entrar en el sistema.
Peridicamente, se debe forzar a que los usuarios cambien sus contraseas, incluido el
administrador.
Usuarios y Grupos
Administracin Linux
Prctica:
Bajas de usuarios
Distintos niveles:
- Dar de baja slo la posibilidad de conectarse. Colocando un * en el 2 campo de /etc/passwd. til para
usuarios temporalmente ausentes.
- Dar de baja en el fichero de contraseas, pero dejando todos sus ficheros y directorios. Editando y
borrando la lnea correspondiente o con el comando:
userdel NombreUsuario
- Dar de baja al usuario y eliminar todos sus ficheros.
userdel -r NombreUsuario
Usuarios y Grupos
Administracin Linux
-L
Bloquea al usuario.
-U
Desbloquea al usuario.
Volver a crear el usuario (con otro nombre), para que pueda acceder a sus
ficheros.
Dar de alta un nuevo usuario sin usar los comandos de gestin de usuarios.
Ponerle password y probarlo.
Usuarios estndar
o
bin, daemon, lp, sync, shutdown, etc.: usados para poseer ficheros o ejecutar servicios
postgres, mysql, xfs: Creados por herramientas instaladas para administrar y ejecutar sus servicios
Usuarios y Grupos
Administracin Linux
10
SUDOERS
Introduccin:
Por cuestiones de seguridad, ubuntu intenta evitar el uso indiscriminado del usuario root, que es el
usuario administrador o superusuario. Este usuario tiene identificacin cero (UID = 0).
root, tiene permiso para hacer cualquier cosa: borrar, modificar, ejecutar o crear cualquier objeto o
fichero.
En Ubuntu el usuario root, viene sin clave de acceso preestablecida. Como lo podemos ver en el
fichero /etc/shadow:
root:!:14301:0:99999:7:::
daemon:*:14301:0:99999:7:::
bin:*:14301:0:99999:7:::
sys:*:14301:0:99999:7:::
En el caso de root aparece un signo de exclamacin (!), esto quiere decir que el usuario root no tiene
clave establecida.
De esta forma no nos podemos conectar al sistema directamente como root, con lo que de alguna
forma queda limitado su uso indiscriminado, es decir, que se use tanto para tareas administrativas
como para las que no lo son.
Otra medida para proteger el uso de root, en caso de haber instalado el servidor ssh (secure shell), es
evitar las conexiones remotas a travs del usuario root. Para esto editamos su fichero de
configuracin en el servidor ssh, /etc/ssh/sshd_config, en una de sus lneas especifica que se
permita hacer login al usuario root o no:
# Authentication:
LoginGraceTime 120
PermitRootLogin no
Esta es la lnea que impide que el usuario root pueda acceder va ssh.
Sudo
Administracin Linux
Sudo
Administracin Linux
sudo
sudo (SUperuser DO) lo ejecuta un usuario normal, al que se le concede permiso para ejecutar ciertos
comandos, que en principio no le son propios. sudo requiere que el usuario se autentifique a si
mismos a travs de su contrasea para permitirle la ejecucin del comando. Veamos un ejemplo:
$ sudo visudo
[sudo] Password for user07:
...
Por defecto, despus de hacer lo anterior, durante 5 minutos puedes volver a usar el mismo comando
u otros a los que tengas derecho, sin necesidad de escribir la contrasea de nuevo. Para extender el
tiempo por otros 5 minutos usa:
sudo v
(validate).
Por el contrario, si ya terminaste lo que tenas que hacer, para finalizar con el tiempo de gracia de
validacin puedes usar:
sudo -k
(kill).
sudo con la opcin l nos muestra los comandos que podemos usar, gracias al fichero sudoers.
$ sudo -l
User sergio may run the following commands on this host:
(root) /sbin/ifconfig
(root) /sbin/lspci
Normalmente sudo interesa para ejecutar comandos de root, pero tambin es posible ejecutar
comandos de otros usuarios del sistema indicando la opcin u, siempre que en el fichero sudoers se
nos haya concedido permiso:
$ sudo -e /etc/shadow
(Permitir modificar el archivo indicado como si fuera root)
Cuando se configuran las reglas de acceso en el fichero sudoers, existen mltiples opciones (defaults),
que se pueden configurar, estas se muestran con la opcin L de sudo.
$ sudo -L
Nos muestra las opciones y una pequea descripcin, ests opciones se establecen en el archivo de
configuracin 'sudoers'.
sudo -V lista las opciones (defaults) establecidas para todos los usuarios, comandos, equipos, etc.
Sudo
Administracin Linux
# sudo -V
visudo
Permite la edicin del fichero de configuracin de sudo, sudoers. Invoca al editor que se tenga por
defecto que generalmente es 'vi' (enlazado con el fichero /usr/bin/editor).
Cuando se ejecuta, bloquea el archivo /etc/sudoers, para que nadie ms lo pueda editar, esto por
razones obvias de seguridad que evitarn que dos o ms usuarios administradores sobreescriban
accidentalmente los cambios que el otro realiz.
Otra caracterstica importante de visudo es que al cerrar el fichero, verifica que est bien configurado,
es decir, detectar si hay errores de sintaxis en sus mltiples opciones o reglas de acceso. Por esta
razn no debe editarse /etc/sudoers directamente (perfectamente posible ya que es un archivo de
texto como cualquier otro), sino siempre usando visudo.
Si al cerrar, visudo detecta un error, nos mostrar la lnea donde est, y pregunta "What now?":
Si tan solo se desea comprobar que /etc/sudoers est bien configurado se usa la opcin -c.
# visudo -c
/etc/sudoers file parsed OK
La opcin -s activa el modo 'estricto' del uso de visudo, al grabar, no solo se comprobar los errores
sintcticos, sino tambin el orden correcto de las reglas, por ejemplo, si se define el alias para un
grupo de comandos y este se usa antes de su definicin.
8.
Haz una copia del fichero sudoers a sudoers.original.
9.
Comprueba que est bien configurado (opcin c)
10. Entra a editarlo con la opcin s, proboca un error (borra un igual) y
trata de grabarlo.
11. Corrge el error y vuelve a grabarlo.
Sudo
Administracin Linux
Sudoers
En este archivo se establece quin (usuarios) puede ejecutar qu (comandos) y cmo (opciones),
generando efectivamente una lista de control de acceso que puede ser tan detallada como se desee.
Es ms fcil entender sudo si dividimos en tres partes su posible configuracin:
o
Alias
Opciones (Defaults)
Reglas de acceso
Ninguna de las secciones es obligatoria, ni tienen que estar en algn orden especfico, pero la que al
menos debe de existir es la tercera.
Alias
Un alias se refiere a usuarios, comandos o equipos. El alias engloba bajo un solo nombre (nombre del
alias) una serie de objetos y despus, en la parte de definicin de reglas, al poner el alias, nos
estamos refiriendo a todos los objetos que contiene.
La forma para crear un alias es la siguiente:
Cmnd_Alias
User_Alias
Runas_Alias
Host_Alias
El NOMBRE_DEL_ALIAS puede llevar letras, nmeros o guin bajo ( _ ) y DEBE de comenzar con una
letra mayscula, se acostumbra a usarlos siempre en maysculas.
Cmnd_Alias
Engloba a uno o ms comandos y otros alias de comandos. Ejemplos:
Cmnd_Alias WEB = /usr/sbin/apachectl, /usr/sbin/httpd, sudoedit /etc/httpd/*
A quien se le aplique el alias WEB podr ejecutar los comandos apachectl, httpd y editar todo lo que
este debajo del directorio /etc/httpd/.
Notas: Hay que indicar la ruta de los comandos. Cuando nos referimos a directorios, la trayectoria
deber de terminar con '/'.
Sudo
Administracin Linux
OTA: este tipo de alias con un permiso muy amplio menos '!' algo, generalmente no son una
buena idea, ya que comandos nuevos que se aadan despus a ese directorio tambin podrn ser
ejecutados, es mejor siempre definir especficamente lo que se requiera.
12. Crea un alias de comando llamado ALTAS, que incluya las principales
rdenes de gestin de usuarios y grupos.
13. Define otro alias llamado ALTASEDIT, que contenga al anterior, ms el
comando sudoedit.
14. Declara un alias llamado DIRECTORIOS, que nos permita editar en las
carpetas:
/home/comunjefes,
/home/comercial/trabajo
y
/home/almacen/trabajo.
User_Alias
Definen a uno o ms usuarios por su nombre o su UID (precedido de #), grupos del sistema
(precedidos con %), grupos de red (netgroups precedidos con +) u otros alias de usuarios. Ejemplos:
Sudo
Administracin Linux
Runas_Alias
Funciona exactamente igual que User_Alias.
Define los usuarios como quien vamos a ejecutar los comandos.
15. Crea un alias para los empleados de cada departamento (sin los jefes),
con el nombre del departamento.
16. En otro alias llamado EMPLEADOS une incluye todos los empleados de
todos los departamentos (sin los jefes)
17. Define un alias que incluya los jefes de departamento y al usuario
director, llamarlo JEFES
Host_Alias
Definen uno o ms equipos u otros alias de host. Los equipos pueden indicarse por:
Direccin IP.
Podemos aadir equipos en /etc/hosts, escribiendo en una lnea la IPv4 del equipo y separado por un
espacio o tabulador el nombre del equipo. El nombre del equipo se define en /etc/hostname
Ejemplos:
Sudo
Administracin Linux
Se define dos alias en la misma lnea: WEBSERVERS y DBSERVERS con sus respectivas listas de
elementos.
Nota: El separador ':' es vlido en cualquier definicin de tipo de alias.
Opciones (D
(Defaults)
Las opciones o defaults permiten definir ciertas caractersticas de comportamiento para los alias
previamente creados, usuarios, equipos o de manera global para todos.
No es necesario definir opciones o defaults, sudo ya tiene establecido el valor de cada uno, y es
posible conocerlas a travs de sudo -V.
Sin embargo, la potencia de sudo est en su alta granularidad de configuracin, as que es importante
conocer al menos como se emplean.
Se usa la palabra reservada 'Defaults' para establecer las opciones y dependiendo del nivel al que va a
afectar su sintaxis es la siguiente:
Nivel
Formato
Por usuario
La lista de opciones es extensa, pueden consultarse en las pginas del manual (man sudoers).
Los defaults los divide el manual en cuatro tipos: flags o booleanos, enteros, cadenas y listas. Veamos
algunos ejemplos de uso para cada uno de ellos:
flags o booleanos
Generalmente se usan de manera global, simplemente se indica la opcin y esta se activa, para
desactivarla se le antepone el smbolo '!' a la opcin. Es necesario consultar el manual para saber el
Sudo
Administracin Linux
Defaults mail_always
Establece a 'on' la opcin 'mail_always', que enviar un correo avisando cada vez que un usuario
utiliza sudo, esta opcin requiere que 'mailto_user' este establecida.
Defaults log_year
Anota el ao en el fichero log o bitcora de sudo.
Defaults:ana !authenticate
Aqu se aprecia algo ms lgico, usamos opciones por usuario en vez de global, indicando que el
usuario 'ana' no requerir autnticarse. Pero todos los dems s.
Defaults insults
Cuando no escribimos bien la contrasea que requiere sudo, nos trata de intimidar.
Enteros
Manejan valores de nmeros enteros en sus opciones, deben usarse como opcin = valor.
Sudo
Administracin Linux
Defaults loglinelen=0
Para que no limite el tamao de la lnea en el fichero log.
La mayora de las opciones numricas, al establecerlas con un valor igual a cero quedan sin lmite.
Cadenas
Son valores de opciones que indican mensajes, rutas de archivos, etc. Si hubiera espacios en el valor
es necesario encerrar el valor entre comillas dobles (" ").
Defaults logfile="/var/log/sudo.log"
Define el fichero donde se almacena el histrico de usos del comando sudo.
Listas
Permite establecer/eliminar variables de entorno propias de sudo. Para entender como se aplican es
ms fcil si primero ejecutas como 'root' el comando sudo -V, y al final del listado encontrars en
maysculas las posibles variables de entorno que se pueden establecer o quitar y que vienen del shell.
Solo existen tres Defaults de listas:
env_check
env_delete
env_keep
Las listas pueden ser remplazadas con '=', aadirle variables con '+=', eliminarle variables con '-=' o
deshabilitarlas con '!'. Con un par de ejemplos quedar ms claro.
Sudo
Administracin Linux
10
Defaults env_reset
Defaults env_check += DISPLAY
La primera opcin 'env_reset' reinicializa las variables de entorno que sudo utilizar o tendr
disponibles, y solo quedan disponibles LOGNAME, SHELL, USER y USERNAME.
La siguiente lnea indica que agregue (+=) a lo anterior, tambin la variable de entorno DISPLAY a su
valor establecido antes del reset.
19. Definir las Defaults, para crear el fichero log de sudo, de forma que
tambin registre el ao y el host.
Reglas de acceso
El archivo /etc/sudoers no tendra ninguna razn de ser si no se crean reglas de acceso. De hecho
podramos solamente centrarnos en crear reglas de acceso, sin opciones ni alias.
Las reglas de acceso definen qu usuarios ejecutan qu comandos bajo qu usuario y en qu equipos.
Sintaxis bsica:
host
Puede ser ALL cualquier equipo, un solo equipo, un alias de equipo, una direccin IP o
una direccin de red/mscara.
comandox
Sudo
Administracin Linux
11
Los usuarios que pertenezcan al grupo del sistema llamado 'gerentes', pueden en el equipo llamado
'dbserver', ejecutar como si fueran el usuario 'director', la aplicacin llamada 'facturacion'.
Adems como usuarios 'root', pueden acceder al contendido de los archivos del directorio /var/log.
El ejemplo anterior introduce algo nuevo, en la lista de comandos es posible indicar bajo que usuario
se debe ejecutar el permiso. Por defecto es el usuario 'root', pero no siempre tiene por que ser as.
Adems la lista 'hereda' la primera definicin de usuario que se indica entre parntesis ( ), por eso si
se tiene ms de uno hay que cambiar de usuario en el comando conveniente, el ejemplo anterior
tambin sera vlido de la siguiente forma:
%gerentes dbserver = sudoedit /var/log/*, (director) /usr/facturacion
No es necesario indicar (root), ya que es el usuario bajo el cual se ejecutan los comandos por defecto.
Tambin es vlido usar (ALL) para indicar bajo cualquier usuario.
Sudo
Administracin Linux
12
Cuando se indica el comando sin argumentos: /sbin/iptables, sudo lo interpreta como 'puede usar
iptables con cualquiera de sus argumentos'.
En el programa de salida:
echo `date +%Y%t%m%t%d%t%H%t%M%t%S%t``logname` >> /home/director/bin/salidas.log
Sudo
Administracin Linux
13
NOPASSWD Y PASSWD
Por defecto sudo requiere que cualquier usuario se autentifique con su contrasea. Aprendimos en la
seccin de 'Opciones' o 'Defaults' que es posible indicar que un usuario o alias de usuario no requiera
de autentificacin. Pero el control granular propio de sudo, permite ir an ms lejos al indicar a nivel
de comandos, cules requieren contrasea para su uso y cules no.
lux webserver = NOPASSWD: /bin/kill, /usr/bin/lprm, vi /etc/httpd/conf/*
El usuario 'lux' en el equipo 'webserver' no requerir contrasea para los comandos listados. El tag se
hereda, para los siguientes comandos, mientras no se indique el tag contrario.
Suponiendo que para el ltimo '/etc/httpd/conf/', que permite modificar cualquier archivo contenido en
el directorio, si deseamos que use contrasea, lo escribiremos como sigue:
lux webserver = NOPASSWD: /bin/kill, /usr/bin/lprm, PASSWD: vi /etc/httpd/conf/*
NOEXEC Y EXEC
Este es un tag muy importante a considerar cuando se otorgan permisos sobre programas que
permiten escapes a shell (shell escape), como en el editor 'vi' que mediante el uso de '!' es posible
ejecutar un comando en el shell sin salir de 'vi'. Con el tag NOEXEC se logra que esto no suceda. Al
igual que los tags anteriores, el tag se hereda y se deshabilita con su tag contrario.
SETENV Y NOSETENV
Una de las mltiples opciones que pueden establecerse en la seccin 'Defaults' u 'opciones', es la
opcin booleana o de flag 'setenv', que por defecto y para todos los usuarios esta establecida en 'off'.
Esta opcin si se activa por usuario (Defaults:sergio setenv) permitir al usuario indicado cambiar el
entorno de variables del usuario del cual tiene permisos para ejecutar comandos, y como
generalmente este es 'root', resulta bastante peligroso.
Sudo
Administracin Linux
14
A nivel de lista de comandos, es posible especificar el tag 'SETENV' a un solo comando o a una
pequea lista de estos y solo cuando se ejecuten estos se podrn alterar las variables de entorno. Es
decir, en vez de establecerlo por usuario, sera ms conveniente establecerlo por comando.
Sudo
Administracin Linux
tenga
15
que
Sudo
Administracin Linux
16
Se concede permiso para copiar, distribuir y/o modificar este documento siempre y cuando se cite al autor y la fuente de linuxtotal.com.mx
y segn los trminos de la G&U Free Documentation License, Versin 1.2 o cualquiera posterior publicada por la Free Software
Foundation.
autor: [email protected]
Adaptacin: Luis Quesada
Sudo
Administracin Linux
17
EXT2: Es el sistema de ficheros nativo de Linux. Est diseado para ser compatible con
versiones anteriores.
EXT4: Mejora ext3, permitiendo sistemas de ficheros de gran tamao, es capaz de trabajar
con volmenes de hasta 1 exabyte y ficheros de tamao de hasta 16 TB.
VFAT: Este tipo permite utilizar sistemas de ficheros de Windows (FAT, FAT32), y
actualmente est soportado el sistema de ficheros de Windows NT, pero slo fiable en modo
lectura.
NFS: Sistema de ficheros en red, que permite compartir sistemas de ficheros entre
diferentes mquinas conectadas en red y tratarlos de forma local.
Existe tambin un sistema de ficheros especial denominado proc, y que es accesible a travs del
directorio /proc, el cual no es realmente un sistema de ficheros. El sistema de ficheros /proc permite
acceder fcilmente a ciertas estructuras de datos del kernel, como es la lista de procesos.
Convierte estas estructuras de datos en algo parecido a un sistema de ficheros y por tanto da la
posibilidad de manipularlas con las herramientas habituales de manipulacin de ficheros. Hay que
tener en cuenta que aunque se le denomine sistema de ficheros, ninguna parte del sistema de
ficheros /proc toca el disco. Existe nicamente en la imaginacin del kernel.
Linux
Si aadimos un nuevo disco al sistema ya instalado, deberemos crear las particiones y los sistemas
de ficheros, esta operacin implica los siguientes pasos:
1. Creacin de particiones (comando fdisk)
2. Creacin de los sistemas de ficheros (comando mkfs)
3. Montado de los sistemas de ficheros (comando mount)
Creacin de particiones
El comando, en modo texto, para crear particiones es fdisk. Formato:
# fdisk /dev/sda
Orden (m para obtener ayuda): m
Orden Accin
a
Conmuta el indicador de iniciable (particin activa)
b
Modifica la etiqueta de disco bsd
c
Conmuta el indicador de compatibilidad con DOS
d
Suprime una particin
l
Lista los tipos de particiones conocidos
m
Imprime este men
n
Aade una nueva particin
o
Crea una nueva tabla de particiones DOS vaca
p
Imprime la tabla de particiones
q
Sale sin guardar los cambios
s
Crea una nueva etiqueta de disco Sun
t
Cambia el identificador de sistema de una particin (tipo de particin)
u
Cambia las unidades de visualizacin/entrada
v
Verifica la tabla de particiones
w
Escribe la tabla en el disco y sale
x
Funciones adicionales (slo para usuarios avanzados)
cfdisk
parted
gparted
Linux
Partition Magic Programa comercial de la compaa Symantec que puede manejar diversos
filesystems.
1.
2.
3.
4.
.
tipo
Dispositivo
Puede ser el nombre del dispositivo sobre la cual queremos crear el sistema de
ficheros (como por ejemplo /dev/hda1 o /dev/sdb2) o el punto de montaje (como /,
/usr o /home). En el caso de indicar el punto de montaje, la orden mkfs intentar
encontrar el dispositivo en el que crear el sistema de ficheros, en la entrada del fichero
/etc/fstab, donde encuentre el punto de montaje.
Ejemplos:
Linux
Montaje,
Montaje, desmontaje y el fichero /etc/fstab.
Para poder usar un sistema de ficheros tiene que estar montado. El concepto de montaje tiene que
ver con que en Unix/Linux todos los elementos son ficheros. Para ello, cada nuevo sistema de
ficheros se enlaza mediante la operacin de montaje con otra estructura de directorios de la que
cuelga.
El sistema de ficheros inicial se denomina el sistema de ficheros raz y posee el smbolo /. Este
sistema de ficheros se monta al arrancar el equipo y ocupa el lugar ms alto.
Por ejemplo, supongamos que en tres particiones de nuestro disco (o discos diferentes) hemos
creado tres sistemas de ficheros. Cada uno de ellos visto de forma independiente posee una raz.
Supongamos que son /dev/sda1, /dev/sda2 y /dev/sda3.
Cuando montamos un sistema de ficheros, indicamos un directorio del sistema de ficheros padre,
del cual va a colgar la estructura de directorios del sistema de ficheros hijo. Mediante las rdenes
de montaje siguientes:
El fichero /etc/fstab
El fichero /etc/fstab contiene informacin descriptiva sobre los distintos sistemas de ficheros del
sistema. Este fichero es de slo lectura y debe ser mantenido por el administrador del sistema.
Cada sistema de ficheros se describe en una lnea de este fichero, y los campos de cada lnea estn
separados por tabuladores o espacios. El orden de los registros es importante ya que fsck, mount y
umount actan secuencialmente sobre este fichero.
/etc/fstab y UUID
Normalmente se especifica en el archivo fstab nombres de los dispositivos, como /dev/sdb1, tal
como en el siguiente ejemplo:
/dev/sdb1
/media/storage
ntfs
Linux
defaults
Si queramos que un dispositivo se monte en una ubicacin concreta siempre, tenemos el problema
que el nombre del dispositivo /dev/sdb1, del ejemplo anterior, podra cambiar por ejemplo si se
tratara de un dispositivo USB, o de si las Pleyades estn alineadas o si es Luna llena.
En este caso podemos utilizar el UUID (Universally Unique Identifier), el cual identifica a cada
sistema de ficheros y hace que el nombre del dispositivo sea irrelevante al momento de montarse.
Un par de formas de obtener el UUID:
# ls -l /dev/disk/by-uuid/
total 0
lrwxrwxrwx
lrwxrwxrwx
lrwxrwxrwx
lrwxrwxrwx
lrwxrwxrwx
lrwxrwxrwx
1
1
1
1
1
1
root
root
root
root
root
root
root
root
root
root
root
root
10
10
10
10
10
10
May
May
May
May
May
May
5
5
5
5
5
5
02:38
02:38
02:38
02:38
02:38
02:38
# blkid
/dev/sda1:
/dev/sda2:
/dev/sda3:
/dev/sda5:
/dev/sdb1:
/dev/sdb2:
UUID=9E88682C886804DD
/media/storage
ntfs
defaults
0 1
device
tipo
opciones
auto
noauto
user
nouser
ro
Linux
rw
Read-Write, monta la particin para que sea posible leer y escribir en ella.
sw
exec
noexec
async
secuencia Es el sexto campo (fsckorder) y es usado por fsck para determinar el orden en
que se realizan los chequeos de los sistemas de ficheros en tiempo de
arranque. El sistema de ficheros raz debera ser especificado con un 1, y los
dems sistemas de ficheros deberan tener 2. Los sistemas de ficheros en un
mismo disco deberan chequearse secuencialmente, pero los sistemas de
ficheros en diferentes discos deberan de chequearse al mismo tiempo, para
utilizar el paralelismo disponible en el hardware. Si el sexto campo no est
presente o es cero, fsck asume que el sistema de ficheros no necesita ser
chequeado.
<device>
/dev/hdc1
/dev/hdc6
/dev/fd0
/dev/cdrom
/dev/hda1
none
<directorio>
/
swap
/mnt/floppy
/mnt/cdrom
/mnt/windows
/proc
<Tipo>
ext2
swap
ext2
iso9660
vfat
proc
<Opciones>
defaults
sw
noauto,user
noauto,ro,user
noauto
defaults
<dump>
1
0
0
0
<fsckorder>
1
0
0
0
El sistema de ficheros proc se usa para almacenar informacin sobre los procesos del sistema,
memoria disponible y otros datos de la misma ndole. No est relacionado con ninguna particin o
disco, sino que permanece en memoria.
10. Aadir la particin lgica del HD que hemos creado al fichero fstab, de
forma que se monte y desmonte automticamente, para lectura y escritura,
y que los usuarios puedan ejecutar los comandos que contenga.
Linux
El comando mount
El comando mount nos permite montar los sistemas de ficheros y anclarlos a puntos de montaje
(directorios). A partir de este momento podremos acceder a ellos. La sintaxis ms usual es:
-t tipo
dispositivo
directorio
mount /mnt/cdrom
Sin embargo, si lo que queremos es montar un disquete formateado bajo Windows tendremos que
escribir:
mount /mnt/floppy
El sistema mantiene una lista de los sistemas de ficheros montados actualmente, en el fichero
/etc/mtab. Si se utiliza el comando mount sin argumentos:
mount
Nos muestra la lista de sistemas de ficheros montados.
11.
12.
13.
14.
El comando umount
La sintaxis ms usual es:
umount /mnt/cdrom
Si tenemos una unidad de CD montada no podremos extraer el CD hasta que no lo desmontemos. Si
estamos trabajando con una unidad de disquete o pen es fundamental desmontarla antes de extraer
el disco
Linux
-t
Para desmontar un sistema de ficheros debemos de estar situados fuera de l, y ningn proceso del
sistema debe estar utilizando el sistema de ficheros que deseemos desmontar, en caso contrario nos
dira que est ocupado.
La solucin ser matar al proceso o procesos que estn utilizando el sistema de ficheros que
deseamos desmontar o esperar a que acaben por las buenas.
Para saber qu procesos estn utilizando un sistema de ficheros podemos utilizar la orden fuser. Por
ejemplo, si en /mnt/win tenemos montada nuestra particin con el sistema de ficheros vfat y no nos
deja desmontarla, podemos ver de qu procesos se trata con:
/sbin/fuser -a /mnt/win
15. Intentar desmontar el SF del pen, mientras se est editando uno de sus
ficheros.
16. Hacer lo necesario para desmontarlo.
17. Tratar de acceder a l una vez desmontado.
18. Ver los sistemas de ficheros montados.
chroot
chroot cambia el directorio raz al que le indiquemos. Este directorio ser usado como raz para
todas las trayectorias que comiencen por /.
Solamente el superusuario puede cambiar el directorio raz.
Este comando no cambia de directorio activo, por lo que el directorio . puede estar fuera del rbol
enraizado en /.
Este comando es til cuando queremos trabajar (administrar) un linux instalado en un SF distinto al
de arranque.
Previamente a la utilizacin de este comando debemos montar el SF donde se encuentre el SO.
Sintaxis:
Cuando se indica el comando, lo ejecuta, sobre el SO linux cuya raiz est en el directorio indicado.
Si omitimos el comando entramos en un nuevo shell, que actuar sobre el SO montado en el
Linux
dirctorio.
19.
20.
21.
22.
Situaciones:
Contrasea de root o usuario administrador olvidada.
Quin no ha olvidado la contrasea del super usuario? Quin no ha tenido que acceder al
ordenador de un compaero que se fue de la empresa sin dejar las claves y usuarios que utilizaba
en su equipo?
Pasos a seguir:
a.
b.
Montar la particin en la que est instalado Linux en el equipo (comando mount y fdisk para
tratar de localizar la particin que contiene el sistema operativo)
c.
chroot /mnt/disco_linux
Suponiendo que /mnt/disco_linux es el directorio utilizado en el paso 'b' para montar la
particin que contiene Linux.
d.
e.
exit
umount /mnt/disco_linux
# salir de chroot.
# Desmontar la particin.
reboot
# Reiniciar el equipo.
Tomamos nota de los grupos a los que pertenece 'usuario', para averiguarlos:
Linux
group usuario
b.
c.
passwd clon
d.
visudo
Aadir la lnea
Y ya podemos acceder al sistema con el nuevo usuario, con la posibilidad de realizar tareas
administrativas (instalar juegos,)
/sbin/fsck /dev/hda2
Opciones:
-a
Repara los ficheros sin confirmacin por nuestra parte. Los ficheros perdidos que recupere
los podemos encontrar en el subdirectorio /lost+found del dispositivo.
-A
fsck recorre el fichero /etc/fstab y verifica todas las unidadades en funcin del parmetro
fsckorder del fichero /etc/fstab.
Linux
10
Sistema de cuotas
El almacenamiento en disco se puede restringir mediante la implementacin de cuotas de disco. Las
cuotas se pueden configurar para usuarios individuales o para grupos. Este tipo de flexibilidad hace
posible darle a cada usuario una pequea porcin del disco para que maneje sus archivos
personales (tales como correo o informes), mientras que se le permite tener ms espacio para
manejar los proyectos en los que estn trabajando sus grupos.
Adems, se puede configurar las cuotas no slo para que controlen el nmero de bloques de disco,
sino tambin el nmero de inodos, esto permite controlar el nmero de archivos que pueden ser
creados.
El soporte de cuotas de disco ha sido integrado en el kernel Linux desde la versin 1.3.46.
Se necesita utilizar un kernel posterior para poder beneficiarse de las cuotas. El paquete software
necesario que permite gestionar las cuotas es 'quota'. Adems necesitamos tener esa opcin
compilada en el kernel respondiendo afirmativamente a la opcin Quota support. Con esto
conseguiremos limitar el espacio de disco consumido por usuario o por un grupo de usuarios.
Activacin
Activacin de las cuotas
Existen dos tipos de cuotas: las cuotas asociadas a los usuarios y las cuotas asociadas a los grupos
de usuarios. Las primeras definen el nmero mximo de archivos y de bloques de disco asociados a
cada usuario, las segundas definen el nmero mximo de archivos asociados a cada grupo de
usuarios. Los dos tipos de cuotas pueden ser activados separadamente.
Para activar las cuotas para los usuarios es necesario indicar la opcin 'usrquota' para los sistemas
de archivos referidos en /etc/fstab. Las cuotas que conciernen a los grupos son reguladas por la
opcin 'grpquota'. Los archivos de definicin de cuotas se llaman respectivamente 'quota.user' y
'quota.group' estos se encuentran situados en la raz de cada sistema de archivos involucrado.
Es posible modificar los nombres de los archivos de gestin de cuotas utilizando la sintxis siguiente:
usrquota=nombredearchivo
grpquota=nombredearchivo
He aqu un ejemplo del archivo /etc/fstab:
/dev/hda2
/dev/hdb2
/dev/sda1
/
/home
/usr
ext3
ext3
ext3
defaults,rw
defaults,rw,usrquota,grpquota
defaults,rw,usrquota
0
0
0
1
1
1
La activacin de las cuotas es lanzada por la orden 'quotaon'. Para activarlas automticamente a la
inicializacin del sistema, se debe agregar al archivo de inicializacin (/etc/rc.d) las lneas:
quotaon -avug
Para crear los archivos de cuotas (aquota.user y aquota.group) en el sistema de archivos, se usa la
Linux
11
quotacheck -avug
Si las utilidades han sido compiladas con-DEXTc2DIRECT, la orden quotacheck debe ejecutarse
relativamente rpido, en caso contrario puede ser muy lento, pues debe explorar todos los
directorios del disco. Es aconsejable de todas maneras ejecutar quotacheck durante la inicializacin
del sistema antes de la activacin de las cuotas con quotaon.
Cuotas de usuario
La orden 'edquota' es utilizada para asignar una cuota a un usuario o a un grupo de usuarios.
Su sintxis es:
edquota -u usuario
edquota -g grupo.
Esta orden lanza un editor de texto que contiene la definicin de cuotas asignadas al usuario o al
grupo y toma en cuenta el nuevo valor cuando el archivo es reescrito.
Para cada usuario o grupo existen dos limitaciones: el nmero de archivos y el nmero de bloques
disco (expresados en bloques de 1024 octetos). Para cada uno existen dos lmites:
a.
b.
El lmite "duro": cuando este lmite es alcanzado el usuario no puede escribir nuevos
archivos o nuevos bloques.
El lmite "suave" se transforma en lmite "duro" cuando ha sido alcanzado o superado transcurrido
cierto tiempo (7 das por defecto).
Se puede definir una plantilla de usuario al cual se le asignan las cuotas y utilizarla para adjudicar
cuotas a los dems usuarios del sistema.
quota
El superusuario puede obtener las mismas informaciones sobre cualquier usuario o grupo con la
misma orden:
quota -u usuario
quota -g grupo
Adems es posible utilizar la orden repquota para obtener una lista de cuotas asociadas a uno o
varios sistemas de archivos.
Linux
12
Estadsticas
Estadsticas del sistema
Los comandos bsicos para averiguar la ocupacin del disco y la carga del sistema.
du (disk usage)
du [-abs] [trayectoria1 trayectoria2 . . . trayectoriaN]
El comando
subdirectorios. El uso de este comando sin utilizar parmetros devolver una lista de cuanto disco
consume cada subdirectorio del directorio actual, y al final del informe, cuanto disco
utiliza el
-b
-s
La cantidad utilizada.
La cantidad disponible.
Un caso extrao que puede darse, es la posibilidad de tener una capacidad superior al 100%, o que
la cantidad utilizada ms la disponible no sea igual a la total. Esto es debido a que Unix reserva
parte del espacio de cada sistema de ficheros para el directorio raz. De esta forma aunque algn
usuario accidentalmente sature el disco, el sistema todava tendr un poco de espacio para seguir
operativo.
uptime
uptime
Linux
13
El comando uptime informa sobre el tiempo que el sistema ha estado activo, es decir el tiempo
transcurrido desde que arranc por ltima vez.
Este comando tambin devuelve la hora actual y el promedio de carga que soporta el sistema.
El promedio de carga es el nmero medio de procesos esperando a ser ejecutados en un
determinado periodo de tiempo. uptime muestra el promedio de carga del ltimo minuto y de los
cinco y diez ltimos minutos.
Si el promedio de carga se aproxima a cero indica que el sistema ha estado relativamente
desocupado; por el contrario si el promedio es cercano al uno indica que el sistema ha estado casi
completamente utilizado pero en ningn momento sobrecargado. Los promedios de carga altos son
el resultado de la ejecucin simultnea de varios programas.
Linux
14
Copias de seguridad
Realizar copias de seguridad es una de las tareas ms importantes del administrador del sistema, este
debe:
Es casi inevitable que se produzcan prdidas de informacin, debido a, entre otras causas:
Dnde, cundo y bajo qu condiciones se deben hacer? Mejor hacer las copias cuando no
haya usuarios trabajando (por la noche, al medioda).
Cada cunto tiempo necesitan recuperarse importantes ficheros daados o perdidos? (Esto es
muy difcil de saber).
Copias de Seguridad
Linux
Facilidad de restauracin.
Capacidad de verificar las copias (difcil si el sistema est siendo usado continuamente).
El programa de copia: los comandos que mueven los datos de los discos a los medios.
El planificador
Decide qu informacin se debe salvar en cada copia, y cundo se hacen estas.
Normalmente es gestionado mediante cron.
Segn la informacin que salvemos podemos hablar de los siguientes tipos de backup:
Completo
Copia de seguridad completa de un sistema de ficheros (TODO). Llamada de NIVEL 0.
Este tipo de copia tarda mucho tiempo en hacerse y presenta inconvenientes para recuperar un nico
fichero.
Si los ficheros no cambian muy a menudo: no hay justificacin para realizarlas de forma asidua. Si
cambian mucho y son vitales para el trabajo de mucha gente, estn justificadas incluso a diario.
Es recomendable hacerla ante grandes cambios: nuevo software, nuevo SO, . . .
Parcial
Slo se salva la informacin ms importante y difcil de recuperar:
Incremental
Slo se salvan los ficheros modificados desde el ltimo backup completo o incremental. Llamada de
NIVEL 2.
Copias de Seguridad
Linux
La copia de seguridad necesita menos tiempo y espacio, pero para restaurar los datos necesitaremos el
ltimo backup completo y todos los incrementales.
Se deben realizar con mucha ms frecuencia, incluso a diario.
Diferencial
Se salvan los ficheros modificados desde el ltimo backup completo. Llamada de NIVEL 1.
Ejemplos de estrategias:
Lunes de nivel 0, martes de nivel 1, mircoles de nivel 2, jueves de nivel 1 y viernes de nivel 2
Cmo se restaurarn?
Soportes de seguridad
Son los medios de almacenamiento o soportes donde se guarda la informacin:
Memorias USB.
Papel, aunque parezca mentira puede ser til, por ejemplo, imprimir un fichero de
configuracin que vamos a modificar.
etc.
Copias de Seguridad
Linux
Programas de copia
tar
Tar (Tape Archive, archivar en cinta) permite empaquetar o desempaquetar ficheros. El concepto de
empaquetar, es el de meter varios ficheros y/o directorios en un solo fichero (paquete). Posteriormente
podremos recuperar esa estructura de ficheros y directorios en el lugar donde queramos. Su sintaxis
bsica es:
tar
[-]opcin[modificador]
[fichero.tar]
[origen]
Ejemplo: crea un fichero tar conteniendo los ficheros del directorio /etc.
tar
Opciones:
Se pueden combinar, siempre y cuando no indiquen acciones contrarias. Si especificamos varias se
escriben juntas sin mediar espacios entre ellas. Tradicionalmente no se emplea el guin (-), que
normalmente precede a las opciones en las rdenes Linux.
c
Obtiene las diferencias entre los ficheros de la copia (paquete) y los del disco.
Siempre se debe usar una de las opciones anteriores inmediatamente despus de la orden tar.
Algunos modificadores:
v
Indica que el primer argumento, despus de las opciones, es el nombre de un fichero tar o un
dispositivo. Si no se indica este modificador o como fichero se pone - , utiliza la entrada o
salida estndar, de esta manera se puede usar con tuberas.
Filtrar el archivo a travs de gzip (para comprimir como descomprimir). Tendrn la extensin
Copias de Seguridad
Linux
TF
XF
Excluye los ficheros que concuerdan con los patrones listados en el fichero F
N Fecha
Slo guarda los ficheros ms nuevos que Fecha (copias diferenciales e incrementales).
fichero.tar
origen
Supongamos que deseamos empaquetar dos ficheros llamados linux1.txt y linux2.txt, en un fichero tar
de nombre linux.tar, escribiremos:
Copias de Seguridad
Linux
Se nos pedirn los disco uno a uno hasta que termine el proceso.
Prcticas:
1. Crear un paquete .tar en vuestro directorio de trabajo, de alguno de
vuestros subdirectorios.
Copias de Seguridad
Linux
cpio
Permite realizar copias de seguridad de conjuntos de ficheros arbitrariamente, es similar en
funcionalidad a tar y maneja tanto ficheros en formato cpio como tar.
Lee de la entrada estndar el nombre de los ficheros a guardar, lo comn es usarlo enlazado con otras
rdenes mediante tuberas.
cpio tiene tres modos de operacin.
En el modo de copia-afuera, cpio copia ficheros hacia un paquete. Lee una lista de nombres de
ficheros, uno por lnea, de la entrada estndar, y escribe el paquete en la salida estndar. Una
forma tpica de generar la lista de nombres de ficheros es con la orden find; se debera dar a
find la opcin -depth para minimizar problemas con permisos en directorios para los que no se
tiene permiso de paso.
En el modo de copia-adentro, cpio copia ficheros desde un paquete (archivo) o lista los
contenidos del paquete. Lee el paquete desde la entrada estndar. Los argumentos de la lnea
de rdenes son patrones del shell de concordancia de nombres de ficheros; slo se copian
desde el paquete aqullos ficheros cuyos nombres concuerden con los patrones. Si no se dan
patrones, se extraen todos los ficheros.
En el modo de copia-de-paso, cpio copia ficheros de un rbol de directorio a otro. Lee desde la
entrada estndar la lista de ficheros a copiar; el directorio dentro del cual copiar esos ficheros
se da como un argumento que no es una opcin.
Copia de paso.
Modo verbose.
Copias de Seguridad
Linux
6. Usa find para obtener una lista de los ficheros a respaldar, almacena sus
nombres mediante una tubera en el fichero acopiar.
dump
Los comandos dump y restore, son los ms comunes para copias de seguridad.
dump: Hace copias de un sistema de archivos entero, con las siguientes caractersticas:
El formato y los argumentos de dump dependen de la versin utilizada, pero en general es:
Copias de Seguridad
Linux
Mayor que 0 implica copiar slo los ficheros nuevos o modificados desde el ltimo backup de
nivel inferior
-u
-a
-j, -z
# export RSH=/usr/bin/ssh
# dump -0u -f usuario@sistema_remoto:/dev/sda6 /home
Algunas opciones:
-f
-a
No pregunta de que volumen extraer los ficheros (lee todos los volmenes empezando en 1)
Copias de Seguridad
Linux
# export RSH=/usr/bin/ssh
# restore -rf usuario@sistema_remoto:/dev/sda6
Restaurar slo un fichero
Necesita 6 o 9 cintas: una para el 0, 4 para los niveles 5 y 1 o 4 para los niveles 9.
Para restaurar necesitamos restaurar en orden:
La copia de nivel 0.
La del nivel 0.
Prcticas:
11. Utilizando dump, haz un backup de nivel 0 de la particin logica en
/dump/logica.0.
Copias de Seguridad
Linux
10
15. Comprueba los nombres de los ficheros que contiene cada copia.
19. Mediante un comando busca todos los ficheros terminados en '.txt', que se
encuentren a partir de un directorio y almacnalos comprimidos con cpio.
Copias de Seguridad
Linux
11
Otras aplicaciones
Existen otros comandos que permiten hacer backups y sincronizar ficheros: bacula, rdist, rsync, etc.
Bacula
Sofisticado sistema de backup en red con diseo modular, que permite hacer copias de seguridad de
todas las mquinas de una LAN a diferentes medios de backups (cinta, disco, . . . )
Soporta MySQL, PostgreSQL o SQLlite para el catlogo.
Hace backups de sistemas UNIX, Linux y Windows.
Para ms informacin, ver www.bacula.org/dev-manual/What_is_Bacula.html
Amanda
Amanda: Advanced Maryland Automatic Network Disk Archiver.
Sofisticado sistema de backup en red, que permite hacer copias de seguridad de todas las mquinas de
una LAN a una unidad de cinta del servidor.
Est disponible en la mayora de los UNIX y soporta muchos tipos de medios de backup.
Puede hacer uso de SAMBA para copias de sistemas Windows NT.
Se basa en dump y tar. Para ms informacin, ver www.amanda.org/docs
Flexbackup
Herramienta de backup flexible para instalaciones de pequeo y medio tamao.
Ms simple de configurar y utilizar que Amanda para sitios con un nmero no muy alto de sistemas.
Usa distintos formatos de archivo: dump, afio, GNU tar, cpio, zip, etc.
Permite backups completos e incrementales, como dump, y remotos a travs de rsh o ssh.
Para ms informacin, ver flexbackup.sourceforge.net
rdiff-backup
rdiff-backup copia un directorio en otro, permitiendo copias remotas.
Hace una copia exacta de los directorios (mirror), guardando las propiedades de los ficheros
(propietario, permisos, etc.).
Guarda las diferencias entre copias de los ficheros para poder recuperar un fichero antiguo
(incremental).
Copias de Seguridad
Linux
12
DAR
DAR Disk ARchiver comando para hacer backups de rboles de directorios y ficheros.
Permite copiar un sistema de ficheros entero a un archivo.
Permite hacer backups completos y diferenciales y copias multivolumen:
divide en archivo en varios ficheros (slices) parando antes de crear cada nuevo slice, interesante para
hacer copias en floppy, CD o DVD
Ms informacin en: dar.linux.free.fr
Comando rdist
Permite distribuir ficheros desde un servidor central a varias mquinas. Slo copia los ficheros
modificados, preservando el propietario, grupo, modo y fechas de modificacin las versiones actuales.
Puede funcionar sobre ssh.
Comando rsync
Similar a rdist aunque funciona de forma diferente, ms eficiente que rdist, slo transmite las
diferencias entre ficheros no usa fichero de configuracin: funciona de forma similar a rcp.
Ver la pgina de manual de rsync para ms detalles.
Unison
Aplicacin para sincronizar ficheros y directorios entre sistemas, puede sincronizar entre sistemas
Windows y UNIX, no requiere permisos de root, permite sincronizacin en los dos sentidos, las
transferencias se optimizan usando una versin de rsync.
Tiene un interfaz grfico sencillo, para ver un tutorial de uso, hacer:
$ unison -doc tutorial
Copias de Seguridad
Linux
13
Gestin de Pr
Procesos
Una definicin simple de proceso podra ser que es una instancia de un programa en ejecucin
(corriendo). A los procesos frecuentemente se les llama tareas. El contexto de un programa que est
en ejecucin es lo que se llama un proceso. Este contexto incluye procesos hijos que se hayan
generado del principal (proceso padre), los recursos del sistema que este consumiendo, sus atributos
de seguridad (tales como su propietario y permisos de archivos), etc.
Linux, como se sabe, es un sistema operativo multitarea y multiusuario. Esto quiere decir que mltiples
procesos pueden operar simultneamente sin interferirse unos con los otros. Cada proceso tiene la
"ilusin" de ser el nico proceso en el sistema y que tiene acceso exclusivo a todos los servicios del
sistema operativo.
Programas y procesos son entidades distintas. En un sistema operativo multitarea, mltiples instancias
de un programa pueden ejecutarse simultneamente. Cada instancia es un proceso separado. Por
ejemplo, si cinco usuarios desde equipos diferentes, ejecutan el mismo programa al mismo tiempo,
habra cinco instancias del mismo programa, es decir, cinco procesos distintos.
Cada proceso que se inicia es referenciado con un nmero de identificacin nico, conocido como
Process ID PID, que es siempre un entero positivo. Prcticamente todo lo que se est ejecutando en el
sistema en cualquier momento es un proceso, incluyendo el shell, el ambiente grfico que puede tener
mltiples procesos, etc. La excepcin a lo anterior es el kernel en s, el cual es un conjunto de rutinas
que residen en memoria y a los cuales los procesos a travs de llamadas al sistema pueden tener
acceso.
Algunos procesos estn ejecutndose continuamente por el sistema a la espera de atender alguna
peticin. Son los llamados demonios (o daemons). Por ejemplo, los demonios que atienden peticiones
de FTP o de HTTP, los que montan automticamente los CDs, los que realizan tareas programadas,
etc.
No hay que confundirlos con programas que se ejecutan en background (en segundo plano) y que son
programas que realizan una tarea y acaban, pero no esperan entradas interactivas. Si queremos hacer
un clculo muy complejo o una tarea que va a tardar cierto tiempo, lanzamos el programa que lo
realiza, lo mandamos al segundo plano y mientras podemos realizar otras tareas. Para ello usamos el
operador & al final de la lnea.
A todo proceso, cuando se lanza, se le asocia una entrada estndar, una salida estndar y una salida
de errores. De esta forma, cuando solicita un dato, muestra un mensaje en pantalla (salida estndar, la
consola) y espera una respuesta por el teclado (entrada estndar) y, si se produce un error, lo muestra
por la salida de errores (que habitualmente es tambin la consola).
El S.O. nos da posibilidades para redirigir la entrada y la salida de proceso, de forma que en vez de leer
del teclado, lea los datos de un fichero o dirigir la salida del proceso a un fichero o a otro proceso.
Gestin de Procesos
Linux
$ ps
PID
4150
4178
4238
4295
TTY
tty1
tty1
tty1
tty1
TIME
00:00:00
00:00:02
00:00:00
00:00:00
CMD
bash
vi
sh
ps
TTY
TIME
CMD
Ahora slo estamos viendo los procesos que est ejecutando el usuario que ejecuta la orden.
En el ejemplo anterior, desde el bash se ejecut el vi, en este momento bash se echa a dormir, desde
el vi iniciamos otro shell (sh) y desde este se ejecuta el comando ps.
Como puede observar, sh se ejecuta concurrentemente con el comando ps. Cuando ps termina de
ejecutarse (despus de mostrar la tabla de procesos), el proceso sh retoma el control, y muestra el
prompt, indicando que est listo para recibir otro comando.
Y cuando finalice el vi, ser el bash quien tome el control.
Un proceso que est corriendo se denomina tarea para el shell. Los trminos proceso y tarea, son
intercambiables. Sin embargo, se suele denominar tarea" a un proceso, cuando es usado en
conjuncin con control de tareas, que es una caracterstica del shell, que permite gestionar tareas.
Gestin de Procesos
Linux
El comando ps es el que permite informar sobre el estado de los procesos. ps esta basado en el
sistema de archivos /proc, es decir, lee directamente la informacin de los archivos que se encuentran
en este directorio. Tiene una gran cantidad de opciones, incluso estas opciones varan dependiendo del
estilo en que se use el comando. Estas variaciones sobre el uso de ps son las siguientes:
Estilo GNU, donde se utilizan nombres de opciones largas y van precedidas por doble guin
--.
Sea cual sea el estilo utilizado, dependiendo de las opciones indicadas, se muestran varias columnas,
estas pueden ser entre otras muchas, las siguientes:
p o PID
P o PPID
U o UID
t o TT o
TTY
T o TIME
c o CMD
SZ o SIZE
RSS
v o VSIZE
NI
C o PCPU
STIME
S o STAT
Gestin de Procesos
Linux
X dead, muerto, proceso terminado pero que sigue apareciendo, igual que los
Z no deberan verse nunca.
# ps -ef
(-f muestra opciones completas)
UID
PID PPID C STIME TTY
TIME
root
1
0 0 10:12 ?
00:00:01
root
2
0 0 10:12 ?
00:00:00
...
root
6130 5662 0 10:24 pts/0
00:00:00
root
6134 6130 0 10:24 pts/0
00:00:00
sergon
6343 5604 0 10:28 ?
00:00:00
/home/sergon/tmp/ksocket-sergon/kl
root
6475 6134 0 10:38 pts/0
00:00:00
CMD
init [5]
[kthreadd]
su -bash
kio_file [kdeinit] file
ps -ef
# ps -eF
(-F muestra opciones completas extra)
UID
PID PPID C
SZ
RSS PSR STIME TTY
root
1
0 0
412
556
1 16:59 ?
root
2
0 0
0
0
1 16:59 ?
sergon
8326 8321 0
902 1272
0 17:07 ?
/usr/lib/firefox-2.0.0.8/run-mozilla.sh /usr/lib/f
sergon
8331 8326 4 53856 62604
0 17:07 ?
/usr/lib/firefox-2.0.0.8/mozilla-firefox-bin
sergon
8570 7726 2 15211 37948
0 17:17 ?
# ps ax
PID TTY
1 ?
2 ?
3 ?
4 ?
# ps aux
USER
root
TIME
00:00:01
00:00:00
00:00:00
CMD
init [5]
[kthreadd]
/bin/sh
00:00:50
00:00:10 quanta
Gestin de Procesos
Linux
root
root
root
root
2
3
4
5
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0
0
0
0
0
0
0
0
?
?
?
?
S<
S<
S<
S<
16:59
16:59
16:59
16:59
0:00
0:00
0:00
0:00
[kthreadd]
[migration/0]
[ksoftirqd/0]
[migration/1]
# ps -eo user,pid,tty
(-o output personalizado, se indican los campos
separados por coma, ver ps --help o ps L)
USER
PID TT
root
1 ?
root
2 ?
sergon
8570 tty 1
root
8876 pts/1
# ps -eH (muestra rbol de procesos)
# ps axf (lo mismo en formato BSD)
# ps -ec (el comando que se esta ejecutando, sin la ruta, slo el nombre real)
#> ps -el (muestra formato largo de varias columnas, muy prctico)
#> ps L
(No muestra procesos, lista todos los cdigos de formatos)
Algunas opciones:
-u user
-f
-F
formato ms largo.
k campo
1.
2.
3.
4.
5.
6.
Observa las diferentes columnas que aparecen con las opciones l, -f, -F,
u.
7.
Gestin de Procesos
Linux
Control de Tareas.
En muchos casos, los usuarios solo ejecutan un trabajo cada vez, que es el ltimo comando que ellos
teclearon desde el shell. Sin embargo, usando el control de tareas, usted podr ejecutar diferentes
tareas al mismo tiempo, cambiando entre cada una de ellas conforme lo necesite.
Los procesos pueden ser suspendidos. Un proceso suspendido es aquel que no se est ejecutando
actualmente, sino que est temporalmente parado. Despus de suspender una tarea, puede indicar a la
misma que contine, en primer plano o en segundo, segn se requiera.
Retomar una tarea suspendida no cambia en nada el estado de la misma, la tarea continuar
ejecutndose justo donde se dej.
Ten en cuenta que suspender un trabajo no es lo mismo que interrumpirlo. Cuando se interrumpe un
proceso, generalmente con la pulsacin de ctrl-C (depende del terminal), el proceso muere, y deja de
estar en memoria y utilizar recursos del ordenador. Una vez eliminado, el proceso no puede continuar
ejecutndose, y deber ser lanzado otra vez para volver a realizar sus tareas. Tambin se puede dar el
caso de que algunos programas capturan la interrupcin, de modo que pulsando ctrl-C no se para
inmediatamente. Esto se hace para permitir al programa realizar operaciones necesarias de limpieza
antes de terminar.
De hecho, algunos programas simplemente no se dejan matar por ninguna interrupcin.
Gestin de Procesos
Linux
yes
y
y
y
y
y
La serie de y-es continuar hasta el infinito, a no ser que usted la elimine, pulsando la tecla de
interrupcin, generalmente ctrl-C. Tambin puede deshacerse de esta serie de y-es redirigiendo la
salida estndar de yes hacia /dev/null.
jobs
[1]+ Running yes >/dev/null &
Tambin puede usar el comando ps, como mostramos antes, para comprobar el estado de la tarea.
8.
9.
Muestra con ps, slo la informacin de todos los yes , en formato largo
10.
Gestin de Procesos
Linux
Para eliminar una tarea, utilice el comando kill. Este comando toma como argumento un nmero de
tarea o un nmero de ID de un proceso. Esta era la tarea 1, as que usando el comando.
kill %1
matar la tarea. Cuando se identifica la tarea con el nmero de tarea, se precede el nmero con el
carcter de porcentaje ("%").
Ahora que ya hemos matado la tarea, podemos usar el comando jobs de nuevo para comprobarlo:
jobs
[1]+ Terminated yes >/dev/null
La tarea est, en efecto, muerta, y si usa el comando jobs de nuevo, no mostrar nada.
11.
Tambin podr matar la tarea usando el nmero de ID de proceso (PID), el cual se muestra
conjuntamente con el ID de tarea cuando arranca la misma. En nuestro ejemplo el ID de proceso es
164, as que el comando
kill 164
es equivalente a
kill %1
No usar el "%" cuando nos referimos a una tarea a travs de su ID de proceso.
while true
do
echo -n ' ';
sleep 2;
done
Hay otra manera de poner una tarea en segundo plano. Se puede lanzar como un proceso normal (en
primer plano), pararla, y despus relanzarla en segundo plano.
Primero, lance el proceso yes en primer plano.
Gestin de Procesos
Linux
12.
Mientras el proceso est suspendido, simplemente no se est ejecutando. No gasta tiempo de CPU,
pero s memoria. Se puede retomar de nuevo como si nada hubiera pasado. Continuar ejecutndose
donde se dej.
Para relanzar la tarea en primer plano, use el comando fg (del ingls foreground").
fg
yes >/dev/null
La shell muestra el nombre del comando de nuevo, de forma que tenga conocimiento de que tarea es
la que ha puesto en primer plano. Pare la tarea de nuevo, con ctrl-Z. Esta vez utilice el comando bg
para poner la tarea en segundo plano. Esto har que el comando siga ejecutndose igual que si lo
hubiese hecho desde el principio con &" como en la seccin anterior.
bg
[1]+ yes >/dev/null &
Y tenemos de nuevo el prompt. El comando jobs deber decirnos que yes se est ejecutando, y
podemos matar la tarea con kill tal y como lo hicimos antes.
Cmo podemos parar la tarea de nuevo? Si pulsa ctrl-Z no funcionar, ya que el proceso est en
segundo plano. La respuesta es poner el proceso en primer plano de nuevo, con el comando fg, y
entonces pararlo. Como puede observar podr usar fg tanto con tareas detenidas, como con las que
estn segundo plano.
Hay una gran diferencia entre una tarea que se encuentra en segundo plano, y una que se encuentra
detenida. Una tarea detenida es una tarea que no se est ejecutando, es decir, que no usa tiempo de
CPU, y que no est haciendo ningn trabajo (la tarea an ocupa un lugar en memoria, aunque puede
ser volcada a disco). Una tarea en segundo plano, se est ejecutando, y usando memoria, a la vez que
completando alguna accin mientras usted hace otro trabajo.
Sin embargo, una terea en segundo plano puede intentar mostrar texto en su terminal, lo que puede
resultar molesto si est haciendo otra cosa. Por ejemplo:
yes &
punto.sh &
sin redirigir stdout a /dev/null, una cadena de y-es se mostrarn en su monitor, sin modo alguno de
interrumpirlo (no puede hacer uso de ctrl-C para interrumpir tareas en segundo plano). Para poder
parar esas interminables y-es, tendr que usar el comando fg para pasar la tarea a primer plano, y
entonces usar ctrl-C para matarla.
Otra observacin. Normalmente, los comandos fg" y bg" actan sobre el ltimo proceso parado
(indicado por un +" junto al nmero de tarea cuando usa el comando jobs). Si usted tiene varios
procesos corriendo a la vez, podr mandar a primer o segundo plano una tarea especfica indicando el
ID de tarea como argumento de fg o bg, como en
fg %2
bg %3
No se pueden usar los ID de proceso con fg o bg.
Gestin de Procesos
Linux
%2
es equivalente a
fg %2
Recordar que el uso de control de tareas es una utilidad de la shell. Los comandos fg, bg y jobs son
internos de la shell. Si por algn motivo usted utiliza una shell que no soporta control de tareas, no
espere disponer de estos comandos.
Y adems, hay algunos aspectos del control de tareas que difieren entre Bash y Tcsh. De hecho,
algunas shells no proporcionan ningn control de tareas; sin embargo, la mayora de las shells
disponibles para Linux soportan control de tareas.
13.
Practica con nuestro script punto.sh (puedes jugar con varios al mismo
tiempo o mezclndolo con yes), lanzndolo en bg, pasndolo a fg,
suspendindolo, relanzndolo,
$ kill -l
1) SIGHUP
2) SIGINT
3) SIGQUIT
4) SIGILL
5) SIGTRAP
6) SIGABRT
7) SIGBUS
8) SIGFPE
9) SIGKILL
10) SIGUSR1
11) SIGSEGV
12) SIGUSR2
13) SIGPIPE
14) SIGALRM
15) SIGTERM
17) SIGCHLD
18) SIGCONT
19) SIGSTOP
20) SIGTSTP
21) SIGTTIN
22) SIGTTOU
23) SIGURG
24) SIGXCPU
25) SIGXFSZ
26) SIGVTALRM
27) SIGPROF
28) SIGWINCH
29) SIGIO
30) SIGPWR
31) SIGSYS
Gestin de Procesos
Linux
10
kill -9
kill KILL
SIGHUP (1)
SIGTERM (15)
SIGKILL (9)
SIGSTOP (19)
Para el proceso.
SIGCONT (18)
SIGINT (2)
SIGTSTP (20)
SIGQUIT (3)
En bash, cuando enviamos una seal SIGHUP a un shell, este se lo reenva a todos sus hijos.
La mayora de los demonios (daemons) responden a la seal SIGHUP volviendo a leer sus
ficheros de configuracin:
En vez de matar y reiniciar un demonio podemos hacer un kill -HUP para reiniciarlo
Programacin de tareas.
Es bastante comn que necesite ejecutar un script (o un comando) peridicamente, para algn tipo de
tarea rutinaria.
Para ello se utilizan servicios que emplean el reloj del sistema, y lanzar unos procesos determinados
previamente, a la hora indicada, aunque no est presente el usuario.
Estos servicios se lanzan en el arranque del sistema y permanecen vivos durante toda la sesin para
atender la programacin de tareas.
Tambin disponemos de otro tipo de planificacin. El mtodo descrito anteriormente nos permite
planificar en el tiempo, lo que sin duda resulta til, pero otra manera de aprovechar recursos es
Gestin de Procesos
Linux
11
at
El comando at permite la ejecucin de una serie de rdenes en un momento especificado.
La sintaxis de at es:
at now + N unidades_de_tiempo
Donde unidades_de_tiempo puede ser minutes, hours, days, o weeks.
Por ejemplo, para ejecutar un trabajo el 14 de febrero a las siete de la tarde:
at 19:00 Feb 14
at> comandos
at> <EOT> # aqu puls <ctrl-d>
warning: commands will be executed using /bin/sh
job 2 at 2011-02-14 19:00
Si quiero lanzar un programa dentro de tres horas:
at now + 3 hours
Gestin de Procesos
Linux
12
at> comandos
at> <EOT> # aqu puls <ctrl-d>
warning: commands will be executed using /bin/sh
job 3 at 2011-02-14 22:05
Algunas opciones:
-l
-d N Elimina un trabajo de la cola usaremos la opcin -d seguida del nmero identificativo del
trabajo.
16. Programar que dentro de 2 minutos se aada al fichero quien los usuarios
que estn conectados en ese momento.
batch
batch permite ejecutar comandos en modo diferido, cuando lo permite el nivel de carga del sistema,
cuando la carga media cae por debajo de 0.8, o del valor especificado en la invocacin de atrun.
La sintaxis de batch es:
batch
rdenes
[ctrl+d]
Para at y batch:
Los comandos a los que se aplicarn son ledos de la entrada estndar o de un fichero indicado si
usamos la opcin -f.
Gestin de Procesos
Linux
13
/etc/at.allow y /etc/at.deny.
Si el fichero /etc/at.allow existe, slo los usuarios cuyos nombres estn mencionados aqu tienen
permiso para utilizar at y batch.
Si /etc/at.allow no existe, se chequea /etc/at.deny y entonces todos los usuarios cuyos nombres no
estn mencionados all tienen permiso para utilizar at y batch.
Si ninguno de los ficheros existe, slo podr utilizar at el administrador del sistema.
Un /etc/at.deny vaco significa que todo el mundo puede utilizar estos comandos, esta es
habitualmente la configuracin por defecto.
22. Lanza con batch un listado largo de todos los ficheros del sistema
(recursivo desde la /), almacnalo en un fichero llamado todo, en tu
directorio de trabajo.
nice
El comando nice modifica el nivel de prioridad de ejecucin procesos, asignando ms o menos tiempo
de CPU a la tarea dada.
Linux realiza una planificacin por prioridades dinmicas.
Al lanzar un proceso se le asigna un valor de prioridad esttica, nmero nice, por defecto hereda la
prioridad esttica de su proceso padre.
La prioridad dinmica del proceso se calcula en funcin del nmero nice, junto con el consumo de
CPU realizado.
La prioridad puede ser ajustada por nice en el rango entre -20 (la prioridad ms alta) a 19 (la ms
baja). nicamente el root puede asignar valores negativos.
La sitaxis de nice es:
Gestin de Procesos
Linux
14
nice -n orden
Donde n es el nmero que indica la prioridad. Si no indicamos n, se asigna por defecto la prioridad 10.
Sin opciones ni argumentos, muestra la prioridad actual.
Asignar una prioridad de 5.
nice -5 nano
Asignar una prioridad de -10 (slo puede hacerlo el root).
nice 10 nano
Tambin podemos cambiar la prioridad a un proceso que se est ejecutando, sabiendo su PID.
Asignar prioridad 14 al proceso 4890
renice 14 4890
27. En el nuevo shell que entramos, consulta los procesos con la opcin l, e
identifica la columna en la que se muestran los niveles de prioridad.
nohup
El comando nohup inhibe la terminacin de un proceso, aunque el usuario salga del sistema.
Esto tiene sentido para procesos largos, que no requieran asistencia del usuario que los lanz.
Normalmente se ejecutarn en segundo plano, y nohup impedir que finalicen al salir el usuario del
sistema.
La sitaxis de nohup es:
Gestin de Procesos
Linux
15
30. En una consola virtual conctate como usuario (usuario), y desde all lanza
por ejemplo nuestro punto.sh redirigiendo la salida y en background.
31. Desconctate del usuario y comprueba como root los procesos que son de su
propiedad.
cron y crontab
Posibilita la ejecucin peridica de rdenes a intervalos prefijados.
cron es lanzado durante el arranque del sistema, y permanece activo para dar servicio a las entradas
que los usuarios le indiquen mediante la ejecucin de crontab.
El comando crontab necesita leer la informacin de las especificaciones de un archivo externo.
La sitaxis de crontab es:
crontab archivo_especificaciones
El archivo de especificaciones constar de una lnea para cada tarea, con seis campos separados por
espacios.
Los campos son, por este orden:
Minutos
Horas
Da_(del mes)
Mes
Da_(de la semana)
Minutos
Rango de 0 a 59.
Horas
Dede 0 a 23.
Da del mes
Desde 1 a 31.
Mes
Desde 1 a 12.
Da semana
Orden
La orden a ejecutar.
Orden
Tambien estn admitidos rangos, como por ejemplo, para indicar la repeticin de una orden de
lunes a viernes, en el campo del da de la semana ponemos: 1-5.
Una lista de enteros separados por comas, indicando que es valido para cualquiera de los
enteros indicados.
Un asterisco (*) en cualquiera de los campos anteriores significa cualquier valor del rango, es
decir el comando se ejecutar independientemente del valor de ese campo.
Gestin de Procesos
Linux
16
30 9 * * * orden
Ejecutar la orden los viernes a las doce en punto.
0 12 * * 5 orden
Ejecutar la orden todos los minutos desde las 8 a las 9 horas cada 12 de septiembre.
* 8 12 9 * orden
Ejecutar la orden el primer lunes de cada mes, a las siete de la tarde.
0 19 1-7 * 1 orden
De manera que si creamos un archivo de esta manera, sencillamente con ejecutar crontab seguido del
nombre del archivo, cron se encargar de la ejecucin de las rdenes con la frecuencia indicada.
Cada usuario solo puede tener un fichero de especificacin de crontab (se le conoce como archivo
crontab). Cada ejecucin de crontab archivo_de_especificaciones establece ese archivo como el vlido
para que cron lo interprete y ejecute.
En realidad podr tener varios archivos definidos, pero slo ser utilizado el ltimo que se ejecut con
crontab.
De nuevo se puede limitar el uso de crontab mediante la inclusin de usuarios en los ficheros
/etc/cron.allow y /etc/cron.deny.
Si el fichero cron.allow existe, slo los usuarios cuyos nombres estn mencionados aqu tienen
permiso para utilizarlo.
Si cron.allow no existe, se chequea cron.deny y entonces todos los usuarios cuyos nombres
estn mencionados se les denegar el uso.
Si ninguno de los ficheros existe, slo podr utilizar crontab el administrador del sistema.
Si cron.allow no existe y cron.deny vaco significa que todo el mundo puede utilizar crontab.
Por ltimo decir que una vez editado el fichero de especificacines y ejecutado crontab con l, no es
conveniente modificarlo con un editor de texto.
Algunas opciones:
-e
-r
-l
Crear el fichero de especificaciones para crontab, para que realice las copias
de seguridad, con la siguiente planificacin:
Gestin de Procesos
Linux
17
top
Proporciona una visin continuada de la actividad del procesador en tiempo real, muestra las tareas
que ms uso hacen de la CPU, y tiene una interfaz interactiva para manipular procesos.
Las cinco primeras lneas muestran informacin general del sistema:
Estadsticas sobre los procesos del sistema (nmero de procesos, procesos en ejecucin,
durmiendo, parados o zombies).
El estado actual de la CPU (porcentaje en uso por usuarios, por el sistema, por procesos con
valor nice positivo, por procesos esperando E/S, desocupada, tratando interrupciones hardware,
interrupciones software, en espera involuntaria por virtualizacin).
La memoria (memoria total disponible, usada, libre, usada como buffer de E/S y en cach.
Los datos de la parte inferior son similares a los del ps, excepto: SHR (La cantidad de memoria
compartida usada por la tarea).
Los procesos mostrados los ordena decrecientemente por el uso de la CPU
La lista se actualiza de forma automtica, normalmente cada 5 segundos
La orden top permite realizar una serie de operaciones interactivamente, mediante la pulsacin de
teclas, mientras top est en ejecucin, como por ejemplo:
Ordenarlos segn diferentes criterios (por PID con N, uso de CPU con P, tiempo con A,
etc.).
Gestin de Procesos
Linux
18
35. Abrir dos consolas grficas, en una de ellas ejecutar top y desde la otra
lanzar procesos en background, para ver el efecto en la actividad que
muestra top.
36. Indica que visualice 13 procesos.
Lnea
Lnea de comandos
Agrupamiento de comandos:
(Siendo A y B dos comandos)
A | B
Toda la lnea de comandos se ejecuta como si fuese un solo proceso, que genera procesos hijos para
cada una de las rdenes.
La ejecucin es concurrente. Y el estado de salida de una tubera es el del ltimo comando.
A; B
Igual que si estubieran en lneas separadas. La ejecucin es secuencial.
Gestin de Procesos
Linux
19
A &
Ejecucin en Background. Se realiza de forma asncrona.
(A; B; ...)
Se crea un SubShell, que los ejecuta de forma secuencial.
{ bA; B; ...;b}
No se crea un SubShell. Se ejecutan como un solo comando con una sola salida.
sort -r
>>
usu
A && B
Ejecucin condicional de la orden B. La orden B slo se ejecutar en el caso de que el estado de salida
de A sea verdadero (0).
A || B
Ejecucin condicional de la orden B. La orden B slo se ejcutar en el caso de que el estado de salida
de A sea falso (!=0).
Linux
20
Metacaracteres:
Hay que tener en cuenta que muchos caracteres son interpretados de forma especial por el Shell, los
ms importantes son:
< > << >> Redireccionamientos.
|
Tubera.
*?[]
&
Background.
(){}
Agrupamiento de comandos.
Separador de rdenes.
'
Los apstrofos normales, hacen que pierdan su significado especial todos los
caracteres contenidos entre ellos.
"
(Apstrofo inverso) Una orden encerrada entre apstrofos inversos se sustituye por su
salida estndar.
Gestin de Procesos
Linux
21
Mquinas Virtuales
Introduccin
En numerosas ocasiones necesitamos probar un programa o realizar pruebas en el Sistema
Operativo que tenemos instalado. Si las pruebas las realizamos en un equipo que estamos utilizando
de manera habitual, corremos el peligro de que un fallo, un mal funcionamiento del programa o una
simple actualizacin, provoquen una cada del sistema, una prdida de su estabilidad y en el peor de
los casos tengamos que hacer una reinstalacin completa.
Una posible solucin sera utilizar otro equipo, donde primero duplicsemos nuestra mquina y luego
instalsemos los programas o actualizaciones que deseamos comprobar. Si todo va bien, lo
aplicamos al equipo en produccin y si hay problemas, un simple formateo del equipo de pruebas
nos resuelve el problema, sin que los usuarios se vean afectados. Evidentemente tener uno o ms
equipos para realizar pruebas conlleva un coste econmico que la mayora de las empresas no estn
dispuestas a asumir.
Una solucin ms sencilla y adecuada es instalar una herramienta que simule el funcionamiento del
Sistema Operativo que se quiere probar y sobre l se instalen las aplicaciones en evaluacin. Esta
herramienta debe independizar el Sistema Operativo real (anfitrin) del Sistema Operativo
Virtualizado (invitado).
En esta situacin podemos realizar una abstraccin e imaginar que tenemos un ordenador real
(nuestra mquina fsica, con su correspondiente Sistema Operativo) y sobre l se emula el
funcionamiento de otro u otros ordenadores virtuales, y adems se nos permite cambiar entre uno y
otro sin mayor problema.
Se dice entonces que tenemos una mquina real, la mquina fsica y una o ms mquinas virtuales,
las que se ejecutan sobre el emulador, cada una de ellas con su hardware emulado (virtual) y con
su Sistema Operativo.
El programa de que usamos para virtualizar (VMM <-> Virtual Machine Monitor) maneja, gestiona y
arbitra los cuatro recursos principales de una computadora (CPU, Memoria, Red, Almacenamiento) y
as podr repartir dinmicamente dichos recursos entre todas las mquinas virtuales definidas en el
ordenador anfitrin. De modo que nos permite tener varias mquinas virtuales ejecutndose sobre
el mismo ordenador fsico.
Llevando un paso ms all este modelo, podran coexistir, en un mismo instante, nuestro ordenador
real, con su Sistema Operativo real y todos los ordenadores virtuales que pongamos en
funcionamiento, pudiendo incluso comunicarse entre ellos, a travs de una red y por lo tanto
compartir recursos, si es que nos parece oportuno.
Llegados a este punto, podemos definir una mquina virtual como un programa informtico, que se
ejecuta sobre un ordenador y un Sistema Operativo, y que simula el funcionamiento de una
Mquinas Virtuales
Linux
mquina sobre la que se pueden instalar diferentes sistemas operativos, aplicaciones, compartir
recursos, conectarnos a Internet, utilizar diferentes dispositivos (impresoras, usb, etc.).
Ventajas
Sencillas copias de seguridad. Las mquinas virtuales se pueden salvar muy fcilmente,
porque a fin de cuentas, no son ms que uno o varios ficheros; en caso de desastre se
puede recuperar la informacin con rapidez.
Desventajas
Mquinas Virtuales
Linux
Por ello, la virtualizacin requiere de mquinas anfitrionas ms potentes, con ms RAM y varios
ncleos y/o procesadores para una mejor respuesta.
Instalacin
Oracle VM VirtualBox es un programa de virtualizacin con el que es posible instalar sistemas
operativos adicionales, conocidos como sistemas invitados, dentro de otro sistema operativo
anfitrin, cada uno con su propio ambiente virtual. En nuestro caso, el sistema operativo anfitrin
ser Ubuntu y los invitados los sistemas que vayamos instalando o aadiendo a VirtualBox.
Para instalarlo en Ubuntu tenemos dos opciones: usando el paquete .deb o desde los repositorios.
Lo ms recomendable es la segunda opcin ya que as se actualizar automticamente con las
nuevas versiones que vayan apareciendo.
wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
3) Aadimos la clave del repositorio:
apt-get update
5) Instalamos VirtualBox:
VirtualBox:
Mquinas Virtuales
Linux
http://download.virtualbox.org/virtualbox/debian/pool/contrib/v/virtualbox-4.0
Una vez descargado, hacemos doble clic sobre el paquete para instalarlo.
Creacin de mquinas
Una vez instalado podemos ejecutar VirtualBox desde el men Aplicaciones > Herramientas del
sistema > Oracle VM VirtualBox, es conveniente crearle un lanzador en el escritorio o en alguna
barra.
La primera vez que lo ejecutemos nos leemos y aceptamos la licencia.
En el men Ayuda > Acerca de comprobamos la versin de VirtualBox que tenemos instalada.
Aunque
en
ingls,
puedes
consultar
el
manual
de
VirtualBox
en
http://www.virtualbox.org/manual/UserManual.html
1.- Indicamos que vamos a definir una nueva mquina virtual, bien con el botn como indica la
imagen o en el men "mquina ->Nueva".
Mquinas Virtuales
Linux
2.- Solicita el nombre que vamos a poner a la mquina y el sistema operativo que tenemos
pensado instalarle. Pero esto es a ttulo identificativo, no implica ninguna configuracin en la
mquina.
Mquinas Virtuales
Linux
3.- En este paso debemos decidir que memoria RAM fsica asignamos a la mquina virtual,
sabiendo que el sistema anfitrin no dispondr de ella. Adems debemos de pensar si vamos a
correr varias mquinas virtuales al mismo tiempo, ya que cada una requerir su parte de RAM.
Mquinas Virtuales
Linux
5.-Si optamos por crear el HDV, se abrir el asistente de creacin de discos virtuales. Tras la
pantalla de bienvenida, solicita que indiquemos el tipo de almacenamiento.
6.-Debemos suministrar un nombre al disco (al fin y al cabo el HDV se almacena en un fichero),
por defecto toma el nombre que dimos a la mquina, podemos tambin seleccionar el lugar donde
se almacenar el fichero.
En la parte inferior definimos el tamao que va a tener, debemos consultar cuales son los requisitos
mnimos aceptables para el SO que tenemos previsto instalar, as como del uso que le vamos a dar.
Mquinas Virtuales
Linux
7.-Despus de mostrarnos una serie de resmenes, crea la mquina virtual con una configuracin
bsica, que podemos afinar posteriormente.
3. Crea una mquina virtual para Windows XP, valorando los recursos que le
asignas (consultar previamente los requisitos mnimos).
4. Ver todas las posibilidades que nos ofrece la opcin de Mquina ->
Configuracin.
Mquinas Virtuales
Linux
Tipo
Mltiples accesos
Restaurable por
Tamao dinmico
simultneos
instantnea
Normal
No
WriteThrough
No
No
Shareable
No
No
Inmutable
Mquinas Virtuales
Linux
vboxmanage modifyhd
http://www.virtualbox.org/manual/ch08.html#vboxmanage-modifyvdi
5. Dnde ha colocado VirtualBox el comando vboxmanage dentro de Ubuntu?
6. Consulta el formato en la pgina de ayuda de VirtualBox.
Est vaca.
En este ltimo caso, el primer paso es aadir al repositorio "Imgenes de CD/DVD" dicha imagen.
Pulsando sobre Agregar nos aparecer la ventana para seleccionar la ubicacin e imagen
correspondiente. Admite imgenes .ISO, .IMG, etc., pero no .NRG (por defecto .ISO, al marcar que
muestre "todos las archivos (*)", no nos mostrar las nuevas imgenes hasta que no refresquemos
la carpeta.
Exportar e importar
Exportar servicio virtualizado: exporta el HDV y los datos de la mquina. Genera tres ficheros:
.ovf, que es un estndar abierto para empaquetar y distribuir servicios virtualizados entre distintas
plataformas; .vmdk, que es el estndar de compactacin dinmica de HDVs de VMWare y .mf que
es el archivo de manifiesto, tambin tenemos la posibilidad de que todo lo empaquete en un solo
fichero .ova.
Mquinas Virtuales
Linux
10
2.- Ahora seleccionamos la imagen iso, ser como si un CD de dicha imagen estuviese introducido
en la unidad.
Mquinas Virtuales
Linux
11
Mquinas Virtuales
Linux
12
General
En la ficha "Bsico" podemos cambiar la denominacin de la mquina. Y en la ficha Avanzado":
dnde vamos a ubicar las instantneas, si deseamos que el traspaso de portapapeles funcione
bidireccionalmente, si deseamos que los cambios en los medios de almacenamiento se guarden para
la prxima ejecucin o no, y como queremos ver la mquina en pantalla.
Sistema
En la pestaa "Placa base" podemos modificar la cantidad de memoria que asignamos al crear la
mquina.
En "Orden de arranque," al igual que si fuese la BIOS de una mquina fsica, indicaremos el orden
en que deber buscar el sistema operativo de arranque. Como no vamos a tener imgenes de
disquete, lo desmarcamos y bajamos.
En "Caractersticas extendidas" nos encontramos las siguientes opciones:
o
Habilitar EFI: (Extensible Firmware Interface) es una especificacin desarrollada por Intel
para reemplazar la interfaz del estndar IBM PC BIOS, interactuando como puente entre el
sistema operativo y el firmware base. Es necesaria para instalar mquinas MacOS.
Reloj hardware en tiempo UTC: normalmente el guest usar el reloj del host. Pero podemos
indicarle que use el tiempo universal coordinado dado por los relojes atmicos, este es el
sistema de tiempo utilizado por muchos estndares de Internet y la World Wide Web, de
forma que el guest tendr su propio tiempo, independiente del anfitrin.
En la pestaa Procesador, si tenemos un host con ms de una CPU, podemos indicarle cuantas CPUs
se destinarn a la mquina virtual. En caso de marcar ms de una CPU, deberemos habilitar
tambin la opcin "Habilitar IO APIC".
Pantalla
Aqu indicarnos la cantidad de memoria dedicada a la gestin de vdeo, el nmero de monitores y si
deseamos usar aceleracin grfica (siempre que la soporte la mquina host).
Mquinas Virtuales
Linux
13
Tambin podemos especificar los parmetros para poder hacer acceso remoto a la mquina cuando
est en funcionamiento.
Audio
Aqu se indica el controlador de audio del host y que controlador emular el guest, pudiendo
escoger entre AC97 o Soundblaster.
Ya que no tenemos altavoces, lo desactivamos.
Puertos Serie
Nos permite activar el acceso a los puertos serie de la mquina host, asignando los recursos de IRQ
y memoria necesarios. Slo debemos activarlos si vamos a usar algn dispositivo con conexin por
puerto serie.
USB
En esta pestaa gestionaremos los recursos USB para permitir que la mquina virtual acceda a los
dispositivos USB seleccionados mediante el "Filtro de Dispositivos".
Habilitaremos el controlador USB y USB 2.0.
Pinchando en el icono de la derecha con el + verde, nos mostrar la lista de dispositivos USB que en
ese momento estn conectados al anfitrin, permitindonos seleccionar aquellos que queremos que
sean accesibles desde el guest.
Si queremos que reconozca cualquier penDrive es mejor agregar un filtro vaco, como se muestra en
la image.
La prxima vez que arranquemos esa mquina virtual, tendremos acceso a la memoria USB
seleccionada.
En el men Dispositivos -> Dispositivos USB, podemos activarlos o desactivarlos, tambin en el
icono que representa un conector USB podemos gestionarlos.
Mquinas Virtuales
Linux
14
NOTA: La mquina virtual se hace duea absoluta del USB por lo que mientras se est ejecutando
no podremos acceder desde el host a dicho dispositivo.
Red
Desde esta opcin podemos configurar hasta cuatro adaptadores de red. Las redes en las que se
encuentran las mquinas virtuales son privadas e independientes de las del anfitrin. Por defecto,
viene en modo NAT.
Nombre:
Adaptador Soloanfitrin.
Tipo de adaptador: selecciona el tipo de adaptador virtual que usar la mquina guest.
Direccin Mac: indica la MAC virtual del adaptador anterior.
Modos de funcionamiento de red que se pueden establecer
No conectado: en este modo, la tarjeta virtual existe en el husped, pero est configurada
como si no tuviera ningn cable conectado.
NAT: (Network Address Translation) es el modo por defecto de la tarjeta de red virtual. Este
modo permite al husped navegar por Internet, descargar ficheros y leer el correo
electrnico sin necesidad de configurar el sistema operativo husped. En este modo, la
mquina virtual puede conectarse a otras redes mediante un router virtual proporcionado
por VirtualBox. Dicho router sirve direcciones DHCP del tipo 10.0.x.0/24 donde x=2 para la
primera tarjeta de red, x=3 para la segunda tarjeta de red, etc. En el caso de una nica
tarjeta de red, el router tiene como puerta de enlace la direccin 10.0.2.2, como servidor
DNS la direccin 10.0.2.3 y la primera direccin DHCP asignada es la 10.0.2.15. Como
desventaja, en este modo, los comandos que envan paquetes ICMP como ping o traceroute
pueden no funcionar correctamente y, en principio, la mquina virtual no es accesible desde
Internet. En resumen:
Linux
15
Adaptador puente (Bridge): en este modo, se crea una tarjeta de red virtual en el anfitrin
que intercepta el trfico de red y puede inyectar paquetes en la red, de manera que el
husped se configura como si estuviera conectado por un cable a la tarjeta de red virtual del
anfitrin.
Cuando se quiere que tengan conexin entre s las mquinas virtuales de un mismo anfitrin.
Ni el equipo host, ni la red interna de la empresa ni el mundo exterior tienen conexin con la VM.
Ya que el trfico no pasa por la mquina host como ocurre en el modo bridge, en el cual se
podra poner un sniffer y ver todo el trfico, es ms seguro.
Es ms eficiente que el modo bridge, ya que Virtualbox puede transmitir los datos sin tener que
pasar estos por la pila de red del sistema host.
Adaptador SloAnfitrin: en este modo se crea una tarjeta de red virtual en el anfitrin que
puede conectarse con las mquinas virtuales sin necesitar que el anfitrin tenga una tarjeta
de red.
Se crea en el equipo Host una nueva interfaz de red llamada por defecto vboxnet0 con una ip
asignada (por defecto 192.168.56.1), que ser la IP con la que desde los guest podamos acceder al
equipo host.
Mquinas Virtuales
Linux
16
driver de vdeo que se instala con las Guest Additions nos ofrece no slo una buena aceleracin de
vdeo, sino tambin resoluciones ms altas.
Sincronizacin horaria. Gracias a las Guest Additions, VirtualBox se asegura de que la hora del
sistema virtualizado est mejor sincronizada.
Carpetas compartidas. Una de las caractersticas ms importantes es la de "las carpetas
compartidas", porque es una forma fcil de poder intercambiar archivos entre el sistema real y el
virtualizado.
Ventanas sin costuras. Esta caracterstica consiste en mostrar una ventana del sistema
virtualizado como si formara parte de nuestro sistema real.
Portapapeles compartido. Al igual que las carpetas compartidas, poder compartir el portapapeles
es de gran utilidad. Gracias a esta caracterstica podemos copiar y pegar independientemente de
que estemos en la mquina virtual o real.
Es necesario instalar las Guest Additions en cada una de las mquinas virtuales, para poder
aprovecharlas mejor y para que sean mucho ms cmodas de usar.
Mquinas Virtuales
Linux
17
Con
la
arrancada,
men
tenemos
mquina
dentro
del
"Dispositivos"
la
opcin
correspondiente.
La
iso
encuentra
en:
/usr/share/virtualbox/VBoxGuestAdditions.iso
Y en la pgina de Oracle:
http://download.virtualbox.org/virtualbox/4.0.4/Oracle_VM_VirtualBox_Extension_Pack-4.0.470112.vbox-extpack
Pasamos de todas
las
advertencias
de
seguridad
(Windows se fa
slo de Microsoft
Corporation).
Mquinas Virtuales
Linux
18
Exportar/Importar
Exportar/Importar
Vamos a realizar el proceso de exportacin de la MV con el SO recin instalado
Mquinas Virtuales
Linux
19
En la pantalla anterior no hay mucho que cambiar, podemos rellenar los campos vacos.
La importacin la podemos realizar en cualquier Linux que disponga de VirtualBox, y nos crear una
mquina igual, tanto en hardware como en software, as que os las podis llevar y traer.
Para probarlo, la vamos a exportar en el mismo anfitrin, realizando de esta forma un duplicado.
Mquinas Virtuales
Linux
20
Nos informa de su configuracin, por si queremos cambiarle algo, slo le he cambiado el nombre,
indicando que es importada.
Mquinas Virtuales
Linux
21