Está en la página 1de 22

Comandos Unix

GNU/Linux
GNU/Linux es uno de los trminos empleados para referirse a la combinacin del
ncleo o kernel libre similar a Unix denominado Linux, que es usado con herramientas
de sistema GNU. Su desarrollo es uno de los ejemplos ms prominentes de software
libre; todo su cdigo fuente puede ser utilizado, modificado y redistribuido libremente
por cualquiera bajo los trminos de la GPL (Licencia Pblica General de GNU, en
ingls: General Public License) y otra serie de licencias libres.1
A pesar de que Linux (ncleo) es, en sentido estricto, el sistema operativo,2 parte
fundamental de la interaccin entre el ncleo y el usuario (o los programas de
aplicacin) se maneja usualmente con las herramientas del proyecto GNU o de otros
proyectos como GNOME. Sin embargo, una parte significativa de la comunidad, as
como muchos medios generales y especializados, prefieren utilizar el trmino Linux
para referirse a la unin de ambos proyectos
A las variantes de esta unin de programas y tecnologas, a las que se les adicionan
diversos programas de aplicacin de propsitos especficos o generales se las denomina
distribuciones. Su objetivo consiste en ofrecer ediciones que cumplan con las
necesidades de un determinado grupo de usuarios. Algunas de ellas son especialmente
conocidas por su uso en servidores y supercomputadoras.3 donde tiene la cuota mas
importante del mercado. Segn un informe de IDC, GNU/Linux es utilizado por el 78%
de los principales 500 servidores del mundo,4 otro informe le da una cuota de mercado
de % 89 en los 500 mayores supercomputadores.5 Con menor cuota de mercado el
sistema GNU/Linux tambin es usado en el segmento de las computadoras de escritorio,
porttiles, computadoras de bolsillo, telfonos mviles, sistemas embebidos,
videoconsolas y otros dispositivos
El proyecto GNU, que fue iniciado en 1983 por ,Richard Stallman; 8 tiene como
objetivo el desarrollo de un sistema operativo Unix completo y compuesto enteramente
de software libre. La historia del ncleo Linux est fuertemente vinculada a la del
proyecto GNU. En 1991 Linus Torvalds empez a trabajar en un reemplazo no
comercial para MINIX9 que ms adelante acabara siendo Linux.
Cuando Torvalds liber la primera versin de Linux, el proyecto GNU ya haba
producido varias de las herramientas fundamentales para el manejo del sistema
operativo, incluyendo un intrprete de comandos, una biblioteca C y un compilador,
pero como el proyecto contaba con una infraestructura para crear su propio sistema
operativo, el llamado Hurd, y este an no era lo suficiente maduro para usarse,
comenzaron a usar a Linux a modo de continuar desarrollando el proyecto GNU,
siguiendo la tradicional filosofa de mantener cooperatividad entre desarrolladores. El
da en que se estime que Hurd es suficiente maduro y estable, ser llamado a reemplazar
a Linux.
Entonces, el ncleo creado por Linus Torvalds, quien se encontraba por entonces
estudiando en la Universidad de Helsinki, llen el "espacio" final que haba en el
sistema operativo de GNU. En mayo de 1996 Torvalds decidi adoptar al pingino Tux
como mascota para Linux.
Pagina 1 de 22

Comandos Unix

Componentes
-

Nucleo o Kernel
Entorno grfico, compuesto de :
o servidor grafico versin del x-windows-system de unix, en principio fue
el proyecto xfree86 , hoy en dia proyecto xorg.
o Gestor de escritorios (kdm, gdm)
o Un escritorio: los ms populares en Linux, en orden alfabtico son
GNOME, KDE, LXDE, Xfce y Xf.

Como sistema de programacin: Tiene capacidad para compilar C, C++, Java,


Ada. Hay varios entornos de desarrollo integrados disponibles para GNU/Linux
incluyendo, Anjuta, KDevelop, Ultimate++, Code::Blocks, NetBeans IDE y
Eclipse. Tambin existen editores extensibles como Emacs o Vim. GNU/Linux
tambin dispone de capacidades para lenguajes de guin (script), aparte de los
clsicos lenguajes de programacin de shell, o el de procesado de textos por
patrones y expresiones regulares llamado awk, la mayora de las distribuciones
tienen instalado Python, Perl, PHP y Ruby.

Aplicaciones de usuario: en paquetes .deb y .rpm

Software de cdigo cerrado para GNU/Linux: Durante la etapa temprana


haba pocas aplicaciones de cdigo cerrado para GNU/Linux. Con el tiempo se
fueron portando programas no libres al sistema GNU/Linux, entre ellos Adobe
Reader, Adobe Flash, Google Picasa, Opera, entre otros.

kernel ncleo
El kernel ncleo de linux se puede definir como el corazn de este sistema operativo.
Es el encargado de que el software y el hardware de tu ordenador puedan trabajar
juntos.

Las funciones ms importantes del mismo, aunque no las nicas, son:

Administracin de la memoria para todos los programas y procesos en ejecucin.

Administracin del tiempo de procesador que los programas y procesos en


ejecucion utilizan.

Pagina 2 de 22

Comandos Unix

Es el encargado de que podamos acceder a los perifricos/elementos de nuestro


ordenador de una manera cmoda.

