Beruflich Dokumente
Kultur Dokumente
RESUMEN
COMANDOS UNIX
Contenido:
4. LA SHELL ............................................................................................ 9
4.1.
4.2.
5. COMANDOS....................................................................................... 15
5.1.
5.2.
5.3.
GENERALES ......................................................................................................................15
TRABAJO CON EL SISTEMA DE FICHEROS ..............................................................................18
GESTIN DE PROCESOS .....................................................................................................22
Pag. 1
el Ncleo (kernel): la parte del sistema que gestiona los recursos del ordenador,
includa la comunicacin por red (el hardware).
Estos dos ltimos sern muy visibles para el usuario, mientras que el funcionamiento del
kernel permanece oculto. En el apartado 3 y 4 estudiars estos dos componentes.
Pag. 3
2. Consolas virtuales
Cuando se inicia un sistema Linux, se crean las llamadas consolas virtuales en modo
comando. Si el arranque est configurado para que no se inicie el modo grfico, cuando
se termina el proceso de arranque el sistema visualiza una de estas consolas virtuales.
Esto, en la mayora de los casos, es una pantalla negra con un breve texto de identificacin
del sistema y la peticin de login de acceso:
Normalmente hay seis consolas virtuales en modo comando. Para acceder a cada una de
estas consolas virtuales se utilizan las combinaciones de teclas [ALT] +[Fn], de tal manera
que la primera consola es [ALT]+[F1] y la ltima [ALT]+[F6].
De esta forma, podemos conmutar entre las seis consolas virtuales. Por tanto, se pueden
iniciar hasta seis sesiones locales simultaneas diferentes con el mismo o con diferente
usuario. Al principio esta caracterstica no parece muy interesante, sin embargo, con el uso
te dars cuenta de lo til que puede llegar a ser.
Por ejemplo, en la consola n 1 ests descargando/instalando un paquete con apt-get y
mientras tanto, trabajas en la consola n 2 editando un fichero.
Pag. 4
3. El sistema de ficheros
3.1. Jerrqua estndar
Un fichero UNIX es una secuencia de 0 o ms bytes. El sistema no distingue entre ficheros
ASCII, binarios, o cualquier otro tipo. La interpretacin del contenido de los ficheros se deja
a los programas que los utilizan.
La longitud de los nombres de los ficheros estaba limitada originariamente a 14 caracteres
arbitrarios, pero BSD UNIX la increment hasta 255. Las maysculas y las minsculas son
significativas, lo que significa que RESUMEN, resumen, y ResumeN seran nombres
diferentes.
Normalmente, muchos programas asumen que los nombres de los ficheros consistan en un
nombre seguido por una extensin separados por un punto. De esta forma, prueba.c es
normalmente un programa en C, informe.pdf un documento de Adobe, leeme.txt un
fichero de texto plano, etc. Sin embargo, estas convenciones no son impuestas por el
sistema operativo.
La gran diferencia de UNIX con respecto a otros sistemas es que en UNIX existe un solo
rbol de directorios y no uno para cada unidad de almacenamiento (disco duro, particin
de disco, unidad flash, CD/DVD, etc.). Cualquier unidad de almacenamiento debe formar
parte de esta estructura nica.
A la operacin por la cual una unidad de almacenamiento entra a formar parte del rbol de
directorios del sistema se la denomina montaje del dispositivo.
Existe un directorio que contiene el resto de archivos y directorios del sisterma. Es el
directorio raz. El directorio raz se representa siempre con el smbolo de barra inclinada
/.
lib
(directorio raiz)
media
mnt
opt
proc
root
sbin
tmp usr
var
Pag. 5
Directorio
Descripcin breve
/bin
/boot
Gestores de arranque.
/dev
/etc
/etc/network
/etc/X11
/home
/lib
/media
/mnt
/opt
/proc
/root
/sbin
/tmp
/usr
/var
/var/log
/var/mail
/var/tmp
Pag. 6
Ruta absoluta: es la ruta completa desde el principio del rbol hasta el directorio al
que nos referimos. Una ruta absoluta siempre comienza con el directorio raz (/).
Ejemplos:
/usr/bin/firefox
ruta absoluta
../../bin/ls
ruta relativa
grupo del propietario: los usuarios que pertenecen al mismo grupo que el
propietario.
Pag. 7
Los ficheros se protegen mediante la asignacin a cada uno de ellos de 9 bits que indican
el modo de acceso (permisos) del fichero:
-
Cada grupo de tres bits controlan la lectura, escritura y ejecucin del fichero.
Si es un directorio, el tercer bit no indica ejecucin sino acceso al directorio.
Ejemplos:
r--r-r-- (444 en octal) Fichero de slo lectura
rw-r----- (640 en octal) Lectura y escritura para el propietario y lectura para el grupo.
rwxrwxrwx (777 en octal) El fichero no tiene restricciones de uso.
Para ver los permisos de ficheros y directorios, utiliza el comando ls con la opcin l:
$ ls l
Para cambiar los permisos de un fichero, utiliza el comando chmod:
Pag. 8
4. La Shell
4.1. Conceptos bsicos
Al iniciar sesin en un sistema UNIX, una vez validado el usuario y la password, se ejecuta
un programa de gran importancia que se conoce con el nombre genrico de Shell. Este
programa es en definitiva el intrprete de comandos de UNIX.
Si has iniciado sesin remota con un cliente Telnet/SSH o en local sin iniciar el entorno de
escritorio, inmediatamente vers el indicador o prompt de la shell que es por defecto el
signo $.
Para acceder a la shell dentro de un entorno de escritorio, abre el programa Terminal que,
en el caso de GNOME, est en el men Aplicaciones > Accesorios.
El Prompt
Lo normal en sistemas GNU/Linux, es que el prompt posea ms informacin para el usuario
en el formato siguiente: [usuario@nombre_maquina:directorio_actual]$
Por ejemplo:
josema@lucas:~/Documentos$
(el caracter ~ indica el directorio home del usuario)
En el caso de que sea el superusuario (root) el que haya iniciado sesin, el prompt ser #
Diferentes Shells
UNIX permite el uso de distintas shells. Las ms conocidas son
-
Bourne SHell (sh): es la shell tradicional de UNIX y existe en todas los sistemas.
Creada por Steve Bourne (AT&T Bell).
C SHell (csh): posterior al Bourne shell, fue diseada para que los shell scripts
tuvieran una apariencia similar a un programa escrito en C.
Korn SHell (ksh): es un superconjunto del Bourne shell e incorpora algunas de las
funciones ms tiles del C shell.
Dado que la shell es el primer programa que se ejecuta despus de la validacion, cada
usuario tiene asignada la shell que se ejecutar cuando acceda al sistema.
De la shell que utilicemos dependern algunos aspectos del trabajo en modo comando,
aunque, en general, las diferencias slo sern apreciadas por usuarios avanzados, en
particular, al escribir shell scripts.
Pag. 9
Sin embargo, hay algunas caractersticas comunes a las shells ms avanzadas y que
facilitan mucho el trabajo en lnea de comandos:
Estas tres funciones de la shell conviene tenerlas siempre presentes ya que facilitan mucho
el trabajo desde la lnea de comandos.
Comodines o metacaracteres
Los caracteres ms frecuentes son:
*
?
Pag. 10
$ cat *
sera equivalente a:
$ cat LE*
mientras que la siguiente orden mostrar todos los ficheros que contengan EE en sus
nombres:
$ cat *EE*
El segundo carcter comodn es el ?, que se sustituye por cualquier carcter simple en un
nombre de fichero. La siguiente orden mostrara el fichero LEEME,
$ cat ?EEME
Esta orden hara lo mismo que la anterior:
$ cat ?E?ME
Sin embargo con la siguiente linea no se encontrara el fichero ya que ? solo puede sustituir
a un carcter:
$ cat L?ME
Otros metacaracteres disponibles son:
[]
Pag. 11
Grupo de ficheros
a*
a?
a1 a2 a3 aA aB aa
a??
a?*
a?1
[ab]*
?1*
a[A-Z]*
aA aA1 aB aG1
[!a]*
b1 b2 b3
a[A-D]*
aA aA1 aB
? [1-9]*
? [!1-2]*
a3 aA aA1 aB aG1 aa b3
opcion/es
parmetro:
nombre de un fichero
sort r titulos
Por convenio, la orden siempre estar en minsculas. En la sintaxis de las rdenes de
UNIX, las opciones siguen al nombre de orden y preceden a los argumentos primordiales.
Las opciones indican a la orden una modificacin a su comportamiento normal. Comienzan
generalmente con un signo - (menos) colocado justamente delante de la opcin, sin ningn
espacio intermedio, siendo posible combinar varias opciones con un solo signo - que
marcara el comienzo de las opciones.
Pag. 12
Ejemplo:
$ ls -la /tmp
Generalmente, cuando cometas un error, la orden responder con un mensaje recordndote
la forma correcta de uso.
Los argumentos pueden ser una lista de ficheros y/o directorios, literales entre comillas,
etc.
Podremos concatenar la ejecucin de varias rdenes o programas mediante el uso del
separador ; (punto y coma)
entrada estndar,
salida estndar y
error estndar (salida de errores).
En UNIX los dispositivos se tratan como ficheros, por lo que estos tres ficheros, si no se
indica lo contrario, son dispositivos. Concretamente, la entrada estndar es el teclado,
mientras que la salida y error estndar es el monitor.
UNIX proporciona un mecanismo sencillo para cambiar la entrada y salida estndar. Este
mecanismo se denomina redireccin de E/S.
Redireccin de la salida
Si el ltimo parmetro de una orden es un nombre de fichero precedido por el carcter >
(mayor que), la salida estndar de esa orden de redirige hacia ese fichero en lugar de
aparecer por la pantalla. Si el fichero no existe, se crea. Si existe, se eliminar su contenido
y se reemplazar por la salida de la orden. Para evitar este ltimo caso, se puede
redireccionar mediante los caracteres >>, de forma que la salida de la orden se concatena
con el contenido anterior del fichero.
Ejemplos:
Pag. 13
Tuberas y cauces
Mediante redireccionamiento es posible encadenar una orden con un fichero. Mediante las
tuberas (pipes) se pueden encadenar varias rdenes. Para ello se emplea el smbolo |.
Por ejemplo, la orden who visualiza una lista de los nombres de los usuarios que se hallan
conectados al sistema y la orden wc cuenta lneas, palabras y caracteres. Para saber
cuntos usuarios hay conectados se puedan encadenar las rdenes de la siguiente forma:
$ who | wc l
(la opcin -l hace que wc cuente nicamente lneas)
Otro ejemplo, la orden grep busca una cadena dentro de uno o varios ficheros y escribe en
pantalla las lineas que la contienen. Si se desea que la salida salga ordenada, se debera
pasar esa salida como entrada para la orden sort.
Pag. 14
5. Comandos
5.1. Generales
ORDEN + EJEMPLOS
clear
SINTAXIS
who
finger
finger [usuario]
date
cal
cal mes ao
$ cal 5 2012
tty
$ tty
/dev/tty6
hostname
uname
uname [opcin]
sin opcin muestra el kernel (-s)
Ejemplo:
opciones:
-p: procesador
-i: plataforma hardware
-s: kernel.
-r: versin del kernel.
-n: nombre del equipo (nodo)
-a: todo
$ uname -nsr
Linux JMH-Server 3.2.0-29-generic-pae
exit
Pag. 15
sudo
Reinicia la mquina:
$ sudo reboot
poweroff
Apaga la mquina:
$ sudo poweroff
man
$ man man
$ man ls
passwd
Pag. 16
ifconfig
ifconfig [parmetros]
$ ifconfig
Visualiza el estado de eth0
$ ifconfig eth0
route
Muestra la tabla.
$ route
En la primera linea vers la puerta de enlace
predeterminada (default gateway)
apt-get
Pag. 17
pwd
SINTAXIS
$ cd /boot/grub
$ pwd
/boot/grub
cd
cd [directorio]
si no se indica directorio, te situa en
el directorio home del usuario.
$ cd
Cambio al directorio padre del actual:
$ cd ..
Cambio al directorio tmp usando ruta relativa
(suponiendo que ests en tu home):
$ cd ../../tmp
Lo mismo que el anterior pero usando ruta
absoluta:
$ cd /tmp
ls
$ ls -l
Ms informacin:
http://dns.bdat.net/documentos/cursos/ar01s17.html
cp
cp [opciones] ficheros-origen
directorio-destino
http://dns.bdat.net/documentos/cursos/ar01s06.html
Pag. 18
rm
http://dns.bdat.net/documentos/cursos/ar01s24.html
mv
rm [opciones] fichero(s)
opciones:
-f: no pide confirmacin ni muestra
errores.
-r: borra contenido de
directoriosrecursivamente.
-v: muestra el nombre de cada fichero
borrado.
mv [opcin] origen destino
http://dns.bdat.net/documentos/cursos/ar01s21.html
chmod
$ cd docs
$ chmod R 644 *
Ms informacin:
http://dns.bdat.net/documentos/cursos/ar01s103.html
mkdir
Ms informacin:
http://dns.bdat.net/documentos/cursos/ar01s20.html
cat
Ms informacin:
http://dns.bdat.net/documentos/cursos/ar01s04.html
Pag. 19
touch
touch fichero(s)
http://dns.bdat.net/documentos/cursos/ar01s27.html
type
type fichero_ejecutable
file
file fichero
less
less fichero(s)
comandos:
- ENTER: avanza una linea.
- ESPACIO: avanza una pantalla.
- G: va al final
- g: va al principio
- / cadena: busca la cadena
- q: sale
head
head fichero
Ms informacin:
http://dns.bdat.net/documentos/cursos/ar01s13.html
opciones:
-n N: muestra las N primeras lineas.
-c N: muestra los N primeros bytes.
tail
tail fichero
Ms informacin:
http://dns.bdat.net/documentos/cursos/ar01s26.html
opciones:
-n N: muestra las N ltimas lineas.
-c N: muestra los N ltimos bytes
wc
wc fichero
Ms informacin:
opciones:
-l: muestra n de lineas.
-w: muestra n de palabras.
-c: muestra n de caracteres.
find
Ms informacin:
http://dns.bdat.net/documentos/cursos/ar01s11.html
opciones:
-name patrn para nombre
-user usuario
-type f, d
-size +|-tam
-exec comando {}\;
Pag. 20
grep
Ms informacin:
opciones:
-v muestra las lineas que NO
coinciden con el patrn.
-r busca recursivamente en
directorios.
sort
Ms informacin:
opciones:
-r ordena de forma inversa
-f no distingue may. y mun.
Pag. 21
A los procesos lanzados por el usuario se les denomina trabajos o jobs. Un usuario puede
lanzar mltiples procesos de forma simultnea desde una misma shell; sin embargo, solo
uno de ellos podr tener interaccin directa con el usuario. A este trabajo se dice que se
est ejecutando en primer plano o foreground.
El resto de trabajos puede ejecutarse en segundo plano o background. El operador &
permite a un usuario indicar que un programa se ejecute en background:
ORDEN + EJEMPLOS
ps
$ ps u josema
SINTAXIS
ps [opciones]
opciones:
-u: muestra procesos del usuario
indicado. Si no se indica, ser el
actual.
-e: muestra todos los procesos.
-f: muestra informacin ampliada.
$ ps ef
pstree
jobs
Pag. 22
bg
bg jobid
fg
fg jobid
kill
Seales:
- 15 (TERM): terminar el
proceso de forma ordenada.
- 9 (KILL): fuerza la terminacin
de un proceso (cuando un
proceso no responde a TERM).
$ kill 3439
Si la orden anterior no logra su objetivo, se
forzara la termkinacin con:
$ kill 9 3439
killall
killall cadena
Por defecto enva TERM.
Ejemplo:
$ killall firefox
top
Pag. 23