Está en la página 1de 35

1

Comandos Bsicos Linux


2
Entorno de Trabajo
Servidor LINUX ( Recursos de Hardware )
Acceso por telnet
Comparten
Memoria
Reloj
Procesador
Dispositivos
Archivos
3
Entorno de Trabajo Windows
Computadoras personales conectadas entre si
No comparten
Memoria
Reloj
Procesador
Pueden compartir
Dispositivos
Archivos
4
Intrprete de comandos
Cualquier usuario de Linux acabar antes o
despus relacionndose con el sistema empleando
el modo texto, y no los entornos grficos.
Este modo se basa en la ejecucin de una serie de
comandos, que son interpretados por un programa
o shell.
Linux dispone de varios de estos programas pero
el ms habitual es conocido como bash o Bourne
Again Shell.
Si Linux se arranco en modo texto el sistema
arranca de forma directa el shell y queda a la
espera de introduccin de nuevos comandos
2
5
Intrprete de Comandos
El shell, o intrprete de comandos, es un programa que
est ejecutndose durante toda la sesin con Linux,
actuando de interfaz entre el sistema operativo y el usuario.
Permite que el usuario obtenga el mximo rendimiento del sistema
y aproveche toda su potencia.
Una vez que un usuario se ha registrado en el sistema con
su login y su password,
Se le cede el control al shell,
el cual ejecuta dos archivos de configuracin:
el general (/etc/profile)
y el particular (<directorio_del_usuario>/.profile).
Hecho esto aparece el smbolo prompt y el cursor espera a
que el usuario teclee una orden, que el shell interpretar y
ejecutar en el momento de pulsar <Intro>.
6
Intrprete de comandos
El shell evala lo que se escribe buscando en primer lugar
si contiene un carcter "/" inicial, en cuyo caso lo toma
como un programa y lo ejecuta.
En caso contrario, examina si se trata de una funcin
(secuencia de comandos identificada por un nombre
unvoco), un comando interno o una palabra reservada.
Si ninguna de estas condiciones es cierta, el shell lo trata
como un comando y lo busca en PATH.
Si no est, saca un mensaje del tipo "XX:not found", siendo
XX lo que se ha escrito.
Por otra parte, el shell ofrece la posibilidad de controlar la
ejecucin de los programas y la comunicacin entre ellos.
7
Intrprete de comandos
Los intrpretes de comandos tienen dos formas de
ejecutar el contenido de una lnea de comandos:
esperar a que finalice la ejecucin
o volver a pedir otro comando durante la misma.
Se distinguen as dos planos de ejecucin:
uno donde el programa tiene toda la atencin
y otro donde el programa se ejecuta de fondo sin detener
la sesin, lo cual permite la posibilidad de ejecutar ms
comandos al mismo tiempo.
Adems, el shell tambin es un sencillo lenguaje de
programacin.
8
Lnea de comando
El formato de un comando es:
$ comando -opciones argumentos
Hay opciones que se pueden ingresar como:
comando -opcin argumento,
o $ comando a+b argumento.
Notar que entre las opciones y argumentos, hay un
espacio, que suele ser tomado por Linux como un
cambio de argumentos.
Por este motivo los nombres de los archivos no
deben contener espacios en blanco.
3
9
Entrada Salida del Sistema
Arranque del Linux
Cmo apagar el
equipo
init
Limpieza del
sistema de archivos
login
passwd
login script
logout
10
Arranque Del Linux
Cuando el equipo se enciende el Linux realiza el proceso
de arranque (boot process) automticamente.
Durante este proceso presenta una serie de mensajes en
la pantalla
De existir inconvenientes, los mensajes de error se
mostrarn.
Los scripts de arranque se encuentran guardados en el
directorio /etc
Los principales archivos involucrados son
/etc/inittab
/etc/rc.d
Recomendacin: observar, pero no tocar hasta tener
experiencia.
11
Shutdown
A los sistemas operativos les disgusta que se
apague el equipo.
Se corre el riesgo de daar al sistema operativo
Antes de apagar el equipo, hay que ejecutar
shutdown
Opciones
now apaga al sistema de inmediato
+n n es el nmero de minutos a esperar
-r realiza el shutdown y re-boot
-c cancela el shutdown
12
Shutdown
Idem anterior reboot
Detiene al sistema de inmediato y
automticamente realiza el re-boot
shutdown now r
Detiene al sistema en 10 minutos, listo
para apagar
shutdown +10 h
Detiene al sistema de inmediato, listo
para apagar
shutdown now h
Que hace Ejemplos
4
13
shutdown
#shutdown h now
mensajes relacionados con la detencin y apagado
del sistema aparecen en la pantalla
esperar hasta que el la ltima lnea aparece
system halted
en este momento se puede apagar el equipo
14
Rebooting
El nico motivo que hace que se requiera
reinicializar al sistema es cuando un nuevo seteo
se realiz, y se desea que l mismo tenga efecto.
Mtodo 1
Estando todos los usuarios deslogueados pulsar
simultneamente CTRL ALT DEL
Los mensajes de shutdown aparecern y el sistema
se reinicializar
Mtodo 2
#reboot
15
init
reboot 6
multi-user mode with GUI started (modo normal
para las workstations utilizando X Windows)
5
multi-user mode (modo normal) 3
single user mode (para mantenimiento, no permite
que otros usuarios se logueen)
1
halt system 0
Que hace Opciones
El sistema ya se encuentra levantado y en ejecucin, se puede
el comando init para arrancar o parar al sistema.
16
init
Ejemplos
init 1 para setear al sistema en modo single user
init 6 reboot
5
17
Limpieza del File System
fsck
Se ejecuta automticamente cada vez que el
sistema arranca
Ocasionalmente se puede ejecutar manualmente,
para fijar daos en el sistema de archivos.
Lo utiliza nicamente el administrador del sistema
Se ejecuta logueado como root
18
login
Para entrar al sistema hay que conectarse al
mismo.
Frente al mensaje de login, hay que ingresar el
nombre de usuario
El sistema a continuacin solicita la password o
palabra clave que corresponde al usuario
Si ambos datos son correctos se entra al sistema,
caso contrario, el sistema presenta el login
nuevamente.
El login y la password son case sensitive
19
Cambio de clave o password
Si el usuario desea cambiar su password
$passwd
Enter existing password
Enter new password
Enter new password again
Si el administrador del sistema desea cambiar la
password de un usuario
#passwd nombre_usuario
20
login scripts
Detrs de escena, mientras uno se loguea al sistema, los
siguientes shell scripts se ejecutan. Su objetivo es
inicializar las variables de ambiente
/etc/profile
Este es el primer script que se ejecuta
Se utiliza para inicializar los parmetros globales que son
comunes a todos los usuarios
/home/<username>/.profile_bash
Es el prximo script que se ejecuta normalmente
En general tiene el mismo contenido para todos los usuarios
Se suele cambiar para inicializar parmetros nicos para cada
usuario
/home/<username>/.bashrc
Es el prximo script que se ejecuta cada vez que se comienza
un nuevo shell.
6
21
logout
La salida de una sesin por parte del usuario se
puede realizar de varias maneras:
logout
exit
la combinacin de teclas CTRL D
En el modo grfico mediante la opcin de logout
22
Estado del Sistema
procinfo top
ps env
df du
free id
who uptime
23
uptime
$ uptime
3:53pm up 21 min, 1 user, load average: 0.78, 0.63, 0.38
Tiempo actual (3:53pm)
Nmero de das o mnutos desde el ltimo arranque (up 21
min)
Cantidad de usuarios logueados (1 user)
Utilizacin del sistema por los ltimos intrvalos de 1, 5 y
15 minutos (load average carga efectiva)
24
who
Usuarios logueados
Cuando se loguearon
De donde se
conectaron
tty que estn utilizando
Idle time
Opciones:
-i muestra el tiempo display idle time
-H muestra las columnas de cabecera
7
25
who
$ who
martin tty2 Aug 10 15:52
$ who iH
(omni) . Jun 5 23:27 ttyp0 pepe
FROM IDLE LOGIN- TIME LINE USER
26
id
Este comando muestra en una linea un resumen
del actual usuario
nombre usuario y nmero
grupo principal y nmero
otros grupos y nmeros
$ id
uid=500(martin) gid=500(martin) groups=500(martin)
27
free
Muestra la estadstica de la memoria utilizada.
Valores en Kbytes
total used free shared buffers cached
Mem: 158920 156160 2760 0 5208 47640
-/+ buffers/cache:103312 55608
Swap: 498920 0 498920
28
du
Muestra la cantidad utilizada de disco y muestra el
tamao del actual directorio y subdirectorio en
Kbytes.
$ du
20 .
8
29
du
Muestra el espacio disponible en el disco particin
por particin
Los drives/particiones tienen que estar montadas
para obtener esta informacin.
La informacin del NFS tambin se puede obtener
Para mostrar el espacio libre de los drivers
montados localmente
$df l
30
du
Cuando se quiere saber donde y quien est consumiendo
espacio en disco, en especial cuando se lentifica el sistema
El comando du permite determinar la utilizacin del disco
directorio por directorio
Resumen, slo muestra la salida de cada argumento
-s
Muestra los tamaos en Kbytes y no en bloques (Un
bloque = 1 Kbyte, en Linux)
-k
Muestra los tamaos en formato entendible
-h
Genera un reporte al final -c
Descripcin Opciones
31
du
Para visualizar la cantidad de espacio utilizado por
cada directorio dentro de /home, en un formato
entendible
$ du sh /home/*
32
df
Muestra la informacin de cada file system
$df
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda2 2894608 1885204 862364 69% /
none 79460 0 79460 0% /dev/shm
9
33
df
Muestra el espacio disponible en el disco particin
por particin
Los drives/particiones tienen que estar montadas
para obtener esta informacin.
La informacin del NFS tambin se puede obtener
Para mostrar el espacio libre de los drivers
montados localmente
$df l
34
df
Para mostrar en formato legible, el actual
filesystem donde se halla el directorio actual
$df h
Para mostrar el espacio disponible del filesystem
donde /tmp est ubicado
$df h /tmp
35
env
Lista todas las variables de ambiente y su
contenido para el usuario actual
PWD=/home/martin/comandos
HOSTNAME=localhost.localdomain
USER=martin
MAIL=/var/spool/mail/martin
LANG=en_US.iso885915
LOGNAME=martin
HISTSIZE=1000
HOME=/home/martin
TERM=linux
PATH=/usr/local/bin:/bin:/usr/bin:/home/martin/bin_=/usr/bin/env
OLDPWD=/home/martin
36
ps
Este comando lista el estado de los procesos.
$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
martin 10009 0.0 0.8 2452 1280 tty2 S 15:52 0:00 bash
martin 10076 0.0 0.4 2584 668 tty2 R 15:56 0:00 ps u
El comando anterior muestra el estado de los
procesos del usuario actual
10
37
ps
Siendo
PID NICO Identificador de Proceso
SIZE tamao de la imagen virtual; tamao de
texto + data + stack
RSS Resident set size; Kbytes del programa en
memoria
TTY tty que controla el proceso
STAT informacin sobre el estado del proceso
R ejecucin
S durmiendo
D interrumpiblemente durmiendo
T detenido o en modo traza
Z zombie
W si el proceso no tiene pginas residentes
N si el proceso tiene un valor de prioridad positiva
38
ps
$ ps ax
muestra el estado de todos los procesos de todos
los usuarios incluyendo los del sistema
39
kill
El nombre causa confusin.
Enva seales a los procesos en ejecucin
El SO, por defecto, da a cada proceso un conjunto
normalizado de manejadores de seales (signal handlers)
para el tratamiento de las seales que le lleguen.
Desde el punto de vista de la administracin, las seales
ms importantes son la 9 y la 15, ya que ellas matan a un
proceso o lo terminan, respectivamente.
Cuando el kill se invoca, requiere al menos un parmetro,
el pid del proceso al que se le enva la seal.
Si se pasa sin parmetro, el sistema toma la 15 por
defecto.
40
kill
Algunos procesos interceptan esta seal y realizan
una serie de operaciones para poder terminar
adecuadamente.
Otros simplemente terminan.
Desde ya el uso del kill no garantiza la terminacin
de un proceso.
11
41
signal
Un parmetro opcional para el kill es n donde n
representa un nmero de seal.
La seal 9 mata a un proceso. La nica vez que esta
seal falla es cuando esta en el medio de la ejecucin
de un system call, en este caso el proceso morir
cuando termin la ejecucin del system call.
La seal 1 (hang up), es un bit, que se utilizaba en los
tiempos de las terminales VT100. En el caso que la
comunicacin de una terminal de cayer a la mitad de
una sesin, todos los procesos asociados con esa
terminal recibin la seal SIGHUP o HUP. Esto le daba
la oportunidad a todos los procesos de realizar una
terminacin limpia, o en el caso de los procesos en
background ignorar la seal.
42
seguridades
La potencia de poder terminar un proceso hace necesario
tomar precauciones.
Solamente el usuario puede terminar su proceso o aquellos
que tengan permiso de matarlo.
Si se intenta terminar un proceso sobre el que no se tiene
privilegios, el sistema da mensajes de error.
El root es la excepcin a esta limitacin. El root puede
enviar seales a cualquier proceso. Desde ya esto implica
una gran atencin con lo que se hace.
$kill 2059
$kill 9 593
$kill 1 1
43
top
Muestra en una pantalla completa la informacin
top de los procesos.
Automticamente se actualiza hasta que se
detiene la ejecucin del programa.
Para detenerlo se oprime la tecla q
44
top
3:56pm up 25 min, 1 user, load average: 0.14, 0.32, 0.30
55 processes: 54 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 11.2% user, 5.9% system, 0.2% nice, 82.6% idle
Mem: 158920K av, 156164K used, 2756K free, 0K shrd, 5696K buff
Swap: 498920K av, 0K used, 498920K free 47016K cached
PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND
10078 martin 15 0 1024 1024 828 R 3.8 0.6 0:00 top
1 root 15 0 476 476 420 S 0.0 0.2 0:03 init
2 root 15 0 0 0 0 SW 0.0 0.0 0:00 keventd
3 root 15 0 0 0 0 SW 0.0 0.0 0:00 kapmd
4 root 34 19 0 0 0 SWN 0.0 0.0 0:00 ksoftirqd_CPU0
5 root 15 0 0 0 0 SW 0.0 0.0 0:00 kswapd
6 root 15 0 0 0 0 SW 0.0 0.0 0:00 bdflush
7 root 15 0 0 0 0 SW 0.0 0.0 0:00 kupdated
8 root 25 0 0 0 0 SW 0.0 0.0 0:00 mdrecoveryd12
12 root 15 0 0 0 0 SW 0.0 0.0 0:00 kjournald
91 root 15 0 0 0 0 SW 0.0 0.0 0:00 khubd
588 root 15 0 560 560 472 S 0.0 0.3 0:00 syslogd
593 root 15 0 444 444 384 S 0.0 0.2 0:00 klogd
613 rpc 15 0 552 552 468 S 0.0 0.3 0:00 portmap
641 rpcuser 17 0 712 712 620 S 0.0 0.4 0:00 rpc.statd
726 root 15 0 644 644 480 S 0.0 0.4 0:00 cardmgr
820 root 15 0 480 480 424 S 0.0 0.3 0:00 apmd
896 root 15 0 944 944 756 S 0.0 0.5 0:00 xinetd
12
45
procinfo Informacin del sistema
procinfo da informacin del sistema que toma del archivo /proc y lo
muestra en forma de reporte en la pantalla.
Algunas de las informaciones que entrega:
Tiempo del ltimo arranque
Carga promedio
promedio de tareas en ejecucin
nmero de procesos en ejecucin
nmero total de procesos
PID del ltimo proceso en ejecucin
Informacin de swap
Recursos de memoria
Nmero de discos
Informacin sobre las IRQs
Informacin sobre los file systems
La informacins se actualiza cada 30 segundos
46
$procinfo fn30
Linux 2.4.18-3 (bhcompile@daffy) (gcc 2.96 20000731 ) #1 1CPU localhost]
Memory: Total Used Free Shared Buffers Cached
Mem: 158920 156156 2764 0 5772 47044
Swap: 498920 0 498920
Bootup: Sun Aug 10 15:31:28 2003 Load average: 0.10 0.29 0.29 1/55 10081
user : 0:02:51.00 10.9% page in : 163056 disk 1: 25137r 4835w
nice : 0:00:03.10 0.2% page out: 65079
system: 0:01:30.74 5.8% swap in : 1
idle : 0:21:47.11 83.2% swap out: 0
uptime: 0:26:11.95 context : 158729
irq 0: 157195 timer irq 8: 1 rtc
irq 1: 744 keyboard irq 9: 6 xirc2ps_cs
irq 2: 0 cascade [4] irq 10: 2
irq 4: 9 irq 11: 0 usb-uhci, Texas Inst
irq 6: 6 irq 12: 8381 PS/2 Mouse
irq 7: 2 irq 14: 32718 ide0
47
Estructura del Sistema de Archivos
La estructura de archivos es una estructura
arbolada
El tronco del rbol es el directorio raz
El root directory se identifica por /
Todos los otros directorios son ramas que salen de
ese tronco.
48
Estructura jerrquica de archivos
Estructura de rbol invertido.
Un directorio equivale a abrir una rama dentro del
rbol.
Los directorios pueden contener otros directorios,
archivos ordinarios o estar vacos.
Un archivo ordinario es siempre el ltimo archivo
en un path
13
49
pathnames
El primer directorio de la estructura es el directorio
raz; todos los dems archivos y directorios parten
de l.
El directorio raz se designa con un nombre
especial, /.
Ningn otro archivo puede tener este nombre.
Se lo denomina root, de all el nombre del
superusuario.
50
pathnames
Todos los archivos forman parte de la jerarqua.
Cualquier archivo de esta estructura es parte de una
red de directorios conectados.
Esta red de directorios, junto con el nombre de un
archivos particular, constituye el pathname para un
archivo.
Cada archivo se identifica con un nico pathname, que
describe su localizacin con respecto a los otros
directorios.
Se puede especificar un nombre de archivo utilizando
pathnames
51
pathnames
Un pathname absoluto especifica la localizacin de un archivo
desde el directorio raz.
Por lo tanto, todos los pathnames absolutos deben de empezar
con un slash (/).
Un pathname relativo especifica la localizacin de un archivo
con respecto al directorio en que se est trabajando,
en lugar del directorio raz, por lo que no empiezan con un slash
(/).
. El punto se refiere al directorio en que se est
.. dos puntos se refiere al directorio padre
52
HOMEDIRECTORY
El home directory es un subdirectorio del directorio
raz (root) en el que se entra cada vez que se hace
login
es donde van a residir los archivos del usuario.
Normalmente tiene el mismo nombre que el
nombre de usuario.
El comando pwd ( print working directory) dice en
qu directorio se est.
El formato es simplemente :
$pwd
14
53
Principales Directorios
/ root directory
/home directorio de los usuarios
/usr comandos y utilitarios de Linux
/bin programas ejecutables
/lib bibliotecas similares a las DLL de Windows
/sbin ms ejecutables de tipo administrativos
/doc documentacin
/src cdigo fuente de los programas
/tmp archivos temporarios de trabajo
54
Principales Directorios
/etc archivos de configuracin
/rd.d scripts usados durante el arranque y
parada
/sysconf archivos de configuracin por defecto
/sysconf/daemons
programas especiales que se ejecutan
en background
/bin archivos ejecutables que utilizan
todos los usuarios
/dev archivos de dispositivos
55
Principales directorios
/var archivos especficos de los
usuarios
/log archivos logs
/spool archivos utilizados durante las
impresiones
/mail archivos de e-mail
/proc archivos del sistema
/root home directory del root
/opt otras opciones
/sbin ms ejecutables y utilitarios
56
Archivos y Directorios en Linux
pwd
mkdir
rm
Metacaracteres
*
?
[ ]
cd
rmdir
ls
cp
mv
wc
15
57
pwd
Mostrar el nombre del directorio completo actual
/home/jpbeck
58
cd
Para cambiar de directorio
se ubica en el directorio padre cd ..
se ubica en el directorio /etc cd /etc
se ubica en el directorio root cd /
se ubica en el H0MEDIRECTORY cd
Qu hace Ejemplos
59
mkdir rmdir
mkdir Crea nuevos directorios
rmdir Borra directorios, pero que no contienen
archivos
rm r Borra en primer lugar los archivos que
contiene el directorio, y luego el directorio
borra al directorio dire1, junto con todos los
directorios y archivos que contenga
rm r dire1
borra al directorio estedir, si el mismo se
encuentra vacio
rmdir estedir
crea un nuevo directorio denominado midir
mkdir midir
60
mkdir
Se utiliza para crear directorios
$mkdir midir
Con la opcin p, se puede crear una rama de
directorios, suponiendo que slo existe /tmp
$mkdir p /tmp/bigdir/subdir/midir
al ejecutarse de gener automticamente bigdir,
subdir y midir.
16
61
rmdir
Idem a la creacin, con la opcin p puede borrar
directorios padre tambin
$ rmdir p bigdir/subdir/midir
es importante la ubicacin desde donde uno est
borrando directorios.
62
ls
Muestra el contenido de un directorio
Muestra el archivo correspondiente
filename(s)
muestra los archivos ms recientemente
accesados
-t
lista los archivos en orden alfabtico inverso
-r
muestra todos los archivos, an los ocultos
-a
lista el directorio actual y todos los directorios
dentro del mismo
-R
listado largo
-l
Qu hace? Opciones
63
ls
Lista todos los archivos del directorio /etc, que slo
comienzan con rc y los ordena por el ms
recientemente utilizado
ls lt /etc/rc*
Lista todos los archivos, ordenados por el ms
reciente utilizado primero
ls lt
Lista todos los archivos del directorio actual y los
que estn por debajo
ls R
Lista todos los archivos/directorios del directorio
actual en formato largo
ls l
muestra en una nica lista todos los nombres de los
archivos y directorios en el directorio actual
ls
Qu hace? Ejemplos
64
ls l
total 43
-rw-rw-r 1 martin martin 190 Aug 10 15:55 df
-rw-rw-r-- 1 martin martin 5 Aug 10 15:55 du
-rw-rw-r-- 1 martin martin 885 Aug 10 15:56 env
-rw-rw-r-- 1 martin martin 230 Aug 10 15:54 free
-rw-rw-r-- 1 martin martin 51 Aug 10 15:54 id
-rw-rw-r-- 1 martin martin 0 Aug 10 16:04 lsl
-rw-rw-r-- 1 martin martin 1124 Aug 10 15:57 procinfo
-rw-rw-r-- 1 martin martin 208 Aug 10 15:56 ps
-rw-rw-r-- 1 martin martin 1785 Aug 10 15:56 top
-rw-rw-r-- 1 martin martin 62 Aug 10 15:53 uptime
-rw-rw-r-- 1 martin martin 31 Aug 10 15:53 who
17
65
Informacin que muestra ls -l
TIPO DE ARCHIVO :
d directorio
- archivo ordinario
TIPO DE PERMISOS :
r lectura
w escritura
x ejecucin
66
Informacin que muestra ls -l
NUMERO DE ENLACES
NOMBRE DEL PROPIETARIO DEL ARCHIVO
NOMBRE DEL GRUPO AL QUE PERTENECE EL
PROPIETARIO
TAMAO DEL ARCHIVO (en bytes)
FECHA DE LA ULTIMA MODIFICACION
NOMBRE DEL ARCHIVO
67
Proteccin de archivos
Existen tres clases diferentes de usuarios de un
archivo y tres modos diferentes de acceso al
archivo.
CLASES DE USUARIO
Propietario
Grupo
Otros
68
Modos de acceso
LECTURA (r)
Permite examinar el contenido del archivo.
Permite listar los archivos contenidos en el
directorio.
ESCRITURA (w)
Permite cambiar el contenido del archivo.
Permite crear y borrar archivos.
EJECUCION (x)
Permite ejecutar el archivo como un comando.
Permite buscar en el directorio.
18
69
Especificacin de permisos
rwx rwx rwx
| | |
| | |_______ permisos para otros usuarios
| |
| |____________ permisos para el grupo de
usuarios
|
|________________ permisos para el usuario
propietario
70
Metacaracteres (wildcards)
representa los valores no contemplados
en el rango
[ ! desde a ]
representa un rango [ desde - a ]
representa uno y slo un caracter ?
representa ningn, uno o cualquier
cantidad de caracteres
*
Qu hace Opciones
71
Nombres de los Archivos
Letras maysculas ( A - Z ).
Letras minsculas ( a - z ).
Nmeros ( 0 - 9 ).
Subrayado ( _ ).
Punto ( . ).
Coma ( , ).
Extensin de un archivo
No se admiten espacios en blanco en el nombre
72
Metacaracteres
Todos los archivos que no comiencen ni con M o N u O
[!M-O]*
todos los archivos que comiencen con x, y cuya
segunda letra sea una A, o B o C
x[A-C]*
todos los archivos que comiencen con a o b o c
[a-c]*
todos los archivos cuyos nombres son de 4 caracteres y
empiecen con th
th??
todos los archivos que comienzan con a y terminan con
z
a*m
todos los archivos que terminan con z
*z
todos los archivos que empiezen con a
a*
Qu hace Ejemplos
19
73
Expansin del nombre de un archivo
Utilizando el bash, los wildcards o metacaracteres
en la lnea de comando se expanden antes de
pasarse como parmetros a la aplicacin.
Si se quiere utilizar los metacaracteres como parte
de un parmetro por alguna razn, se deben
utilizar precedidos por el backslash (\). Esto hace
que el shell interprete al asterisco, al signo de
pregunta como caracteres regulares en vez de
metacaracteres.
74
Archivos Invisibles u Ocultos
Los archivos cuyos nombres comienzan con un
punto (.)
Normalmente los archivos ocultos se utilizan para
guardar informacin que el sistema utiliza
automticamente.
$ ls -a
75
chmod
El comando chmod (change mode) se utiliza para
cambiar los permisos de un archivo ordinario y de
un directorio.
Existen dos formas de cambiar los permisos.
Se pueden cambiar teniendo encuenta los
permisos existentes (modo simblico)
O se pueden asignar permisos
independientemente de los ya existentes (modo
absoluto).
76
chmod modo simblico
Cuando se utiliza el modo simblico se pueden
aadir o quitar permisos a los archivos y
directorios.
El formato del comando chmod simblico es:
chmod [who] cdigo-operador permisos fichero
[who] Tipo de usuario
20
77
chmod modo simblico
Puede tener los siguientes valores:
u : propietario del fichero
g : grupo del que el propietario es miembro
o : usuarios clasificados como otros
a : todos los usuarios del sistema (propietario, grupo y otros)
Cdigo-operador: Indica la operacin que se va a realizar:
+ : aadir permisos
- : quitar permisos
Tipo de permiso:
r : permiso de lectura
w : permiso de escritura
x : permiso de ejecucin
78
chmod modo simblico
Por ejemplo, si el archivo progra1 tiene los
siguientes permisos:
rwx r_ _ r_ _
y si se quiere dar al grupo de usuarios y al resto de
los usuarios del sistema, el permiso de ejecucin
$chmod go +x datos
79
chmod modo absoluto
El modo absoluto se especifica con 3 dgitos
numricos;
cada nmero representa los permisos de cada tipo
de usuario.
Estos dgitos se obtienen, para cada clase de
usuario, a partir de los valores siguientes:
4 : permiso de lectura
2 : permiso de escritura
1 : permiso de ejecucin.
80
chmod modo absoluto
0 : ningn permiso
1 : permiso de ejecucin
2 : permiso de escritura
3 : permiso de ejecucin y escritura (1+2)
4 : permiso de lectura
5 : permiso de lectura y ejecucin (4+1)
6 : permiso de lectura y escritura (4+2)
7 : permiso de lectura, escritura y ejecucin
(4+2+1)
21
81
chmod modo absoluto
La sintaxis para el comando chmod absoluto es:
chmod modo archivo
modo: Son 3 dgitos numricos. Cada uno de ellos
corresponde a los permisos de cada tipo de
usuario.
archivo: Nombre de archivo o directorio.
Por ejemplo:
$chmod 777 datos
concede permisos de lectura, escritura y ejecucin
sobre el fichero datos, a todos los usuarios.
82
Directorios
El directorio es una instancia especial de un
archivo normal
El archivo directorio contiene una lista de archivos,
donde algunos de ellos pueden ser a su vez
directorios.
Concepto similar al folder o carpeta de Windows.
83
Copiar Renombrar - Mover
cp Copia un archivo
$ cp archi1 archi2
copia el archivo archi1 con el nombre archi2, en el mismo
directorio
mv Renombra archivos
$ mv archi2 archi3
le cambia el nombre al archivo archi2 llamndose ahora
archi3
mv Mueve archivos
$ mv archi1 /home/pepe/archi5
mueve el archivo archi1 del directorio actual (copiando y
borrando) al directorio /home/pepe y denominndolo archi5
84
cp
Dispone de una cantidad significativa de opciones.
(ver con man cp)
Para copiar index.html a index-orig.html
$cp index.html index-orig.html
se supone que el archivo index.html se encuentra
el directorio corriente, y se copia con otro nombre
en el mismo directorio
Para realizar copias interactivas
$cp i *.html /tmp
22
85
mv
Puede mover archivos de una ubicacin a otra,
tambin a distintas particiones. En este ltimo
caso necesita que primero se haga la copia, por lo
que se demora un poco ms en su ejecucin.
Para mover el archivo desde /usr/src/myprog/bin/*
a /usr/bin
$ mv /usr/src/myprog/bin/* /usr/bin
Para renombrar /tmp/blah a /tmp/bleck
$mv /tmp/blah /tmp/bleck
86
rm
Borrar archivos
$ rm archivitos borra el archivo archivitos
$ rm i abc* borra, pidiendo confirmacin, a
cada archivo que comienza con
abc
$ rm abc* borra instntaneamente todos los
archivos que comiencen con abc
87
wc
Se utiliza para contar lneas, palabras y caracteres
de un archivo
-c nmero de caracteres
-w nmero de palabras
-l nmero de lneas
$ wc /etc/sendmail.cf lista el nmero de lneas,
palabras y caracteres en el
archivo sendmail.cf
$ ls /etc | wc l Muestra el nmero de
archivos y directorios que
contiene /etc
88
Enlaces o Accesos Directos
Enlace o Vnculos : permite que se comparta la
informacin. La existencia de vinculos es lo que
convierte al rbol en un grafo acclico.
VINCULO
23
89
Enlaces o Vnculos
El vnculo es un enlace con el archivo fsico, para
compartir un archivo entre varios usuarios.
No se puede crear un archivo vnculo de la nada,
es necesario que exista el archivo fsico al cual
est vinculado.
Al realizar un ls el vinculo viene representado
como :
clase - > / etc / passwd
VINCULO
Archivo Fsico
90
Enlaces o Vnculos
Enlaces SIMBLICOS : Amplia el concepto de vinculo
permitiendo vincularse a directorios o archivos de la red.
Un vinculo simblico desde el punto de vista fsico no es
ms que un archivo que contiene el nombre de otro.
No se implementa un vnculo, sino que viene el archivo
vinculado.
Al hacer un vinculo, crea una entrada ms en la tabla de
directorios, y al mismo tiempo un archivo al que est
vinculado.
Directorios : Archivo que contiene informacin sobre
otros archivos( es un archivo). Se puede tratar con las
ordenes de tratamiento de archivos.
91
Enlaces Duros y Simblicos
Hard link
$ ln pwd otro
Soft link
$ ln s pwd otromas
$ ls il
7418 -rw-rw-r-- 2 martin martin 0 Aug 10 16:27 otro
7420 lrwxrwxrwx 1 martin martin 3 Aug 10 16:26 otromas -> pwd
7418 -rw-rw-r-- 2 martin martin 0 Aug 10 16:27 pwd
92
Enlaces duros
Un hard link no puede existir entre dos archivos
que se encuentren en particiones separadas. Esto
se debe a que el hard link hace referencia al i-
nodo del archivo original, y el nmero de i-nodo
puede diferir de particin en particin.
$ ln pepe /home/miguel/pepe
$ ls i pepe
$ ls i /home/miguel/pepe
los dos ltimos comandos van a mostrar el mismo
i-nodo, y el nmero de enlaces en 2
24
93
Enlaces simblicos o blandos
Los hard link, que apuntan al archivo a travs de
su i-nodo
Los symbolic link apuntan a otro archivo por su
nombre.
Esto permite a los symlinks apuntar a archivos
ubicados en otras particiones, an sobre discos de
red.
94
ln
El formato general del comando es
ln original_file new_file
Pero ln tiene muchas opciones, la ms comn es
s, que crea un enlace simblico en vez de uno
duro.
$ln s /usr/local/bin/myadduser /usr/bin/myadduser
95
Archivos de texto
file
Mostrar archivos
less
cat
head
tail
| pipes
Comandos mltiples
sort
grep
96
file
Verificacin del tipo de archivo
$ file otro
otro: ASCII text
$ file otromas
otromas: symbolic link to pwd
25
97
pipes |
Si se desea saber cuantos usuarios hay logueados al sistema
en un instante determinado
$who > logueados
$wc l logueados
$rm logueados
Mediante la tcnica de redireccionamiento se logro escribir un
archivo, el cual despus se leyo y dio la informacin
Pero en un ambiente de multiprogramacin, la escritura y
lectura de disco, es un costo muy elevado
Mediante pipes se resuelve todo en memoria
$who | wc l
Ahorro de una escritura y una lectura en disco.
98
pipes
Los pipes son un mecanismo por el cual la salida
de un proceso se enva a la entrada de otro
proceso
$printenv | grep PS1
El intrprete de comandos de Windows utiliza
tambin pipes
La diferencia radica en que los pipes se ejecutan
concurrentemente, mientras que en Windows cada
proceso se ejecuta en orden, utilizando archivos
temporales para guardar los resultados parciales.
99
Comandos mltiples
Si se ejecuta
$ls l
$ cat /etc/passwd
lo puedo hacer en una nica lnea de comando
$ls l; cat /etc/passwd
100
Redireccionamiento
Mediante el redireccionamiento la salida de un
proceso se puede enviar directamente a un
archivo.
El shell ms que el proceso en s administra esta
situacin, proveyendo de los mecanismos para
que la misma se cumpla
Redireccionamiento
salida a un archivo
agregar a un archivo
enviar un archivo como entrada
26
101
Redireccionamiento
$ls > /tmp/directory_listint
$echo Final >> /tmp/directory_listing
$grep root < /etc/passwd
102
Mostrando Archivos
less se utiliza para visualizar el contenido de
un archivo de texto
$ less /etc/passwd
Mientras se visualiza se dispone de una serie de opciones
que permiten moverse sobre el archivo hacia atrs y hacia
adelante, y tambin buscar palabras.
more se utiliza para visualizar el contenido de
un archivo de texto
$ more /etc/passwd
Idem al anterior, pero con menor cantidad de posibilidades
103
Mostrando Archivos
cat Muestra el archivo de texto completo, no
tiene posibilidad de paginacin como el
less o el more
$ cat /etc/passwd
Tambin se puede utilizar para crear un nuevo
archivo
$ cat > nuevoArchi
Se ingresan las lneas de texto por teclado. Para
cerrar el archivo se pulsa CTRL - D
104
cat
Muestra el contenido de los archivos.
$cat /etc/passwd
$cat /etc/passwd /etc/group
Para concatenar dos archivos en uno slo
$cat /etc/passwd /etc/group > /tmp/comp
Para concatenar un archivo a otro ya existente
$cat /etc/passwd >> /tmp/orb
27
105
Mostrando Archivos
head Slo muestra las primeras lneas de un
archivo de texto
$ head 5 /etc/passwd
Solo muestra las primeras 5 lneas del archivo passwd
tail Slo muestra las ltimas lneas de un
archivo de texto
$ tail 5 /etc/passwd
Slo muestra las ltimas 5 lneas del archivo passwd
106
Mostrando Archivos
grep se utiliza para encontrar un dato
especfico dentro de un archivo o grupo
de archivos
archivo sobre el que se hace la bsqueda filename
texto que se busca pattern
ignora maysculas y minsculas -i
Hace lo opuesto a lo normal, lista las lneas
que no cumplen
-v
Muestra la cantidad de lneas que cumplen la
condicin
-c
Que hace Opciones
107
$ grep home /etc/passwd
$grep v home /etc/passwd
$grep c home /etc/passwd
$grep name* /etc/sendmail.cf
$grep domain name /etc/sendmail.cf
$grep tcp /etc/rc*
$grep TCP /etc/rc*
$grep -i tcp /etc/rc*
Ejemplos de uso de grep
108
sort
ordenamiento de un archivo
- r ordenamiento en orden inverso
nombre del archivo
-o archivo destino
Ejemplos
$ sort /etc/passwd
$grep home /etc/passwd | sort
$grep home /etc/passwd | sort r
$sort /etc/passwd o nuevopasswd
28
109
Cambio de propietario y grupo
chown cambio de propietario de archivos o
directorios
chgrp cambio de grupo sobre archivos o
directorios
$ chown pepe archi archivos
$ chgrp mgmt archi1 listado2
110
Otros comandos
date permite visualizar o cambiar la fecha y
hora del sistema
cal muestra el calendario del mes actual, ao
indicado, o mes y ao indicado
clear limpia la pantalla
touch cambia la fecha de actualizacin de un
determinado archivo. En caso de no
existir el archivo genera un archivo con 0
bytes.
111
Otros comandos
pidof Indica el nmero de proceso, si se colgara un
proceso se hace pidof <nombre>, y da un
nmero ese es el pid.
diff Compara dos archivos en formato texto lnea
por lnea.
find Busca algn archivo y ejecuta alguna accin con
estos archivos.
locate Lista archivos asociados al patrn dado.
tar Empaqueta o desempaqueta un conjunto
de archivos o directorios. Ver man para
opciones.
112
Otros comandos
zip Comprime o descomprime archivos.
gzip Comprime o descomprime archivos,
usando el compresor gunzip.
bzip2 Formato de compresin mas nuevo que
los anteriores, permite mayor compresin
de los datos.
su Permite realizar tareas de superusuario estando
logueado como usuario normal.
df Permite ver el uso de los discos que se
encuentran montados. Tamao de lo usado.
du Permite ver el tamao de los directorios, se
puede definir en que unidad de medida.
29
113
Tareas de Control Jobs Control
Desde el entorno bash se pueden comenzar mltiples
programas desde el mismo prompt.
Cada programa se lo denomina job
Cuando un job comienza toma control de la terminal (el
trmino proviene de las terminales bobas tipo VT-100 y
Wyse-50)
La terminal es la interfaz que existe cuando se trabaja en
modo texto o la ventana que se crea a partir del X Windows
sobre el cual el bash se ejecuta.
Las terminales utilizadas en X Windows se llaman pseudo
tty o pty
114
Jobs Control
Si una tarea tiene control de la terminal, cuando termina
tendra que darle el control a la tarea que lo supervisa.
Se tiene otra manera de trabajar
$galion&
Inmediatamente despus de oprimir el Enter, el bash
devuelve el prompt. La tarea se ejecuta en background.
Si el programa ya se est ejecutando y tiene control de la
terminal, se puede hacer que la tarea abandone el control
de la terminal presionando CTRL-z. Esto detiene la
ejecucin y devuelve el control al bash, de tal modo que se
pueden introducir nuevos comandos.
115
Jobs Control
En cualquier momento se puede saber cuantas
tareas estn a cargo del bash ejecutando el
comando
$jobs
El listado de programas que aparece estar en dos
estados posibles:
ejecucin (running)
stopped (detenido o bloqueado)
116
Jobs Control
Si una tarea est detenida, se la puede empezar a
ejecutar en background, dejando de este modo
libre el control de la terminal.
O se puede ejecutar la tarea en modo foreground,
que le da el control de la terminal a la tarea
Si se quiere ejecutar en background
$ bg numero
Si se quiere ejecutar en foreground
$ fg numero
siendo numero el nmero de job a tratar
30
117
Variables de ambiente
Cada instancia del shell se ejecuta en su propio
ambiente, dndole un look & feel particular
El seteo particular se logra a travs de las
llamadas variables de ambiente (environment
variables)
Algunas variables tienen un significado especial
para el shell, se utilizan en los shell scripts.
Idem al concepto de variables de ambiente del NT
y Windows 2000, la diferencia es que se pueden
setear, ver y borrar.
118
Variables de ambiente
Para visualizar todas las variables de ambiente
$printenv
Para observar alguna variable en particular
$printenv OSTYPE
Seteo de las variables
$ variable = valor
donde variable es el nombre de la variable y valor es el
valor que se le asigna
Una vez setea una variable se la puede pasar a otro
entorno para ello se dispone de un comando
$export variable
119
Variables de ambiente o entorno
Si el valor a asignar a una variable de ambiente
tiene espacios en blanco, se tiene que encerrar
con doble comilla
$export PEPE = Bienvenidos al Tren
Para remover o borrar una variable de ambiente
$unset PEPE
Cada shell tiene mecanismos especiales para
setear y remover sus variables.
120
Backticks ` `
La salida de un proceso puede ser el parmetro de otro proceso
Los backticks ( ` ) pueden embeber comandos como parmetros
en otro comando.
Un servidor DNS, llamado named, tiene que terminarse.
cuando named comienza, escribe su nmero de identificacin
de proceso en el archivo /var/run/named.pid
utilizando el comando cat se puede visualizar dicho nmero
$cat /var/run/named.pid
1243
$kill 9 1243
Todo se lo puede ejecutar de la siguiente forma
$ kill 9 `cat /var/run/named.pid`
31
121
herramientas de documentacin
man
info
System tools 8
Packages 7
Games 6
Configuration files 5
Device Driver Information 4
C library calls 3
System Calls 2
User tools 1
Tema Seccin del Manual
122
man
$man program_name
$man ls
$man 3 printf
$man 1 printf
por defecto, la seccin ms baja se muestra primero
$man k printf
da un informe resumido de todas las pginas del
manual, con su nmero de seccin correspondiente.
123
Block Devices
Todos los dispositivos se acceden a travs de archivos
Los archivos tipo dispositivos de bloques se utilizan
para la interfaz con dispositivos tales como discos
Un archivo de block device tiene 3 rasgos
identificatorios
un nmero mayor
un nmero menor
cuando se visualiza con ls l, muestra b como
primer caracter
124
block devices
$ls l /dev/hda
brw-rw---- 1 root disk 3, 0 May 5 1998 /dev/hda
b al principio indica que se trata de un block device
3 es el nmero mayor
0 es el nmero menor
El nmero mayor del block device identifica al device driver.
Cuando se accede a un archivo el nmero menor se pasa al
device driver como parmetro dicindole cual es el
dispositivo que se accede.
Si se disponen de 2 ports, que comparten el mismo device
driver o sea tendrn el mismo nmero mayor, pero cada port
serial tendr un nico nmero menor.
32
125
character device
Son archivos especiales que permiten acceder a
determinados dispositivos a travs del filesystem.
Los dispositivos de bloques se comunican
mediante grandes bloques, mientras que los de
caracter lo hacen de un caracter por vez.
Un disco rgido es un dispositivo de bloque
Un modem es un dispositivo de caracter
126
character device
Idem a los dispositivos de bloques, empiezan en
vez de con una b de bloques con una c de caracter
Poseen un nmero mayor y un nmero menor que
cumple el mismo rol que en los dispositivos de
bloques.
127
find
Permite ubicar un archivo basado en diferentes
criterios.
Tiene muchas opciones (recomendacin leer el man
find)
Para encontrar todos los archivos en /tmp que no se
accedieron en los ltimos 7 das
$find /tmp atime 7 print
Encontrar todos los archivos en /usr/src cuyos
nombres son core y borrarlos
$find /usr/src name core exec rm
Encontrar todos los archivos en /home que terminen
en .jpg y sean mayores a 100K en tamao
$find /home name *.jpg size 100k
128
el parmetro exec
Uno de las parmetros ms utiles para find es exec.
Este le permite a find ejecutar un comando sobre cualquier
archivo encontrado.
El nombre del archivo se pasa al comando utilizando el
string {}, y al fin del comando se coloca un \.
Buscar el string tcp en todos los archivos en
/usr/include/netinet utilizando grep
$find /usr/include/netinet name *.h exec grp tcp {} \; -print
33
129
dd copiar y convertir un archivo
Lee el contenido de un archivo y lo enva a otro
archivo.
Su diferencia con cp es que realiza conversiones al
vuelo (on-the-fly) y acepta datos desde una cinta o
floppy u otro dispositivo.
Cuando dd accede a un dispositivo, no asume nada
acerca del filesystem, y coloca los datos en un formato
crudo (raw format)
dd se utiliza para generar imagenes de discos an
cuando el disco tenga un formato diferente.
Para generar una imagen de un floppy (especialmente
til cuando tiene formatos diferentes)
$dd if=/dev/fd0 of=/tmp/floppy_image
donde if infile y of outfile
130
gzip
gzip no comparte formato de archivo ni con PKzip
o WinZip; sin embargo, WinZip puede
descomprimir archivos comprimidos con gzip.
compress era el comando para comprimir archivos
tradicionalmente en UNIX, pero alguin lo patent,
de modo tal que el GLP, no pudo aplicarse a l.
Para reemplazarlo se cre el gzip, que resulto con
un algoritmo de comprensin mejor que el
compress.
Permite descomprimir archivos comprimidos con
compress
131
gzip
Generalmente los archivos comprimidos con gzip
tienen una extensin .gz, mientras que los
comprimidos con compress .z
gzip lo comprime sobre s mismo al archivo
Para comprimir un archivo
$gzip miarchivo
Para descomprimirlo
$gzip d miarchivo.gz
Para comprimir varios archivos utilizando la mejor
comprensin
$gzip 9 *.html
132
tar
El tar combina mltiples archivos en uno slo.
Permite seleccionar que herramienta de
comprensin se va a utilizar
Permite leer y escribir en dispositivos tal como lo
hace dd.
Es un buena herramienta para realizar backups en
cintas.
34
133
tape archiver
$ tar cf apache.tar /usr/src/apache
crea (-c) un archivo apache.tar (-f ) conteniendo
todos los archivos de /usr/src/apache
Crear un archivo llamado apache.tar con todos los
archivos de /usr/src/apache, pero mostrando lo
que sucede mientras se realiza
$tar cvf apache.tar /usr/src/apache
134
tar
Crear un archivo comprimido con gzip llamndolo
apache.tar.gz que contenga todos los archivos de
/usr/src/apache, y que muestre lo que realiza mientras se
ejecuta
$tar cvzf apache.tar.gz /usr/src/apache
la opcin z es para que utilize el gzip como programa
para comprimir el archivo.
Para crear un archivo en un floppy
$tar cvzf /dev/fd0 /usr/src/apache
Para recuperar la informacin guardada en un diskette
$tar xvzf /dev/fd0
desde ya lo recupera donde uno est parado en la
estructura de directorios.
135
which
Busca en el path completo para encontrar el
archivo especificado en la lnea de comando.
Si el archivo se encuentra, muestra el path del
mismo
$which ls
El which busca slo en el path, mientras que el
find lo hace desde donde se le indica
El which por el motivo anterior es ms rpido,
aunque ms limitado
136
whereis
Busca en el path del usuario y muestra el nombre
del archivo y su path absoluto
$ whereis grep
35
137
sync
Como se dispone de una cache de disco para mejorar
la eficiencia, implica que no siempre lo que se mando a
escribir a disco se realiz
Para planificar que la cache de disco escribe sobre el
disco se utiliza el comando sync
Si sync detecta que la escritura de la cache ya se
planific, el kernel de inmediato baja la informacin a
disco.
Para asegurarse que la cache de disco sea flusheada
$sync; sync
138
uname
En el caso en que uno estuviera conectado remotamente a
diversos servidores, puede ocurrir que no sepa en que servidor
est (algo parecido a los directorios)
Tambin es til para los scripts shell, ya que se puede variar el
path de acuerdo al servidor
todo lo anterior -a
versin del sistema operativo -v
nombre del sistema operativo -s
muestra el nmero de release del SO -r
muestra el nombre del hostname -n
muestra el tipo de hardware de la mquina (i686 para el Pentium Pro) -m
Descripcin Opcin
139
uname
Para obtener el nombre del sistema operativo y
release del mismo
$uname s r
La opcin s parece no tener sentido, pero es muy
til cuando hay mezcla de sistemas operativos
trabajando en las workstations, en una workstation
SGI devuelve IRIX, mientras que en un SUN
devuelve SunOS.
Es muy til en los scripts que deben trabajar en
diferentes entornos de UNIX
140
su
Una vez que uno se logueo, si desea cambiar de identidad,
o sea loguearse como otro usuario no se necesita salir y
volver a loguearse, simplemente se cambia de usuario
El su sin ningn parmetro intenta conectarse como
superusuario.
Cuando se le pasa un parmetro ese tiene que ser el
identificador de un usuario del sistema.
$su pepe
$su pepe
El del ltimo comando informa que se loguee corriendo el
login script que le corresponde a dicho usuario.

También podría gustarte