Hasta que empez el desarrollo de la serie 2.6 del ncleo, existieron dos tipos de
versiones del ncleo:

Versin de produccion: La version de produccion, era la version estable hasta el


momento. Esta version era el resultado final de las versiones de desarrollo o
experimentales.

Cuando el equipo de desarrollo del ncleo experimental, decidia que tenia un


nclo estable y con la suficiente calidad, se lanzaba una nueva versin de
produccin estable. Esta versin era la que se debia utilizar para un uso
normal del sistema, ya que eran las versiones consideradas ms estables y libres
de fallos en el momento de su lanzamiento.

Versin de desarrollo: Esta versin era experimental y era la que utilizaban los
desarrolladores para programar, comprobar y verificar nuevas caractersticas,
correcciones, etc. Estos ncleos solian ser inestables y no se debian usar sin
saber lo que se hacia.

Como interpretar los numeros de las versiones de las series por debajo de la 2.6:

Las versiones del ncleo se numeraban con 3 numeros, de la siguiente forma:


AA.BB.CC

AA: Indicaba la serie/versin principal del ncleo. Solo han existido la 1 y 2. Este
nmero cambiaba cuando la manera de funcionamiento del kernel habia sufrido
un cambio muy importante.
BB: Indicaba si la versin era de desarrollo de produccin. Un nmero impar,
significaba que era de desarrollo, uno par, que era de produccin.
CC: Indicaba nuevas revisiones dentro de una versin, en las que lo nico que
se habia modificado eran fallos de programacin.

Unos ejemplos nos ayudaran a entenderlo mejor:

ej1: versin del ncleo 2.4.0: Ncleo de la serie 2 (AA=2), versin de


produccin 4 (BB=4 par), primera versin de la serie 2.4 (CC=0)

Pagina 3 de 22

Comandos Unix
ej2: versin del ncleo 2.4.1: Ncleo de la serie 2, versin 4, en el que se han
corregido errores de programacin presentes en la version 2.4.0 (CC=1)
ej3: versin del ncleo 2.5.0: versin 0 del ncleo de desarrollo 2.5.

Con la serie 2.6 del ncleo, el sistema de numeracin asi como el modelo de desarrollo
han cambiado. Las versiones han pasado a numerarse con 4 digitos y no existen
versiones de produccion y desarrollo.

Las versiones del ncleo se numeran hoy en dia con 4 digitos, de la siguiente
forma: AA.BB.CC.DD.

AA: Indica la serie/versin principal del ncleo.


BB: Indica la revision principal del ncleo. Numeros pares e impares no tienen
ningun significado hoy en dia.
CC: Indica nuevas revisiones menores del ncleo. Cambia cuando nuevas
caracteristicas y drivers som soportados.
DD: Este digito cambia cuando se corrigen fallos de programacin o fallos de
seguridad dentro de una revisin.

Hoy en dia se suele usar el nucleo distribuido con la distribucion que el usuario utiliza.
Son las distribuciones las encargadas de distribuir ncleos estables a sus ausuarios y
estos nucleos se basan en el ncleo ("vanilla") distribuido por Linus Torvalds y el equipo
de programadores del ncleo.

Dnde conseguir el ncleo


El ncleo denominado "vanilla" (sin alteraciones y suministrado por Linus Torvalds) se
puede bajar de un gran nmero de servidores en internet pero el sitio oficial es
http://www.kernel.org/. En este enlace tienes la lista internacional oficial de servidores
espejos, de donde es posible bajarse cualquier versin del ncleo (ltima y antigas).

Cada distribucin distribuye sus nucleos por los canales de actualizacin habituales para
cada una de ellas.

Pagina 4 de 22

Comandos Unix

Estructura del sistema


programas
bibliotecas compartidas
ncleo
Manejo de seales
Planificacin de la CPU
Controladores de dispositivos
Gestin de memoria
Sistema de E/S
Sistema de archivos
mdulos cargables

Organizacin de directorios en Linux


Directorio
/
/boot
/bin
/dev
/etc
/etc/rc.d
/home
/home/ftp
/home/httpd
/lib
/mnt
/mnt/cdrom
/mnt/floppy
/proc
/root
/sbin
/tmp
/usr
/var

Pagina 5 de 22

Descripcin
Raz (root), forma la base del sistema de archivos.
Archivos del kernel (compilados).
Archivos ejecutables esenciales para todos los usuarios.
Archivos de dispositivos.
Archivos de configuracin.
Archivos de inicializacin (Red Hat).
Generalmente, directorios de los usuarios.
Contenido del servidor FTP.
Contenido del servidor WWW.
Libreras esenciales y mdulos del kernel.
Directorios donde ``montar'' diversos dispositivos temporalmente.
Directorio donde se ``monta'' el CD-ROM.
Directorio donde se ``monta'' el disquete.
Informacin sobre partes del sistema.
Directorio del usuario principal del sistema.
Archivos ejecutables para tareas de administracin.
Temporal.
Programas, documentacin, fuentes,...compartidos por todo el sistema
Archivos variables del sistema, bitcoras, temporales,...

Comandos Unix

La tabla 3.10 muestra los principales subdirectorios del directorio usr.


Directorio
/usr/X11R6
/usr/bin
/usr/dict
/usr/doc
/usr/doc/FAQ
/usr/doc/HOWTO
/usr/etc
/usr/games
/usr/include
/usr/info
/usr/lib
/usr/local
/usr/man
/usr/sbin
/usr/share
/usr/src
/usr/src/linux

Descripcin
Paquete XFree86 (X-Windows) Release 6.
Archivos ejecutables para usuarios.
Listados de palabras (diccionarios).
Documentacin.
F.A.Q. (o P.U.F.).
HOWTO's.
Archivos de configuracin del sistema.
Juegos.
Archivos de encabezado.
Sistema de informacin GNU info.
Libreras
Jerarqua de archivos locales.
Manuales.
Archivos ejecutables de administracin no vitales.
Datos independientes de la arquitectura.
Cdigo fuente.
Cdigo fuente del kernel de Linux.

La tabla 3.11 muestra los principales subdirectorios del directorio var.


Directorio
Descripcin
/var/catman
Manuales formateados localmente.
/var/lib
Informacin del estado de aplicaciones.
/var/local
Variables del aplicaciones en /usr/local.
/var/lock
Archivos de cerrojo.
/var/log
Bitcoras del sistema.
/var/named
Archivos del DNS.
/var/nis
Base de datos para NIS (Network Inf. Service).
/var/preserve
Archivos de respaldo despus de una cada para vi o ex.
/var/run
Archivos relevantes a programas corriendo.
/var/spool
Colas de trabajos para realizar mas tarde.
/var/spool/at
Archivos creados por comando at.
/var/spool/cron Archivos creados por comando crontab.
/var/spool/lpd
Archivos de impresora.
/var/spool/mail Archivos de correo de cada usuario.
/var/spool/mqueue Archivos de correo de salida.
/var/spool/news Archivos de noticias de salida.
/var/spool/smail Archivos de correo de smail.
/var/tmp
Temporal.

Formato de los comandos y ayuda


Los comandos en linux son muchsimos y cada uno tiene un formato especial:
comando [opciones] [argumentos]
Las opciones y argumentos varan de un comando a otro. No siempre tienen
argumentos, aunque casi siempre tienen muchsimas opciones.

Pagina 6 de 22

Comandos Unix
Memorizar todo es muy difcil. Para saber como utilizar un comando se usa la ayuda.
man comando
AYUDA
- man comando
ayuda sobre un comando
- man k literal
permite buscar un literal en la ayuda
- man bash
ayuda sobre el interprete de comandos
Estructurada por secciones
1 rdenes de usuario
2 llamadas al sistema
3 funciones de bibliotecas
5 formatos de ficheros
8 rdenes de administracin de sistema
man S 2 chmod (o simplemente man 2 chmod)
- directorio DOCS del CD (howto y mini (minihowto))
LOS DISPOSITIVOS
Se ven de manera similar a los ficheros
tipo carcter
tipo bloque
-Se identifican por:
tipo, nmero mayor y nmero menor
-Estn normalmente en /dev
/dev/hda1
/dev/fd0
/dev/tty
/dev/null
/dev/pts
Los crea el superusuario
mknod /dev/cosa b 0 4 (crea al device cosa en modo de transferencia de
bloque si fuera carcter c con un valor minimo de 0 y valor max. De 4,
cosa0,cosa1,..)
mknod /dev/sdb b 0 4 (creo un device para un pendrive)
CREAR DISCO DE ARRANQUE
- dd if=imagendeldisco of=/dev/fd0
dd if=/dev/hdX of=hdX.iso
eso crea una copia identica del disco a un fichero .iso
dd if=hdX.iso of=/dev/hdX
con esto restauras el sistema a lo que tenias cuando hiciste la copia

Pagina 7 de 22

Comandos Unix
mount -o loop hdX.iso /mnt/hdX
con esto, sobre tu disco duro puedes modificar el contenido del fichero .iso,
GESTION DE USUARIOS
- adduser nombreusuario
crea un directorio en /home con el nombre del usuario y
crea la cuenta de usuario
- adduser usuario grupo
aade un usuario al grupo
- deluser
borra un usuario
- deluser usuario grupo
elimina un usuario de un grupo
- addgroup
crea un grupo
- delgroup
elimina un grupo
- useradd,userdel
lo mismo pero mas bsico, sin preguntas
- groups usuario
grupos a los que pertenece un usuario
- passwd nombreusuario
establece un pass para la cuenta
- w sf
muestra informacin de los usuarios, cuentas, consolas
abiertas, y que hacen en cada una de ellas
- finger
me indica los usuarios conectados
- who usuario
me da informacin de un usuario
- chfn usuario
permite cambiar el nombre real de un usuario
- chsh s Shell usuario
permite cambiar el shell con el que inicia la sesion un
usuario:
1 es necesario conocer los shell disponibles, para ello es
necesario editar el contenido del fichero /etc/shells
2 ejecutamos el comando indicando el shell
- usermod [opciones] login
Permite modificar la cuenta de usuario una vez ha sido creada. Posee
las mismas opciones que la orden useradd.
Opciones:
-c Modifica el nombre del usuario.
-d Modifica el directorio de trabajo del usuario (directorio home).
-s Modifica el shell que usar por defecto el usuario.
-g Modifica el grupo base del usuario.
-G Indica a que otros grupos pertenecer el usuario.
-L Bloquea la contrasea, deshabilitando la cuenta de usuario.
-U Desbloquea la contrasea, habilitando la cuenta de usuario para
iniciar sesin.
TIPOS DE SHELL
- Bourne shell :utilizado para constyruir nuevos comandos mediante guiones (bash)
Al iniciar utiliza etc/profile (parte comun del entorno para todos) y
~/.bash_profile (archivo personal del usuario)
Desde otro interprete ~/.bashrc y /etc/bashrc
Al salir ~/.bash_logout

Pagina 8 de 22

Comandos Unix
- Cshell:
los guiones (scripts) se construyen en c (Tcsh)
Pdksh o ksh : otros shell menos conocidos
Cada shell define un entorno con variables propias y definidas por el usuario. Las
variables definidas tpicamente en el shell Bash, suelen ser:
Variable
DISPLAY
HOME
HOSTNAME
MAIL
PATH
PS1
SHELL
TERM
USER

Descripcin
Donde aparecen la salidas de X-Windows.
Directorio personal.
Nombre de la mquina.
Archivo de correo.
Lista de directorios donde buscar los programas.
Prompt.
Intrprete de comandos por defecto.
Tipo de terminal.
Nombre del usuario.

Las variables de entorno se definen, en BASH, con el comando export:


export VARIABLE = valor
Existen ficheros que personalizan y definen estas variables.
- /etc/profile
- ~/.bash_profile
- ~/.bash_login
- ~/.profile
- ~/.bashrc

CONSOLAS
Alt + Fn
Alt + ctrl. + Fn
Alt + F7

cambia de una consola a otra


cambia a una consola estando en modo grafico
vuelve a la consola en modo grafico

DIRECTORIOS
- pwd
muestra el directorio actual
- ls
muestra el contenido de un directorio. Opciones:
-a
muestra los ocultos (deben empezar por .)
-F
distingue los diferentes tipos de ficheros (*para los ejecutables)
--color igual que F pero los distingue por colores
-l
lista los archivos con formato largo
-i con inodos
-R recursivo
-t ordenado por tiempos
-r orden inverso
-d no meterse en directorios
$ ls -l
-rw-r--r--rw-r--r--rw-r--r--rw-r--r--

1
1
1
1

Pagina 9 de 22

skina
skina
skina
skina

users
users
users
users

17680 Nov 29 16:52 GNU-GPL.tex


2573 Nov 30 19:52 Makefile
1562 Nov 29 13:47 autorizacion.txt
461 Oct 24 21:43 biblio.tex

Comandos Unix
drwxr-xr-x
-rw-r--r--rw-r--r-drwxr-xr-x
drwxr-xr-x

2
1
1
2
3

skina
skina
skina
skina
skina

users
users
users
users
users

1024 Nov 23 01:02 bin/


949 Nov 30 19:26 creditos.tex
550 Nov 30 19:48 curso_linux.tex
3072 Nov 30 22:55 images/
1024 Nov 30 00:09 install/

1 Grupo = Permisos
2 Grupo = Nmero de archivos que contiene
3 Grupo = Usuario propietario del archivo o directorio
4 Grupo = Grupo propietario del archivo o directorio
5 Grupo = Tamao del archivo o directorio
6 Grupo = Fecha y hora de creacin del archivo o directorio
7 Grupo = Nombre del archivo o directorio

- stat fichero
- mkdir directorio
crea
- rmdir directorio
- cd directorio
- cd ..
- cd /
- cd ~

informacin de inodo
crear directorio, con p si no existe la estructura intermedia la
borrar directorio, con p elimina los dir vacios
cambia de directorio
sube un directorio
va al dir raiz
va al dir home del usuario

NOMBRES E INODOS
- Linux soporta varios sistemas de ficheros: minix, ext2, ext3 , vfat (Windows), ...
- Un fichero se representa por un inodo (index node)
- Informacin bsica (stat fichero):
- Tipo
- Propietario
- Permisos
- Longitud
- Fechas y horas de creacin, modificacin y acceso.
- Nmero de nombres
- Mapa de bloques:
- Punteros directos (varios, depende de tamao de inodo)
- Puntero indirecto simple
- Puntero indirecto doble
- Puntero indirecto triple
- Los punteros nulos sealan agujeros (se leen ceros)
DIRECTORIOS Y ENLACES
- Un directorio es un tipo de fichero con pares inodo-nombre (ls i)
- Un inodo puede tener varios nombres (Segunda columna de ls l)
- Enlace duro (da otro nombre a un inodo)
(inodoA, uno) -> (inodoA, otro)
ln otro uno
- Enlace simblico (indireccin de nombres)
uno -> otro
ln -s otro uno
( Ver ltima columna de ls l)

Pagina 10 de 22

Comandos Unix

A nivel de usuario los enlaces duros apenas se usan. Sirve para asociar diferentes
nombres de archivo a un mismo inodo directamente.
Archivo1 INODO Archivo2
En cambio, los enlaces simblicos son muy tiles para asociar diferentes nombres de
archivo indirectamente:
Archivo2 Archivo1 INODO

FICHEROS
Linux diferencia entre mayusculas y minusculas, la longitud max. de los
nombres es de 256 caracteres, los caracteres comodines son:
* cualquier conjunto de car
? un unico car
[aeiou]* fichero que empiece en vocal
los comodines tambien se pueden utilizar en los directorios.Ej:
ls /*/*/ch* (archivos que empiecen por ch en los dos primeros niveles de
subdirectorios)
- cat nombref
- more nombref
- less nombref
cursores
- cp origen destino

muestra el contenido del fichero (sin pausas)


muestra el contenido del fichero (paginado)
muestra el contenido del fichero y permite moverte con los
copia ficheros y estructuras de directorio. Opciones:
-f
fuerza a sobrescribir
-r
copia tambien subdirectorios
-i
pregunta antes de sobrescribir
-v
se escriben en pantalla todas las operaciones que se

realicen
-u
solo sobrescribe si es mas nuevo
-p conservando atributos
- mv [-friu] origen destino mueve a otro lugar o cambia el nombre
- rm [-friu]
borra tanto archivos como directorios
- rm r directorio
borra un directorio y sus subdirectorios aunque no estn vacios
- ln s fichorigen fichenlace
crea un enlace al fichero origen
- find directorio
busca ficheros
type f ficheros normales
type d directorios
type l enlaces simblicos
. whereis
busca ficheros
- du ficheros o directorios
uso de disco
-a incluye ficheros
- file ficheros
heursticos para averiguar el tipo de fichero
PROPIETARIOS
-Todo usuario tiene una identificacin (uid)
Pagina 11 de 22

Comandos Unix
- Pertenece a uno o varios grupos (gid)
- Todo fichero pertenece a un usuario y un grupo
- Todo proceso se ejecuta en nombre de un usuario y un grupo
normalmente el que lo lanz
a veces el propietario del programa (setuid)
- Existen usuarios y grupos privilegiados (root)
- Para cambiar el propietario hacen falta privilegios
chown usuario fichero

PERMISOS DE FICHEROS
- chmod ugoa[+-]=rwxugo fichero modifica los permisos de un fichero
u usuarios, g grupo, o otros, a all
r lectura, w escritura, x ejecucin
Ej: chmod og-r fich
chmod o=g fich
chmod 644 fich
- chgrp grupo fichero
asigna un fichero a un grupo, luego seria necesario dar o
quitarle permisos pero los del grupo podran ver el fichero
- chown usuario o grupo fichero
cambia el propietario de un fichero
chown alumno:pringaus ~/documentos/linux.pdf
ls -l ~/documentos/linux.pdf
-rw-rw-r-- 1 alumno pringaus 2684 ene 2 21:09 linux.pdf
linux:~$ id aitor
uid=500(aitor) gid=500(aitor) grupos=500(aitor)
linux:~$ chown 500 ~/documentos/linux.pdf
linux:~$ ls -l ~/documentos/linux.pdf
-rw-rw-r-- 1 aitor pringaus 2684 ene 2 21:09 linux.pdf
- umask mascara fichero
da los permisos por defecto mediante una mascara
ej: umask 077 todos los permisos para el propietario
PERMISOS DE LOS ARCHIVOS
Para cada uno de estos tres tipos de usuarios podemos
definir tres permisos diferentes:
- Permiso de Lectura (r por Read) Para un archivo
permite que se lea su contenido. Para un directorio,
permite que se muestren los ficheros que contiene.
- Permiso de Escritura (w por Write) Para un archivo
permite modificarlo o borrarlo. Para un directorio
permite que el usuario aada o elimine archivos.
- Permiso de Ejecucin (x, por eXecute) Para un
archivo ejecutable permite que sea ejecutado. Para un
directorio permite que un usuario lo recorra, es decir,
puede entrar leer o escribir en l.

Pagina 12 de 22

Comandos Unix
UNIDADES FISICAS

Particiones y formateo
Un dispositivo de bloques, como el disco duro, ha de particionarse y formatearse.
Las particiones se hacen con el programa fdisk:
fdisk dispositivo
por ejemplo, el disco duro sera: fdisk /dev/hda
Una vez dentro se puede manipular y crear toda clase de particiones. Con la tecla m, se
obtiene ayuda:
- La tecla p muestra las particiones actuales
- La tecla n crea nuevas particiones
- La tecla d borra particin
- La tecla t cambia el tipo de particin. Por defecto, Linux.
- La tecla w graba las particiones en el dispositivo
- La tecla q sale del programa.
El formateo en linux se hace con:
mkfs t tipo dispositivo
donde tipo es el tipo de sistema de ficheros: ext2, ext3, vfat, msdos, etc.
- mkfs t tipo [-c] dispositivo
crea un sistema de ficheros en la unidad indicada
(es como formatear) (con la opcion -c detecta bloques defectuosos).
Ej: mkfs t ext2 /dev/fd0
formatea un diskette
- mount [dispositivo] [situacin] [opciones]
monta un sistema de ficheros bajo una
jerarqua de directorios
- mount
nos muetra un listado de dispositivos montados
Ej: mount /dev/hdc
/cdrom t iso9660 o ro
mount /dev/hdb1 /mnt t msdos
el ultimo parmetro no hace falta ya que detecta el sistema de ficheros
En etc/fstab listado de unidades que se montan
Sistemas de archivos ms comunes en Linux
ext2 Sistema de archivos de Linux.
msdos Sistema de archivos de DOS.
vfat Sistema de archivos de Windows 9X (nombres largos).
iso9660 Sistema de archivos de CD-ROM.
Nfs Sistema de archivos compartido por red (``exportado'').

Un ejemplo de /etc/fstab puede ser:

/dev/fd0 /mnt/floppy ext2 noauto,user,noexec,rw


/dev/fd0 /mnt/msdos vfat noauto,user,noexec,rw
/dev/cdrom /mnt/cdrom iso9660 noauto,user,noexec,ro
/dev/sda4 /mnt/iomegazip vfat noauto,user,noexec,rw
host2:/tmp /mnt/host2 nfs defaults

- umount dispositivo o umount situacin


desmonta un dispositivo o particin, es lo
mismo
- fdformat /dev/fd0 formatea un diskette
- fsck t tipo dispositivo
repara unidades(scandisk) (es conveniente
desmontar el sist. de fich antes de verificarlo. Ej : fsck t ext2 /dev/hda3
Pagina 13 de 22

Comandos Unix
- df
muestra informacion de las particiones
- mkswap [-c] dispositivo [tamao] define una particin como de tipo swap
- swapon dispositivo swapoff dispositivo activa o desactiva una particin swap
- free
informacin sobre el usio de la memoria y de la particin swap
- mknod
se utiliza para crear ficheros de dispositivos (ver manual)

Linux tiene la posibilidad de montar las imgenes de cd/dvd sin tener que grabarlas.
Asumo que sabes como crear directorios y que sabes qu es montar un sistema de
ficheros.
Con unos cuantos comandos de consola podremos montar distintos tipos de imgenes
de CD/DVD fcilmente.

Montar una imagen ISO:


sudo mount -t iso9660 -o loop archivo.iso /media/imagen (directorio que yo cre)

Montar imgenes BIN y CUE:


Para poder montar estos archivos necesitas convertirlos antes a imagen ISO, esto lo
puedes hacer con el programa bchunk.
(Si no tienes instalado bchunk)
sudo apt-get install bchunk
y cuando se haya instalado procederemos a convertir la imagen .bin con su archivo .cue
correspondiente a un solo archivo .iso:
bchunk archivo.bin archivo.cue nuevoarchivo.iso
Ahora ya tendrs un nuevo archivo iso que podrs montar como se explica ms arriba.

Montar imgenes NRG (imgenes de Nero Burning Rom):


Para poder montar estas imgenes tendremos que convertirlas a ISO. Para ello usaremos
el programa nrg2iso, para instalarlo haremos:
sudo apt-get install nrg2iso
y cuando ya est instalado, para convertir la imagen:
nrg2iso archivo.nrg nuevoarchivo.iso
y para montar la imagen ISO simplemente debes seguir las instrucciones detalladas ms
arriba.

Pagina 14 de 22

Comandos Unix

Montar imgenes MDF y MDS


De nuevo utilizaremos un programa para convertir antes la imagen mdf a iso. El
programa tiene el original nombre de mdf2iso. Para instalarlo:
sudo apt-get install mdf2iso
y una vez instalado convertiremos el archivo MDF a ISO:
mdf2iso archivo.mdf nuevaimagen.iso

Montar imgenes IMG


Usaremos el programa CCD2ISO. Este programa no lo he podido descargar desde los
repositorios oficiales de Ubuntu pero de todos modos no estara de ms que intentes
instalarlo por apt-get as:
sudo apt-get install ccd2iso
Para instalarlo de este modo descargamos el archivo que sera algo as como ccd2iso0.2.tar.gz (puede variar la versin) y primero lo descomprimimos as:
tar -xzvf ccd2iso-0.2.tar.gz
Ahora que tendremos una carpeta llamada ccd2iso, hacemos lo siguiente:
cd ccd2iso
./configure
make
make install
Con esto ya tendremos instalado el programa ccd2iso. Finalmente para convertir la
imagen ccd a iso hacemos:
ccd2iso imagen.img imagen.iso
Y montaremos la imagen iso recien creada como se explica ms arriba en esta misma
gua.

ALIAS Y CONCURRENCIA
-

alias rm=rm i
alias ls= ls la
etc permite crear un comando con tus opciones favoritas
para ejecutar varios comandos secuencialmente

Pagina 15 de 22

Comandos Unix

sleep 2; sleep 2; sleep 2


tarda 6 segundos
para ejecutar comandos en concurrencia
sleep 2 | sleep 2 | sleep 2
tarda 2 segundos
para ejecutar comandos en 2 plano (nos devuelve el control al sistema)
sleep 60&
Agrupamiento:
(sleep 5; date) & date
(date ; who) | tee dir | wc
(cd / ; ls) | wc -l

PROCESOS
-

ps
muestra los procesos que se estan ejecutando
ps ax muestra todos los procesos en ejecucin del sistema y de todos los
usuarios
top
muestra el estado del sistema y de los procesos
jobs muestra el estado de los procesos en ejecucin
fg %ntrabajo pasamos un trabajo que esta en 2 plano a 1 plano. Si estamos
ejecutando un trabajo y pulsamos Ctrl.+C lo cancelamos y si pulsamos ctrl.+Z lo
pasamos a 2 plano y lo podremos continuar con fg
bg %ntrabajo continua ejecutando en 2 plano un proceso parado
kill %ntrabajo termina con el trabajo
kill [-seal] PID elimina un proceso y sus hijos
-9 o -kill : seakl de muerte
-1 o HUP : seal de reinicio de proceso
pstree
muestra procesos en rbol
nice
lanza un proceso con una determinada prioridad
-2019 por defecto es 0 solo el root puede establecer valores
negativos (max prioridad)
renice cambia la prioridad de un proceso

Pagina 16 de 22

Comandos Unix
REDIRECCIONAMIENTOS
(Estndar por teclado ) Entrada Procesos Salida (estndar por pantalla)
Podemos redireccionar la entrada o salida a cualquier otro dispositivo.
Ejemplo: ls l > fichero enva la salida a un fichero con la salida del comando ls.
> salida

< entrada

- Salida: comando > archivo


- Salida sin borrar: comando >> archivo
- Entrada: comando < archivo
- Errores: comando >& archivo
- Errores sin borrar: comando >>& archivo
- Tubera: comando1 | comando2 es lo mismo que:
comando1 > fichero.tmp
comando2 < fichero.tmp
El operador de redireccin de salida es destructivo (>), si existiera f2 lo destruye
sobrescribiendo la nueva informacin. Para no destruirlo se utilizara el
redireccionador (>>).
cat < f1 > f2 coge la entrada de f1 y pone como salida f2, es decir, copia f1 en f2.

COMANDOS DE TRATAMIENTO DE TEXTO Y FICHEROS DE TEXTO


Visualizar ficheros
Cat crea, visualiza y concatena un fichero de texto
cat > fichero crea el fichero de texto. Para terminar con la entrada pulsar Ctrol+D
cat fichero visualiza el fichero
cat fichero fichero > f2 concatena el fichero fichero y lo guarda en el fichero
f2.
more listado edita ficheros largos, para bajar lneas pulsar Enter, para paginar, la
barra espaciadora. Para salir pulsamos q o anulamos el proceso con Control + C.
less listado edita ficheros de texto pero se diferencia con more en que podemos
utilizar todas las teclas de direccin.
Comparacin de ficheros

Pagina 17 de 22

Comandos Unix
Para comparar ficheros utilizaremos cmp f1 f2 compara los dos ficheros, y nos
dar como salida en el primer carcter que no son iguales los dos ficheros. Tambin
podemos comparar con el comando diff f1 f2 nos mostrar las lneas diferentes
en los dos ficheros.
Para comparar se suele utilizar el comando comm f1 f2 muestra tres columnas, la
primera sern las lneas nicas del fichero f1, la segunda las lneas nicas del fichero
f2 y la tercera columna, las lneas comunes de los dos ficheros.
Ordenar un fichero
Para ordenar un fichero de texto se utiliza el comando sort fichero, sort n lo
mostrar en orden numrico y sort r en orden inverso. As por ejemplo sort fichero
n r o sort fichero nr ordena en forma inversa un fichero numrico.
Tratamiento con lineas, caracteres y palabras
wc fichero muestra nmero de lneas, nmero de palabras y nmero de
caracteres.
wc l fichero muestra n de lneas
wc c fichero muestra n de caracteres
wc w fichero muestra n de palabras
head y tail muestra las primeras o las ltimas n lneas de un fichero
head 5 fichero muestra las 5 primeras lneas de fichero.
tail 3 fichero muestra las 3 ltimas lneas de fichero.
grep busca una cadena de caracteres en una serie de ficheros que especificamos
como parmetros. Sus opciones sern:
-c : cuenta las lneas en las que aparece la cadena.
-l : muestra los nombres de los ficheros en los que aparece la cadena.
-i : no diferencia entre maysculas y minsculas.
-v: invierte la concordancia (que no contenga la cadena a buscar)
filtro de primer carcter.
^ principio de lnea.
Caracteres comodn para bsqueda con greg
$ final de lnea.

Ejemplo: mostrar el nombre de los ficheros en el directorio de trabajo en los que


aparece alguna lnea que comience por c.
grep l ^c. $HOME/*
Donde ^c. Son las lneas que comienzan por c.Y $home/* es la ruta del directorio de trabajo
($home) y el * indica a todos los ficheros del directorio de trabajo.

Ejemplo: contar el nmero de lneas en un fichero que entra como parmetro y que
termina por c.

Pagina 18 de 22

Comandos Unix
grep c .c$ fichero
Donde c indica a greg que cuente el nmero de lneas y .c$ las lneas que terminan por c.

Pipes o tuberas
Son mecanismos que permiten comunicar procesos entre s, es decir, la salida
estndar de un proceso ser la entrada del otro. Se utiliza el carcter | para
concatenar los procesos.
ls | more visualiza el listado (ls) lnea a lnea.
ls | sort | more igual que el anterior pero el listado sera ordenado.
cat nombres | sort > ordenado visualiza el fichero nombres ordenado
almacenndolo en el fichero ordenado.
Bsqueda de ficheros
Find: busca a partir de un directorio que entra como parmetro, una serie de
ficheros.
Criterios de bsqueda de FIND

- name : segn el nombre y entre comillas un patrn de bsqueda.


-size tamao : busca ficheros con tamao = a ej: -size +1024.
-user id usuario: busca ficheros segn el usuario.

Ejemplo: buscar a partir del directorio raiz, aquellos ficheros que comienzan por
una letra minscula, el resultado guardarlo en un fichero llamado nombres.
find / -name [a-z]* > nombres
Donde / especifica el directorio raiz. name realiza una bsqueda por nombre con find de el intervalo [az] (letras minsculas) donde [a-z]* especifica a los ficheros que comienzan por minscula y le sigue
cualquier cosa. El operador > nombres, redireccionar la salida al fichero nombres.

find /tmp name *.c size +1024


Busca en el directorio /tmp ficheros que el nombre tenga extensin .c y con tamao mayor a 1024 bytes.

ps ef |grep $USER (lista los procesos de un usuario)

awk: Procesamiento de archivos generalizado


El comando awk es un lenguaje de programacion. En otra leccion, daremos mas detalles
de este utilisimo comando. Sin embargo, muchas cosas se pueden hacer sin mayores
conocimientos de awk.
lee lineas de un archivo. Cada linea se parte en campos, segun un separador, por
defecto espacio en blanco. A cada linea se le aplica uno o mas procedimientos de awk.
Un procedimiento consta de dos partes:
awk

Pagina 19 de 22

Comandos Unix
/patron/{accion}

El patron es una expresion regular (ver **), igual que grep o sed; la accion es un
"programa", que se aplica a los campos de cada linea.
Veamos unos ejemplos:
awk '{print $1}' arch

Notese el uso de las comillas, necesarias para evitar problemas con el shell. Imprime el
primer campo de cada linea-- es decir, imprime la primera columna de un archivo.
awk '{print $2, $1}' arch

Imprime la segunda, seguida por la primera, columna de un archivo


Tambien pueden usarse expresiones aritmeticas:
awk '{print $1*$1, $2 - 5.0}' arch

Lo cual imprime el cuadrado de la primera columna, etc.


Seleccionemos las lineas que continen el texto "Hidrogeno"
awk '/Hidrogeno/{print $1, $2*3.1416}' arch

Si el programa de awk es muy complicado, puede residir en un archivo:


awk -f miprog arch

Esto le aplica el programa "miprog" al archivo awk.


Los seleccionadores BEGIN y END seleccionan procedimientos que se ejecutan
respectivamente al principio y fin de procesamineto:
awk '{s = s + $1}
END{print s}' arch

(notese que se puede dar retorno de linea dentro de las comillas.) Este programa suma la
primera columna del archivo arch. El programa se basa en la (afortunada) casualidad
que awk pone todas las variables numericas a cero inicialmente. Una variable (s en el
ejemplo anterior es numerica cuando se usa aritmeticamente.

Pagina 20 de 22

Comandos Unix

Compilacin de fuentes
Para compilar es imprescindible instalar los paquetes de desarrollo bsicos: gcc, libcdev,
y make mediante este comando:
apt-get install gcc libc-dev make
Las fuentes de los programas suelen venir en un archivo tar.gz (tarball). Para
descomprimir el archivo se hace:
tar xvzf archivo.tar.gz
Este comando descomprime normalmente el contenido en un directorio. Una vez dentro
del directorio, lo recomendable es leer algn archivo que se llame INSTALL.TXT o
README.TXT y seguir sus instrucciones.
Lo habitual es seguir los siguientes pasos:
1. ./config
Comprueba que todas las herramientas y liberas necesarias estn instaladas.
Luego, configura la compilacin.
2. make
Compila la aplicacin
3. sudo make install
Esto copia los archivos necesarios recin compilados a los directorios de sistema
para que cualquier usuario pueda ejecutar la aplicacin. Es necesario ejectuar
este comando como root, su o sudo ya que se va a escribir en directorios donde
un usuario normal no debera tener permisos.
Es normal que el programa config requiera instalar libreras de desarrollo de C. En este
caso hay que buscar la que se pida. Una pista es buscar mediante:
apt-cache search librera | grep -dev
El nombre de las libreras de desarrollo terminan en -dev. Por ejemplo, libc-dev es la
librera de desarrollo de las libreras de C bsicas y es requerida en casi cualquier
compilacin.

Comandos que dan informacin sobre el hardware de la maquina


-

lshw
Esto produce una salida tan extensa que lo mejor es exportarlo a
un archivo html:
sudo lshw -html > /tmp/hw.html && firefox /tmp/hw.html

lspci,lspcmcia
lsusb
ver solamente los dispositivos activos: lsusb | grep -v 0000:0000
biosdecode
dmidecode
o Marca versin y fecha de la BIOS
o Tipo de hardware soportado
o Marca y modelo de la placa, tipo de socket, tamao mximo memoria
por slot y mximo soportado.

Pagina 21 de 22

Comandos Unix
o Informacin sobre los puertos y de los slot pci, asi como de los utilizados
y los libres.
-

less /proc/cpuinfo
nos muestra toda la informacin de nuestro procesador y en el caso de ser de
doble ncleo, aparece como si fueran dos
less /proc/meminfo
podemos ver cuanta memoria tenemos y cuanta est disponible.
lshal
inf. Sobre los dispositivos
lshal | grep info.product | cut -d= -f2 | sort

otras herramientas requieren instalacin:


- xosview: uso de la cpu y la memoria
- hardinfo Informacin del sistema parecido al Everest de Windows

Sucesos del sistema


Sistema-> administracin-> Visor de sucesos

Monitor del sistema


Sistema-> administracin-> monitor del sistema

Administracion de servicios
Instalar boot-up Manager
#aptitude install bum

Pagina 22 de 22

También podría gustarte