SlideShare una empresa de Scribd logo
1 de 156
Descargar para leer sin conexión
UNIX

Martín García Valle
2
UNIX
Índice
date.......................................................................................................................................................................... 4
cat............................................................................................................................................................................ 4
pico.......................................................................................................................................................................... 4
wc............................................................................................................................................................................ 4
cal............................................................................................................................................................................ 5
who.......................................................................................................................................................................... 5
clear......................................................................................................................................................................... 5
man.......................................................................................................................................................................... 5
PASSWD ................................................................................................................................................................ 5
mail ......................................................................................................................................................................... 5
DIRECCIONAMIENTO RELATIVO Y ABSOLUTO........................................................................................ 16
touch...................................................................................................................................................................... 16
ls............................................................................................................................................................................ 17
mkdir..................................................................................................................................................................... 18
cd........................................................................................................................................................................... 19
rmdir...................................................................................................................................................................... 20
rm.......................................................................................................................................................................... 20
pwd........................................................................................................................................................................ 20
mv ......................................................................................................................................................................... 20
cp........................................................................................................................................................................... 21
cat.......................................................................................................................................................................... 22
TREE .................................................................................................................................................................... 22
LESS ..................................................................................................................................................................... 23
whoami.................................................................................................................................................................. 23
which..................................................................................................................................................................... 23
WHATIS............................................................................................................................................................... 23
WHEREIS............................................................................................................................................................. 24
head....................................................................................................................................................................... 24
tail ......................................................................................................................................................................... 24
MORE................................................................................................................................................................... 26
HISTORY ............................................................................................................................................................. 27
EJERCICIOS FICHEROS 1 ................................................................................................................................. 27
EJERCICIO FICHEROS 2 ................................................................................................................................... 30
REDIRECCION - DESCRIPTORES ESTANDAR ............................................................................................. 32
VARIOS COMANDOS EN UNA LINEA -> SEPARADOS POR ;.................................................................... 34
UN COMANDO LARGO EN VARIAS LINEAS   al final de linea sin dejar espacio entre escribir  y dar a
ENTER.................................................................................................................................................................. 35
PIPE O TUBERIAS.............................................................................................................................................. 35
tee.......................................................................................................................................................................... 37
COMODINES....................................................................................................................................................... 37
COMPARACION FICHEROS............................................................................................................................. 39
ALIAS................................................................................................................................................................... 41
FICHEROS INODE.............................................................................................................................................. 41
FILE...................................................................................................................................................................... 44
LINKS ln............................................................................................................................................................... 44
CUT ...................................................................................................................................................................... 46
TR ......................................................................................................................................................................... 46
COMPRESIÓN DE FICHEROS EN UNIX ......................................................................................................... 47
VI .......................................................................................................................................................................... 49
MODOS O PERMISOS........................................................................................................................................ 50
EJERCICIO PERMISOS ...................................................................................................................................... 52
COMUNICACION CON USUARIOS................................................................................................................. 58
GREP .................................................................................................................................................................... 58
banner.................................................................................................................................................................... 63
FIND ..................................................................................................................................................................... 63
3
SORT .................................................................................................................................................................... 67
SED....................................................................................................................................................................... 70
PROCESOS .......................................................................................................................................................... 74
PS - PARA VER EL LISTADO DE PROCESOS................................................................................................ 75
GESTION DE USUARIOS .................................................................................................................................. 81
SU -....................................................................................................................................................................... 81
PASSWD .............................................................................................................................................................. 81
ID .......................................................................................................................................................................... 81
WHOAMI ............................................................................................................................................................. 82
USUARIOS EN UNIX ......................................................................................................................................... 83
FICHERO /ETC/PASSWD................................................................................................................................... 83
GRUPOS EN UNIX.............................................................................................................................................. 84
CREACIÓN AUTOMÁTICA DE USUARIOS ................................................................................................... 85
CREACIÓN AUTOMÁTICA DE GRUPOS ....................................................................................................... 86
FICHERo /ETC/GROUP ...................................................................................................................................... 87
GESTIÓN DE USUARIOS .................................................................................................................................. 88
AT ......................................................................................................................................................................... 97
ARCHIVOS DE CONFIGURACIÓN.................................................................................................................. 98
EJERCICIOS GENERALES .............................................................................................................................. 103
COMUNICACION CON USUARIOS............................................................................................................... 106
WRITE................................................................................................................................................................ 106
WALL................................................................................................................................................................. 107
TALK.................................................................................................................................................................. 107
MENSAJE DEL DIA.......................................................................................................................................... 108
MENSAJE ANTES DE HACER LOGIN........................................................................................................... 108
FINGER - WHO - CHFN - ID............................................................................................................................ 109
FTP...................................................................................................................................................................... 110
PING................................................................................................................................................................... 110
EJEMPLO DE TELNET, WHO, WHO AM I y WRITE.................................................................................... 111
INETD.CONF..................................................................................................................................................... 113
TTY..................................................................................................................................................................... 114
LOGNAME......................................................................................................................................................... 114
UNAME.............................................................................................................................................................. 114
MONTADO DE SISTEMA DE ARCHIVOS .................................................................................................... 115
CERRAR SISTEMA........................................................................................................................................... 118
SHELL SCRIPTS TEORIA................................................................................................................................ 119
EJERCICIOS SHELL SCRIPT........................................................................................................................... 126
EJERCICIOS SHELL SCRIPTS ........................................................................................................................ 146
SHELL SCRIPTS INVOCAR SCRIPT.............................................................................................................. 150
EXIT ................................................................................................................................................................... 151
EXPORTACION DE VARIABLES................................................................................................................... 152
EJERCICIOS GENERALES .............................................................................................................................. 153
4
DATE
Fecha actual
Date “+Mes:%m%nDia:%d%nHora:%T”
Siempre al comenzar  +
%n  salto de linea
CAT
Visualiza ficheros
cat f1 f2
Escribir fichero cat > f1
cat –n f1 : visualiza lineas del fichero
martin8@NODE:/home/martin8/dir88> cat -n f1
1 1<e
2 2<a
3 3<t
4 4<b
PICO
Editor de Linux
Para salir y grabar CTRL+X
WC
WC --> word count
Cuenta palabras (w)
Cuenta lineas (l)
Cuenta letras (c)
de un fichero
wc –w –l f1 : cuenta las lineas y palabras del fichero f1
bash$ cat > martin
Hola soy Martin
bash$ wc martin
1 3 16 martin
lineas/palabras/caracters (+1 --> CTRL+C y CTRL+C)
CUIDADO cuenta 1 de mas.
5
CAL
Muestra el calendario
cal 2002
cal 2 2002
WHO
Usuarios conectados en este momento al sistema
martin8@NODE:/home/martin8> who
martin8 pts/0 Jun 16 10:38
pts/X es pseudoterminal
tty  funcionando en la máquina
CLEAR
Limpiar pantalla
MAN
Comando de ayuda de UNIX
Preguntar ayuda sobre X  man X
q para salir
PASSWD
Cambia la password de un usuario
bash$ passwd
Changing password for martin6
(current) UNIX password:
passwd: Authentication failure
bash$
bash$ passwd
Changing password for martin6
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
MAIL
Correo en UNIX
6
x  salir sin grabar
q  salir grabando
d  borrar mensaje
h  mostrar lista de mensajes
t  ir a un determinado mensaje t2,t5
s  grabar mensajes en un fichero  s 1 2 3 mensaj1
mail –f  leer mensajes grabados en X fichero  mail –f mensaj1
r  responder mensaje
a  alias de correo
MAIL
mail <usuario al que va dirigido>
Subject : Tema
hola bla bla bla
bla bla bla
CTRL+D
CC: Otros destinos
Ejemplo:
bash$ mail martin8
Subject: AYUDA
Martin necesito que me acompañes a una reunion de^H^H^H^[[D
Cc: root
bash$
SI UNA VEZ ESCRITO EL MENSAJE NO LO QUEREMOS ENVIAR
CTRL+C y CTRL+C
Ejemplo:
Subject: AYUDA
Martin necesito que me acompañes a una reunion de^H^H^H^[[D
Cc:
bash$ mail martin8
Subject: N^HNO
no hace falta la han retrasado
(Interrupt -- one more to kill letter)
bash$
(He pulsado dos veces CTRL+C)
VISUALIZAR EL MAIL ENVIADO A MARTIN8
[martin8@localhost martin8]$ mail
Unknown command: "export"
Mail version 8.1 6/6/93. Type ? for help.
7
"/var/spool/mail/martin8": 1 message 1 new
>N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA"
&
EXISTEN DOS OPCIONES:
N --> nuevo mensaje
U --> mensaje recibido anteriormente y no leido
OPCIONES DE MAIL
Si se pulsa ENTER sobre el mensaje activo, señalado por > se visualiza.
Ejemplo:
"/var/spool/mail/martin8": 1 message 1 new
>N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA"
&
Message 1:
From martin6 Thu Feb 21 11:25:27 2002
Date: Thu, 21 Feb 2002 11:25:27 +0100
From: Martinv6 <martin6@localhost.localdomain>
To: martin8@localhost.localdomain
Subject: AYUDA
Martin necesito que me acompañes a una reunion de
&
x -- SALIR DE MAIL SIN ALTERAR EL BUZON, SIN GRABAR
Ejemplo: (He leido el mensaje pero al salir con x es como si no hubiera realizado nada)
& x
[martin8@localhost martin8]$ mail
Unknown command: "export"
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/martin8": 1 message 1 new
>N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA"
&
ENVIAMOS UN SEGUNDO MENSAJE A MARTIN8 DESDE MARTIN6
Al pulsar de nuevo mail salen los dos mensajes
[martin8@localhost martin8]$ mail
Unknown command: "export"
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/martin8": 2 messages 2 new
>N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA"
N 2 martin6@localhost.lo Thu Feb 21 11:34 13/402 "dos"
&
8
t --> NOS PERMITE LEER EL MENSAJE QUE LE ESPECIFIQUEMOS, por ejemplo
si escribo t2 me lee el mensaje "dos"
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/martin8": 2 messages 2 new
>N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA"
N 2 martin6@localhost.lo Thu Feb 21 11:34 13/402 "dos"
& t2
Message 2:
From martin6 Thu Feb 21 11:34:01 2002
Date: Thu, 21 Feb 2002 11:34:01 +0100
From: Martinv6 <martin6@localhost.localdomain>
To: martin8@localhost.localdomain
Subject: dos
segund mensaje
&
h --> ME MUESTRA LA CABECERA DE LOS MENSAJES. Al haber leido el mensaje
2 en esta ocasión desaparece la opción de N y U ya que ni es nuevo ni aun no lo he leido.
Subject: dos
segund mensaje
& h
N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA"
> 2 martin6@localhost.lo Thu Feb 21 11:34 13/402 "dos"
&
AHORA HEMOS ENVIADO VARIOS CORREOS A MARTIN8 PARA PRACTICAR
VISUALIZANDO, GRABANDO y ELIMINANDO.
bash$ mail martin8
Subject: dos
segund mensaje
Cc:
bash$ mail martin8
Subject: tres
hola3
Cc:
bash$ mail martin8
Subject: cuatro
hola4
Cc:
bash$ mail martin8
Subject: cinco
y hola e nuevo campeon
Cc:
9
bash$
Cuando martin8 escriba MAIL visualizara los mensajes:
[martin8@localhost martin8]$ mail
Unknown command: "export"
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/martin8": 5 messages 3 new 5 unread
U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
>N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
&
Como siempre para visualizar o bien dar ENTER o bien t y el número de mensaje
& t4
Message 4:
From martin8 Thu Feb 21 11:42:20 2002
Date: Thu, 21 Feb 2002 11:42:20 +0100
From: martin8@localhost.localdomain
To: martin8@localhost.localdomain
Subject: cuatro
4
& h
U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
> 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
&
x --> SALIR SIN GRABAR
Si salimos sin grabar de nuevo aparecerá como si no hubieramos entrado:
& h
U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
> 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
& x
You have mail in /var/spool/mail/martin8
[martin8@localhost martin8]$ mail
Unknown command: "export"
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/martin8": 5 messages 3 new 5 unread
10
U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
>N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
&
d --> ELIMINAR MENSAJES
d1 -- elimina mensaje 1
d* -- elimina todos los mensajes
d 3-7 -- elimina los mensajes del 1 al 7
Ejemplo
"/var/spool/mail/martin8": 5 messages 3 new 5 unread
U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
>N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
& d1
& h
>U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
&
& h
>U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
& d 4-5
& h
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
>N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
&
u --> SIN SALIR DE MAIL RECUPERA MENSAJES
u1 -- recupera el mensaje 1
u* - recupera todos los mensajes
u 3 7 -- recupera los menajes3 y 7
u 3-7 recupera los mensajes del 3 al 7
Ejemplo
& h
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
>N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
11
& u1
& h
> 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
& u 4 5
& h
1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
> 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
r ..> RESPODER MENSAJE
Ejemplo
& h
1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
> 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
& r1
To: martin8@localhost.localdomain martin6@localhost.localdomain
Subject: Re: AYUDA
GRACIAS
Cc:
&
y a martin6 lo recibira:
Held 3 messages in /var/spool/mail/martin6
bash$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/martin6": 4 messages 1 new 4 unread
U 1 martin6@localhost.lo Thu Feb 21 11:38 14/404 "tres"
U 2 martin6@localhost.lo Thu Feb 21 11:38 14/406 "cuatro"
U 3 martin6@localhost.lo Thu Feb 21 11:39 14/422 "cinco"
>N 4 martin8@localhost.lo Thu Feb 21 11:51 13/409 "Re: AYUDA"
s --> SALIR GRABANDO. Los mensajes no leidos pasan de N a U.
"/var/spool/mail/martin8": 6 messages 4 new 6 unread
U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
>N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro"
N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco"
N 6 martin8@localhost.lo Thu Feb 21 11:51 13/409 "Re: AYUDA"
12
& q
Held 6 messages in /var/spool/mail/martin8
[martin8@localhost martin8]$ mail
Unknown command: "export"
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/martin8": 6 messages 6 unread
>U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
U 3 martin8@localhost.lo Thu Feb 21 11:42 14/389 "tres"
U 4 martin8@localhost.lo Thu Feb 21 11:42 14/391 "cuatro"
U 5 martin8@localhost.lo Thu Feb 21 11:42 15/399 "cinco"
U 6 martin8@localhost.lo Thu Feb 21 11:51 14/419 "Re: AYUDA"
Y si se ha borrado un mensaje ya no se recupera.
S --> GRABAR MENSAJES
s3 fich1 -- graba el mensaje 3 al fich1
s fich1 -- graba el mensaje actual al fich1
s* fich2 -- graba todos los mensajes al fich2
Ejemplo
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/martin8": 6 messages 6 unread
>U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA"
U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8"
U 3 martin8@localhost.lo Thu Feb 21 11:42 14/389 "tres"
U 4 martin8@localhost.lo Thu Feb 21 11:42 14/391 "cuatro"
U 5 martin8@localhost.lo Thu Feb 21 11:42 15/399 "cinco"
U 6 martin8@localhost.lo Thu Feb 21 11:51 14/419 "Re: AYUDA"
& s1 mensaje1
"mensaje1" [New file]
& s* mensajes
"mensajes" [New file]
&
mail -f mensaje1
[martin8@localhost martin8]$ mail -f mensaje1
Unknown command: "export"
Mail version 8.1 6/6/93. Type ? for help.
"mensaje1": 1 message
> 1 martin6@localhost.lo Thu Feb 21 11:25 14/456 "AYUDA"
&
Message 1:
From martin6 Thu Feb 21 11:25:27 2002
Date: Thu, 21 Feb 2002 11:25:27 +0100
From: Martinv6 <martin6@localhost.localdomain>
To: martin8@localhost.localdomain
Subject: AYUDA
13
Martin necesito que me acompañes a una reunion de
& h
> 1 martin6@localhost.lo Thu Feb 21 11:25 14/456 "AYUDA"
& q
[martin8@localhost martin8]$ mail
Unknown command: "export"
No mail for martin8
O BIEN MAIL -F MENSAJES
[martin8@localhost martin8]$ mail -f mensajes
Unknown command: "export"
Mail version 8.1 6/6/93. Type ? for help.
"mensajes": 6 messages
> 1 martin6@localhost.lo Thu Feb 21 11:25 14/456 "AYUDA"
2 martin8@localhost.lo Thu Feb 21 11:40 14/397 "martin8"
3 martin8@localhost.lo Thu Feb 21 11:42 14/390 "tres"
4 martin8@localhost.lo Thu Feb 21 11:42 14/392 "cuatro"
5 martin8@localhost.lo Thu Feb 21 11:42 15/400 "cinco"
6 martin8@localhost.lo Thu Feb 21 11:51 14/420 "Re: AYUDA"
&
salen todos los mensajes grabados.
? --> todos los comandos
MODIFICAR MENSAJE
Al escribir un mensaje es muy fácil equivoarse y posteriormente no se puede borrar. Para ello
vamos a explicar una serie de normas.
[martin8@localhost martin8]$ mail martin6
Unknown command: "export"
Subject: errores
hola te escribo para saber algo de ti, como pierdas una bombona
te mando a mover tres de I350 a Gijón sin jaulas :-)
pero hay una baca en el mar~v
[martin8@localhost martin8]$ VISUAL=/usr/bin/pico
[martin8@localhost martin8]$ export VISUAL
[martin8@localhost martin8]$ echo $VISUAL
/usr/bin/vi
[martin8@localhost martin8]$
[martin8@localhost martin8]$ mail martin6
Unknown command: "export"
Subject: errores
hola amigos ezcrivo mu mar finstro~v
14
Al escribir ALT+126 y V y dar ENTER me sale el editor por defecto definido. Aqui es mas
facil corregir todas las faltas e ir hacia atras.
CTRL+X para salir una vez corregido seleccionamos Y para grabar y ENTER para salir.
Pulsamos CTRL+d si ya no queremos seguir escribiendo y nos saldrá el mensaje típico de
CC: ENTER y listo.
Y en martin6 verá el mensaje corregido:
N 6 martin8@localhost.lo Thu Feb 21 12:11 15/418 "errores"
& t6
Message 6:
From martin8 Thu Feb 21 12:11:04 2002
Date: Thu, 21 Feb 2002 12:11:04 +0100
From: martin8@localhost.localdomain
To: martin6@localhost.localdomain
Subject: errores
hola amigos escribo muy mal finstro
PARA NO TENER QUE VOLVER A ESCRIBIR EN CADA SESION EL EDITOR
A UTILIZAR MEJOR ESCRIBIRLO EN EL FICHERO .MAILRC
[martin8@localhost martin8]$ cat .mailrc
alias m martin6
alias m1 martin8
alias m2 martin9
15
set VISUAL=/usr/bin/pico
export VISUAL
echo $VISUAL
ALIAS
a --> permite definir alias. Por ejemplo :
& a group martin6, martin8, root
& mail group
Subject: reunion
10:30 euro
Cc:
&
LLega el correo a todos los de group.
También es posible especificar en el fichero .mailrc
alias m6 martin6
alias m8 martin8
ES POSIBLE REDIRECCIONAR UN FICHERO DE TEXTO A UN CORREO
mail martin8 < carta1
Ejemplo:
[martin8@localhost martin8]$ cat carta
Hola amigo nos vemos en Mendez Alvaro.
[martin8@localhost martin8]$ mail martin6 <carta
y en martin6
bash$ mail
Mail version 8.1 6/6/93. Type ? for help.
"/var/spool/mail/martin6": 6 messages 1 new 6 unread
U 1 martin6@localhost.lo Thu Feb 21 12:17 16/567 "reunion"
U 2 MAILER-DAEMON@localh Thu Feb 21 12:17 64/1886 "Returned mail: User u"
U 3 martin6@localhost.lo Thu Feb 21 12:18 16/567 "reunion"
U 4 MAILER-DAEMON@localh Thu Feb 21 12:18 64/1886 "Returned mail: User u"
U 5 martin8@localhost.lo Thu Feb 21 12:19 15/456 "reunion"
>N 6 martin8@localhost.lo Thu Feb 21 12:24 12/402
& t6
Message 6:
From martin8 Thu Feb 21 12:24:36 2002
Date: Thu, 21 Feb 2002 12:24:35 +0100
From: martin8@localhost.localdomain
To: martin6@localhost.localdomain
Hola amigo nos vemos en Mendez Alvaro.
16
&
PARA COMPROBAR EL FICHERO DONDE SE GUARDA LOS MAIL
[root@localhost martin8]# echo $MAIL
/var/spool/mail/martin8
DIRECCIONAMIENTO RELATIVO Y ABSOLUTO
 Absoluto  desde la raiz /home/usdai1
 Relativo  desde la posición en la que me encuentro
FALLOS TIPICOS  no empezar por /
Seguir el camino hasta llegar al directorio deseado desde el actual
Utilizar .. (dos puntos) si es necesario
TOUCH
Crea fichero vacio si no existe y si existe modifica los valores de la fecha a los actuales
Por ejemplo:
[martin8@localhost martin8]$ ls -l
total 24
-rw-r--r-- 1 martin8 users 12 feb 22 16:15 a
-rw-r--r-- 1 martin8 users 13 feb 22 16:06 b
drwxrwxr-x 3 martin8 users 4096 feb 22 15:57 datos
-rw-r--r-- 1 martin8 users 1789 feb 22 14:58 fich
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu
[martin8@localhost martin8]$ touch b
[martin8@localhost martin8]$ ls -l
total 24
-rw-r--r-- 1 martin8 users 12 feb 22 16:15 a
-rw-r--r-- 1 martin8 users 13 feb 22 16:15 b
drwxrwxr-x 3 martin8 users 4096 feb 22 15:57 datos
-rw-r--r-- 1 martin8 users 1789 feb 22 14:58 fich
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu
[martin6@localhost martin6]$ ls -l
total 4
-rw-r--r-- 1 martin6 ASI2 0 feb 21 13:26 a
-rw-r--r-- 1 martin6 ASI2 0 feb 21 13:27 b
drwxr-xr-x 2 root root 4096 feb 20 13:17 mart
[martin6@localhost martin6]$ touch a
[martin6@localhost martin6]$ ls -l
17
total 4
-rw-r--r-- 1 martin6 ASI2 0 feb 25 11:55 a
-rw-r--r-- 1 martin6 ASI2 0 feb 21 13:27 b
drwxr-xr-x 2 root root 4096 feb 20 13:17 mart
LS
Muestra el contenido de un directorio (como dir)
ls –l  muestra las caracterisiticas de lo mostrado, ficheros, propietario, grupo, fecha…
ls –a  muestra ficheros ocultos (empiezan por punto .f1)
ls –i  indica el i-node del fichero
bash$ pwd
/home/martin6
bash$ ls
MART lolo lolo1 mart nuevofic pedro
bash$ ls -la
total 40
drwxr-xr-x 4 martin6 ASI2 4096 feb 21 12:45 .
drwxr-xr-x 14 root root 4096 feb 20 13:12 ..
-rw------- 1 martin6 ASI2 3352 feb 21 10:59 .bash_history
-rw-r--r-- 1 martin6 ASI2 11 feb 13 12:14 .exrc
-rw-r--r-- 1 martin6 ASI2 6 feb 19 13:26 .martin
-rw-r--r-- 1 martin6 ASI2 6 feb 19 13:27 MART
-rw-r--r-- 1 martin6 ASI2 24 feb 19 13:25 lolo
-rw-r--r-- 1 martin6 ASI2 15 feb 19 13:25 lolo1
drwxr-xr-x 2 root root 4096 feb 20 13:17 mart
-rw-r--r-- 1 martin6 ASI2 0 feb 19 13:25 nuevofic
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 10:40 pedro
PErmite crear un fichero vacío o bien modificar los atributos de un fichero ya existente con la
fecha actual
[martin6@localhost martin6]$ ls -l
total 4
-rw-r--r-- 1 martin6 ASI2 0 feb 21 13:26 a
-rw-r--r-- 1 martin6 ASI2 0 feb 21 13:27 b
drwxr-xr-x 2 root root 4096 feb 20 13:17 mart
[martin6@localhost martin6]$ touch a
[martin6@localhost martin6]$ ls -l
total 4
-rw-r--r-- 1 martin6 ASI2 0 feb 25 11:55 a
-rw-r--r-- 1 martin6 ASI2 0 feb 21 13:27 b
drwxr-xr-x 2 root root 4096 feb 20 13:17 mart
18
MKDIR
Crea directorio
mkdir -- CREA DIRECTORIOS
bash$ mkdir martin2
bash$ ls
MART lolo lolo1 mart martin2 nuevofic pedro
bash$ ls -l
total 24
-rw-r--r-- 1 martin6 ASI2 6 feb 19 13:27 MART
-rw-r--r-- 1 martin6 ASI2 24 feb 19 13:25 lolo
-rw-r--r-- 1 martin6 ASI2 15 feb 19 13:25 lolo1
drwxr-xr-x 2 root root 4096 feb 20 13:17 mart
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 12:47 martin2
-rw-r--r-- 1 martin6 ASI2 0 feb 19 13:25 nuevofic
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 10:40 pedro
También con rutas absolutas:
bash$ pwd
/home/martin6
bash$ mkdir /home/martin6/martin2/martin3
bash$ pwd
/home/martin6
bash$ ls /home/martin6/martin2/
martin3
OPCION –P  lo que realiza es crear los directorios anteriores en el caso de que no
existan.
Asi por ejemplo si queremos crear un subdirectorio y a su vez dentro de el otro subdirectorio
dentro, en un solo paso.
[root@martin /root]# mkdir dir1/dir12
[root@martin /root]# tree
.
|-- dir1
| |-- dir11
| `-- dir12
|-- dir1dir11
|-- dir1dir111
|-- dir2
|-- dir3
|-- dir4
`-- prueba
8 directories, 1 file
[root@martin /root]# mkdir -p dir1/dir12/dir121/dir1211 (CREA LOS DOS, ANTES NO
ESTABA)
[root@martin /root]# tree
19
.
|-- dir1
| |-- dir11
| `-- dir12
| `-- dir121
| `-- dir1211
|-- dir1dir11
|-- dir1dir111
|-- dir2
|-- dir3
|-- dir4
`-- prueba
10 directories, 1 file
OPCION –M  ASIGNA PERMISOS AL DIRECTORIO CREADO
[root@martin /root]# mkdir -m 777 lola
drwxr-xr-x 2 root root 4096 ago 10 17:54 dir4
drwxrwxrwx 2 root root 4096 ago 10 18:00 lola
CD
Desplazarse a la ruta especificada
cd /home/usdai1
cd  va al directorio propio
cd -  va al directorio anterior
cd ..  directorio padre
CD --> Ir a una ruta o al directorio propio
cd ruta
cd .. --> al directorio anterior
cd --> va al directorio propio del usuario
./ parte del directorio actual
cd - --> se va al ultimo directorio donde ha estado.
bash$ pwd
/home/martin6/mart
bash$ cd /home/martin6/mart
bash$ pwd
/home/martin6/mart
bash$ cd
bash$ pwd
/home/martin6
bash$ cd -
bash$ pwd
20
/home/martin6/mart
bash$ cd ..
bash$ pwd
/home/martin6
cd ../martin8
bash$ pwd
/home/martin8
RMDIR
Borra directorio solo si no contiene nada dentro.
Si quisiera borrar aunque tuviera cosas dentro rm –R dir1 (borra recursivamente)
RMDIR --> elimina directorio (debe estar vacio)
bash$ rmdir mart
rmdir: mart: El directorio no está vacío
RM
Elimina ficheros y tambien con la opción R permite borrar recursivamente directorios y
ficheros
-f  sin confirmacion
-r  recursivo
PWD
Directorio donde me encuentro actualmente
MV
mover o cambiar nombre a un fichero o directorio
mv nombre antiguo nuevo nombre
martin8@NODE:/home/martin8> mv ultima2 dir88/ultimito
Muevo un fichero a otro lugar cambiandole el nombre
martin8@NODE:/home/martin8> mv ultima2 dir88
Lo mueve al directorio dir88 sin cambiar nombre
Opcion –i  pide confirmacion (si ya existe ese fichero para no eliminarlo)
21
MV --> mover o renombrar fichero
cambiar nombre
bash$ mv fich10 fich11
bash$ cat fich10
cat: fich10: No existe el fichero o el directorio
bash$ cat fich11
hola me llamo Chiquito jandeMOR
mover un fichero a otro directorio
bash$ mv lolo ./pedro
bash$ cd pedro
bash$ ls
lolo
Ya no existe el fichero al moverlo
bash$ ls
MART lolo1 mart martin2 nuevofic pedro
bash$ mv lolo1 ./pedro
bash$ mv lolo1 ./pedro/lolo
mv: lolo1: No existe el fichero o el directorio
opcion -i pide confirmacion si ya existe el fichero.
bash$ mv -i lolo lolo2
bash$ mv -i lolo2 lolo
bash$ mv -i lolo lolo
mv: `lolo' y `lolo' son el mismo fichero
bash$ touch lolo2
bash$ mv -i lolo lolo2
mv: ¿sobreescribir `lolo2'? (s/n) n
CP
copiar ficheros
-i  confirmacion
-r  recursividad
bash$ pwd
/home/martin6/pedro
bash$ cd ..
bash$ ls
MART mart martin2 nuevofic pedro
bash$ cp ./pedro/* . [copia lo que hay en el directorio pedro al directorio actual]
bash$ ls
22
MART lolo1 lolo2 mart martin2 nuevofic pedro
bash$ pwd
/home/martin6
bash$ cd pedro
bash$ ls
lolo1 lolo2
 Si selecciono mas de dos ficheros significa que el último parámetro debe ser un directorio y
que movemos todos los ficheros al directorio último.
Por ejemplo:
Mv f1 f2 f3 f4 dir1  mueve los ficheros f1 f2 f3 f4 al directorio dir1
CAT
CAT --> visualiza el contenido de ficheros
bash$ cat > fich10
hola me llamo Chiquito jandeMOR (CTRL+D)
bash$ cat fich10
hola me llamo Chiquito jandeMOR
bash$ cat fich10 fich10
hola me llamo Chiquito jandeMOR
hola me llamo Chiquito jandeMOR
Muestra el contenido de un fichero
Con la opción -n nuemera las lineas
martin8@NODE:/home/martin8> cat hlink
Este es index de Martin
martin8@NODE:/home/martin8> cat -n index
1 Este es el nuevo index de Martin
martin8@NODE:/home/martin8> cat -n hlink
1 Este es index de Martin
martin8@NODE:/home/martin8> cat -n index hlink
1 Este es el nuevo index de Martin
2 Este es index de Martin
TREE
Muestra el arbol de directorios
[root@martin /root]# tree
.
|-- dir1
| `-- dir11
|-- dir1dir11
|-- dir1dir111
|-- dir2
23
|-- dir3
|-- dir4
`-- prueba
7 directories, 1 file
LESS
less < nombre del fichero>
Muestra el contenido de un fichero pero permite avanzar o retroceder. Por ejemplo z
avanzar y w retroceder página. Para ver las teclas less --help. Para salir Q.
z - atras
w - adelante
h --help
q -- salir
martin8@NODE:/home/martin8> less /etc/passwd
[martin8@localhost martin8]$ less fich
WHOAMI
Que usuario soy yo actualmente. Se suele utilizar cuando una persona entra al sistema como
varios usuarios, y no sabe en un momento dado con que usuario esta trabajando.
WHICH
which passwd
Donde se encuentra el fichero ejecutable del comando escrito
WHICH --> que programa se ejecutara
bash$ which cp
/bin/cp
bash$ which vi
/bin/vi
WHATIS
Especifica una descripción rápida de un comando
martin8@NODE:/home/martin8> whatis cat
cat (1) - concatenate files and print on the standard output
24
martin8@NODE:/home/martin8> whatis ls
ls (1) - list directory contents
WHEREIS
Busqueda de un fichero
Ejemplo
martin8@NODE:/home/martin8> whereis passwd
passwd: /usr/bin/passwd /etc/passwd /usr/man/man1/passwd.1.gz /usr/man/man5/pass
wd.5.gz
martin8@NODE:/home/martin8> which passwd
/usr/bin/passwd
La diferencia que existe con el comando WHICH está en que which nos dice el ejecutable, es
decir que fichero se va a ejecutar, en que path se encuentra si escribimos passwd.
HEAD
head -7 f1
Selecciona las primeras 7 lineas del texto del fichero f1 (DESDE EL PRINCIPIO)
Cuenta las lineas de la cabecera de un fichero
head -20 --> cuenta las primeras 20 lineas
bash$ ls -la> listado
bash$ head -10 listado
total 120
drwxrwxrwx 17 martin8 users 4096 feb 21 13:56 .
drwxr-xr-x 14 root root 4096 feb 20 13:12 ..
-rw------- 1 martin8 users 0 feb 13 13:12 .ICEauthority
-rw------- 1 martin8 users 115 feb 13 13:09 .Xauthority
-rw------- 1 martin8 users 4918 feb 21 12:22 .bash_history
-rw-r--r-- 1 martin8 users 24 ene 30 10:46 .bash_logout
-rw-r--r-- 1 martin8 users 230 ene 30 10:46 .bash_profile
-rw-r--r-- 1 martin8 users 124 ene 30 10:46 .bashrc
-rwxr-xr-x 1 martin8 users 333 ene 30 10:46 .emacs
TAIL
tail -7 f1
25
Selecciona las últimas 7 lineas del texto del fichero f1 (DESDE EL FINAL)
Muestra las ultimas lineas de un fichero
tail -10
drwxr-xr-x 3 martin8 users 4096 ene 31 13:35 datos
-rw-r--r-- 1 martin6 ASI2 0 feb 21 13:34 f3
-rw-r--r-- 1 martin6 ASI2 2397 feb 21 13:56 listado
-rw-r--r-- 1 martin6 ASI2 16 feb 21 13:51 martin
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto
drwx------ 2 martin8 users 4096 feb 12 14:03 nsmail
drwxr-xr-x 3 martin8 users 4096 ene 31 11:35 pa
drwxr-xr-x 4 martin8 users 4096 ene 31 11:36 pu
-rw-r--r-- 1 root root 17 feb 19 12:43 stdout
-rw-r--r-- 1 martin8 users 0 feb 19 12:15 tty1
-rwxrwxrwx 1 martin6 ASI2 5 feb 21 13:54 vi
bash$ tail -5 listado
drwxr-xr-x 3 martin8 users 4096 ene 31 11:35 pa
drwxr-xr-x 4 martin8 users 4096 ene 31 11:36 pu
-rw-r--r-- 1 root root 17 feb 19 12:43 stdout
-rw-r--r-- 1 martin8 users 0 feb 19 12:15 tty1
-rwxrwxrwx 1 martin6 ASI2 5 feb 21 13:54 vi
OPCION +NUMERO DESDE LA QUE MOSTRAR TEXTO
Tail +2 prueba  mostrar desde la linea 2 incluida
[root@martin /root]# ls -la > listado
[root@martin /root]# cat listado
total 68
drwxr-x--- 9 root root 4096 ago 10 18:02 .
drwxr-xr-x 20 root root 4096 ago 5 18:33 ..
-rw-r--r-- 1 root root 1126 ago 23 1995 .Xdefaults
-rw------- 1 root root 98 ago 8 13:59 .bash_history
-rw-r--r-- 1 root root 24 jul 14 1994 .bash_logout
-rw-r--r-- 1 root root 238 ago 23 1995 .bash_profile
-rw-r--r-- 1 root root 176 ago 23 1995 .bashrc
-rw-r--r-- 1 root root 182 mar 22 1999 .cshrc
-rw-r--r-- 1 root root 166 mar 4 1996 .tcshrc
[root@martin /root]# tail +2 listado
drwxr-x--- 9 root root 4096 ago 10 18:02 .
drwxr-xr-x 20 root root 4096 ago 5 18:33 ..
-rw-r--r-- 1 root root 1126 ago 23 1995 .Xdefaults
-rw------- 1 root root 98 ago 8 13:59 .bash_history
-rw-r--r-- 1 root root 24 jul 14 1994 .bash_logout
-rw-r--r-- 1 root root 238 ago 23 1995 .bash_profile
-rw-r--r-- 1 root root 176 ago 23 1995 .bashrc
-rw-r--r-- 1 root root 182 mar 22 1999 .cshrc
26
MORE
Visualiza un fichero como cat pero paso a paso:
ENTER: linea a linea
ESPACIO : Página a página
Es un comando que muestra el contenido de un fichero pero permite paginar.
martin8@NODE:/home/martin8> ls -la|more
total 164
drwxrwxrwx 13 martin8 users 4096 Feb 25 14:00 .
drwxr-xr-x 15 root root 4096 Feb 22 14:11 ..
-rw------- 1 martin8 users 0 Feb 13 13:12 .ICEauthority
-rw------- 1 martin8 users 115 Feb 13 13:09 .Xauthority
-rw------- 1 martin8 users 15932 Feb 26 10:53 .bash_history
-rw-r--r-- 1 martin8 users 24 Jan 30 10:46 .bash_logout
-rw-r--r-- 1 martin8 users 522 Feb 25 12:57 .bash_profile
-rw-r--r-- 1 martin8 users 303 Feb 25 12:28 .bashrc
drwx------ 2 martin8 users 4096 Feb 25 14:00 .cedit
-rwxr-xr-x 1 martin8 users 333 Jan 30 10:46 .emacs
drwx------ 3 martin8 users 4096 Feb 13 13:12 .enlightenment
-rw------- 1 martin8 users 12288 Feb 22 17:41 .fichero.swp
drwx------ 6 martin8 users 4096 Feb 13 13:12 .gnome
drwxr-xr-x 2 martin8 users 4096 Feb 12 14:02 .gnome-desktop
27
drwxr-xr-x 2 martin8 users 4096 Feb 12 14:03 .gnome-help-browser
drwx------ 2 martin8 users 4096 Feb 12 14:02 .gnome_private
-rw-r--r-- 1 martin8 users 105 Jan 30 12:37 .mailrc
drwxr-xr-x 3 martin8 users 4096 Feb 25 13:56 .mc
drwxr-xr-x 4 martin8 users 4096 Feb 12 14:03 .netscape
-rwxrwxrwx 1 martin8 users 50 Jan 30 12:32 .profile
-rw-r--r-- 1 martin8 users 3394 Jan 30 10:46 .screenrc
--More--
b -- vuelve a la página anterior
q -- sale
h -- muestra ayuda
ENTER -- pasa una linea
ESPACIO - siguiente página
HISTORY
Comando que me guarda los ultimos comandos realizados.
Ejemplo:
[martin8@localhost martin8]$ history|more
1 pwd
2 logout
3 ls
4 exit
5 passwd martin
6 passwd
7 passwd
8 whoami
9 mail
10 mail
....
930 ps -f
931 whoami
932 history
Para ejecutar un comando sin tener que volver a escribirlo:
[martin8@localhost martin8]$ !931
whoami
martin8
EJERCICIOS FICHEROS 1
CREAMOS LA SIGUIENTE ESTRUCTURA
/
home
28
martin6
a
b
MART
fich1
fich2
fich3
martin8
1)
bash$ cp -r mart/* /home/martin8 [copia todos los ficheros de dentro de mart a martin8]
bash$ pwd
/home/martin6
bash$ cd /home/martin8
bash$ ls
10 20 30 datos f1 f2 f3 nsmail pa pu stdout tty1
2)
bash$ pwd
/home/martin6
bash$ cp -r mart /home/martin8 [copia el directorio inclusive]
bash$ cd /home/martin8
bash$ ls
10 20 30 datos f1 f2 f3 mart nsmail pa pu stdout tty1
bash$ cd mart
bash$ ls
f1 f2 f3
3)
bash$ pwd
/home/martin8
bash$ cp -r /home/martin6/mart martin (estando en martin8 direccion absoluta y copia
mart por martin dentro de martin8)
bash$ ls
10 20 30 datos f1 f2 f3 martin nsmail pa pu stdout tty1
bash$ cd martin
bash$ ls
f1 f2 f3
4)
bash$ cp -r /home/martin6/mart mart [con el mismo nombre]
bash$ ls
f1 f2 f3 mart
bash$ pwd [pero al estar en el directorio martin me ha creado mart dentro de martin]
/home/martin8/martin
bash$ cd ..
bash$ pwd
/home/martin8 [si aquiero crearlo bajo martin8]
bash$ cp -r /home/martin6/mart mart
bash$ ls
10 20 30 datos f1 f2 f3 mart martin nsmail pa pu stdout tty1
29
5)
bash$ pwd
/home/martin8
bash$ cp -r -f /home/martin6/mart mart (-f sin pedir confirmacion)
bash$ cp -r /home/martin6/mart mart (por defecto sin)
bash$ cp -r -i /home/martin6/mart mart (-i pide confirmacion)
cp: ¿sobreescribir `mart/mart/f1'? (s/n) n
cp: ¿sobreescribir `mart/mart/f2'? (s/n) n
cp: ¿sobreescribir `mart/mart/f3'? (s/n) n
RM -- elimina ficheros y directorios
1)
bash$ ls
10 20 30 datos f1 f2 f3 mart nsmail pa pu stdout tty1
bash$ rm f1 f2
bash$ ls
10 20 30 datos f3 mart nsmail pa pu stdout tty1
2)
bash$ ls
10 20 30 datos f3 mart nsmail pa pu stdout tty1
bash$ cd mart
bash$ ls
f1 f2 f3 mart
bash$ cd ..
bash$ rm mart
rm: mart: es un directorio [NO DEJA ELIMINAR DIRECTORIOS salvo...]
3)
bash$ rm -r mart [-r RECURSIVO elimina directorio y TODO lo de dentro]
bash$ ls
10 20 30 datos f3 nsmail pa pu stdout tty1
4)
creamos directorio y ficheros dentro
con opcion -i pide confirmacion, sin ella o con -f no pide confirmaciçon
bash$ mkdir marto
bash$ cd marto
bash$ touch 1
bash$ touch 2
bash$ touch 3
bash$ cd ..
bash$ ls
10 20 30 datos f3 marto nsmail pa pu stdout tty1
30
bash$ rm -r -i marto
rm: ¿descender al directorio `marto'? (s/n) n
EJERCICIO FICHEROS 2
Mc – programa para ver ficheros en Linux
1)Crear la estructura de arbol
[martin8@localhost martin8]$ pwd
/home/martin8
[martin8@localhost martin8]$ ls
10 50 f3 listado marto pa stdout vi
30 datos fich1 martin nsmail pu tty1
[martin8@localhost martin8]$ cd 10
[martin8@localhost 10]$ ls
20 a b c d
[martin8@localhost 10]$ cd 20
[martin8@localhost 20]$ ls
f g h
2)Borrar todo el contenido de 30
[martin8@localhost martin8]$ rm -r 30
[martin8@localhost martin8]$ ls
10 datos fich1 martin nsmail pu tty1
50 f3 listado marto pa stdout vi
3) Crear todo el contenido del directorio 10 a un nuevo directorio llamado 50 con
ficheros y directorios incluidos
[martin8@localhost martin8]$ cp -r 10 60
4) Copiar los ficheros del directorio 10 dentro del directorio /home/martin8/50/20
[martin8@localhost martin8]$ cp ./10/* ./50/20/
cp: ./10/20: se omite el directorio
[martin8@localhost martin8]$ pwd
/home/martin8
[martin8@localhost martin8]$ cd 50
[martin8@localhost 50]$ ls
20 a b c d
[martin8@localhost 50]$ cd 20
[martin8@localhost 20]$ ls
a b c d f g h
5) Desde el directorio principal /home/martin8 eliminar el directorio /50/20
[martin8@localhost martin8]$ rmdir ./50/20
31
rmdir: ./50/20: El directorio no está vacío
[martin8@localhost martin8]$
[martin8@localhost martin8]$ rm ./50/20/*
[martin8@localhost martin8]$ cd 50/20
[martin8@localhost 20]$ ls
[martin8@localhost 20]$ cd
[martin8@localhost martin8]$ rmdir ./50/20
[martin8@localhost martin8]$ ls ./50
10 a b c d
6)Copiar lo que se encuentra en el directorio 10/20 al directorio 50 (solo ficheros)
[martin8@localhost martin8]$ cp ./10/20/* 50
[martin8@localhost martin8]$ cd 10/20
[martin8@localhost 20]$ ls
f g h
[martin8@localhost 20]$ cd ../../50
[martin8@localhost 50]$ ls
10 a b c d f g h
7)Eliminar los ficheros del directorio 50, no el subdirectorio
[martin8@localhost martin8]$ rm 50/*
rm: 50/10: es un directorio
[martin8@localhost martin8]$ cd 50
[martin8@localhost 50]$ ls
10
8) cambiar el nombre del directorio 10 a 80
[martin8@localhost martin8]$ mv 10 80
[martin8@localhost martin8]$ ls
50 80 f3 listado marto pa stdout vi
60 datos fich1 martin nsmail pu tty1
9)Mover los ficheros del directorio 80 al subdirectorio 20
[martin8@localhost 80]$ mv * ./20
mv: no se puede mover `20' a un directorio de sí mismo, `./20/20'
[martin8@localhost 80]$ ls
20
[martin8@localhost 80]$ cd 20
[martin8@localhost 20]$ ls
a b c d f g h
10) Copiar el directorio 50 con todos sus subdirectorios al nueo directorio 90
[martin8@localhost martin8]$ cp -r 50 90
[martin8@localhost martin8]$ ls
50 80 datos fich1 martin nsmail pu tty1
32
60 90 f3 listado marto pa stdout vi
11) Crear un fichero con cat llamado X que diga "Iniciandome en UNIX..." en el
directorio propio y haga una copia de el con el nombre MIO.
[martin8@localhost martin8]$ cd
[martin8@localhost martin8]$ cat > X
Iniciandome en UNIX[martin8@localhost martin8]$ ls
50 80 X f3 listado marto pa stdout vi
60 90 datos fich1 martin nsmail pu tty1
[martin8@localhost martin8]$ cp X mio
[martin8@localhost martin8]$ ls
50 80 X f3 listado marto nsmail pu tty1
60 90 datos fich1 martin mio pa stdout vi
12)
Que hace esto? Que arbol de directorio tiene?
[martin8@localhost datos]$ ls
fich3 lolo report
[martin8@localhost datos]$ cd reprot
bash: reprot: No existe el fichero o el directorio
[martin8@localhost datos]$ cd report
[martin8@localhost report]$ ls
informes
[martin8@localhost report]$ mv ../fich3 .
[martin8@localhost report]$ ls
fich3 informes
REDIRECCION - DESCRIPTORES ESTANDAR
0 STDIN  entrada
1 STDOUT  salida por defecto
2 STDERROR  salida en caso de error
>  redirecciona creando o eliminando si existiera
>>  redirecciona añadiendo a lo anterior y si no existiera lo crea nuevo
cat f1 f2 > f3
cat f1 f2 > f1
martin8@NODE:/home/martin8/dir88> cat > f1
hola
martin8@NODE:/home/martin8/dir88> cat > f2
adios
martin8@NODE:/home/martin8/dir88> cat f1 f2 > f3
martin8@NODE:/home/martin8/dir88> cat f3
33
hola
adios
martin8@NODE:/home/martin8/dir88> cat f1 f2 f89>f4 2>ferror
martin8@NODE:/home/martin8/dir88> cat f4
hola
adios
martin8@NODE:/home/martin8/dir88> cat ferror
cat: f89: No such file or directory
martin8@NODE:/home/martin8/dir88> cat f1 f2 f89>>f4 2>ferror
martin8@NODE:/home/martin8/dir88> cat f4
hola
adios
hola
adios
martin8@NODE:/home/martin8/dir88> cat ferror
cat: f89: No such file or directory
cat f1 f2 f3 2>/dev/null
>
>>
1) Ejemplo de como se redirecciona un error a nulo (a papelera)
[martin8@localhost martin8]$ cat >f1
este es f1
[martin8@localhost martin8]$ cat >f2
este es f2
[martin8@localhost martin8]$ cat f1 f2
este es f1
este es f2
[martin8@localhost martin8]$ cat f1 f2 f3
este es f1
este es f2
cat: f3: No existe el fichero o el directorio
[martin8@localhost martin8]$ cat f1 f2 f3 2>/dev/null
este es f1
este es f2 [AQUI NO SALE EL ERROR POR PANTALLA]
2)
[martin8@localhost martin8]$ cat <f1 >fi3
[martin8@localhost martin8]$ cat f1
este es f1
[martin8@localhost martin8]$ cat fi3
este es f1
34
Lo que entra en cat no es del teclado sino del fi1 para luego grabarlo en fi3
3)
[martin8@localhost martin8]$ cat <f1 2>/dev/null
este es f1
[martin8@localhost martin8]$ cat <f1 f6 2>/dev/null
[martin8@localhost martin8]$ cat <f1 f6 2>err
[martin8@localhost martin8]$ cat err
cat: f6: No existe el fichero o el directorio
entra en cat y se muestra por pantalla f1 si huvbiera error se tira a la papelera
igual que el anterior pero con dos ficheros, f6 no existe, el error se tira a null
igual que el anterior pero el error se lleva a fichero err
4)
[martin8@localhost martin8]$ cat f1 f2 >> f3 2>>err
[martin8@localhost martin8]$ cat f1
este es f1
[martin8@localhost martin8]$ cat f2
este es f2
[martin8@localhost martin8]$ cat f3
este es f1
este es f2
une dos ficheros f1 y f2 en f3 y si hay errores en err
5)
[martin8@localhost martin8]$ cat f1 f10 >> f3 2>>err1
[martin8@localhost martin8]$ cat f1
este es f1
[martin8@localhost martin8]$ cat f10
cat: f10: No existe el fichero o el directorio
[martin8@localhost martin8]$ cat f3
este es f1
este es f2
este es f1
[martin8@localhost martin8]$ cat err1
cat: f10: No existe el fichero o el directorio
[martin8@localhost martin8]$
6) Indicar en estas sentencias cual es la entrada, salida y direcion de error
mail pepe (entrada teclado, salida pantalla, error pantalla)
mail pepe <carta
sort <fich >> fich2 2>err
cat >nuevofich 2>1
VARIOS COMANDOS EN UNA LINEA -> SEPARADOS POR ;
35
UN COMANDO LARGO EN VARIAS LINEAS   AL FINAL DE
LINEA SIN DEJAR ESPACIO ENTRE ESCRIBIR  Y DAR A ENTER
PIPE O TUBERIAS
La ejecución de un comando pasa al siguiente. Es una forma simple y muy util de
redireccionar la salida de un comando como entrada de otro.
Se utiliza el caracter |
cat f1|head -3|wc –w
Contar las palabras que tiene las 3 primeras lineas del fichero f1
El contenido del fichero f1 se pasa al comando head que únicamente selecciona las 3 primeras
lineas y posteriormenete esas tres lineas son las que recoje el comando wc –w para contar las
palabras que tiene.
Ejemplo:
1) cat listado|tail -10
-rw-r--r-- 1 martin6 ASI2 0 feb 21 13:34 f3
-rw-r--r-- 1 martin6 ASI2 0 feb 21 13:56 listado
-rw-r--r-- 1 martin6 ASI2 16 feb 21 13:51 martin
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto
drwx------ 2 martin8 users 4096 feb 12 14:03 nsmail
drwxr-xr-x 3 martin8 users 4096 ene 31 11:35 pa
drwxr-xr-x 4 martin8 users 4096 ene 31 11:36 pu
-rw-r--r-- 1 root root 17 feb 19 12:43 stdout
-rw-r--r-- 1 martin8 users 0 feb 19 12:15 tty1
-rwxrwxrwx 1 martin6 ASI2 5 feb 21 13:54 vi
2)cat listado|wc -l
37
3) cat listado|more
4)ls -la|more
5) cat listado|sort
6)
bash$ cat listado|sort > fich1
bash$ cat fich1|more
Es una forma simple y muy util de redireccionar la salida de un comando como entrada de
otro.
Se utiliza el caracter |
36
Por ejemplo:
[martin8@localhost martin8]$ ls|wc -w
16
es lo mismo que:
[martin8@localhost martin8]$ ls > num
[martin8@localhost martin8]$ wc -w num
16 num
[martin8@localhost martin8]$ rm num
Ordenar en un fichero el contenido del directorio
[martin8@localhost martin8]$ cat num|sort > numord
cat: num: No existe el fichero o el directorio
[martin8@localhost martin8]$ ls > num
[martin8@localhost martin8]$ cat num|sort > numord
[martin8@localhost martin8]$ cat num
a
b
datos
err
err1
f1
f2
f3
fi3
ls.out
ls.out1
ls.out3
marto
num
numord
pru
pu
[martin8@localhost martin8]$ cat numord
a
b
datos
err
err1
f1
f2
f3
fi3
ls.out
ls.out1
ls.out3
marto
37
num
numord
pru
pu
Mostrar los tres primeros ficheros ordenados alfabeticamente del directorio
[martin8@localhost martin8]$ cat numord|head -3
a
b
datos
Grabar en un fichero llamado tres los tres ultimos ficheros despues de realizar ls.
Deseamos que salga por pantalla ordenados en orden inverso a la vez que se hayn
grabado en dicho orden en un fichero llamado treso.
[martin8@localhost martin8]$ ls|tail -3|tee tres|sort -r|tee treso
treso
tres
pu
[martin8@localhost martin8]$ cat tres
pu
tres
treso
TEE
Lee la entrada estandar y envia la saliada sin transformar a dos lugares
a un fichero especificado
salida estandar
ls|tee f1|sort
la salida del comando ls el comando tee lo recibe y lo graba en el fichero f1 y además lo envía
al siguiente comando, en este caso sort
COMODINES
*  cualquier carácter
¿  un carácter (numero o letra, etc…)
blanco  o
[ ]  cualquiera de los caracteres
¡  not
ls a*  muestra ficheros que comienzan por a
rm a?? b??  borra ficheros que empiezan por a o por b y tienen tres letras SOLO
38
rm [abcd]*[xy]  borra ficheros que empiezan por cualquiera de las letras a,b,c,d y que
terminen por x o y. Entre la letra de principio y final puede haber ninguno o infinitos
caracteres.
cat [ ¡ab]*  muestra ficheros que no comienzan ni por a ni por b
rm [A-Z]?[¡b][¡a]  Ficheros de 4 letras que empiezan en su primera letra desde la A a la
Z. LA segunda letra cualquiera, la tercera no puede ser una b, y la ultima no puede ser una
a.
1)
ls y ls *
[martin8@localhost martin8]$ ls
a datos err1 f2 fi10 ls.out ls.out3 num pru tres
b err f1 f3 fi3 ls.out1 marto numord pu treso
[martin8@localhost martin8]$ ls *
a err f1 f3 fi3 ls.out1 num tres
b err1 f2 fi10 ls.out ls.out3 numord treso
datos:
lolo report
marto:
1 2 3
pru:
a b c d pr
pu:
2)
[martin8@localhost martin8]$ ls
a datos err1 f2 fi10 ls.out ls.out3 num pru tres
b err f1 f3 fi3 ls.out1 marto numord pu treso
[martin8@localhost martin8]$ ls f*
f1 f2 f3 fi10 fi3
3)
? es un caracter y si se deja espacio en blanco es como si fuera un OR
[martin8@localhost martin8]$ ls
a datos err1 f2 fi10 ls.out ls.out3 num pru tres
b err f1 f3 fi3 ls.out1 marto numord pu treso
[martin8@localhost martin8]$ ls f? p?
f1 f2 f3
pu:
pu
39
4)
[cualquiera de los caracteres entre corchetes]
[martin8@localhost martin8]$ ls
a datos err1 f2 fi10 ls.out ls.out3 num pru tres
b err f1 f3 fi3 ls.out1 marto numord pu treso
[martin8@localhost martin8]$ rm [tn]*[ms] [martin8@localhost martin8]$ ls
a datos err1 f2 fi10 ls.out ls.out3 numord pu
b err f1 f3 fi3 ls.out1 marto pru treso
--> empieze por t o n luego lo que sea y termine por ms
5)
! NOT
[martin8@localhost martin8]$ ls
a datos err1 f2 fi10 ls.out ls.out3 numord pu
b err f1 f3 fi3 ls.out1 marto pru treso
[martin8@localhost martin8]$ ls [!lmpted]*
a b f1 f2 f3 fi10 fi3 numord
6)
[martin8@localhost martin8]$ ls
a datos err1 f2 fi10 ls.out ls.out3 numord pu
b err f1 f3 fi3 ls.out1 marto pru treso
[martin8@localhost martin8]$ ls [f-l]?*[0-9]
fi10 fi3 ls.out1 ls.out3
? UNO OBLIGATORIO
* MUCHOS O NINGUNO
Para probarlo
[martin8@localhost martin8]$ ls
a datos err1 f2 f7 fi3 ls.out1 marto pru treso
b err f1 f3 fi10 ls.out ls.out3 numord pu
[martin8@localhost martin8]$ ls [f-l]?*[0-9]
fi10 fi3 ls.out1 ls.out3
COMPARACION FICHEROS
cmp
Por omision lista el numero de caracter y la línea de diferencia
cmp [opciones] archivo1 archivo2
40
martin8@NODE:/home/martin8> cat > comp
Este es el fichero comp
el 0
martin8@NODE:/home/martin8> cat > comp1
Este es el fichero comp
el 1
martin8@NODE:/home/martin8>
martin8@NODE:/home/martin8> cmp comp comp1
comp comp1 differ: char 28, line 2
cmp [opciones] archivo1 archivo2
diff
Muestra la diferencia entre dos ficheros. Si son iguales no muestra nada si son distintos
mostrará la diferencia.
martin8@NODE:/home/martin8> diff comp comp1
2c2
< el 0
---
> el 1
[martin8@localhost martin8]$ touch a
[martin8@localhost martin8]$ touch b
[martin8@localhost martin8]$ diff a b
[martin8@localhost martin8]$ cat >a
hola
[martin8@localhost martin8]$ cat>b
hola
[martin8@localhost martin8]$ diff a b
[martin8@localhost martin8]$ cat>>a
martin
[martin8@localhost martin8]$ diff a b
2d1
< martin
[martin8@localhost martin8]$ cat >b
hola
mart in
[martin8@localhost martin8]$ diff a b
2c2
< martin
---
> mart in
41
DIRCMP (EN LINUX NO EXISTE)
Salida con dos seccones:
 Archivos presentes en uno solo de los directorios
 Archivos del mismo nombre en los dos directorios indicando si coinciden o no
ALIAS
Alias nos indica los alias creados en el sistema.
Para crear un alias:
alias nombre del alias='(y entre comillas simples el comando)'
posteriormente al ejecutar el alias se ejecuta los comandos que hayamos realizado.
Por ejemplo:
[martin8@localhost martin8]$ alias ls1='ls ;pwd'
[martin8@localhost martin8]$ alias
alias l.='ls .[a-zA-Z]* --color=tty'
alias ll='ls -l --color=tty'
alias ls='ls --color=tty'
alias ls1='ls ;pwd'
[martin8@localhost martin8]$ ls1
a b datos fich marto pu
/home/martin8
FICHEROS INODE
Un inode es la estructura de datos en disco que desribe y almacena los atributos del fichero y
su localización.
Cuando el disco se inicializa para aceptar ficheros se crean un número específico de inodes.
El número de inodes determina el número máximo de ficheros que puede haber en el disco.
Existe un inode para cada 2 a 8 KBytes.
Cada inode tiene un numero distinto y cada fichero tiene su inode. Por tanto cuando se crea un
fichero un inode se le asigna a el y este es unico.
La información que se guarda en un inode es:
Propietario y grupo
Tipo de fichero
Permisos
Fecha de creación acceso y modificación
42
Número de links al fichero
Tamaño del fichero
Direcciones del disco donde se situa el fichero
Los inodes guardan toda la información del fichero excepto su localización en el directorio y
su nombre.
TIPOS DE FICHEROS:
En UNIX todo es un fichero. incluso los dispositivos. Existen deistintos tipos de ficheros:
1. Ficheros regulares
Contienen datos y corresponden a ficheros normales.
Texto
Binarios
Scripts ejecutables
Disponen de un - (ls -la)
2. Directorios
Un directorio es un fichero binario que contiene una lista de los ficheros que contiene.
En cada directorio existe una pareja de nombre de fichero e inodo. de esta manera es
en la que se asocian el inode y la localización y nombre del fichero.
Por este motivo cuando se quiere realizar un contenido de un directorio sin
propiedades no es necesario acceder al directorio pero si deseamos ver sus propiedades
si. (ls Vv Ls-s) ls -s para acceder a su tamaño por ejemplo debo acceder al inode que
es donde se guarda ese tipo de información. Y para ver el inde debo accedr al
directorio.
3. FICHEROS ESPECIALES
Los ficheros especiales son el mecanismo por el que UNIX se comunica con la entrada
y salida. Se encuentran en el directorio /dev y corresponden a dispositivos de
entrada/salida
4. LINKS
Un link es un mecanismo que permite referirse con distinto nombre de fichero a un
mismo fichero en disco.
Existen dos tipos de links:
hard link: (duro) Asocian uno o mas nombre de fichero con el mismo inode.
ln index hlink : crea un link con nombre hlink con el mismo inode que el
fichero index
index -- 3
hlink --- 3
43
soft link: (blando) Asocia un nombre a un nuevo inode que indica la posición
en disco donde se guarda la información del path donde esta el fichero.
ln -s index slink
Asocia al nombre slink un nuevo inode. Este inode indica la posición en disco
donde se guarda el path completo del fichero index.
index -- 3
slink -- 4
LOS DOS PERMITEN VISUALIZAR EL CONTENIDO DE INDEX
UTILIZANDO LOS NOMBRE DE hlink e slink PERO EXISTEN
DIFERENCIAS EN LA ESTRUCTURA INTERNA.
5. SOCKETS
Ficheros especiales para comunicaciones entre procesos dentro de la propia máquina o entre
máquinas distintas utilizando TCP/IP. Se abre el socket, lee o escribe...como si fueran
ficheros.En lugar de salida escribirlo a un fichero y enviarlo se envia directamente or
comunicaciones, más rápido.
6. PIPES
Ficheros de comunicaciones entre procesos de la misma máquina.
IDENTIFICACIÓN DE LOS DIVERSOS TIPOS DE FICHEROS
ls -l identifica los diversos tipos de ficheros que existen en UNIX
- ficheros regulares
d directorio
l link simbolico
d dispositivo
s socket
p pipe
martin8@NODE:/home/martin8> ls -l
total 24
-rw-r--r-- 2 martin8 users 24 Feb 25 10:46 hlink
-rw-r--r-- 1 martin8 users 33 Feb 25 11:04 index
-rw-r--r-- 1 martin8 users 20 Feb 23 02:35 l?
drwxr-xr-x 2 martin6 ASI2 4096 Feb 21 13:49 marto/
drwxr-xr-x 3 martin8 users 4096 Feb 25 11:02 seg/
lrwxrwxrwx 1 martin8 users 5 Feb 25 10:56 slink -> index
-rwxrwxrwx 1 martin8 users 14 Feb 22 18:50 treso*
44
FILE
EL COMANDO FILE identifica el tipo de fichero
file *
martin8@NODE:/home/martin8> file *
hlink: ASCII text
index: ASCII text
lç: ASCII text
marto: directory
seg: directory
slink: symbolic link to index
treso: ASCII text
LINKS LN
Existen dos tipos de links:
hard link: (duro)
ln index hlink : crea un link con nombre hlink con el mismo inode que el fichero
index
soft link: (blando)
ln -s index slink
LOS DOS PERMITEN VISUALIZAR EL CONTENIDO DE INDEX UTILIZANDO LOS
NOMBRE DE hlink e slink PERO EXISTEN DIFERENCIAS EN LA ESTRUCTURA
INTERNA.
CASOS Y DIFERENCIA DE LINKS:
1) Si no ocurre nada, ambos link visualizan el fichero index
martin8@NODE:/home/martin8> cat > index
Este es index de Martin
martin8@NODE:/home/martin8> cat index
Este es index de Martin
martin8@NODE:/home/martin8> ls -li
total 20
36409 -rw-r--r-- 1 martin8 users 24 Feb 25 10:46 index
36408 -rw-r--r-- 1 martin8 users 20 Feb 23 02:35 l?
3924 drwxr-xr-x 2 martin6 ASI2 4096 Feb 21 13:49 marto/
3934 drwxr-xr-x 3 martin8 users 4096 Feb 23 02:05 seg/
36545 -rwxrwxrwx 1 martin8 users 14 Feb 22 18:50 treso*
45
martin8@NODE:/home/martin8> ln index hlink
martin8@NODE:/home/martin8> ls -li index *link
36409 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 hlink
36409 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 index
martin8@NODE:/home/martin8> ln -s index slink
martin8@NODE:/home/martin8> ls -li index *link
36409 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 hlink
36409 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 index
36435 lrwxrwxrwx 1 martin8 users 5 Feb 25 10:56 slink -> index
Si mostramos hlink o slink se muestra el mismo contenido
martin8@NODE:/home/martin8> cat slink
Este es index de Martin
martin8@NODE:/home/martin8> cat hlink
Este es index de Martin
2) Si se mueve index que significa solo añadir una nueva entrada en el nuevo directorio
y borrarla del antiguo no se afecta el hardlink pues el inode del fichero es el mismo. Por
el contrario softlink apunta a lago que no existe pues ya no está en el mismo directorio.
Lo mismo ocurre si se borra el fichero index.
martin8@NODE:/home/martin8> mv index seg/
martin8@NODE:/home/martin8> ls -l
total 20
-rw-r--r-- 2 martin8 users 24 Feb 25 10:46 hlink
-rw-r--r-- 1 martin8 users 20 Feb 23 02:35 l?
drwxr-xr-x 2 martin6 ASI2 4096 Feb 21 13:49 marto/
drwxr-xr-x 3 martin8 users 4096 Feb 25 11:02 seg/
lrwxrwxrwx 1 martin8 users 5 Feb 25 10:56 slink -> index
-rwxrwxrwx 1 martin8 users 14 Feb 22 18:50 treso*
Ya hemos movido el fichero index al directorio seg.
Vamos a intentar visualizar:
martin8@NODE:/home/martin8> cat hlink
Este es index de Martin
martin8@NODE:/home/martin8> cat slink
cat: slink: No such file or directory
3)Si creamos un nuevo index, que ocurre???
martin8@NODE:/home/martin8> cat > index
Este es el nuevo index de Martin
martin8@NODE:/home/martin8> cat hlink
Este es index de Martin
martin8@NODE:/home/martin8> cat slink
Este es el nuevo index de Martin
46
Por tanto slink nos va a permitir siempre tener la versión actualizada de un fichero. Un
hardlink nos va a obtener el original y va a evitar el que si se elimina por accidente
podamos acceder por hlink de nuevo.
CUT
Este comando permite cortar una secuencia de caracteres de un archivo.
Cut –f1 agenda
Imprime la primera columna del archivo.
Tambien es posible seleccionar varias columnas:
Cut –f1,3 agenda
Obtiene los campos 1 y 3 de agenda.
Si se quiere empler otro delimitador de campos que no sea el tabulador es preciso indicarlo
con –d seguida del nuevo delimitador
Cut –d : -f1,3 agenda
Por ejemplo:
[martin@martin martin]$ cat pr
Hola me llamo Martin
y tu como te llamas?
voy a probar cut
[martin@martin martin]$ cut -d ' ' -f2 pr [HACEMOS EL BLANCO COMO CAMPO]
me
tu
a
TR
Traducir un carácter por otros.
Tr abc ABC < lista
[martin@martin martin]$ cat pr
Hola me llamo Martin
y tu como te llamas?
voy a probar cut
[martin@martin martin]$ tr me ME < pr
Hola ME llaMo Martin
y tu coMo tE llaMas?
voy a probar cut
47
Cambiará los caracteres a, b y c del archivo lista por sus correspondientes letras
mayusculas.
SE SUELE EMPLEAR PARA CAMBIAR EL SEPARADOR DE CAMPOS EN FICHEROS
Tr : ‘<TAB>’ < datos
Tengo que situar el TAB entre comillas para evitar que el interprete crea que es un espacio.
En Linux por ejemplo el tabulador se representa como /t
[martin@martin martin]$ tr ' ' 't' < pr
Hola me llamo Martin
y tu como te llamas?
voy a probar cut
COMPRESIÓN DE FICHEROS EN UNIX
Existen dos formas de compresión en los ficheros UNIX:
 compress, uncompress (1/5)
 gzip, gunzip
compress, uncompress
[martin8@localhost martin8]$ cat pruebagrep
hola voy a probar a
ver si me dice en que lugares
aparece la letra a
el comando grep
y este no tiene la letra
est line no tiene :-)
[martin8@localhost martin8]$ compress pruebagrep
[martin8@localhost martin8]$ ls
a datos err1 f2 f7 fi3 ls.out1 marto pru pu
b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep.Z treso
Si intento visualizar el fichero comprimido no puedo, pero existe la sentencia zcat que lo
permite
[martin8@localhost martin8]$ cat pruebagrep.Z
hÞ° ÂΛ<‘óFL9 Ø)qNmÊ€ “fŒÆ2n@Ä©£‘M3Ë̝¡
”Y†Ž‚a”abÌ›6aÜ•y
âŒœ2pX"TIG£tÒ€,IMÍ›,™ÊLãÆ)T©]Aèh‘B[martin8@localhost martin8]$
[martin8@localhost martin8]$ zcat pruebagrep.Z
hola voy a probar a
ver si me dice en que lugares
aparece la letra a
el comando grep
y este no tiene la letra
est line no tiene :-)
48
IMPORTANTE AL COMPRIMIR ELIMINA EL ORIGINAL Y CREA EL COMPRIMIDO.
AL DESCOMPRIMIR ELIMINA EL COMPRIMIDO Y CREA EL ORIGINAL.
[martin8@localhost martin8]$ ls
a datos err1 f2 f7 fi3 ls.out1 marto pru pu
b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep.Z treso
[martin8@localhost martin8]$ uncompress pru
pru pruebagrep.Z
[martin8@localhost martin8]$ uncompress pruebagrep.Z
[martin8@localhost martin8]$ ls
a datos err1 f2 f7 fi3 ls.out1 marto pru pu
b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep treso
Podemos visualizarlo en tuberias:
[martin8@localhost martin8]$ zcat pruebagrep.Z|head -1
hola voy a probar a
Lo que no podria realizar es utilizar el cat.
gzip
Compresión de GNU, genera ficheros en lugar de .Z .gz. Con zcat se puede visualizar
también.
[martin8@localhost martin8]$ gzip pruebagrep
[martin8@localhost martin8]$ ls
a datos err1 f2 f7 fi3 ls.out1 marto pru pu
b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep.gz treso
Descomprimirlo:
[martin8@localhost martin8]$ gunzip pruebagrep.gz
[martin8@localhost martin8]$ ls
a datos err1 f2 f7 fi3 ls.out1 marto pru pu
b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep treso
Tarea: probar cual comprime mas un fichero.
[martin8@localhost martin8]$ ls -laR > co
[martin8@localhost martin8]$ ls -l co
-rw-r--r-- 1 martin8 users 2870649 feb 22 20:00 co
[martin8@localhost martin8]$ compress co
[martin8@localhost martin8]$ ls -l co*
-rw-r--r-- 1 martin8 users 62277 feb 22 20:00 co.Z
[martin8@localhost martin8]$ gzip co
49
[martin8@localhost martin8]$ ls -l co*
-rw-r--r-- 1 martin8 users 13682 feb 22 20:00 co.gz
VI
EDITOR DE TEXTO
vi fichero
a -- para empezar a escribir
Al pulsar aparece en la parte inferior : --INSERT
cuando quiero terminar de escribir ESC
:wq
2) vi fichero --> vuelve a abrir el fichero
a -- escribir
escribir varias lineas:
ESC -- pasar a comando --> probar desplazamientos (h, l, j, k, etc).
50
MODOS O PERMISOS
rwx rwx rwx
USUARIO, GRUPO, OTROS
Fichero:
r  permite leer el contenido
w  permite modificar o eliminar
X  permite ejecutar el fichero (programas o shell script)
Directorio:
r  permite listar su contenido
w  permite crear ficheros y directorios dentro y eliminarlos (requiere X)
x  permite hacer cd al directorio
2 modos de cambiar permisos:
SIMBÓLICO
uno o mas
de
u
g
o
a
+ + añade
- elimina
= asigna
+ uno o más
de
r
w
x
chmod ug+w f1
chmod a+r f1
chmod g-x f1
chmod –R a+r *  cambia los permisos de forma recursiva a TODOS lo que contiene el
directorio actual.
OCTAL
r 4
w 2
x 1
chmod 764 f1
7  Permisos de usuario
6  permisos de grupo
4  permisos de otros
Permisos especiales
51
SUID,SGID  Asigna permisos del propietario y grupo durante la ejecución. Cuando el
fichero se ejecuta hace que el usuario que ejecuta el programa adquiera los privilegios del
propietario
chmod u+s f1 (SUID)
chmod g+s f1 (SGID)
Por ejemplo el comando passwd
which passwd
cd /usr/bin/passwd
ls –la passwd
STICKY BIT
Cuando un directorio tiene este permiso un usuario solo puede borrar los ficheros que sean de
ese usuario y no de otros.
Ejemplo : Directorio /tmp
cd /tmp
(Se asignaria chmod u+t)
ls –l /tmp
umask
Establece permisos por defecto al crear ficheros o directorios.
777-permisos que quiero asignar (p. ejemplo 754) = 023
umask 023  lo que hace es crear permisos por defecto de 754  rwxr-x-r—
CUIDADO:
666 para ficheros
777 para directorios
PERMISOS NECESARIOS
Comando Directorio
origen
Fichero origen Directorio
destino
cd x
ls r
mkdir x w
rmdir x w
cat x r
mv x w x w
cp x r x w
rm w w
52
ln x x w
CAMBIO DE PROPIETARIO Y GRUPO
chown usdai1 f1  cambia el propietario al fichero f1 por usdai1
chown usdai1:staff  cambia el usuario y grupo al fichero f1
chgrp staff f1 cambia el grupo al fichero f1 por staff
Se puede cambiar de grupo actual con newgrp
EJERCICIO PERMISOS
EJERCICI0 PERMISOS
Crear el arbol de directorios
[martin8@localhost martin8]$ mkdir datos
[martin8@localhost martin8]$ mkdir datos/report
[martin8@localhost martin8]$ mkdir datos/report/informes
[martin8@localhost martin8]$ touch datos/report/informes/datos.junio
[martin8@localhost martin8]$ touch datos/datos.enero
[martin8@localhost martin8]$ ls
datos
Cambiar los permisos a los adecuados:
[martin8@localhost martin8]$ ls -l
total 12
drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos
Permisos de directorio datos:
[martin8@localhost martin8]$ chmod 755 datos
[martin8@localhost martin8]$ ls -l
total 12
drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu
Permisos del directorio datos.enero
[martin8@localhost martin8]$ cd datos
[martin8@localhost datos]$ ls -la
total 12
drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 .
drwxrwxrwx 12 martin8 users 4096 feb 22 13:59 ..
-rw-r--r-- 1 martin8 users 0 feb 22 13:59 datos.enero
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report
[martin8@localhost datos]$ chmod 664 datos.enero
53
[martin8@localhost datos]$ ls -la
total 12
drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 .
drwxrwxrwx 12 martin8 users 4096 feb 22 13:59 ..
-rw-rw-r-- 1 martin8 users 0 feb 22 13:59 datos.enero
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report
1) Se ha creado el usuario juan
useadd -g users -p notocar juan
se ha realizado login con el usuario juan y se ha probado:
login: juan
Password:
bienvenido caraculo
[juan@localhost juan]$ id
uid=2005(juan) gid=100(users) groups=100(users)
[juan@localhost juan]$ cd
[juan@localhost juan]$ pwd
/home/juan
[juan@localhost juan]$ cd /home/martin8
[juan@localhost martin8]$ ls
datos marto pu
[juan@localhost martin8]$ cd datos
[juan@localhost datos]$ ls
datos.enero report
[juan@localhost datos]$ cat >>datos.enero
juan lo ha modificado[juan@localhost datos]$ ls
datos.enero report
[juan@localhost datos]$ cat datos.enero
juan lo ha modificado[juan@localhost datos]$
EJEMPLO DE COMO MODIFICANDO SUS PERMISOS ROOT PUEDE HACER TODO
[juan@localhost datos]$ cat datos.enero
juan lo ha modificado[juan@localhost datos]$ su root
Password:
[root@localhost datos]# ls
datos.enero report
[root@localhost datos]# cat >>datos.enero
[root@localhost datos]# chmod 000 datos.enero
[root@localhost datos]# ls -l
total 8
---------- 1 martin8 users 21 feb 22 14:13 datos.enero
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report
[root@localhost datos]# cat >> datos.enero
y root TODO[root@localhost datos]# cat datos.enero
juan lo ha modificadoy root TODO[root@localhost datos]#
2)
54
Cabio de permisos
DATOS
[martin8@localhost martin8]$ ls -l
total 12
drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu
[martin8@localhost martin8]$ chmod 775 datos
[martin8@localhost martin8]$ ls -l
total 12
drwxrwxr-x 3 martin8 users 4096 feb 22 13:59 datos
REPORT
[martin8@localhost datos]$ ls -l
total 8
---------- 1 martin8 users 32 feb 22 14:15 datos.enero
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report
[martin8@localhost datos]$ chmod 765 report
[martin8@localhost datos]$ ls -l
total 8
---------- 1 martin8 users 32 feb 22 14:15 datos.enero
drwxrw-r-x 3 martin8 users 4096 feb 22 13:57 report
INFORMES
[martin8@localhost report]$ ls -l
total 4
drwxr-xr-x 2 martin8 users 4096 feb 22 13:58 informes
[martin8@localhost report]$ chmod 775 informes
[martin8@localhost report]$ ls -l
total 4
drwxrwxr-x 2 martin8 users 4096 feb 22 13:58 informes
DATOS.JUNIO
[martin8@localhost informes]$ ls -l
total 0
-rw-r--r-- 1 martin8 users 0 feb 22 13:58 datos.junio
[martin8@localhost informes]$ chmod 664 datos.junio
[martin8@localhost informes]$ ls -l
total 0
-rw-rw-r-- 1 martin8 users 0 feb 22 13:58 datos.junio
SOLUCION
[juan@localhost datos]$ whoami
juan
[juan@localhost datos]$ pwd
55
/home/martin8/datos
[juan@localhost datos]$ cd report
bash: report: Permiso denegado
3)
Cambiar permisos DATOS
[martin8@localhost martin8]$ ls -l
total 12
drwxrwxr-x 3 martin8 users 4096 feb 22 13:59 datos
[martin8@localhost martin8]$ chmod 755 datos
[martin8@localhost martin8]$ ls -l
total 12
drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos
datos.enero
[martin8@localhost datos]$ ls -l
total 8
---------- 1 martin8 users 32 feb 22 14:15 datos.enero
drwxrw-r-x 3 martin8 users 4096 feb 22 13:57 report
[martin8@localhost datos]$ chmod 600 datos.enero
[martin8@localhost datos]$ ls -l
total 8
-rw------- 1 martin8 users 32 feb 22 14:15 datos.enero
drwxrw-r-x 3 martin8 users 4096 feb 22 13:57 report
datos/report
drwxrw-r-x 3 martin8 users 4096 feb 22 13:57 report
[martin8@localhost datos]$ chmod 755 report
[martin8@localhost datos]$ ls -l
total 8
-rw------- 1 martin8 users 32 feb 22 14:15 datos.enero
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report
SOLUCION
[juan@localhost datos]$ ls
datos.enero report
[juan@localhost datos]$ cp datos.enero /home/juan
cp: datos.enero: Permiso denegado
5)
Cambiar permisos DATOS
[martin8@localhost martin8]$ ls -l
total 12
drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos
drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto
56
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu
[martin8@localhost martin8]$ chmod 775 datos
[martin8@localhost martin8]$ ls -l
total 12
drwxrwxr-x 3 martin8 users 4096 feb 22 13:59 datos
Cambiar permisos datos.enero
[martin8@localhost datos]$ ls -l
total 8
-rw------- 1 martin8 users 32 feb 22 14:15 datos.enero
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report
[martin8@localhost datos]$ chmod 400 datos.enero
[martin8@localhost datos]$ ls -l
total 8
-r-------- 1 martin8 users 32 feb 22 14:15 datos.enero
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report
SOLUCION
[juan@localhost datos]$ ls -l
total 8
-r-------- 1 martin8 users 32 feb 22 14:15 datos.enero
drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report
[juan@localhost datos]$ rm -f datos.enero
[juan@localhost datos]$ ls
report
PROPIEDAD DE LOS PERMISOS
1) Cambiar la propiedad de un fichero: (antes era de root y ahora de martin6)
[root@localhost pru]# ls -l
total 0
-rw-r--r-- 1 root root 0 feb 22 17:52 a
-rw-r--r-- 1 root root 0 feb 22 17:53 b
-rw-r--r-- 1 root root 0 feb 22 17:53 c
-rw-r--r-- 1 root root 0 feb 22 17:53 d
[root@localhost pru]# chown martin6 a
[root@localhost pru]# ls -l
total 0
-rw-r--r-- 1 martin6 root 0 feb 22 17:52 a
-rw-r--r-- 1 root root 0 feb 22 17:53 b
-rw-r--r-- 1 root root 0 feb 22 17:53 c
-rw-r--r-- 1 root root 0 feb 22 17:53 d
2) Cambiar la propieda y el grupo de un fichero
[root@localhost pru]# ls -l
total 0
-rw-r--r-- 1 root root 0 feb 22 17:52 a
-rw-r--r-- 1 root root 0 feb 22 17:53 b
57
-rw-r--r-- 1 root root 0 feb 22 17:53 c
-rw-r--r-- 1 root root 0 feb 22 17:53 d
[root@localhost pru]# chown martin6 a
[root@localhost pru]# ls -l
total 0
-rw-r--r-- 1 martin6 root 0 feb 22 17:52 a
-rw-r--r-- 1 root root 0 feb 22 17:53 b
-rw-r--r-- 1 root root 0 feb 22 17:53 c
-rw-r--r-- 1 root root 0 feb 22 17:53 d
[root@localhost pru]# chown martin8:users b
[root@localhost pru]# ls-l
bash: ls-l: command not found
[root@localhost pru]# ls -l
total 0
-rw-r--r-- 1 martin6 root 0 feb 22 17:52 a
-rw-r--r-- 1 martin8 users 0 feb 22 17:53 b
-rw-r--r-- 1 root root 0 feb 22 17:53 c
-rw-r--r-- 1 root root 0 feb 22 17:53 d
3) Cambiar el grupo de un fichero
[root@localhost pru]# ls -l
total 0
-rw-r--r-- 1 martin6 root 0 feb 22 17:52 a
-rw-r--r-- 1 martin8 users 0 feb 22 17:53 b
-rw-r--r-- 1 root root 0 feb 22 17:53 c
-rw-r--r-- 1 root root 0 feb 22 17:53 d
[root@localhost pru]# chgrp users d
[root@localhost pru]# ls -l
total 0
-rw-r--r-- 1 martin6 root 0 feb 22 17:52 a
-rw-r--r-- 1 martin8 users 0 feb 22 17:53 b
-rw-r--r-- 1 root root 0 feb 22 17:53 c
-rw-r--r-- 1 root users 0 feb 22 17:53 d
4) De forma recursiva todo un directorio
[root@localhost martin8]# chown -R root pru
[root@localhost martin8]# cd pru
[root@localhost pru]# ls -l
total 0
-rw-r--r-- 1 root root 0 feb 22 17:52 a
-rw-r--r-- 1 root users 0 feb 22 17:53 b
-rw-r--r-- 1 root root 0 feb 22 17:53 c
-rw-r--r-- 1 root users 0 feb 22 17:53 d
5) Cambiar propietarios y grupos de todos los ficheros
[root@localhost pru]# chown -R root:users ../pru
[root@localhost pru]# ls -l
total 0
-rw-r--r-- 1 root users 0 feb 22 17:52 a
58
-rw-r--r-- 1 root users 0 feb 22 17:53 b
-rw-r--r-- 1 root users 0 feb 22 17:53 c
-rw-r--r-- 1 root users 0 feb 22 17:53 d
6) Con subdirectorios incluidos
chown -R martin8:users ../pru
[root@localhost pru]# ls -la
total 12
drwxr-xr-x 3 martin8 users 4096 feb 22 18:00 .
drwxrwxrwx 13 martin8 users 4096 feb 22 17:52 ..
-rw-r--r-- 1 martin8 users 0 feb 22 17:52 a
-rw-r--r-- 1 martin8 users 0 feb 22 17:53 b
-rw-r--r-- 1 martin8 users 0 feb 22 17:53 c
-rw-r--r-- 1 martin8 users 0 feb 22 17:53 d
drwxr-xr-x 2 martin8 users 4096 feb 22 18:00 pr
[root@localhost pru]# cd pr
[root@localhost pr]# ls -l
total 0
-rw-r--r-- 1 martin8 users 0 feb 22 18:00 a
COMUNICACION CON USUARIOS
WRITE
write <username> [tty]
bash$ whoami
martin6
bash$ write martin8
nos vemos en el jamaicano
Message from martin6@localhost.localdomain on pts/1 at 13:18 ...
nos vemos en el jamaicano
EOF
Si hubiera un usuario conectado a varios terminales habria que especificar por cual sacar el
mensaje. Realizarlo mediante el comando who.
el usuario puede estar en un host distinto
tty se usa cuando un usuario ha realizado varios logins para identificar una de sus terminales
Al escribir el mensaje pulsar CTRL+D para terminar
GREP
59
Este comando busca un patrón en ficheros y muestra la línea en la que aparece el patrón. Es
preferible poner la opción a buscar entre comillas.
Por ejemplo para buscar las líneas en las que aparece la cadena 'a' en el fichero pruebagrep
[martin8@localhost martin8]$ cat pruebagrep
hola voy a probar a
ver si me dice en que lugares
aparece la letra a
el comando grep
y este no tiene la letra
est line no tiene :-)
[martin8@localhost martin8]$ grep 'letra' pruebagrep
aparece la letra a
y este no tiene la letra
MODIFICADORES
-c --> nº de veces que aparece
-i --> ignora mayusculas y minusculas
-l --> muestra el nombre del fichero
-n --> indica el numero de linea
-v --> muestra las lineas en las que no aparece
Ejemplos:
-i (ignorar mayusculas)
[martin8@localhost martin8]$ grep -i 'LETRA' pruebagrep
aparece la letra a
y este no tiene la letra
[martin8@localhost martin8]$ grep 'LETRA' pruebagrep
[martin8@localhost martin8]$
-c (numero de lineas en las que aparece)
[martin8@localhost martin8]$ grep -i -c 'LETRA' pruebagrep
2
-n (indica el numero de linea)
[martin8@localhost martin8]$ grep -i -n 'LETRA' pruebagrep
3:aparece la letra a
5:y este no tiene la letra
[martin8@localhost martin8]$
-v (muestra las lineas en las que no aparece)
[martin8@localhost martin8]$ grep -i -v -n 'LETRA' pruebagrep
1:hola voy a probar a
2:ver si me dice en que lugares
60
4:el comando grep
6:est line no tiene :-)
-l (muestra ficheros)
[martin8@localhost martin8]$ grep -l "Martin" * 2>err
hlink
index
l
lç
slink
[martin8@localhost martin8]$ cat index
Este es el nuevo index de Martin
[root@localhost martin8]# grep -l "Hola" *
grep: basura: Es un directorio
grep: marto: Es un directorio
prueba2
grep: seg: Es un directorio
[root@localhost martin8]# cat index
Este es el nuevo index de Martin
[root@localhost martin8]# cat hlink
Este es index de Martin
[root@localhost martin8]# grep in* *
grep: basura: Es un directorio
hlink:Este es index de Martin
index:Este es el nuevo index de Martin
lolo:index
grep: marto: Es un directorio
grep: seg: Es un directorio
slink:Este es el nuevo index de Martin
[root@localhost martin8]# grep -l in* *
grep: basura: Es un directorio
hlink
index
lolo
grep: marto: Es un directorio
grep: seg: Es un directorio
slink
-cv --> indica la linea donde no aparece
[root@localhost martin8]# cat >prueba2
Hola soy Chiquito
como estan ustedes?
:-)
[root@localhost martin8]# grep "soy" prueba2
Hola soy Chiquito
[root@localhost martin8]# grep -cv "soy" prueba2
2
61
^ -- al comienzo de una linea
[root@localhost martin8]# grep ^Hola prueba2
Hola soy Chiquito
[root@localhost martin8]# grep ^Ho prueba2
Hola soy Chiquito
[root@localhost martin8]# grep ^o prueba2
[root@localhost martin8]# grep ^co prueba2
como estan ustedes?
[root@localhost martin8]# cat dicho
Cada fracaso
enseña al hombre
algo que
debería haber
aprendido.
El unico hombre
que nunca se equivoca es
el que nunca
hace nada
[root@localhost martin8]# grep ^a dicho
algo que
aprendido.
[aeiou] -- uno de los caracteres
[root@localhost martin8]# grep qu[aeiou] dicho
algo que
que nunca se equivoca es
el que nunca
que/qua/qui/quo/quu
[root@localhost martin8]# grep equ[aeiou] dicho
que nunca se equivoca es
CUIDADO porque es una letra o varias --> equivoca
[martin8@localhost martin8]$ who|grep "martin8"
martin8 pts/0 Feb 22 18:19
martin8 pts/1 Feb 22 19:43
[martin8@localhost martin8]$ who|grep "martin8"|wc -l
2
Busca el patrón donde el “punto” es una letra (como la ¿)
[root@martin /root]# grep ".a.t.." prueba
62
Martin va a probar algo
$  FINAL DE LA LINEA
[root@martin /root]# cat > prueba
Martin va a probar algo
mucho cuidado
[root@martin /root]# cat prueba
Martin va a probar algo
mucho cuidado
[root@martin /root]# cat prueba
Martin va a probar algo
mucho cuidado
[root@martin /root]# grep 'Martin'$ prueba
[root@martin /root]# grep 'o'$ prueba
Martin va a probar algo
mucho cuidado
[root@martin /root]# grep 'algo'$ prueba
Martin va a probar algo
[martin@martin martin]$ cat pr
Hola me llamo Martin
y tu como te llamas?
voy a probar cut
[martin@martin martin]$ grep 'MARTIN'$ pr
[root@martin /root]# cat prueba
Martin va a probar algo
mucho cuidado
[root@martin /root]# grep 'Martin'$ prueba
[root@martin /root]# grep 'o'$ prueba
Martin va a probar algo
mucho cuidado
[root@martin /root]# grep 'algo'$ prueba
Martin va a probar algo
EJEMPLOS CON PIPE y GREP
Procesos que está ejecutando martin8
[martin8@localhost martin8]$ ps -fe|grep martin8
root 1754 1753 0 18:18 pts/0 00:00:00 login -- martin8
martin8 1755 1754 0 18:19 pts/0 00:00:01 -bash
martin8 2039 1755 0 19:39 pts/0 00:00:00 ps -fe
martin8 2040 1755 0 19:39 pts/0 00:00:00 grep martin8
personas que jueguen al Doom:
63
[martin8@localhost martin8]$ ps -fe|grep "[Dd]oom"|awk '{print $1}'
[martin8@localhost martin8]$
Que sesiones tiene abiertas martin8
[martin8@localhost martin8]$ who
root tty1 Feb 22 12:32
martin8 pts/0 Feb 22 18:19
martin8 pts/1 Feb 22 19:43
martin6 pts/2 Feb 22 19:44
[martin8@localhost martin8]$ who|grep "martin8"
martin8 pts/0 Feb 22 18:19
martin8 pts/1 Feb 22 19:43
¿Cuantas?
[martin8@localhost martin8]$ who|grep "martin8"
martin8 pts/0 Feb 22 18:19
martin8 pts/1 Feb 22 19:43
[martin8@localhost martin8]$ who|grep "martin8"|wc -l
2
BANNER
[martin8@localhost martin8]$ /usr/games/banner -w19 hola
#
#############
#
##
#######
###
#######
#
#
#####
#
#############
#
#### ##
# #
#######
FIND
Este comando busca ficheros que tienen ciertas caracteristicas que se especifican. La sintaxis
es la siguiente:
64
find directorio criterios-acciones
Opciones
-size n ficheros con tamaño n bloques (512 bytes)
-type c tipo de fichero f=regular d=directorio
-name nombre fichero de nombre
-perm p ficheros con permisos p
-user str ficheros del usuario usr
-group gp ficheros del grupo gp
Ejemplos:
find . -name "core"
find / -name "core" -type f
Sintaxis de las opciones es variada:
-size +100 tamaño mayor de 50 K (100*512=51200/1024=50K)
-name '*.dat' todos los ficheros.dat
ejemplo:
[martin8@localhost martin8]$ ls
a co.gz err f1 f3 fi10 ls.out ls.out3 numord pruebagrep treso
b datos err1 f2 f7 fi3 ls.out1 marto pru pu
[martin8@localhost martin8]$ find . -name '*.out'
./ls.out
[martin8@localhost martin8]$ find . -name "*.out"
./ls.out
[martin8@localhost martin8]$
SE PUEDEN AGRUPAR CONDICIONES AND POR DEFECTO
-atime +60 -mtime +120
SE PUEDEN AGRUPAR POR OR
(-atime +7 -o -mtime +30)
CUIDADO BARRA Y PARENTESIS JUNTOS
NEGACION DE UNA CONDICION CON !.
Comando que busca ficheros .dat ecepto gold.dat
! -name gold.dat -name *.dat
65
ACCIONES
Permiten al comando fin ejecutar ciertos comandos sobre los ficheros que se han encontrado.
-print -- muestra el path del fichero (por defecto)
-exec cmd -- ejecuta el comando cmd
-ok cmd pregunta antes de ejecutar el comando
LOS COMANDOS CON -exec, -ok deben terminar en ;
LA FORMA {} SE USA PARA DETERMINAR LA POSICION DEL ARGUMENTO, ES
DECIR LA SALIDA DEL COMANDO FIND.
-exec rm -f {};
borra todos los ficheros que encuentre en la búsqueda (sin confirmacion)
Copiar todo lo que encuentre en pepe
-exec cp {} pepe;
Copia los ficheros con nombre core de tipo fichero en el directorio pablo.
find . -name core -type f -exec cp {} pablo ;
Copia el fichero paco sobre lo que encuentres sin confirmacion
find . name core -type f -exec cp paco {};
Buscar los ficheros con extensión .c a partir del directorio actual
find . -name *.c -print
Buscar los ficheros core y borrarlos unicamente los ficheros ya que existen directorios
llamados también core.
find . -name core -type f -exec rm -f {};
Buscar los ficheros de mas de 1Mb que no se hayn modificado desde hace 1 mes. Estos
ficheros son candidatos posteriormente a eliminarlos.
find / -size +2048 -mtime +30 -exec ls -l {};
si un bloque son 0,5 pues 1 MB son 1024*2 = 2048
TRUCO DE BLOQUES:
 Pasar a kb
 Multiplicar por 2
Borrar ficheros que no sirven y se van quedando en el sistema.
find . (-name a.out -o -name core -o -name '*~'
66
-o -name '.*~') -type f -exec rm -f {} ;
Buscar ficheros con permisos especiales SUID, SGID
find / ( -perm -2000 -o -perm -4000 ) -print
Mover los ficheros de .c del directorio martin8/1 al martin8/2
find 1 -name *.c -exec mv {} 2 ;
Cambiar de nombre a los ficheros del directorio martin8 que empiezen por f y sean de
dos letras y añadirles la extension .txt
find martin8 -name 'f?' -type f -exec mv {} {}.txt
Mas ejemplos:
[martin8@localhost prueba]$ ls -l
total 8
-rwxr----x 1 martin8 users 0 feb 22 20:21 a
-rwx--x--x 1 martin8 users 0 feb 22 20:21 b
-r-xr-xr-x 1 martin8 users 0 feb 22 20:21 c
-------rw- 1 martin8 users 7 feb 22 20:22 d
-rw-r--r-- 1 martin8 users 0 feb 22 20:58 ed
-rw-r--r-- 1 martin8 users 7 feb 22 20:21 m
[martin8@localhost prueba]$ find . -name "?" -type f -print
./a
./b
./c
./m
./d
[martin8@localhost prueba]$ ls -l
total 8
-rwxr----x 1 martin8 users 0 feb 22 20:21 a
-rwx--x--x 1 martin8 users 0 feb 22 20:21 b
-r-xr-xr-x 1 martin8 users 0 feb 22 20:21 c
-------rw- 1 martin8 users 7 feb 22 20:22 d
-rw-r--r-- 1 martin8 users 0 feb 22 20:58 ed
-rw-r--r-- 1 martin8 users 7 feb 22 20:21 m
[martin8@localhost prueba]$ find . -name "?" -type f -exec mv {} {}.txt
find: missing argument to `-exec'
[martin8@localhost prueba]$ find . -name "?" -type f -exec mv {} {}.txt ;
[martin8@localhost prueba]$ ls -l
total 8
-rwxr----x 1 martin8 users 0 feb 22 20:21 a.txt
-rwx--x--x 1 martin8 users 0 feb 22 20:21 b.txt
-r-xr-xr-x 1 martin8 users 0 feb 22 20:21 c.txt
-------rw- 1 martin8 users 7 feb 22 20:22 d.txt
-rw-r--r-- 1 martin8 users 0 feb 22 20:58 ed
-rw-r--r-- 1 martin8 users 7 feb 22 20:21 m.txt
67
[martin8@localhost prueba]$ find / ( -perm -2000 -o -perm -4000 ) -print 
> 2>err los errores cuando sea directorios sin permiso no saldran por pantalla
[martin8@localhost prueba]$ find / ( -perm -2000 -o -perm -4000 ) -print 
> > f20 2>err
[martin8@localhost prueba]$ cat f20|head -3
/usr/lib/emacs/20.5/i386-redhat-linux-gnu/movemail
/usr/man/es
/usr/man/es/man1
Mover ficheros a otro lugar modificando su extension
[martin8@localhost prueba]$ find . -name "??" -type f -exec mv {} mar/{}.txt ;
[martin8@localhost prueba]$ ls
a abe b mar
[martin8@localhost prueba]$ cd mar
[martin8@localhost mar]$ ls
aa.txt ab.txt
SORT
Este comando ordena las lineas de un fichero y escribe la salida a la salida estándar
Si se especifica mas de un fichero los une y los ordena como si se tratase de uno solo
Opciones mas importantes:
-f --- cambia a mayusculas antes de ordenar, ignora mayusulas y minusculas
-r orden inverso
-u suprime lineas repetidas en el fichero de salida
-o output file escribe la salida a un fichero
-d ignora caracteres especiales (solo letras y numeros)
Para especificar un fichero de salida hay que especificar la opciom -o
SORT CON CAMPOS
-t ‘<’  el carácter que se utiliza para separar campos
-k n  por que campo ordenar
Ejemplos
[martin8@localhost martin8]$ cat frutas
banana
orange
68
Persimmon
apple
apple
ORANGE
[martin8@localhost martin8]$ sort frutas
ORANGE
Persimmon
apple
apple
banana
orange
{LAS MAYUSCULAS ESTAN ANTES}
[martin8@localhost martin8]$ sort -f frutas (ignora mayusculas)
apple
apple
banana
ORANGE
orange
Persimmon
[martin8@localhost martin8]$ sort -f -u frutas (suprime las repetidas)
apple
banana
orange
Persimmon
[martin8@localhost martin8]$ sort -fur frutas (orden inverso)
Persimmon
orange
banana
apple
ES LO MISMO ESCRIBIR SORT -f -u -r frutas
Ejemplos con pipe
[martin8@localhost martin8]$ head -3 frutas|sort
Persimmon
banana
orange
[martin8@localhost martin8]$ head -3 frutas|sort -u -f
banana
orange
Persimmon
SORT CON CAMPOS
-t ‘<’  el carácter que se utiliza para separar campos
-k n  por que campo ordenar
69
martin8@NODE:/home/martin8/dir88> cat > f1
1 e
2 a
3 t
4 bmartin8@NODE:/home/martin8/dir88> sort f1
1 e
2 a
3 t
4 b
martin8@NODE:/home/martin8/dir88> sort -k2 f1
2 a
4 b
1 e
3 t
martin8@NODE:/home/martin8/dir88> cat f1
1<e
2<a
3<t
4<b
martin8@NODE:/home/martin8/dir88> sort -t '<' -k2 f1
2<a
4<b
1<e
3<t
Ejemplos
[martin8@localhost martin8]$ cat frutas
banana
orange
Persimmon
apple
apple
ORANGE
[martin8@localhost martin8]$ sort frutas
ORANGE
Persimmon
apple
apple
banana
orange
{LAS MAYUSCULAS ESTAN ANTES}
[martin8@localhost martin8]$ sort -f frutas (ignora mayusculas)
apple
apple
banana
70
ORANGE
orange
Persimmon
[martin8@localhost martin8]$ sort -f -u frutas (suprime las repetidas)
apple
banana
orange
Persimmon
[martin8@localhost martin8]$ sort -fur frutas (orden inverso)
Persimmon
orange
banana
apple
ES LO MISMO ESCRIBIR SORT -f -u -r frutas
Ejemplos con pipe
[martin8@localhost martin8]$ head -3 frutas|sort
Persimmon
banana
orange
[martin8@localhost martin8]$ head -3 frutas|sort -u -f
banana
orange
Persimmon
Número de usuarios con procesos activos
[martin8@localhost martin8]$ ps -fe|awk '{print $1}'|sort -u|wc -l
8
[martin8@localhost martin8]$ ps -fe|awk '{print $1}'|sort -u
UID
bin
daemon
martin6
martin8
nobody
root
xfs
SED
Comando para sutitución de texto dentro de un fichero.
sed 's/banana/MARTIN GV/' frutas
71
sed s/cadena a sustituir/nueva cadena/ fichero
Para cada linea del fichero procesa el comando y la salida la devuelve a stdout. Por tanto
despues de realizar el comando sed el fichero original no se altera.
El comando se suele emplear entre comillas aunque en casos simples no es necesario
- Varias instrucciones separadas por -e
- Crear fichero de scripts - [sed -f fichero fichero_a_sustituir]
[martin8@localhost martin8]$ cat frutas
banana
orange
Persimmon
apple
apple
ORANGE
[martin8@localhost martin8]$ sed s/banana/BANA/ frutas
BANA
orange
Persimmon
apple
apple
ORANGE
Cuando existen espacios si es necesario
[martin8@localhost martin8]$ sed 's/banana/MARTIN GV/' frutas
MARTIN GV
orange
Persimmon
apple
apple
ORANGE
Varias instrucciones separadas por -e
[martin8@localhost martin8]$ sed -e 's/banana/MARTIN GV/' -e 's/ap/AP/' frutas
MARTIN GV
orange
Persimmon
APple
APple
ORANGE
Redirecionar la salida a un fichero
[martin8@localhost martin8]$ sed 's/ap/AP/' frutas > frutas2
[martin8@localhost martin8]$ cat frutas2
banana
orange
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX
Resumen comandos UNIX

Más contenido relacionado

La actualidad más candente

Libro de ecologia urbana
Libro de ecologia urbanaLibro de ecologia urbana
Libro de ecologia urbanafaridum
 
MANUAL DE TECNOLOGÍA, INFORMACIÓN Y COMUNICACIÓN
MANUAL DE TECNOLOGÍA, INFORMACIÓN Y COMUNICACIÓNMANUAL DE TECNOLOGÍA, INFORMACIÓN Y COMUNICACIÓN
MANUAL DE TECNOLOGÍA, INFORMACIÓN Y COMUNICACIÓNSayuri CM
 
Practica 3 grupo 1 4 c
Practica 3 grupo 1 4 cPractica 3 grupo 1 4 c
Practica 3 grupo 1 4 cFran Profesor
 
Manual de improvisación. Sabatella M.
Manual de improvisación. Sabatella M.Manual de improvisación. Sabatella M.
Manual de improvisación. Sabatella M.francocar
 
Guenon rene simbolos fundamentales de la ciencia sagrada
Guenon rene simbolos fundamentales de la ciencia sagradaGuenon rene simbolos fundamentales de la ciencia sagrada
Guenon rene simbolos fundamentales de la ciencia sagradaAgacio1 3+4
 
Apuntes completos i crisy
Apuntes completos i crisyApuntes completos i crisy
Apuntes completos i crisy--- ---
 
Estudio de ordenamiento territorial comunitario c.i.sn.fco.jicalan, mich
Estudio de ordenamiento territorial comunitario c.i.sn.fco.jicalan, michEstudio de ordenamiento territorial comunitario c.i.sn.fco.jicalan, mich
Estudio de ordenamiento territorial comunitario c.i.sn.fco.jicalan, michssas123456789
 
ÉTICA DE ARISTÓTELES
 ÉTICA DE ARISTÓTELES ÉTICA DE ARISTÓTELES
ÉTICA DE ARISTÓTELESjoseipuz
 
Manual y recetario fondos y salsas
Manual y recetario fondos y salsas Manual y recetario fondos y salsas
Manual y recetario fondos y salsas Supeer Mayoo
 
Tesis maria kuong 30.07 (1)
Tesis maria kuong 30.07 (1)Tesis maria kuong 30.07 (1)
Tesis maria kuong 30.07 (1)Giovanna Salinas
 
Circuitos eléctricos. vol. ii
Circuitos eléctricos. vol. iiCircuitos eléctricos. vol. ii
Circuitos eléctricos. vol. iiwylind
 

La actualidad más candente (17)

Libro de ecologia urbana
Libro de ecologia urbanaLibro de ecologia urbana
Libro de ecologia urbana
 
MANUAL DE TECNOLOGÍA, INFORMACIÓN Y COMUNICACIÓN
MANUAL DE TECNOLOGÍA, INFORMACIÓN Y COMUNICACIÓNMANUAL DE TECNOLOGÍA, INFORMACIÓN Y COMUNICACIÓN
MANUAL DE TECNOLOGÍA, INFORMACIÓN Y COMUNICACIÓN
 
Ikertia y la innovación
Ikertia y la innovaciónIkertia y la innovación
Ikertia y la innovación
 
Word completo-2003
Word completo-2003Word completo-2003
Word completo-2003
 
Practica 3 grupo 1 4 c
Practica 3 grupo 1 4 cPractica 3 grupo 1 4 c
Practica 3 grupo 1 4 c
 
Antologia 2b borrador
Antologia 2b borradorAntologia 2b borrador
Antologia 2b borrador
 
Manual de improvisación. Sabatella M.
Manual de improvisación. Sabatella M.Manual de improvisación. Sabatella M.
Manual de improvisación. Sabatella M.
 
2015 02-mella-munoz
2015 02-mella-munoz2015 02-mella-munoz
2015 02-mella-munoz
 
Guenon rene simbolos fundamentales de la ciencia sagrada
Guenon rene simbolos fundamentales de la ciencia sagradaGuenon rene simbolos fundamentales de la ciencia sagrada
Guenon rene simbolos fundamentales de la ciencia sagrada
 
Apuntes completos i crisy
Apuntes completos i crisyApuntes completos i crisy
Apuntes completos i crisy
 
Estudio de ordenamiento territorial comunitario c.i.sn.fco.jicalan, mich
Estudio de ordenamiento territorial comunitario c.i.sn.fco.jicalan, michEstudio de ordenamiento territorial comunitario c.i.sn.fco.jicalan, mich
Estudio de ordenamiento territorial comunitario c.i.sn.fco.jicalan, mich
 
ÉTICA DE ARISTÓTELES
 ÉTICA DE ARISTÓTELES ÉTICA DE ARISTÓTELES
ÉTICA DE ARISTÓTELES
 
Manual y recetario fondos y salsas
Manual y recetario fondos y salsas Manual y recetario fondos y salsas
Manual y recetario fondos y salsas
 
Manual nx4 v2
Manual nx4 v2Manual nx4 v2
Manual nx4 v2
 
Examen
ExamenExamen
Examen
 
Tesis maria kuong 30.07 (1)
Tesis maria kuong 30.07 (1)Tesis maria kuong 30.07 (1)
Tesis maria kuong 30.07 (1)
 
Circuitos eléctricos. vol. ii
Circuitos eléctricos. vol. iiCircuitos eléctricos. vol. ii
Circuitos eléctricos. vol. ii
 

Destacado

Trabajo pw paco y santi(2)
Trabajo pw paco y santi(2)Trabajo pw paco y santi(2)
Trabajo pw paco y santi(2)9pacosteprun7
 
Servidor VPN en Linux - Bilal Jebari
Servidor VPN en Linux - Bilal JebariServidor VPN en Linux - Bilal Jebari
Servidor VPN en Linux - Bilal Jebaribilaljbr
 
Bluestacks Proyecto cristian delgado cazaña
 Bluestacks Proyecto cristian delgado cazaña Bluestacks Proyecto cristian delgado cazaña
Bluestacks Proyecto cristian delgado cazañacristian delgado cazaña
 
Cc cleaner félix adrian
Cc cleaner félix adrianCc cleaner félix adrian
Cc cleaner félix adrianAdrianGCSD
 
Trabajo toolwiz time freezem
Trabajo toolwiz time freezemTrabajo toolwiz time freezem
Trabajo toolwiz time freezemalex aaa
 
Taller final word
Taller final wordTaller final word
Taller final wordnatalia
 
ownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal JebariownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal Jebaribilaljbr
 
Revo uninstaller
Revo uninstaller Revo uninstaller
Revo uninstaller santi_1924
 
Team viewer cristian ceballos
Team viewer cristian ceballosTeam viewer cristian ceballos
Team viewer cristian ceballoscritiaaa
 
Itic15 flipped classroom con google martín garcía valle final
Itic15 flipped classroom con google martín garcía valle finalItic15 flipped classroom con google martín garcía valle final
Itic15 flipped classroom con google martín garcía valle finalMARTINGVALLE
 
Libro preguntas excel 1 smr1516 final
Libro preguntas excel 1 smr1516 finalLibro preguntas excel 1 smr1516 final
Libro preguntas excel 1 smr1516 finalMARTINGVALLE
 

Destacado (20)

Trabajo pw paco y santi(2)
Trabajo pw paco y santi(2)Trabajo pw paco y santi(2)
Trabajo pw paco y santi(2)
 
Mp3tag
Mp3tagMp3tag
Mp3tag
 
Virtual box
Virtual boxVirtual box
Virtual box
 
Microsoft word
Microsoft wordMicrosoft word
Microsoft word
 
Servidor VPN en Linux - Bilal Jebari
Servidor VPN en Linux - Bilal JebariServidor VPN en Linux - Bilal Jebari
Servidor VPN en Linux - Bilal Jebari
 
Bluestacks Proyecto cristian delgado cazaña
 Bluestacks Proyecto cristian delgado cazaña Bluestacks Proyecto cristian delgado cazaña
Bluestacks Proyecto cristian delgado cazaña
 
Sergio gonzález mateu 1 smr
Sergio gonzález mateu 1 smrSergio gonzález mateu 1 smr
Sergio gonzález mateu 1 smr
 
Cc cleaner félix adrian
Cc cleaner félix adrianCc cleaner félix adrian
Cc cleaner félix adrian
 
Trabajo toolwiz time freezem
Trabajo toolwiz time freezemTrabajo toolwiz time freezem
Trabajo toolwiz time freezem
 
Taller final word
Taller final wordTaller final word
Taller final word
 
ownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal JebariownCloud en Linux - Bilal Jebari
ownCloud en Linux - Bilal Jebari
 
Revo uninstaller
Revo uninstaller Revo uninstaller
Revo uninstaller
 
Team viewer cristian ceballos
Team viewer cristian ceballosTeam viewer cristian ceballos
Team viewer cristian ceballos
 
Ccleaner Cristian Rodriguez Viera
Ccleaner Cristian Rodriguez VieraCcleaner Cristian Rodriguez Viera
Ccleaner Cristian Rodriguez Viera
 
Itic15 flipped classroom con google martín garcía valle final
Itic15 flipped classroom con google martín garcía valle finalItic15 flipped classroom con google martín garcía valle final
Itic15 flipped classroom con google martín garcía valle final
 
KeePass
KeePassKeePass
KeePass
 
I LOVE PDF
I LOVE PDFI LOVE PDF
I LOVE PDF
 
Glary Utilities
Glary UtilitiesGlary Utilities
Glary Utilities
 
Amp win off presentación
Amp win off presentaciónAmp win off presentación
Amp win off presentación
 
Libro preguntas excel 1 smr1516 final
Libro preguntas excel 1 smr1516 finalLibro preguntas excel 1 smr1516 final
Libro preguntas excel 1 smr1516 final
 

Similar a Resumen comandos UNIX

Tabla de contenido. tabla e ilustraciones
Tabla de contenido. tabla e ilustracionesTabla de contenido. tabla e ilustraciones
Tabla de contenido. tabla e ilustracionesBea Rivas
 
Excel 2016 completo
Excel 2016   completoExcel 2016   completo
Excel 2016 completojohan reyes
 
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...Agustín Hv
 
HABLAR SOBRE EL DELITO. AUTORES: Peter M. Tiersma, Lawrence M. Solan. ISBN: 9...
HABLAR SOBRE EL DELITO. AUTORES: Peter M. Tiersma, Lawrence M. Solan. ISBN: 9...HABLAR SOBRE EL DELITO. AUTORES: Peter M. Tiersma, Lawrence M. Solan. ISBN: 9...
HABLAR SOBRE EL DELITO. AUTORES: Peter M. Tiersma, Lawrence M. Solan. ISBN: 9...Marcial Pons Argentina
 
Hugo Chávez Frías. Un hombre, un pueblo - Marta Harnecker.pdf
Hugo Chávez Frías. Un hombre, un pueblo - Marta Harnecker.pdfHugo Chávez Frías. Un hombre, un pueblo - Marta Harnecker.pdf
Hugo Chávez Frías. Un hombre, un pueblo - Marta Harnecker.pdfAlexisBesembel
 
Access, campos calculados, informes, macros, consultas, formularios
Access, campos calculados, informes, macros, consultas, formulariosAccess, campos calculados, informes, macros, consultas, formularios
Access, campos calculados, informes, macros, consultas, formulariosJorge Guanolema
 
Tarea de informatica
Tarea de informaticaTarea de informatica
Tarea de informaticaFranciscmart
 
TRABAJO FINAL INVESTIGACION CC5
TRABAJO FINAL INVESTIGACION  CC5TRABAJO FINAL INVESTIGACION  CC5
TRABAJO FINAL INVESTIGACION CC5Paulina Beristain
 
Casos Prácticos - Administración y Marketing “Universidad Continental” (Versi...
Casos Prácticos - Administración y Marketing “Universidad Continental” (Versi...Casos Prácticos - Administración y Marketing “Universidad Continental” (Versi...
Casos Prácticos - Administración y Marketing “Universidad Continental” (Versi...Cristhian ortiz casas
 
Informe2 reto3 grupo_castellano
Informe2 reto3 grupo_castellanoInforme2 reto3 grupo_castellano
Informe2 reto3 grupo_castellanoandramari_teleko
 
Avanzado excel
Avanzado excelAvanzado excel
Avanzado excelrfms07
 
Lecturas literarias
Lecturas literariasLecturas literarias
Lecturas literariasEducación
 
investigacion de cajamarquilla.pdf
investigacion de cajamarquilla.pdfinvestigacion de cajamarquilla.pdf
investigacion de cajamarquilla.pdfssuserdf52e31
 
Estudio de Tara Informe Final S N V
Estudio de  Tara Informe Final  S N VEstudio de  Tara Informe Final  S N V
Estudio de Tara Informe Final S N VVLADEMIRSS
 

Similar a Resumen comandos UNIX (20)

Reutilización de información pública y privada
Reutilización de información  pública y privada Reutilización de información  pública y privada
Reutilización de información pública y privada
 
Tabla de contenido. tabla e ilustraciones
Tabla de contenido. tabla e ilustracionesTabla de contenido. tabla e ilustraciones
Tabla de contenido. tabla e ilustraciones
 
Word basico
Word basicoWord basico
Word basico
 
Excel 2016 completo
Excel 2016   completoExcel 2016   completo
Excel 2016 completo
 
Revista juridica 2
Revista juridica 2Revista juridica 2
Revista juridica 2
 
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
Herramientas ARToolKit Implementadas en el Proyecto de Realidad Aumentada TAp...
 
HABLAR SOBRE EL DELITO. AUTORES: Peter M. Tiersma, Lawrence M. Solan. ISBN: 9...
HABLAR SOBRE EL DELITO. AUTORES: Peter M. Tiersma, Lawrence M. Solan. ISBN: 9...HABLAR SOBRE EL DELITO. AUTORES: Peter M. Tiersma, Lawrence M. Solan. ISBN: 9...
HABLAR SOBRE EL DELITO. AUTORES: Peter M. Tiersma, Lawrence M. Solan. ISBN: 9...
 
Analisis real
Analisis realAnalisis real
Analisis real
 
Hugo Chávez Frías. Un hombre, un pueblo - Marta Harnecker.pdf
Hugo Chávez Frías. Un hombre, un pueblo - Marta Harnecker.pdfHugo Chávez Frías. Un hombre, un pueblo - Marta Harnecker.pdf
Hugo Chávez Frías. Un hombre, un pueblo - Marta Harnecker.pdf
 
Access, campos calculados, informes, macros, consultas, formularios
Access, campos calculados, informes, macros, consultas, formulariosAccess, campos calculados, informes, macros, consultas, formularios
Access, campos calculados, informes, macros, consultas, formularios
 
Tarea de informatica
Tarea de informaticaTarea de informatica
Tarea de informatica
 
TRABAJO FINAL INVESTIGACION CC5
TRABAJO FINAL INVESTIGACION  CC5TRABAJO FINAL INVESTIGACION  CC5
TRABAJO FINAL INVESTIGACION CC5
 
Casos Prácticos - Administración y Marketing “Universidad Continental” (Versi...
Casos Prácticos - Administración y Marketing “Universidad Continental” (Versi...Casos Prácticos - Administración y Marketing “Universidad Continental” (Versi...
Casos Prácticos - Administración y Marketing “Universidad Continental” (Versi...
 
Informe2 reto3 grupo_castellano
Informe2 reto3 grupo_castellanoInforme2 reto3 grupo_castellano
Informe2 reto3 grupo_castellano
 
Avanzado excel
Avanzado excelAvanzado excel
Avanzado excel
 
Lecturas literarias
Lecturas literariasLecturas literarias
Lecturas literarias
 
investigacion de cajamarquilla.pdf
investigacion de cajamarquilla.pdfinvestigacion de cajamarquilla.pdf
investigacion de cajamarquilla.pdf
 
Estudio de Tara Informe Final S N V
Estudio de  Tara Informe Final  S N VEstudio de  Tara Informe Final  S N V
Estudio de Tara Informe Final S N V
 
Espigones crucita memoria técnica
Espigones crucita memoria técnicaEspigones crucita memoria técnica
Espigones crucita memoria técnica
 
Manual pc simu
Manual pc simu  Manual pc simu
Manual pc simu
 

Más de MARTINGVALLE

G Suite en mi aula Ctif Este Reducido Semana Ciencia Cm I&edu 2016 Google App...
G Suite en mi aula Ctif Este Reducido Semana Ciencia Cm I&edu 2016 Google App...G Suite en mi aula Ctif Este Reducido Semana Ciencia Cm I&edu 2016 Google App...
G Suite en mi aula Ctif Este Reducido Semana Ciencia Cm I&edu 2016 Google App...MARTINGVALLE
 
Guía centros educativos alergia a alimentos
Guía centros educativos alergia a alimentosGuía centros educativos alergia a alimentos
Guía centros educativos alergia a alimentosMARTINGVALLE
 
San román cristina junio 2016 martín garcía valle
San román cristina junio 2016 martín garcía valleSan román cristina junio 2016 martín garcía valle
San román cristina junio 2016 martín garcía valleMARTINGVALLE
 
Flipped classroom con google san román junio16 martín garcía valle
Flipped classroom con google san román junio16 martín garcía valleFlipped classroom con google san román junio16 martín garcía valle
Flipped classroom con google san román junio16 martín garcía valleMARTINGVALLE
 
Estudio metodologías y tic salesianos ciudad de los muchachos final
Estudio metodologías y tic salesianos ciudad de los muchachos finalEstudio metodologías y tic salesianos ciudad de los muchachos final
Estudio metodologías y tic salesianos ciudad de los muchachos finalMARTINGVALLE
 
Libro final funciones excel 1 smr1415
Libro final funciones excel 1 smr1415Libro final funciones excel 1 smr1415
Libro final funciones excel 1 smr1415MARTINGVALLE
 
Libro final funciones excel 1 smr1415
Libro final funciones excel 1 smr1415Libro final funciones excel 1 smr1415
Libro final funciones excel 1 smr1415MARTINGVALLE
 
Libro final preguntas excel 1 smr1415
Libro final preguntas excel 1 smr1415Libro final preguntas excel 1 smr1415
Libro final preguntas excel 1 smr1415MARTINGVALLE
 
Iedu 2016 final4 google apps for education en mi centro salesianos ciudad de ...
Iedu 2016 final4 google apps for education en mi centro salesianos ciudad de ...Iedu 2016 final4 google apps for education en mi centro salesianos ciudad de ...
Iedu 2016 final4 google apps for education en mi centro salesianos ciudad de ...MARTINGVALLE
 
Google apps para educación ctif madrid martín garcía valle
Google apps para educación ctif madrid martín garcía valleGoogle apps para educación ctif madrid martín garcía valle
Google apps para educación ctif madrid martín garcía valleMARTINGVALLE
 
Taller flipped classroom crif acacias final2 martín garcía valle
Taller flipped classroom crif acacias final2 martín garcía valleTaller flipped classroom crif acacias final2 martín garcía valle
Taller flipped classroom crif acacias final2 martín garcía valleMARTINGVALLE
 
Flipped classroom con google CRIF ACACIAS martín garcía valle 2016
Flipped classroom con google CRIF ACACIAS martín garcía valle 2016Flipped classroom con google CRIF ACACIAS martín garcía valle 2016
Flipped classroom con google CRIF ACACIAS martín garcía valle 2016MARTINGVALLE
 
Conoce google flipped classroom con google martín garcía valle Picasso-Vallad...
Conoce google flipped classroom con google martín garcía valle Picasso-Vallad...Conoce google flipped classroom con google martín garcía valle Picasso-Vallad...
Conoce google flipped classroom con google martín garcía valle Picasso-Vallad...MARTINGVALLE
 
#conocegoogle Flipped Classroom con Google GEG España Martín García Valle Dic15
#conocegoogle Flipped Classroom con Google GEG España Martín García Valle Dic15#conocegoogle Flipped Classroom con Google GEG España Martín García Valle Dic15
#conocegoogle Flipped Classroom con Google GEG España Martín García Valle Dic15MARTINGVALLE
 
Flipped Classroom con Google Martín García Valle SIMO EDUCACIÓN 2015
Flipped Classroom con Google Martín García Valle SIMO EDUCACIÓN 2015Flipped Classroom con Google Martín García Valle SIMO EDUCACIÓN 2015
Flipped Classroom con Google Martín García Valle SIMO EDUCACIÓN 2015MARTINGVALLE
 
Conferencia Flipped Classroom con Google Semana de la Ciencia Comunidad de Ma...
Conferencia Flipped Classroom con Google Semana de la Ciencia Comunidad de Ma...Conferencia Flipped Classroom con Google Semana de la Ciencia Comunidad de Ma...
Conferencia Flipped Classroom con Google Semana de la Ciencia Comunidad de Ma...MARTINGVALLE
 
Flipped classroom con google martín garcía valle reducida pamplona integratic...
Flipped classroom con google martín garcía valle reducida pamplona integratic...Flipped classroom con google martín garcía valle reducida pamplona integratic...
Flipped classroom con google martín garcía valle reducida pamplona integratic...MARTINGVALLE
 
Flipped classroom con google martín garcía valle integra tic pamplona
Flipped classroom con google martín garcía valle integra tic pamplonaFlipped classroom con google martín garcía valle integra tic pamplona
Flipped classroom con google martín garcía valle integra tic pamplonaMARTINGVALLE
 
Google apps classroom martín garcía valle
Google apps classroom martín garcía valle Google apps classroom martín garcía valle
Google apps classroom martín garcía valle MARTINGVALLE
 

Más de MARTINGVALLE (20)

G Suite en mi aula Ctif Este Reducido Semana Ciencia Cm I&edu 2016 Google App...
G Suite en mi aula Ctif Este Reducido Semana Ciencia Cm I&edu 2016 Google App...G Suite en mi aula Ctif Este Reducido Semana Ciencia Cm I&edu 2016 Google App...
G Suite en mi aula Ctif Este Reducido Semana Ciencia Cm I&edu 2016 Google App...
 
Guía centros educativos alergia a alimentos
Guía centros educativos alergia a alimentosGuía centros educativos alergia a alimentos
Guía centros educativos alergia a alimentos
 
San román cristina junio 2016 martín garcía valle
San román cristina junio 2016 martín garcía valleSan román cristina junio 2016 martín garcía valle
San román cristina junio 2016 martín garcía valle
 
Flipped classroom con google san román junio16 martín garcía valle
Flipped classroom con google san román junio16 martín garcía valleFlipped classroom con google san román junio16 martín garcía valle
Flipped classroom con google san román junio16 martín garcía valle
 
Estudio metodologías y tic salesianos ciudad de los muchachos final
Estudio metodologías y tic salesianos ciudad de los muchachos finalEstudio metodologías y tic salesianos ciudad de los muchachos final
Estudio metodologías y tic salesianos ciudad de los muchachos final
 
Libro final funciones excel 1 smr1415
Libro final funciones excel 1 smr1415Libro final funciones excel 1 smr1415
Libro final funciones excel 1 smr1415
 
Libro final funciones excel 1 smr1415
Libro final funciones excel 1 smr1415Libro final funciones excel 1 smr1415
Libro final funciones excel 1 smr1415
 
Libro final preguntas excel 1 smr1415
Libro final preguntas excel 1 smr1415Libro final preguntas excel 1 smr1415
Libro final preguntas excel 1 smr1415
 
Iedu 2016 final4 google apps for education en mi centro salesianos ciudad de ...
Iedu 2016 final4 google apps for education en mi centro salesianos ciudad de ...Iedu 2016 final4 google apps for education en mi centro salesianos ciudad de ...
Iedu 2016 final4 google apps for education en mi centro salesianos ciudad de ...
 
Google apps para educación ctif madrid martín garcía valle
Google apps para educación ctif madrid martín garcía valleGoogle apps para educación ctif madrid martín garcía valle
Google apps para educación ctif madrid martín garcía valle
 
Taller flipped classroom crif acacias final2 martín garcía valle
Taller flipped classroom crif acacias final2 martín garcía valleTaller flipped classroom crif acacias final2 martín garcía valle
Taller flipped classroom crif acacias final2 martín garcía valle
 
Flipped classroom con google CRIF ACACIAS martín garcía valle 2016
Flipped classroom con google CRIF ACACIAS martín garcía valle 2016Flipped classroom con google CRIF ACACIAS martín garcía valle 2016
Flipped classroom con google CRIF ACACIAS martín garcía valle 2016
 
Conoce google flipped classroom con google martín garcía valle Picasso-Vallad...
Conoce google flipped classroom con google martín garcía valle Picasso-Vallad...Conoce google flipped classroom con google martín garcía valle Picasso-Vallad...
Conoce google flipped classroom con google martín garcía valle Picasso-Vallad...
 
#conocegoogle Flipped Classroom con Google GEG España Martín García Valle Dic15
#conocegoogle Flipped Classroom con Google GEG España Martín García Valle Dic15#conocegoogle Flipped Classroom con Google GEG España Martín García Valle Dic15
#conocegoogle Flipped Classroom con Google GEG España Martín García Valle Dic15
 
CSS
CSSCSS
CSS
 
Flipped Classroom con Google Martín García Valle SIMO EDUCACIÓN 2015
Flipped Classroom con Google Martín García Valle SIMO EDUCACIÓN 2015Flipped Classroom con Google Martín García Valle SIMO EDUCACIÓN 2015
Flipped Classroom con Google Martín García Valle SIMO EDUCACIÓN 2015
 
Conferencia Flipped Classroom con Google Semana de la Ciencia Comunidad de Ma...
Conferencia Flipped Classroom con Google Semana de la Ciencia Comunidad de Ma...Conferencia Flipped Classroom con Google Semana de la Ciencia Comunidad de Ma...
Conferencia Flipped Classroom con Google Semana de la Ciencia Comunidad de Ma...
 
Flipped classroom con google martín garcía valle reducida pamplona integratic...
Flipped classroom con google martín garcía valle reducida pamplona integratic...Flipped classroom con google martín garcía valle reducida pamplona integratic...
Flipped classroom con google martín garcía valle reducida pamplona integratic...
 
Flipped classroom con google martín garcía valle integra tic pamplona
Flipped classroom con google martín garcía valle integra tic pamplonaFlipped classroom con google martín garcía valle integra tic pamplona
Flipped classroom con google martín garcía valle integra tic pamplona
 
Google apps classroom martín garcía valle
Google apps classroom martín garcía valle Google apps classroom martín garcía valle
Google apps classroom martín garcía valle
 

Último

Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdflizcortes48
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías productommartinezmarquez30
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entornoday561sol
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Gonella
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfJosé Hecht
 
Catálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial AlbatrosCatálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial AlbatrosGustavoCanevaro
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaFarid Abud
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJOLeninCariMogrovejo
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraJose Sanchez
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxMartaChaparro1
 
Filosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroFilosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroJosé Luis Palma
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacionviviantorres91
 
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD EDUCATIVO.pdfdeBelnRosales2
 

Último (20)

Cuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdfCuadernillo de actividades eclipse solar.pdf
Cuadernillo de actividades eclipse solar.pdf
 
historieta materia de ecologías producto
historieta materia de ecologías productohistorieta materia de ecologías producto
historieta materia de ecologías producto
 
¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx¿Amor o egoísmo? Esa es la cuestión.pptx
¿Amor o egoísmo? Esa es la cuestión.pptx
 
Salvando mi mundo , mi comunidad , y mi entorno
Salvando mi mundo , mi comunidad  , y mi entornoSalvando mi mundo , mi comunidad  , y mi entorno
Salvando mi mundo , mi comunidad , y mi entorno
 
Acuerdo segundo periodo - Grado Once.pptx
Acuerdo segundo periodo - Grado Once.pptxAcuerdo segundo periodo - Grado Once.pptx
Acuerdo segundo periodo - Grado Once.pptx
 
Unidad 1 | Metodología de la Investigación
Unidad 1 | Metodología de la InvestigaciónUnidad 1 | Metodología de la Investigación
Unidad 1 | Metodología de la Investigación
 
Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2Apunte de clase Pisos y Revestimientos 2
Apunte de clase Pisos y Revestimientos 2
 
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdfMEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
MEDIACIÓN INTERNACIONAL MF 1445 vl45.pdf
 
Sesión ¿Amor o egoísmo? Esa es la cuestión
Sesión  ¿Amor o egoísmo? Esa es la cuestiónSesión  ¿Amor o egoísmo? Esa es la cuestión
Sesión ¿Amor o egoísmo? Esa es la cuestión
 
Catálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial AlbatrosCatálogo general de libros de la Editorial Albatros
Catálogo general de libros de la Editorial Albatros
 
Acuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptxAcuerdo segundo periodo - Grado Noveno.pptx
Acuerdo segundo periodo - Grado Noveno.pptx
 
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsaPresentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
Presentacionde Prueba 2024 dsdasdasdsadsadsadsadasdasdsadsa
 
AO TEATRO, COM ANTÓNIO MOTA! _
AO TEATRO, COM ANTÓNIO MOTA!             _AO TEATRO, COM ANTÓNIO MOTA!             _
AO TEATRO, COM ANTÓNIO MOTA! _
 
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJODIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
DIDÁCTICA DE LA EDUCACIÓN SUPERIOR- DR LENIN CARI MOGROVEJO
 
Descripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldaduraDescripción del Proceso de corte y soldadura
Descripción del Proceso de corte y soldadura
 
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptxTALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
TALLER_DE_ORALIDAD_LECTURA_ESCRITURA_Y.pptx
 
El Bullying.
El Bullying.El Bullying.
El Bullying.
 
Filosofía del gobierno del general Alfaro
Filosofía del gobierno del general AlfaroFilosofía del gobierno del general Alfaro
Filosofía del gobierno del general Alfaro
 
Actividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 EducacionActividades eclipse solar 2024 Educacion
Actividades eclipse solar 2024 Educacion
 
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde5º SOY LECTOR PART1- MD  EDUCATIVO.pdfde
5º SOY LECTOR PART1- MD EDUCATIVO.pdfde
 

Resumen comandos UNIX

  • 2. 2 UNIX Índice date.......................................................................................................................................................................... 4 cat............................................................................................................................................................................ 4 pico.......................................................................................................................................................................... 4 wc............................................................................................................................................................................ 4 cal............................................................................................................................................................................ 5 who.......................................................................................................................................................................... 5 clear......................................................................................................................................................................... 5 man.......................................................................................................................................................................... 5 PASSWD ................................................................................................................................................................ 5 mail ......................................................................................................................................................................... 5 DIRECCIONAMIENTO RELATIVO Y ABSOLUTO........................................................................................ 16 touch...................................................................................................................................................................... 16 ls............................................................................................................................................................................ 17 mkdir..................................................................................................................................................................... 18 cd........................................................................................................................................................................... 19 rmdir...................................................................................................................................................................... 20 rm.......................................................................................................................................................................... 20 pwd........................................................................................................................................................................ 20 mv ......................................................................................................................................................................... 20 cp........................................................................................................................................................................... 21 cat.......................................................................................................................................................................... 22 TREE .................................................................................................................................................................... 22 LESS ..................................................................................................................................................................... 23 whoami.................................................................................................................................................................. 23 which..................................................................................................................................................................... 23 WHATIS............................................................................................................................................................... 23 WHEREIS............................................................................................................................................................. 24 head....................................................................................................................................................................... 24 tail ......................................................................................................................................................................... 24 MORE................................................................................................................................................................... 26 HISTORY ............................................................................................................................................................. 27 EJERCICIOS FICHEROS 1 ................................................................................................................................. 27 EJERCICIO FICHEROS 2 ................................................................................................................................... 30 REDIRECCION - DESCRIPTORES ESTANDAR ............................................................................................. 32 VARIOS COMANDOS EN UNA LINEA -> SEPARADOS POR ;.................................................................... 34 UN COMANDO LARGO EN VARIAS LINEAS  al final de linea sin dejar espacio entre escribir y dar a ENTER.................................................................................................................................................................. 35 PIPE O TUBERIAS.............................................................................................................................................. 35 tee.......................................................................................................................................................................... 37 COMODINES....................................................................................................................................................... 37 COMPARACION FICHEROS............................................................................................................................. 39 ALIAS................................................................................................................................................................... 41 FICHEROS INODE.............................................................................................................................................. 41 FILE...................................................................................................................................................................... 44 LINKS ln............................................................................................................................................................... 44 CUT ...................................................................................................................................................................... 46 TR ......................................................................................................................................................................... 46 COMPRESIÓN DE FICHEROS EN UNIX ......................................................................................................... 47 VI .......................................................................................................................................................................... 49 MODOS O PERMISOS........................................................................................................................................ 50 EJERCICIO PERMISOS ...................................................................................................................................... 52 COMUNICACION CON USUARIOS................................................................................................................. 58 GREP .................................................................................................................................................................... 58 banner.................................................................................................................................................................... 63 FIND ..................................................................................................................................................................... 63
  • 3. 3 SORT .................................................................................................................................................................... 67 SED....................................................................................................................................................................... 70 PROCESOS .......................................................................................................................................................... 74 PS - PARA VER EL LISTADO DE PROCESOS................................................................................................ 75 GESTION DE USUARIOS .................................................................................................................................. 81 SU -....................................................................................................................................................................... 81 PASSWD .............................................................................................................................................................. 81 ID .......................................................................................................................................................................... 81 WHOAMI ............................................................................................................................................................. 82 USUARIOS EN UNIX ......................................................................................................................................... 83 FICHERO /ETC/PASSWD................................................................................................................................... 83 GRUPOS EN UNIX.............................................................................................................................................. 84 CREACIÓN AUTOMÁTICA DE USUARIOS ................................................................................................... 85 CREACIÓN AUTOMÁTICA DE GRUPOS ....................................................................................................... 86 FICHERo /ETC/GROUP ...................................................................................................................................... 87 GESTIÓN DE USUARIOS .................................................................................................................................. 88 AT ......................................................................................................................................................................... 97 ARCHIVOS DE CONFIGURACIÓN.................................................................................................................. 98 EJERCICIOS GENERALES .............................................................................................................................. 103 COMUNICACION CON USUARIOS............................................................................................................... 106 WRITE................................................................................................................................................................ 106 WALL................................................................................................................................................................. 107 TALK.................................................................................................................................................................. 107 MENSAJE DEL DIA.......................................................................................................................................... 108 MENSAJE ANTES DE HACER LOGIN........................................................................................................... 108 FINGER - WHO - CHFN - ID............................................................................................................................ 109 FTP...................................................................................................................................................................... 110 PING................................................................................................................................................................... 110 EJEMPLO DE TELNET, WHO, WHO AM I y WRITE.................................................................................... 111 INETD.CONF..................................................................................................................................................... 113 TTY..................................................................................................................................................................... 114 LOGNAME......................................................................................................................................................... 114 UNAME.............................................................................................................................................................. 114 MONTADO DE SISTEMA DE ARCHIVOS .................................................................................................... 115 CERRAR SISTEMA........................................................................................................................................... 118 SHELL SCRIPTS TEORIA................................................................................................................................ 119 EJERCICIOS SHELL SCRIPT........................................................................................................................... 126 EJERCICIOS SHELL SCRIPTS ........................................................................................................................ 146 SHELL SCRIPTS INVOCAR SCRIPT.............................................................................................................. 150 EXIT ................................................................................................................................................................... 151 EXPORTACION DE VARIABLES................................................................................................................... 152 EJERCICIOS GENERALES .............................................................................................................................. 153
  • 4. 4 DATE Fecha actual Date “+Mes:%m%nDia:%d%nHora:%T” Siempre al comenzar  + %n  salto de linea CAT Visualiza ficheros cat f1 f2 Escribir fichero cat > f1 cat –n f1 : visualiza lineas del fichero martin8@NODE:/home/martin8/dir88> cat -n f1 1 1<e 2 2<a 3 3<t 4 4<b PICO Editor de Linux Para salir y grabar CTRL+X WC WC --> word count Cuenta palabras (w) Cuenta lineas (l) Cuenta letras (c) de un fichero wc –w –l f1 : cuenta las lineas y palabras del fichero f1 bash$ cat > martin Hola soy Martin bash$ wc martin 1 3 16 martin lineas/palabras/caracters (+1 --> CTRL+C y CTRL+C) CUIDADO cuenta 1 de mas.
  • 5. 5 CAL Muestra el calendario cal 2002 cal 2 2002 WHO Usuarios conectados en este momento al sistema martin8@NODE:/home/martin8> who martin8 pts/0 Jun 16 10:38 pts/X es pseudoterminal tty  funcionando en la máquina CLEAR Limpiar pantalla MAN Comando de ayuda de UNIX Preguntar ayuda sobre X  man X q para salir PASSWD Cambia la password de un usuario bash$ passwd Changing password for martin6 (current) UNIX password: passwd: Authentication failure bash$ bash$ passwd Changing password for martin6 (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully MAIL Correo en UNIX
  • 6. 6 x  salir sin grabar q  salir grabando d  borrar mensaje h  mostrar lista de mensajes t  ir a un determinado mensaje t2,t5 s  grabar mensajes en un fichero  s 1 2 3 mensaj1 mail –f  leer mensajes grabados en X fichero  mail –f mensaj1 r  responder mensaje a  alias de correo MAIL mail <usuario al que va dirigido> Subject : Tema hola bla bla bla bla bla bla CTRL+D CC: Otros destinos Ejemplo: bash$ mail martin8 Subject: AYUDA Martin necesito que me acompañes a una reunion de^H^H^H^[[D Cc: root bash$ SI UNA VEZ ESCRITO EL MENSAJE NO LO QUEREMOS ENVIAR CTRL+C y CTRL+C Ejemplo: Subject: AYUDA Martin necesito que me acompañes a una reunion de^H^H^H^[[D Cc: bash$ mail martin8 Subject: N^HNO no hace falta la han retrasado (Interrupt -- one more to kill letter) bash$ (He pulsado dos veces CTRL+C) VISUALIZAR EL MAIL ENVIADO A MARTIN8 [martin8@localhost martin8]$ mail Unknown command: "export" Mail version 8.1 6/6/93. Type ? for help.
  • 7. 7 "/var/spool/mail/martin8": 1 message 1 new >N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA" & EXISTEN DOS OPCIONES: N --> nuevo mensaje U --> mensaje recibido anteriormente y no leido OPCIONES DE MAIL Si se pulsa ENTER sobre el mensaje activo, señalado por > se visualiza. Ejemplo: "/var/spool/mail/martin8": 1 message 1 new >N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA" & Message 1: From martin6 Thu Feb 21 11:25:27 2002 Date: Thu, 21 Feb 2002 11:25:27 +0100 From: Martinv6 <martin6@localhost.localdomain> To: martin8@localhost.localdomain Subject: AYUDA Martin necesito que me acompañes a una reunion de & x -- SALIR DE MAIL SIN ALTERAR EL BUZON, SIN GRABAR Ejemplo: (He leido el mensaje pero al salir con x es como si no hubiera realizado nada) & x [martin8@localhost martin8]$ mail Unknown command: "export" Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/martin8": 1 message 1 new >N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA" & ENVIAMOS UN SEGUNDO MENSAJE A MARTIN8 DESDE MARTIN6 Al pulsar de nuevo mail salen los dos mensajes [martin8@localhost martin8]$ mail Unknown command: "export" Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/martin8": 2 messages 2 new >N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA" N 2 martin6@localhost.lo Thu Feb 21 11:34 13/402 "dos" &
  • 8. 8 t --> NOS PERMITE LEER EL MENSAJE QUE LE ESPECIFIQUEMOS, por ejemplo si escribo t2 me lee el mensaje "dos" Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/martin8": 2 messages 2 new >N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA" N 2 martin6@localhost.lo Thu Feb 21 11:34 13/402 "dos" & t2 Message 2: From martin6 Thu Feb 21 11:34:01 2002 Date: Thu, 21 Feb 2002 11:34:01 +0100 From: Martinv6 <martin6@localhost.localdomain> To: martin8@localhost.localdomain Subject: dos segund mensaje & h --> ME MUESTRA LA CABECERA DE LOS MENSAJES. Al haber leido el mensaje 2 en esta ocasión desaparece la opción de N y U ya que ni es nuevo ni aun no lo he leido. Subject: dos segund mensaje & h N 1 martin6@localhost.lo Thu Feb 21 11:25 13/445 "AYUDA" > 2 martin6@localhost.lo Thu Feb 21 11:34 13/402 "dos" & AHORA HEMOS ENVIADO VARIOS CORREOS A MARTIN8 PARA PRACTICAR VISUALIZANDO, GRABANDO y ELIMINANDO. bash$ mail martin8 Subject: dos segund mensaje Cc: bash$ mail martin8 Subject: tres hola3 Cc: bash$ mail martin8 Subject: cuatro hola4 Cc: bash$ mail martin8 Subject: cinco y hola e nuevo campeon Cc:
  • 9. 9 bash$ Cuando martin8 escriba MAIL visualizara los mensajes: [martin8@localhost martin8]$ mail Unknown command: "export" Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/martin8": 5 messages 3 new 5 unread U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" >N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" & Como siempre para visualizar o bien dar ENTER o bien t y el número de mensaje & t4 Message 4: From martin8 Thu Feb 21 11:42:20 2002 Date: Thu, 21 Feb 2002 11:42:20 +0100 From: martin8@localhost.localdomain To: martin8@localhost.localdomain Subject: cuatro 4 & h U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" > 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" & x --> SALIR SIN GRABAR Si salimos sin grabar de nuevo aparecerá como si no hubieramos entrado: & h U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" > 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" & x You have mail in /var/spool/mail/martin8 [martin8@localhost martin8]$ mail Unknown command: "export" Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/martin8": 5 messages 3 new 5 unread
  • 10. 10 U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" >N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" & d --> ELIMINAR MENSAJES d1 -- elimina mensaje 1 d* -- elimina todos los mensajes d 3-7 -- elimina los mensajes del 1 al 7 Ejemplo "/var/spool/mail/martin8": 5 messages 3 new 5 unread U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" >N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" & d1 & h >U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" & & h >U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" & d 4-5 & h U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" >N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" & u --> SIN SALIR DE MAIL RECUPERA MENSAJES u1 -- recupera el mensaje 1 u* - recupera todos los mensajes u 3 7 -- recupera los menajes3 y 7 u 3-7 recupera los mensajes del 3 al 7 Ejemplo & h U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" >N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres"
  • 11. 11 & u1 & h > 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" & u 4 5 & h 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" > 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" r ..> RESPODER MENSAJE Ejemplo & h 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" > 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" & r1 To: martin8@localhost.localdomain martin6@localhost.localdomain Subject: Re: AYUDA GRACIAS Cc: & y a martin6 lo recibira: Held 3 messages in /var/spool/mail/martin6 bash$ mail Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/martin6": 4 messages 1 new 4 unread U 1 martin6@localhost.lo Thu Feb 21 11:38 14/404 "tres" U 2 martin6@localhost.lo Thu Feb 21 11:38 14/406 "cuatro" U 3 martin6@localhost.lo Thu Feb 21 11:39 14/422 "cinco" >N 4 martin8@localhost.lo Thu Feb 21 11:51 13/409 "Re: AYUDA" s --> SALIR GRABANDO. Los mensajes no leidos pasan de N a U. "/var/spool/mail/martin8": 6 messages 4 new 6 unread U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" >N 3 martin8@localhost.lo Thu Feb 21 11:42 13/379 "tres" N 4 martin8@localhost.lo Thu Feb 21 11:42 13/381 "cuatro" N 5 martin8@localhost.lo Thu Feb 21 11:42 14/389 "cinco" N 6 martin8@localhost.lo Thu Feb 21 11:51 13/409 "Re: AYUDA"
  • 12. 12 & q Held 6 messages in /var/spool/mail/martin8 [martin8@localhost martin8]$ mail Unknown command: "export" Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/martin8": 6 messages 6 unread >U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" U 3 martin8@localhost.lo Thu Feb 21 11:42 14/389 "tres" U 4 martin8@localhost.lo Thu Feb 21 11:42 14/391 "cuatro" U 5 martin8@localhost.lo Thu Feb 21 11:42 15/399 "cinco" U 6 martin8@localhost.lo Thu Feb 21 11:51 14/419 "Re: AYUDA" Y si se ha borrado un mensaje ya no se recupera. S --> GRABAR MENSAJES s3 fich1 -- graba el mensaje 3 al fich1 s fich1 -- graba el mensaje actual al fich1 s* fich2 -- graba todos los mensajes al fich2 Ejemplo Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/martin8": 6 messages 6 unread >U 1 martin6@localhost.lo Thu Feb 21 11:25 14/455 "AYUDA" U 2 martin8@localhost.lo Thu Feb 21 11:40 14/396 "martin8" U 3 martin8@localhost.lo Thu Feb 21 11:42 14/389 "tres" U 4 martin8@localhost.lo Thu Feb 21 11:42 14/391 "cuatro" U 5 martin8@localhost.lo Thu Feb 21 11:42 15/399 "cinco" U 6 martin8@localhost.lo Thu Feb 21 11:51 14/419 "Re: AYUDA" & s1 mensaje1 "mensaje1" [New file] & s* mensajes "mensajes" [New file] & mail -f mensaje1 [martin8@localhost martin8]$ mail -f mensaje1 Unknown command: "export" Mail version 8.1 6/6/93. Type ? for help. "mensaje1": 1 message > 1 martin6@localhost.lo Thu Feb 21 11:25 14/456 "AYUDA" & Message 1: From martin6 Thu Feb 21 11:25:27 2002 Date: Thu, 21 Feb 2002 11:25:27 +0100 From: Martinv6 <martin6@localhost.localdomain> To: martin8@localhost.localdomain Subject: AYUDA
  • 13. 13 Martin necesito que me acompañes a una reunion de & h > 1 martin6@localhost.lo Thu Feb 21 11:25 14/456 "AYUDA" & q [martin8@localhost martin8]$ mail Unknown command: "export" No mail for martin8 O BIEN MAIL -F MENSAJES [martin8@localhost martin8]$ mail -f mensajes Unknown command: "export" Mail version 8.1 6/6/93. Type ? for help. "mensajes": 6 messages > 1 martin6@localhost.lo Thu Feb 21 11:25 14/456 "AYUDA" 2 martin8@localhost.lo Thu Feb 21 11:40 14/397 "martin8" 3 martin8@localhost.lo Thu Feb 21 11:42 14/390 "tres" 4 martin8@localhost.lo Thu Feb 21 11:42 14/392 "cuatro" 5 martin8@localhost.lo Thu Feb 21 11:42 15/400 "cinco" 6 martin8@localhost.lo Thu Feb 21 11:51 14/420 "Re: AYUDA" & salen todos los mensajes grabados. ? --> todos los comandos MODIFICAR MENSAJE Al escribir un mensaje es muy fácil equivoarse y posteriormente no se puede borrar. Para ello vamos a explicar una serie de normas. [martin8@localhost martin8]$ mail martin6 Unknown command: "export" Subject: errores hola te escribo para saber algo de ti, como pierdas una bombona te mando a mover tres de I350 a Gijón sin jaulas :-) pero hay una baca en el mar~v [martin8@localhost martin8]$ VISUAL=/usr/bin/pico [martin8@localhost martin8]$ export VISUAL [martin8@localhost martin8]$ echo $VISUAL /usr/bin/vi [martin8@localhost martin8]$ [martin8@localhost martin8]$ mail martin6 Unknown command: "export" Subject: errores hola amigos ezcrivo mu mar finstro~v
  • 14. 14 Al escribir ALT+126 y V y dar ENTER me sale el editor por defecto definido. Aqui es mas facil corregir todas las faltas e ir hacia atras. CTRL+X para salir una vez corregido seleccionamos Y para grabar y ENTER para salir. Pulsamos CTRL+d si ya no queremos seguir escribiendo y nos saldrá el mensaje típico de CC: ENTER y listo. Y en martin6 verá el mensaje corregido: N 6 martin8@localhost.lo Thu Feb 21 12:11 15/418 "errores" & t6 Message 6: From martin8 Thu Feb 21 12:11:04 2002 Date: Thu, 21 Feb 2002 12:11:04 +0100 From: martin8@localhost.localdomain To: martin6@localhost.localdomain Subject: errores hola amigos escribo muy mal finstro PARA NO TENER QUE VOLVER A ESCRIBIR EN CADA SESION EL EDITOR A UTILIZAR MEJOR ESCRIBIRLO EN EL FICHERO .MAILRC [martin8@localhost martin8]$ cat .mailrc alias m martin6 alias m1 martin8 alias m2 martin9
  • 15. 15 set VISUAL=/usr/bin/pico export VISUAL echo $VISUAL ALIAS a --> permite definir alias. Por ejemplo : & a group martin6, martin8, root & mail group Subject: reunion 10:30 euro Cc: & LLega el correo a todos los de group. También es posible especificar en el fichero .mailrc alias m6 martin6 alias m8 martin8 ES POSIBLE REDIRECCIONAR UN FICHERO DE TEXTO A UN CORREO mail martin8 < carta1 Ejemplo: [martin8@localhost martin8]$ cat carta Hola amigo nos vemos en Mendez Alvaro. [martin8@localhost martin8]$ mail martin6 <carta y en martin6 bash$ mail Mail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/martin6": 6 messages 1 new 6 unread U 1 martin6@localhost.lo Thu Feb 21 12:17 16/567 "reunion" U 2 MAILER-DAEMON@localh Thu Feb 21 12:17 64/1886 "Returned mail: User u" U 3 martin6@localhost.lo Thu Feb 21 12:18 16/567 "reunion" U 4 MAILER-DAEMON@localh Thu Feb 21 12:18 64/1886 "Returned mail: User u" U 5 martin8@localhost.lo Thu Feb 21 12:19 15/456 "reunion" >N 6 martin8@localhost.lo Thu Feb 21 12:24 12/402 & t6 Message 6: From martin8 Thu Feb 21 12:24:36 2002 Date: Thu, 21 Feb 2002 12:24:35 +0100 From: martin8@localhost.localdomain To: martin6@localhost.localdomain Hola amigo nos vemos en Mendez Alvaro.
  • 16. 16 & PARA COMPROBAR EL FICHERO DONDE SE GUARDA LOS MAIL [root@localhost martin8]# echo $MAIL /var/spool/mail/martin8 DIRECCIONAMIENTO RELATIVO Y ABSOLUTO  Absoluto  desde la raiz /home/usdai1  Relativo  desde la posición en la que me encuentro FALLOS TIPICOS  no empezar por / Seguir el camino hasta llegar al directorio deseado desde el actual Utilizar .. (dos puntos) si es necesario TOUCH Crea fichero vacio si no existe y si existe modifica los valores de la fecha a los actuales Por ejemplo: [martin8@localhost martin8]$ ls -l total 24 -rw-r--r-- 1 martin8 users 12 feb 22 16:15 a -rw-r--r-- 1 martin8 users 13 feb 22 16:06 b drwxrwxr-x 3 martin8 users 4096 feb 22 15:57 datos -rw-r--r-- 1 martin8 users 1789 feb 22 14:58 fich drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu [martin8@localhost martin8]$ touch b [martin8@localhost martin8]$ ls -l total 24 -rw-r--r-- 1 martin8 users 12 feb 22 16:15 a -rw-r--r-- 1 martin8 users 13 feb 22 16:15 b drwxrwxr-x 3 martin8 users 4096 feb 22 15:57 datos -rw-r--r-- 1 martin8 users 1789 feb 22 14:58 fich drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu [martin6@localhost martin6]$ ls -l total 4 -rw-r--r-- 1 martin6 ASI2 0 feb 21 13:26 a -rw-r--r-- 1 martin6 ASI2 0 feb 21 13:27 b drwxr-xr-x 2 root root 4096 feb 20 13:17 mart [martin6@localhost martin6]$ touch a [martin6@localhost martin6]$ ls -l
  • 17. 17 total 4 -rw-r--r-- 1 martin6 ASI2 0 feb 25 11:55 a -rw-r--r-- 1 martin6 ASI2 0 feb 21 13:27 b drwxr-xr-x 2 root root 4096 feb 20 13:17 mart LS Muestra el contenido de un directorio (como dir) ls –l  muestra las caracterisiticas de lo mostrado, ficheros, propietario, grupo, fecha… ls –a  muestra ficheros ocultos (empiezan por punto .f1) ls –i  indica el i-node del fichero bash$ pwd /home/martin6 bash$ ls MART lolo lolo1 mart nuevofic pedro bash$ ls -la total 40 drwxr-xr-x 4 martin6 ASI2 4096 feb 21 12:45 . drwxr-xr-x 14 root root 4096 feb 20 13:12 .. -rw------- 1 martin6 ASI2 3352 feb 21 10:59 .bash_history -rw-r--r-- 1 martin6 ASI2 11 feb 13 12:14 .exrc -rw-r--r-- 1 martin6 ASI2 6 feb 19 13:26 .martin -rw-r--r-- 1 martin6 ASI2 6 feb 19 13:27 MART -rw-r--r-- 1 martin6 ASI2 24 feb 19 13:25 lolo -rw-r--r-- 1 martin6 ASI2 15 feb 19 13:25 lolo1 drwxr-xr-x 2 root root 4096 feb 20 13:17 mart -rw-r--r-- 1 martin6 ASI2 0 feb 19 13:25 nuevofic drwxr-xr-x 2 martin6 ASI2 4096 feb 21 10:40 pedro PErmite crear un fichero vacío o bien modificar los atributos de un fichero ya existente con la fecha actual [martin6@localhost martin6]$ ls -l total 4 -rw-r--r-- 1 martin6 ASI2 0 feb 21 13:26 a -rw-r--r-- 1 martin6 ASI2 0 feb 21 13:27 b drwxr-xr-x 2 root root 4096 feb 20 13:17 mart [martin6@localhost martin6]$ touch a [martin6@localhost martin6]$ ls -l total 4 -rw-r--r-- 1 martin6 ASI2 0 feb 25 11:55 a -rw-r--r-- 1 martin6 ASI2 0 feb 21 13:27 b drwxr-xr-x 2 root root 4096 feb 20 13:17 mart
  • 18. 18 MKDIR Crea directorio mkdir -- CREA DIRECTORIOS bash$ mkdir martin2 bash$ ls MART lolo lolo1 mart martin2 nuevofic pedro bash$ ls -l total 24 -rw-r--r-- 1 martin6 ASI2 6 feb 19 13:27 MART -rw-r--r-- 1 martin6 ASI2 24 feb 19 13:25 lolo -rw-r--r-- 1 martin6 ASI2 15 feb 19 13:25 lolo1 drwxr-xr-x 2 root root 4096 feb 20 13:17 mart drwxr-xr-x 2 martin6 ASI2 4096 feb 21 12:47 martin2 -rw-r--r-- 1 martin6 ASI2 0 feb 19 13:25 nuevofic drwxr-xr-x 2 martin6 ASI2 4096 feb 21 10:40 pedro También con rutas absolutas: bash$ pwd /home/martin6 bash$ mkdir /home/martin6/martin2/martin3 bash$ pwd /home/martin6 bash$ ls /home/martin6/martin2/ martin3 OPCION –P  lo que realiza es crear los directorios anteriores en el caso de que no existan. Asi por ejemplo si queremos crear un subdirectorio y a su vez dentro de el otro subdirectorio dentro, en un solo paso. [root@martin /root]# mkdir dir1/dir12 [root@martin /root]# tree . |-- dir1 | |-- dir11 | `-- dir12 |-- dir1dir11 |-- dir1dir111 |-- dir2 |-- dir3 |-- dir4 `-- prueba 8 directories, 1 file [root@martin /root]# mkdir -p dir1/dir12/dir121/dir1211 (CREA LOS DOS, ANTES NO ESTABA) [root@martin /root]# tree
  • 19. 19 . |-- dir1 | |-- dir11 | `-- dir12 | `-- dir121 | `-- dir1211 |-- dir1dir11 |-- dir1dir111 |-- dir2 |-- dir3 |-- dir4 `-- prueba 10 directories, 1 file OPCION –M  ASIGNA PERMISOS AL DIRECTORIO CREADO [root@martin /root]# mkdir -m 777 lola drwxr-xr-x 2 root root 4096 ago 10 17:54 dir4 drwxrwxrwx 2 root root 4096 ago 10 18:00 lola CD Desplazarse a la ruta especificada cd /home/usdai1 cd  va al directorio propio cd -  va al directorio anterior cd ..  directorio padre CD --> Ir a una ruta o al directorio propio cd ruta cd .. --> al directorio anterior cd --> va al directorio propio del usuario ./ parte del directorio actual cd - --> se va al ultimo directorio donde ha estado. bash$ pwd /home/martin6/mart bash$ cd /home/martin6/mart bash$ pwd /home/martin6/mart bash$ cd bash$ pwd /home/martin6 bash$ cd - bash$ pwd
  • 20. 20 /home/martin6/mart bash$ cd .. bash$ pwd /home/martin6 cd ../martin8 bash$ pwd /home/martin8 RMDIR Borra directorio solo si no contiene nada dentro. Si quisiera borrar aunque tuviera cosas dentro rm –R dir1 (borra recursivamente) RMDIR --> elimina directorio (debe estar vacio) bash$ rmdir mart rmdir: mart: El directorio no está vacío RM Elimina ficheros y tambien con la opción R permite borrar recursivamente directorios y ficheros -f  sin confirmacion -r  recursivo PWD Directorio donde me encuentro actualmente MV mover o cambiar nombre a un fichero o directorio mv nombre antiguo nuevo nombre martin8@NODE:/home/martin8> mv ultima2 dir88/ultimito Muevo un fichero a otro lugar cambiandole el nombre martin8@NODE:/home/martin8> mv ultima2 dir88 Lo mueve al directorio dir88 sin cambiar nombre Opcion –i  pide confirmacion (si ya existe ese fichero para no eliminarlo)
  • 21. 21 MV --> mover o renombrar fichero cambiar nombre bash$ mv fich10 fich11 bash$ cat fich10 cat: fich10: No existe el fichero o el directorio bash$ cat fich11 hola me llamo Chiquito jandeMOR mover un fichero a otro directorio bash$ mv lolo ./pedro bash$ cd pedro bash$ ls lolo Ya no existe el fichero al moverlo bash$ ls MART lolo1 mart martin2 nuevofic pedro bash$ mv lolo1 ./pedro bash$ mv lolo1 ./pedro/lolo mv: lolo1: No existe el fichero o el directorio opcion -i pide confirmacion si ya existe el fichero. bash$ mv -i lolo lolo2 bash$ mv -i lolo2 lolo bash$ mv -i lolo lolo mv: `lolo' y `lolo' son el mismo fichero bash$ touch lolo2 bash$ mv -i lolo lolo2 mv: ¿sobreescribir `lolo2'? (s/n) n CP copiar ficheros -i  confirmacion -r  recursividad bash$ pwd /home/martin6/pedro bash$ cd .. bash$ ls MART mart martin2 nuevofic pedro bash$ cp ./pedro/* . [copia lo que hay en el directorio pedro al directorio actual] bash$ ls
  • 22. 22 MART lolo1 lolo2 mart martin2 nuevofic pedro bash$ pwd /home/martin6 bash$ cd pedro bash$ ls lolo1 lolo2  Si selecciono mas de dos ficheros significa que el último parámetro debe ser un directorio y que movemos todos los ficheros al directorio último. Por ejemplo: Mv f1 f2 f3 f4 dir1  mueve los ficheros f1 f2 f3 f4 al directorio dir1 CAT CAT --> visualiza el contenido de ficheros bash$ cat > fich10 hola me llamo Chiquito jandeMOR (CTRL+D) bash$ cat fich10 hola me llamo Chiquito jandeMOR bash$ cat fich10 fich10 hola me llamo Chiquito jandeMOR hola me llamo Chiquito jandeMOR Muestra el contenido de un fichero Con la opción -n nuemera las lineas martin8@NODE:/home/martin8> cat hlink Este es index de Martin martin8@NODE:/home/martin8> cat -n index 1 Este es el nuevo index de Martin martin8@NODE:/home/martin8> cat -n hlink 1 Este es index de Martin martin8@NODE:/home/martin8> cat -n index hlink 1 Este es el nuevo index de Martin 2 Este es index de Martin TREE Muestra el arbol de directorios [root@martin /root]# tree . |-- dir1 | `-- dir11 |-- dir1dir11 |-- dir1dir111 |-- dir2
  • 23. 23 |-- dir3 |-- dir4 `-- prueba 7 directories, 1 file LESS less < nombre del fichero> Muestra el contenido de un fichero pero permite avanzar o retroceder. Por ejemplo z avanzar y w retroceder página. Para ver las teclas less --help. Para salir Q. z - atras w - adelante h --help q -- salir martin8@NODE:/home/martin8> less /etc/passwd [martin8@localhost martin8]$ less fich WHOAMI Que usuario soy yo actualmente. Se suele utilizar cuando una persona entra al sistema como varios usuarios, y no sabe en un momento dado con que usuario esta trabajando. WHICH which passwd Donde se encuentra el fichero ejecutable del comando escrito WHICH --> que programa se ejecutara bash$ which cp /bin/cp bash$ which vi /bin/vi WHATIS Especifica una descripción rápida de un comando martin8@NODE:/home/martin8> whatis cat cat (1) - concatenate files and print on the standard output
  • 24. 24 martin8@NODE:/home/martin8> whatis ls ls (1) - list directory contents WHEREIS Busqueda de un fichero Ejemplo martin8@NODE:/home/martin8> whereis passwd passwd: /usr/bin/passwd /etc/passwd /usr/man/man1/passwd.1.gz /usr/man/man5/pass wd.5.gz martin8@NODE:/home/martin8> which passwd /usr/bin/passwd La diferencia que existe con el comando WHICH está en que which nos dice el ejecutable, es decir que fichero se va a ejecutar, en que path se encuentra si escribimos passwd. HEAD head -7 f1 Selecciona las primeras 7 lineas del texto del fichero f1 (DESDE EL PRINCIPIO) Cuenta las lineas de la cabecera de un fichero head -20 --> cuenta las primeras 20 lineas bash$ ls -la> listado bash$ head -10 listado total 120 drwxrwxrwx 17 martin8 users 4096 feb 21 13:56 . drwxr-xr-x 14 root root 4096 feb 20 13:12 .. -rw------- 1 martin8 users 0 feb 13 13:12 .ICEauthority -rw------- 1 martin8 users 115 feb 13 13:09 .Xauthority -rw------- 1 martin8 users 4918 feb 21 12:22 .bash_history -rw-r--r-- 1 martin8 users 24 ene 30 10:46 .bash_logout -rw-r--r-- 1 martin8 users 230 ene 30 10:46 .bash_profile -rw-r--r-- 1 martin8 users 124 ene 30 10:46 .bashrc -rwxr-xr-x 1 martin8 users 333 ene 30 10:46 .emacs TAIL tail -7 f1
  • 25. 25 Selecciona las últimas 7 lineas del texto del fichero f1 (DESDE EL FINAL) Muestra las ultimas lineas de un fichero tail -10 drwxr-xr-x 3 martin8 users 4096 ene 31 13:35 datos -rw-r--r-- 1 martin6 ASI2 0 feb 21 13:34 f3 -rw-r--r-- 1 martin6 ASI2 2397 feb 21 13:56 listado -rw-r--r-- 1 martin6 ASI2 16 feb 21 13:51 martin drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto drwx------ 2 martin8 users 4096 feb 12 14:03 nsmail drwxr-xr-x 3 martin8 users 4096 ene 31 11:35 pa drwxr-xr-x 4 martin8 users 4096 ene 31 11:36 pu -rw-r--r-- 1 root root 17 feb 19 12:43 stdout -rw-r--r-- 1 martin8 users 0 feb 19 12:15 tty1 -rwxrwxrwx 1 martin6 ASI2 5 feb 21 13:54 vi bash$ tail -5 listado drwxr-xr-x 3 martin8 users 4096 ene 31 11:35 pa drwxr-xr-x 4 martin8 users 4096 ene 31 11:36 pu -rw-r--r-- 1 root root 17 feb 19 12:43 stdout -rw-r--r-- 1 martin8 users 0 feb 19 12:15 tty1 -rwxrwxrwx 1 martin6 ASI2 5 feb 21 13:54 vi OPCION +NUMERO DESDE LA QUE MOSTRAR TEXTO Tail +2 prueba  mostrar desde la linea 2 incluida [root@martin /root]# ls -la > listado [root@martin /root]# cat listado total 68 drwxr-x--- 9 root root 4096 ago 10 18:02 . drwxr-xr-x 20 root root 4096 ago 5 18:33 .. -rw-r--r-- 1 root root 1126 ago 23 1995 .Xdefaults -rw------- 1 root root 98 ago 8 13:59 .bash_history -rw-r--r-- 1 root root 24 jul 14 1994 .bash_logout -rw-r--r-- 1 root root 238 ago 23 1995 .bash_profile -rw-r--r-- 1 root root 176 ago 23 1995 .bashrc -rw-r--r-- 1 root root 182 mar 22 1999 .cshrc -rw-r--r-- 1 root root 166 mar 4 1996 .tcshrc [root@martin /root]# tail +2 listado drwxr-x--- 9 root root 4096 ago 10 18:02 . drwxr-xr-x 20 root root 4096 ago 5 18:33 .. -rw-r--r-- 1 root root 1126 ago 23 1995 .Xdefaults -rw------- 1 root root 98 ago 8 13:59 .bash_history -rw-r--r-- 1 root root 24 jul 14 1994 .bash_logout -rw-r--r-- 1 root root 238 ago 23 1995 .bash_profile -rw-r--r-- 1 root root 176 ago 23 1995 .bashrc -rw-r--r-- 1 root root 182 mar 22 1999 .cshrc
  • 26. 26 MORE Visualiza un fichero como cat pero paso a paso: ENTER: linea a linea ESPACIO : Página a página Es un comando que muestra el contenido de un fichero pero permite paginar. martin8@NODE:/home/martin8> ls -la|more total 164 drwxrwxrwx 13 martin8 users 4096 Feb 25 14:00 . drwxr-xr-x 15 root root 4096 Feb 22 14:11 .. -rw------- 1 martin8 users 0 Feb 13 13:12 .ICEauthority -rw------- 1 martin8 users 115 Feb 13 13:09 .Xauthority -rw------- 1 martin8 users 15932 Feb 26 10:53 .bash_history -rw-r--r-- 1 martin8 users 24 Jan 30 10:46 .bash_logout -rw-r--r-- 1 martin8 users 522 Feb 25 12:57 .bash_profile -rw-r--r-- 1 martin8 users 303 Feb 25 12:28 .bashrc drwx------ 2 martin8 users 4096 Feb 25 14:00 .cedit -rwxr-xr-x 1 martin8 users 333 Jan 30 10:46 .emacs drwx------ 3 martin8 users 4096 Feb 13 13:12 .enlightenment -rw------- 1 martin8 users 12288 Feb 22 17:41 .fichero.swp drwx------ 6 martin8 users 4096 Feb 13 13:12 .gnome drwxr-xr-x 2 martin8 users 4096 Feb 12 14:02 .gnome-desktop
  • 27. 27 drwxr-xr-x 2 martin8 users 4096 Feb 12 14:03 .gnome-help-browser drwx------ 2 martin8 users 4096 Feb 12 14:02 .gnome_private -rw-r--r-- 1 martin8 users 105 Jan 30 12:37 .mailrc drwxr-xr-x 3 martin8 users 4096 Feb 25 13:56 .mc drwxr-xr-x 4 martin8 users 4096 Feb 12 14:03 .netscape -rwxrwxrwx 1 martin8 users 50 Jan 30 12:32 .profile -rw-r--r-- 1 martin8 users 3394 Jan 30 10:46 .screenrc --More-- b -- vuelve a la página anterior q -- sale h -- muestra ayuda ENTER -- pasa una linea ESPACIO - siguiente página HISTORY Comando que me guarda los ultimos comandos realizados. Ejemplo: [martin8@localhost martin8]$ history|more 1 pwd 2 logout 3 ls 4 exit 5 passwd martin 6 passwd 7 passwd 8 whoami 9 mail 10 mail .... 930 ps -f 931 whoami 932 history Para ejecutar un comando sin tener que volver a escribirlo: [martin8@localhost martin8]$ !931 whoami martin8 EJERCICIOS FICHEROS 1 CREAMOS LA SIGUIENTE ESTRUCTURA / home
  • 28. 28 martin6 a b MART fich1 fich2 fich3 martin8 1) bash$ cp -r mart/* /home/martin8 [copia todos los ficheros de dentro de mart a martin8] bash$ pwd /home/martin6 bash$ cd /home/martin8 bash$ ls 10 20 30 datos f1 f2 f3 nsmail pa pu stdout tty1 2) bash$ pwd /home/martin6 bash$ cp -r mart /home/martin8 [copia el directorio inclusive] bash$ cd /home/martin8 bash$ ls 10 20 30 datos f1 f2 f3 mart nsmail pa pu stdout tty1 bash$ cd mart bash$ ls f1 f2 f3 3) bash$ pwd /home/martin8 bash$ cp -r /home/martin6/mart martin (estando en martin8 direccion absoluta y copia mart por martin dentro de martin8) bash$ ls 10 20 30 datos f1 f2 f3 martin nsmail pa pu stdout tty1 bash$ cd martin bash$ ls f1 f2 f3 4) bash$ cp -r /home/martin6/mart mart [con el mismo nombre] bash$ ls f1 f2 f3 mart bash$ pwd [pero al estar en el directorio martin me ha creado mart dentro de martin] /home/martin8/martin bash$ cd .. bash$ pwd /home/martin8 [si aquiero crearlo bajo martin8] bash$ cp -r /home/martin6/mart mart bash$ ls 10 20 30 datos f1 f2 f3 mart martin nsmail pa pu stdout tty1
  • 29. 29 5) bash$ pwd /home/martin8 bash$ cp -r -f /home/martin6/mart mart (-f sin pedir confirmacion) bash$ cp -r /home/martin6/mart mart (por defecto sin) bash$ cp -r -i /home/martin6/mart mart (-i pide confirmacion) cp: ¿sobreescribir `mart/mart/f1'? (s/n) n cp: ¿sobreescribir `mart/mart/f2'? (s/n) n cp: ¿sobreescribir `mart/mart/f3'? (s/n) n RM -- elimina ficheros y directorios 1) bash$ ls 10 20 30 datos f1 f2 f3 mart nsmail pa pu stdout tty1 bash$ rm f1 f2 bash$ ls 10 20 30 datos f3 mart nsmail pa pu stdout tty1 2) bash$ ls 10 20 30 datos f3 mart nsmail pa pu stdout tty1 bash$ cd mart bash$ ls f1 f2 f3 mart bash$ cd .. bash$ rm mart rm: mart: es un directorio [NO DEJA ELIMINAR DIRECTORIOS salvo...] 3) bash$ rm -r mart [-r RECURSIVO elimina directorio y TODO lo de dentro] bash$ ls 10 20 30 datos f3 nsmail pa pu stdout tty1 4) creamos directorio y ficheros dentro con opcion -i pide confirmacion, sin ella o con -f no pide confirmaciçon bash$ mkdir marto bash$ cd marto bash$ touch 1 bash$ touch 2 bash$ touch 3 bash$ cd .. bash$ ls 10 20 30 datos f3 marto nsmail pa pu stdout tty1
  • 30. 30 bash$ rm -r -i marto rm: ¿descender al directorio `marto'? (s/n) n EJERCICIO FICHEROS 2 Mc – programa para ver ficheros en Linux 1)Crear la estructura de arbol [martin8@localhost martin8]$ pwd /home/martin8 [martin8@localhost martin8]$ ls 10 50 f3 listado marto pa stdout vi 30 datos fich1 martin nsmail pu tty1 [martin8@localhost martin8]$ cd 10 [martin8@localhost 10]$ ls 20 a b c d [martin8@localhost 10]$ cd 20 [martin8@localhost 20]$ ls f g h 2)Borrar todo el contenido de 30 [martin8@localhost martin8]$ rm -r 30 [martin8@localhost martin8]$ ls 10 datos fich1 martin nsmail pu tty1 50 f3 listado marto pa stdout vi 3) Crear todo el contenido del directorio 10 a un nuevo directorio llamado 50 con ficheros y directorios incluidos [martin8@localhost martin8]$ cp -r 10 60 4) Copiar los ficheros del directorio 10 dentro del directorio /home/martin8/50/20 [martin8@localhost martin8]$ cp ./10/* ./50/20/ cp: ./10/20: se omite el directorio [martin8@localhost martin8]$ pwd /home/martin8 [martin8@localhost martin8]$ cd 50 [martin8@localhost 50]$ ls 20 a b c d [martin8@localhost 50]$ cd 20 [martin8@localhost 20]$ ls a b c d f g h 5) Desde el directorio principal /home/martin8 eliminar el directorio /50/20 [martin8@localhost martin8]$ rmdir ./50/20
  • 31. 31 rmdir: ./50/20: El directorio no está vacío [martin8@localhost martin8]$ [martin8@localhost martin8]$ rm ./50/20/* [martin8@localhost martin8]$ cd 50/20 [martin8@localhost 20]$ ls [martin8@localhost 20]$ cd [martin8@localhost martin8]$ rmdir ./50/20 [martin8@localhost martin8]$ ls ./50 10 a b c d 6)Copiar lo que se encuentra en el directorio 10/20 al directorio 50 (solo ficheros) [martin8@localhost martin8]$ cp ./10/20/* 50 [martin8@localhost martin8]$ cd 10/20 [martin8@localhost 20]$ ls f g h [martin8@localhost 20]$ cd ../../50 [martin8@localhost 50]$ ls 10 a b c d f g h 7)Eliminar los ficheros del directorio 50, no el subdirectorio [martin8@localhost martin8]$ rm 50/* rm: 50/10: es un directorio [martin8@localhost martin8]$ cd 50 [martin8@localhost 50]$ ls 10 8) cambiar el nombre del directorio 10 a 80 [martin8@localhost martin8]$ mv 10 80 [martin8@localhost martin8]$ ls 50 80 f3 listado marto pa stdout vi 60 datos fich1 martin nsmail pu tty1 9)Mover los ficheros del directorio 80 al subdirectorio 20 [martin8@localhost 80]$ mv * ./20 mv: no se puede mover `20' a un directorio de sí mismo, `./20/20' [martin8@localhost 80]$ ls 20 [martin8@localhost 80]$ cd 20 [martin8@localhost 20]$ ls a b c d f g h 10) Copiar el directorio 50 con todos sus subdirectorios al nueo directorio 90 [martin8@localhost martin8]$ cp -r 50 90 [martin8@localhost martin8]$ ls 50 80 datos fich1 martin nsmail pu tty1
  • 32. 32 60 90 f3 listado marto pa stdout vi 11) Crear un fichero con cat llamado X que diga "Iniciandome en UNIX..." en el directorio propio y haga una copia de el con el nombre MIO. [martin8@localhost martin8]$ cd [martin8@localhost martin8]$ cat > X Iniciandome en UNIX[martin8@localhost martin8]$ ls 50 80 X f3 listado marto pa stdout vi 60 90 datos fich1 martin nsmail pu tty1 [martin8@localhost martin8]$ cp X mio [martin8@localhost martin8]$ ls 50 80 X f3 listado marto nsmail pu tty1 60 90 datos fich1 martin mio pa stdout vi 12) Que hace esto? Que arbol de directorio tiene? [martin8@localhost datos]$ ls fich3 lolo report [martin8@localhost datos]$ cd reprot bash: reprot: No existe el fichero o el directorio [martin8@localhost datos]$ cd report [martin8@localhost report]$ ls informes [martin8@localhost report]$ mv ../fich3 . [martin8@localhost report]$ ls fich3 informes REDIRECCION - DESCRIPTORES ESTANDAR 0 STDIN  entrada 1 STDOUT  salida por defecto 2 STDERROR  salida en caso de error >  redirecciona creando o eliminando si existiera >>  redirecciona añadiendo a lo anterior y si no existiera lo crea nuevo cat f1 f2 > f3 cat f1 f2 > f1 martin8@NODE:/home/martin8/dir88> cat > f1 hola martin8@NODE:/home/martin8/dir88> cat > f2 adios martin8@NODE:/home/martin8/dir88> cat f1 f2 > f3 martin8@NODE:/home/martin8/dir88> cat f3
  • 33. 33 hola adios martin8@NODE:/home/martin8/dir88> cat f1 f2 f89>f4 2>ferror martin8@NODE:/home/martin8/dir88> cat f4 hola adios martin8@NODE:/home/martin8/dir88> cat ferror cat: f89: No such file or directory martin8@NODE:/home/martin8/dir88> cat f1 f2 f89>>f4 2>ferror martin8@NODE:/home/martin8/dir88> cat f4 hola adios hola adios martin8@NODE:/home/martin8/dir88> cat ferror cat: f89: No such file or directory cat f1 f2 f3 2>/dev/null > >> 1) Ejemplo de como se redirecciona un error a nulo (a papelera) [martin8@localhost martin8]$ cat >f1 este es f1 [martin8@localhost martin8]$ cat >f2 este es f2 [martin8@localhost martin8]$ cat f1 f2 este es f1 este es f2 [martin8@localhost martin8]$ cat f1 f2 f3 este es f1 este es f2 cat: f3: No existe el fichero o el directorio [martin8@localhost martin8]$ cat f1 f2 f3 2>/dev/null este es f1 este es f2 [AQUI NO SALE EL ERROR POR PANTALLA] 2) [martin8@localhost martin8]$ cat <f1 >fi3 [martin8@localhost martin8]$ cat f1 este es f1 [martin8@localhost martin8]$ cat fi3 este es f1
  • 34. 34 Lo que entra en cat no es del teclado sino del fi1 para luego grabarlo en fi3 3) [martin8@localhost martin8]$ cat <f1 2>/dev/null este es f1 [martin8@localhost martin8]$ cat <f1 f6 2>/dev/null [martin8@localhost martin8]$ cat <f1 f6 2>err [martin8@localhost martin8]$ cat err cat: f6: No existe el fichero o el directorio entra en cat y se muestra por pantalla f1 si huvbiera error se tira a la papelera igual que el anterior pero con dos ficheros, f6 no existe, el error se tira a null igual que el anterior pero el error se lleva a fichero err 4) [martin8@localhost martin8]$ cat f1 f2 >> f3 2>>err [martin8@localhost martin8]$ cat f1 este es f1 [martin8@localhost martin8]$ cat f2 este es f2 [martin8@localhost martin8]$ cat f3 este es f1 este es f2 une dos ficheros f1 y f2 en f3 y si hay errores en err 5) [martin8@localhost martin8]$ cat f1 f10 >> f3 2>>err1 [martin8@localhost martin8]$ cat f1 este es f1 [martin8@localhost martin8]$ cat f10 cat: f10: No existe el fichero o el directorio [martin8@localhost martin8]$ cat f3 este es f1 este es f2 este es f1 [martin8@localhost martin8]$ cat err1 cat: f10: No existe el fichero o el directorio [martin8@localhost martin8]$ 6) Indicar en estas sentencias cual es la entrada, salida y direcion de error mail pepe (entrada teclado, salida pantalla, error pantalla) mail pepe <carta sort <fich >> fich2 2>err cat >nuevofich 2>1 VARIOS COMANDOS EN UNA LINEA -> SEPARADOS POR ;
  • 35. 35 UN COMANDO LARGO EN VARIAS LINEAS  AL FINAL DE LINEA SIN DEJAR ESPACIO ENTRE ESCRIBIR Y DAR A ENTER PIPE O TUBERIAS La ejecución de un comando pasa al siguiente. Es una forma simple y muy util de redireccionar la salida de un comando como entrada de otro. Se utiliza el caracter | cat f1|head -3|wc –w Contar las palabras que tiene las 3 primeras lineas del fichero f1 El contenido del fichero f1 se pasa al comando head que únicamente selecciona las 3 primeras lineas y posteriormenete esas tres lineas son las que recoje el comando wc –w para contar las palabras que tiene. Ejemplo: 1) cat listado|tail -10 -rw-r--r-- 1 martin6 ASI2 0 feb 21 13:34 f3 -rw-r--r-- 1 martin6 ASI2 0 feb 21 13:56 listado -rw-r--r-- 1 martin6 ASI2 16 feb 21 13:51 martin drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto drwx------ 2 martin8 users 4096 feb 12 14:03 nsmail drwxr-xr-x 3 martin8 users 4096 ene 31 11:35 pa drwxr-xr-x 4 martin8 users 4096 ene 31 11:36 pu -rw-r--r-- 1 root root 17 feb 19 12:43 stdout -rw-r--r-- 1 martin8 users 0 feb 19 12:15 tty1 -rwxrwxrwx 1 martin6 ASI2 5 feb 21 13:54 vi 2)cat listado|wc -l 37 3) cat listado|more 4)ls -la|more 5) cat listado|sort 6) bash$ cat listado|sort > fich1 bash$ cat fich1|more Es una forma simple y muy util de redireccionar la salida de un comando como entrada de otro. Se utiliza el caracter |
  • 36. 36 Por ejemplo: [martin8@localhost martin8]$ ls|wc -w 16 es lo mismo que: [martin8@localhost martin8]$ ls > num [martin8@localhost martin8]$ wc -w num 16 num [martin8@localhost martin8]$ rm num Ordenar en un fichero el contenido del directorio [martin8@localhost martin8]$ cat num|sort > numord cat: num: No existe el fichero o el directorio [martin8@localhost martin8]$ ls > num [martin8@localhost martin8]$ cat num|sort > numord [martin8@localhost martin8]$ cat num a b datos err err1 f1 f2 f3 fi3 ls.out ls.out1 ls.out3 marto num numord pru pu [martin8@localhost martin8]$ cat numord a b datos err err1 f1 f2 f3 fi3 ls.out ls.out1 ls.out3 marto
  • 37. 37 num numord pru pu Mostrar los tres primeros ficheros ordenados alfabeticamente del directorio [martin8@localhost martin8]$ cat numord|head -3 a b datos Grabar en un fichero llamado tres los tres ultimos ficheros despues de realizar ls. Deseamos que salga por pantalla ordenados en orden inverso a la vez que se hayn grabado en dicho orden en un fichero llamado treso. [martin8@localhost martin8]$ ls|tail -3|tee tres|sort -r|tee treso treso tres pu [martin8@localhost martin8]$ cat tres pu tres treso TEE Lee la entrada estandar y envia la saliada sin transformar a dos lugares a un fichero especificado salida estandar ls|tee f1|sort la salida del comando ls el comando tee lo recibe y lo graba en el fichero f1 y además lo envía al siguiente comando, en este caso sort COMODINES *  cualquier carácter ¿  un carácter (numero o letra, etc…) blanco  o [ ]  cualquiera de los caracteres ¡  not ls a*  muestra ficheros que comienzan por a rm a?? b??  borra ficheros que empiezan por a o por b y tienen tres letras SOLO
  • 38. 38 rm [abcd]*[xy]  borra ficheros que empiezan por cualquiera de las letras a,b,c,d y que terminen por x o y. Entre la letra de principio y final puede haber ninguno o infinitos caracteres. cat [ ¡ab]*  muestra ficheros que no comienzan ni por a ni por b rm [A-Z]?[¡b][¡a]  Ficheros de 4 letras que empiezan en su primera letra desde la A a la Z. LA segunda letra cualquiera, la tercera no puede ser una b, y la ultima no puede ser una a. 1) ls y ls * [martin8@localhost martin8]$ ls a datos err1 f2 fi10 ls.out ls.out3 num pru tres b err f1 f3 fi3 ls.out1 marto numord pu treso [martin8@localhost martin8]$ ls * a err f1 f3 fi3 ls.out1 num tres b err1 f2 fi10 ls.out ls.out3 numord treso datos: lolo report marto: 1 2 3 pru: a b c d pr pu: 2) [martin8@localhost martin8]$ ls a datos err1 f2 fi10 ls.out ls.out3 num pru tres b err f1 f3 fi3 ls.out1 marto numord pu treso [martin8@localhost martin8]$ ls f* f1 f2 f3 fi10 fi3 3) ? es un caracter y si se deja espacio en blanco es como si fuera un OR [martin8@localhost martin8]$ ls a datos err1 f2 fi10 ls.out ls.out3 num pru tres b err f1 f3 fi3 ls.out1 marto numord pu treso [martin8@localhost martin8]$ ls f? p? f1 f2 f3 pu: pu
  • 39. 39 4) [cualquiera de los caracteres entre corchetes] [martin8@localhost martin8]$ ls a datos err1 f2 fi10 ls.out ls.out3 num pru tres b err f1 f3 fi3 ls.out1 marto numord pu treso [martin8@localhost martin8]$ rm [tn]*[ms] [martin8@localhost martin8]$ ls a datos err1 f2 fi10 ls.out ls.out3 numord pu b err f1 f3 fi3 ls.out1 marto pru treso --> empieze por t o n luego lo que sea y termine por ms 5) ! NOT [martin8@localhost martin8]$ ls a datos err1 f2 fi10 ls.out ls.out3 numord pu b err f1 f3 fi3 ls.out1 marto pru treso [martin8@localhost martin8]$ ls [!lmpted]* a b f1 f2 f3 fi10 fi3 numord 6) [martin8@localhost martin8]$ ls a datos err1 f2 fi10 ls.out ls.out3 numord pu b err f1 f3 fi3 ls.out1 marto pru treso [martin8@localhost martin8]$ ls [f-l]?*[0-9] fi10 fi3 ls.out1 ls.out3 ? UNO OBLIGATORIO * MUCHOS O NINGUNO Para probarlo [martin8@localhost martin8]$ ls a datos err1 f2 f7 fi3 ls.out1 marto pru treso b err f1 f3 fi10 ls.out ls.out3 numord pu [martin8@localhost martin8]$ ls [f-l]?*[0-9] fi10 fi3 ls.out1 ls.out3 COMPARACION FICHEROS cmp Por omision lista el numero de caracter y la línea de diferencia cmp [opciones] archivo1 archivo2
  • 40. 40 martin8@NODE:/home/martin8> cat > comp Este es el fichero comp el 0 martin8@NODE:/home/martin8> cat > comp1 Este es el fichero comp el 1 martin8@NODE:/home/martin8> martin8@NODE:/home/martin8> cmp comp comp1 comp comp1 differ: char 28, line 2 cmp [opciones] archivo1 archivo2 diff Muestra la diferencia entre dos ficheros. Si son iguales no muestra nada si son distintos mostrará la diferencia. martin8@NODE:/home/martin8> diff comp comp1 2c2 < el 0 --- > el 1 [martin8@localhost martin8]$ touch a [martin8@localhost martin8]$ touch b [martin8@localhost martin8]$ diff a b [martin8@localhost martin8]$ cat >a hola [martin8@localhost martin8]$ cat>b hola [martin8@localhost martin8]$ diff a b [martin8@localhost martin8]$ cat>>a martin [martin8@localhost martin8]$ diff a b 2d1 < martin [martin8@localhost martin8]$ cat >b hola mart in [martin8@localhost martin8]$ diff a b 2c2 < martin --- > mart in
  • 41. 41 DIRCMP (EN LINUX NO EXISTE) Salida con dos seccones:  Archivos presentes en uno solo de los directorios  Archivos del mismo nombre en los dos directorios indicando si coinciden o no ALIAS Alias nos indica los alias creados en el sistema. Para crear un alias: alias nombre del alias='(y entre comillas simples el comando)' posteriormente al ejecutar el alias se ejecuta los comandos que hayamos realizado. Por ejemplo: [martin8@localhost martin8]$ alias ls1='ls ;pwd' [martin8@localhost martin8]$ alias alias l.='ls .[a-zA-Z]* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' alias ls1='ls ;pwd' [martin8@localhost martin8]$ ls1 a b datos fich marto pu /home/martin8 FICHEROS INODE Un inode es la estructura de datos en disco que desribe y almacena los atributos del fichero y su localización. Cuando el disco se inicializa para aceptar ficheros se crean un número específico de inodes. El número de inodes determina el número máximo de ficheros que puede haber en el disco. Existe un inode para cada 2 a 8 KBytes. Cada inode tiene un numero distinto y cada fichero tiene su inode. Por tanto cuando se crea un fichero un inode se le asigna a el y este es unico. La información que se guarda en un inode es: Propietario y grupo Tipo de fichero Permisos Fecha de creación acceso y modificación
  • 42. 42 Número de links al fichero Tamaño del fichero Direcciones del disco donde se situa el fichero Los inodes guardan toda la información del fichero excepto su localización en el directorio y su nombre. TIPOS DE FICHEROS: En UNIX todo es un fichero. incluso los dispositivos. Existen deistintos tipos de ficheros: 1. Ficheros regulares Contienen datos y corresponden a ficheros normales. Texto Binarios Scripts ejecutables Disponen de un - (ls -la) 2. Directorios Un directorio es un fichero binario que contiene una lista de los ficheros que contiene. En cada directorio existe una pareja de nombre de fichero e inodo. de esta manera es en la que se asocian el inode y la localización y nombre del fichero. Por este motivo cuando se quiere realizar un contenido de un directorio sin propiedades no es necesario acceder al directorio pero si deseamos ver sus propiedades si. (ls Vv Ls-s) ls -s para acceder a su tamaño por ejemplo debo acceder al inode que es donde se guarda ese tipo de información. Y para ver el inde debo accedr al directorio. 3. FICHEROS ESPECIALES Los ficheros especiales son el mecanismo por el que UNIX se comunica con la entrada y salida. Se encuentran en el directorio /dev y corresponden a dispositivos de entrada/salida 4. LINKS Un link es un mecanismo que permite referirse con distinto nombre de fichero a un mismo fichero en disco. Existen dos tipos de links: hard link: (duro) Asocian uno o mas nombre de fichero con el mismo inode. ln index hlink : crea un link con nombre hlink con el mismo inode que el fichero index index -- 3 hlink --- 3
  • 43. 43 soft link: (blando) Asocia un nombre a un nuevo inode que indica la posición en disco donde se guarda la información del path donde esta el fichero. ln -s index slink Asocia al nombre slink un nuevo inode. Este inode indica la posición en disco donde se guarda el path completo del fichero index. index -- 3 slink -- 4 LOS DOS PERMITEN VISUALIZAR EL CONTENIDO DE INDEX UTILIZANDO LOS NOMBRE DE hlink e slink PERO EXISTEN DIFERENCIAS EN LA ESTRUCTURA INTERNA. 5. SOCKETS Ficheros especiales para comunicaciones entre procesos dentro de la propia máquina o entre máquinas distintas utilizando TCP/IP. Se abre el socket, lee o escribe...como si fueran ficheros.En lugar de salida escribirlo a un fichero y enviarlo se envia directamente or comunicaciones, más rápido. 6. PIPES Ficheros de comunicaciones entre procesos de la misma máquina. IDENTIFICACIÓN DE LOS DIVERSOS TIPOS DE FICHEROS ls -l identifica los diversos tipos de ficheros que existen en UNIX - ficheros regulares d directorio l link simbolico d dispositivo s socket p pipe martin8@NODE:/home/martin8> ls -l total 24 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 hlink -rw-r--r-- 1 martin8 users 33 Feb 25 11:04 index -rw-r--r-- 1 martin8 users 20 Feb 23 02:35 l? drwxr-xr-x 2 martin6 ASI2 4096 Feb 21 13:49 marto/ drwxr-xr-x 3 martin8 users 4096 Feb 25 11:02 seg/ lrwxrwxrwx 1 martin8 users 5 Feb 25 10:56 slink -> index -rwxrwxrwx 1 martin8 users 14 Feb 22 18:50 treso*
  • 44. 44 FILE EL COMANDO FILE identifica el tipo de fichero file * martin8@NODE:/home/martin8> file * hlink: ASCII text index: ASCII text lç: ASCII text marto: directory seg: directory slink: symbolic link to index treso: ASCII text LINKS LN Existen dos tipos de links: hard link: (duro) ln index hlink : crea un link con nombre hlink con el mismo inode que el fichero index soft link: (blando) ln -s index slink LOS DOS PERMITEN VISUALIZAR EL CONTENIDO DE INDEX UTILIZANDO LOS NOMBRE DE hlink e slink PERO EXISTEN DIFERENCIAS EN LA ESTRUCTURA INTERNA. CASOS Y DIFERENCIA DE LINKS: 1) Si no ocurre nada, ambos link visualizan el fichero index martin8@NODE:/home/martin8> cat > index Este es index de Martin martin8@NODE:/home/martin8> cat index Este es index de Martin martin8@NODE:/home/martin8> ls -li total 20 36409 -rw-r--r-- 1 martin8 users 24 Feb 25 10:46 index 36408 -rw-r--r-- 1 martin8 users 20 Feb 23 02:35 l? 3924 drwxr-xr-x 2 martin6 ASI2 4096 Feb 21 13:49 marto/ 3934 drwxr-xr-x 3 martin8 users 4096 Feb 23 02:05 seg/ 36545 -rwxrwxrwx 1 martin8 users 14 Feb 22 18:50 treso*
  • 45. 45 martin8@NODE:/home/martin8> ln index hlink martin8@NODE:/home/martin8> ls -li index *link 36409 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 hlink 36409 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 index martin8@NODE:/home/martin8> ln -s index slink martin8@NODE:/home/martin8> ls -li index *link 36409 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 hlink 36409 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 index 36435 lrwxrwxrwx 1 martin8 users 5 Feb 25 10:56 slink -> index Si mostramos hlink o slink se muestra el mismo contenido martin8@NODE:/home/martin8> cat slink Este es index de Martin martin8@NODE:/home/martin8> cat hlink Este es index de Martin 2) Si se mueve index que significa solo añadir una nueva entrada en el nuevo directorio y borrarla del antiguo no se afecta el hardlink pues el inode del fichero es el mismo. Por el contrario softlink apunta a lago que no existe pues ya no está en el mismo directorio. Lo mismo ocurre si se borra el fichero index. martin8@NODE:/home/martin8> mv index seg/ martin8@NODE:/home/martin8> ls -l total 20 -rw-r--r-- 2 martin8 users 24 Feb 25 10:46 hlink -rw-r--r-- 1 martin8 users 20 Feb 23 02:35 l? drwxr-xr-x 2 martin6 ASI2 4096 Feb 21 13:49 marto/ drwxr-xr-x 3 martin8 users 4096 Feb 25 11:02 seg/ lrwxrwxrwx 1 martin8 users 5 Feb 25 10:56 slink -> index -rwxrwxrwx 1 martin8 users 14 Feb 22 18:50 treso* Ya hemos movido el fichero index al directorio seg. Vamos a intentar visualizar: martin8@NODE:/home/martin8> cat hlink Este es index de Martin martin8@NODE:/home/martin8> cat slink cat: slink: No such file or directory 3)Si creamos un nuevo index, que ocurre??? martin8@NODE:/home/martin8> cat > index Este es el nuevo index de Martin martin8@NODE:/home/martin8> cat hlink Este es index de Martin martin8@NODE:/home/martin8> cat slink Este es el nuevo index de Martin
  • 46. 46 Por tanto slink nos va a permitir siempre tener la versión actualizada de un fichero. Un hardlink nos va a obtener el original y va a evitar el que si se elimina por accidente podamos acceder por hlink de nuevo. CUT Este comando permite cortar una secuencia de caracteres de un archivo. Cut –f1 agenda Imprime la primera columna del archivo. Tambien es posible seleccionar varias columnas: Cut –f1,3 agenda Obtiene los campos 1 y 3 de agenda. Si se quiere empler otro delimitador de campos que no sea el tabulador es preciso indicarlo con –d seguida del nuevo delimitador Cut –d : -f1,3 agenda Por ejemplo: [martin@martin martin]$ cat pr Hola me llamo Martin y tu como te llamas? voy a probar cut [martin@martin martin]$ cut -d ' ' -f2 pr [HACEMOS EL BLANCO COMO CAMPO] me tu a TR Traducir un carácter por otros. Tr abc ABC < lista [martin@martin martin]$ cat pr Hola me llamo Martin y tu como te llamas? voy a probar cut [martin@martin martin]$ tr me ME < pr Hola ME llaMo Martin y tu coMo tE llaMas? voy a probar cut
  • 47. 47 Cambiará los caracteres a, b y c del archivo lista por sus correspondientes letras mayusculas. SE SUELE EMPLEAR PARA CAMBIAR EL SEPARADOR DE CAMPOS EN FICHEROS Tr : ‘<TAB>’ < datos Tengo que situar el TAB entre comillas para evitar que el interprete crea que es un espacio. En Linux por ejemplo el tabulador se representa como /t [martin@martin martin]$ tr ' ' 't' < pr Hola me llamo Martin y tu como te llamas? voy a probar cut COMPRESIÓN DE FICHEROS EN UNIX Existen dos formas de compresión en los ficheros UNIX:  compress, uncompress (1/5)  gzip, gunzip compress, uncompress [martin8@localhost martin8]$ cat pruebagrep hola voy a probar a ver si me dice en que lugares aparece la letra a el comando grep y este no tiene la letra est line no tiene :-) [martin8@localhost martin8]$ compress pruebagrep [martin8@localhost martin8]$ ls a datos err1 f2 f7 fi3 ls.out1 marto pru pu b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep.Z treso Si intento visualizar el fichero comprimido no puedo, pero existe la sentencia zcat que lo permite [martin8@localhost martin8]$ cat pruebagrep.Z hÞ° ÂΛ<‘óFL9 Ø)qNmÊ€ “fŒÆ2n@Ä©£‘M3Ë̝¡ ”Y†Ž‚a”abÌ›6aÜ•y âŒœ2pX"TIG£tÒ€,IMÍ›,™ÊLãÆ)T©]Aèh‘B[martin8@localhost martin8]$ [martin8@localhost martin8]$ zcat pruebagrep.Z hola voy a probar a ver si me dice en que lugares aparece la letra a el comando grep y este no tiene la letra est line no tiene :-)
  • 48. 48 IMPORTANTE AL COMPRIMIR ELIMINA EL ORIGINAL Y CREA EL COMPRIMIDO. AL DESCOMPRIMIR ELIMINA EL COMPRIMIDO Y CREA EL ORIGINAL. [martin8@localhost martin8]$ ls a datos err1 f2 f7 fi3 ls.out1 marto pru pu b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep.Z treso [martin8@localhost martin8]$ uncompress pru pru pruebagrep.Z [martin8@localhost martin8]$ uncompress pruebagrep.Z [martin8@localhost martin8]$ ls a datos err1 f2 f7 fi3 ls.out1 marto pru pu b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep treso Podemos visualizarlo en tuberias: [martin8@localhost martin8]$ zcat pruebagrep.Z|head -1 hola voy a probar a Lo que no podria realizar es utilizar el cat. gzip Compresión de GNU, genera ficheros en lugar de .Z .gz. Con zcat se puede visualizar también. [martin8@localhost martin8]$ gzip pruebagrep [martin8@localhost martin8]$ ls a datos err1 f2 f7 fi3 ls.out1 marto pru pu b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep.gz treso Descomprimirlo: [martin8@localhost martin8]$ gunzip pruebagrep.gz [martin8@localhost martin8]$ ls a datos err1 f2 f7 fi3 ls.out1 marto pru pu b err f1 f3 fi10 ls.out ls.out3 numord pruebagrep treso Tarea: probar cual comprime mas un fichero. [martin8@localhost martin8]$ ls -laR > co [martin8@localhost martin8]$ ls -l co -rw-r--r-- 1 martin8 users 2870649 feb 22 20:00 co [martin8@localhost martin8]$ compress co [martin8@localhost martin8]$ ls -l co* -rw-r--r-- 1 martin8 users 62277 feb 22 20:00 co.Z [martin8@localhost martin8]$ gzip co
  • 49. 49 [martin8@localhost martin8]$ ls -l co* -rw-r--r-- 1 martin8 users 13682 feb 22 20:00 co.gz VI EDITOR DE TEXTO vi fichero a -- para empezar a escribir Al pulsar aparece en la parte inferior : --INSERT cuando quiero terminar de escribir ESC :wq 2) vi fichero --> vuelve a abrir el fichero a -- escribir escribir varias lineas: ESC -- pasar a comando --> probar desplazamientos (h, l, j, k, etc).
  • 50. 50 MODOS O PERMISOS rwx rwx rwx USUARIO, GRUPO, OTROS Fichero: r  permite leer el contenido w  permite modificar o eliminar X  permite ejecutar el fichero (programas o shell script) Directorio: r  permite listar su contenido w  permite crear ficheros y directorios dentro y eliminarlos (requiere X) x  permite hacer cd al directorio 2 modos de cambiar permisos: SIMBÓLICO uno o mas de u g o a + + añade - elimina = asigna + uno o más de r w x chmod ug+w f1 chmod a+r f1 chmod g-x f1 chmod –R a+r *  cambia los permisos de forma recursiva a TODOS lo que contiene el directorio actual. OCTAL r 4 w 2 x 1 chmod 764 f1 7  Permisos de usuario 6  permisos de grupo 4  permisos de otros Permisos especiales
  • 51. 51 SUID,SGID  Asigna permisos del propietario y grupo durante la ejecución. Cuando el fichero se ejecuta hace que el usuario que ejecuta el programa adquiera los privilegios del propietario chmod u+s f1 (SUID) chmod g+s f1 (SGID) Por ejemplo el comando passwd which passwd cd /usr/bin/passwd ls –la passwd STICKY BIT Cuando un directorio tiene este permiso un usuario solo puede borrar los ficheros que sean de ese usuario y no de otros. Ejemplo : Directorio /tmp cd /tmp (Se asignaria chmod u+t) ls –l /tmp umask Establece permisos por defecto al crear ficheros o directorios. 777-permisos que quiero asignar (p. ejemplo 754) = 023 umask 023  lo que hace es crear permisos por defecto de 754  rwxr-x-r— CUIDADO: 666 para ficheros 777 para directorios PERMISOS NECESARIOS Comando Directorio origen Fichero origen Directorio destino cd x ls r mkdir x w rmdir x w cat x r mv x w x w cp x r x w rm w w
  • 52. 52 ln x x w CAMBIO DE PROPIETARIO Y GRUPO chown usdai1 f1  cambia el propietario al fichero f1 por usdai1 chown usdai1:staff  cambia el usuario y grupo al fichero f1 chgrp staff f1 cambia el grupo al fichero f1 por staff Se puede cambiar de grupo actual con newgrp EJERCICIO PERMISOS EJERCICI0 PERMISOS Crear el arbol de directorios [martin8@localhost martin8]$ mkdir datos [martin8@localhost martin8]$ mkdir datos/report [martin8@localhost martin8]$ mkdir datos/report/informes [martin8@localhost martin8]$ touch datos/report/informes/datos.junio [martin8@localhost martin8]$ touch datos/datos.enero [martin8@localhost martin8]$ ls datos Cambiar los permisos a los adecuados: [martin8@localhost martin8]$ ls -l total 12 drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos Permisos de directorio datos: [martin8@localhost martin8]$ chmod 755 datos [martin8@localhost martin8]$ ls -l total 12 drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu Permisos del directorio datos.enero [martin8@localhost martin8]$ cd datos [martin8@localhost datos]$ ls -la total 12 drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 . drwxrwxrwx 12 martin8 users 4096 feb 22 13:59 .. -rw-r--r-- 1 martin8 users 0 feb 22 13:59 datos.enero drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report [martin8@localhost datos]$ chmod 664 datos.enero
  • 53. 53 [martin8@localhost datos]$ ls -la total 12 drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 . drwxrwxrwx 12 martin8 users 4096 feb 22 13:59 .. -rw-rw-r-- 1 martin8 users 0 feb 22 13:59 datos.enero drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report 1) Se ha creado el usuario juan useadd -g users -p notocar juan se ha realizado login con el usuario juan y se ha probado: login: juan Password: bienvenido caraculo [juan@localhost juan]$ id uid=2005(juan) gid=100(users) groups=100(users) [juan@localhost juan]$ cd [juan@localhost juan]$ pwd /home/juan [juan@localhost juan]$ cd /home/martin8 [juan@localhost martin8]$ ls datos marto pu [juan@localhost martin8]$ cd datos [juan@localhost datos]$ ls datos.enero report [juan@localhost datos]$ cat >>datos.enero juan lo ha modificado[juan@localhost datos]$ ls datos.enero report [juan@localhost datos]$ cat datos.enero juan lo ha modificado[juan@localhost datos]$ EJEMPLO DE COMO MODIFICANDO SUS PERMISOS ROOT PUEDE HACER TODO [juan@localhost datos]$ cat datos.enero juan lo ha modificado[juan@localhost datos]$ su root Password: [root@localhost datos]# ls datos.enero report [root@localhost datos]# cat >>datos.enero [root@localhost datos]# chmod 000 datos.enero [root@localhost datos]# ls -l total 8 ---------- 1 martin8 users 21 feb 22 14:13 datos.enero drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report [root@localhost datos]# cat >> datos.enero y root TODO[root@localhost datos]# cat datos.enero juan lo ha modificadoy root TODO[root@localhost datos]# 2)
  • 54. 54 Cabio de permisos DATOS [martin8@localhost martin8]$ ls -l total 12 drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu [martin8@localhost martin8]$ chmod 775 datos [martin8@localhost martin8]$ ls -l total 12 drwxrwxr-x 3 martin8 users 4096 feb 22 13:59 datos REPORT [martin8@localhost datos]$ ls -l total 8 ---------- 1 martin8 users 32 feb 22 14:15 datos.enero drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report [martin8@localhost datos]$ chmod 765 report [martin8@localhost datos]$ ls -l total 8 ---------- 1 martin8 users 32 feb 22 14:15 datos.enero drwxrw-r-x 3 martin8 users 4096 feb 22 13:57 report INFORMES [martin8@localhost report]$ ls -l total 4 drwxr-xr-x 2 martin8 users 4096 feb 22 13:58 informes [martin8@localhost report]$ chmod 775 informes [martin8@localhost report]$ ls -l total 4 drwxrwxr-x 2 martin8 users 4096 feb 22 13:58 informes DATOS.JUNIO [martin8@localhost informes]$ ls -l total 0 -rw-r--r-- 1 martin8 users 0 feb 22 13:58 datos.junio [martin8@localhost informes]$ chmod 664 datos.junio [martin8@localhost informes]$ ls -l total 0 -rw-rw-r-- 1 martin8 users 0 feb 22 13:58 datos.junio SOLUCION [juan@localhost datos]$ whoami juan [juan@localhost datos]$ pwd
  • 55. 55 /home/martin8/datos [juan@localhost datos]$ cd report bash: report: Permiso denegado 3) Cambiar permisos DATOS [martin8@localhost martin8]$ ls -l total 12 drwxrwxr-x 3 martin8 users 4096 feb 22 13:59 datos [martin8@localhost martin8]$ chmod 755 datos [martin8@localhost martin8]$ ls -l total 12 drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos datos.enero [martin8@localhost datos]$ ls -l total 8 ---------- 1 martin8 users 32 feb 22 14:15 datos.enero drwxrw-r-x 3 martin8 users 4096 feb 22 13:57 report [martin8@localhost datos]$ chmod 600 datos.enero [martin8@localhost datos]$ ls -l total 8 -rw------- 1 martin8 users 32 feb 22 14:15 datos.enero drwxrw-r-x 3 martin8 users 4096 feb 22 13:57 report datos/report drwxrw-r-x 3 martin8 users 4096 feb 22 13:57 report [martin8@localhost datos]$ chmod 755 report [martin8@localhost datos]$ ls -l total 8 -rw------- 1 martin8 users 32 feb 22 14:15 datos.enero drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report SOLUCION [juan@localhost datos]$ ls datos.enero report [juan@localhost datos]$ cp datos.enero /home/juan cp: datos.enero: Permiso denegado 5) Cambiar permisos DATOS [martin8@localhost martin8]$ ls -l total 12 drwxr-xr-x 3 martin8 users 4096 feb 22 13:59 datos drwxr-xr-x 2 martin6 ASI2 4096 feb 21 13:49 marto
  • 56. 56 drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 pu [martin8@localhost martin8]$ chmod 775 datos [martin8@localhost martin8]$ ls -l total 12 drwxrwxr-x 3 martin8 users 4096 feb 22 13:59 datos Cambiar permisos datos.enero [martin8@localhost datos]$ ls -l total 8 -rw------- 1 martin8 users 32 feb 22 14:15 datos.enero drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report [martin8@localhost datos]$ chmod 400 datos.enero [martin8@localhost datos]$ ls -l total 8 -r-------- 1 martin8 users 32 feb 22 14:15 datos.enero drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report SOLUCION [juan@localhost datos]$ ls -l total 8 -r-------- 1 martin8 users 32 feb 22 14:15 datos.enero drwxr-xr-x 3 martin8 users 4096 feb 22 13:57 report [juan@localhost datos]$ rm -f datos.enero [juan@localhost datos]$ ls report PROPIEDAD DE LOS PERMISOS 1) Cambiar la propiedad de un fichero: (antes era de root y ahora de martin6) [root@localhost pru]# ls -l total 0 -rw-r--r-- 1 root root 0 feb 22 17:52 a -rw-r--r-- 1 root root 0 feb 22 17:53 b -rw-r--r-- 1 root root 0 feb 22 17:53 c -rw-r--r-- 1 root root 0 feb 22 17:53 d [root@localhost pru]# chown martin6 a [root@localhost pru]# ls -l total 0 -rw-r--r-- 1 martin6 root 0 feb 22 17:52 a -rw-r--r-- 1 root root 0 feb 22 17:53 b -rw-r--r-- 1 root root 0 feb 22 17:53 c -rw-r--r-- 1 root root 0 feb 22 17:53 d 2) Cambiar la propieda y el grupo de un fichero [root@localhost pru]# ls -l total 0 -rw-r--r-- 1 root root 0 feb 22 17:52 a -rw-r--r-- 1 root root 0 feb 22 17:53 b
  • 57. 57 -rw-r--r-- 1 root root 0 feb 22 17:53 c -rw-r--r-- 1 root root 0 feb 22 17:53 d [root@localhost pru]# chown martin6 a [root@localhost pru]# ls -l total 0 -rw-r--r-- 1 martin6 root 0 feb 22 17:52 a -rw-r--r-- 1 root root 0 feb 22 17:53 b -rw-r--r-- 1 root root 0 feb 22 17:53 c -rw-r--r-- 1 root root 0 feb 22 17:53 d [root@localhost pru]# chown martin8:users b [root@localhost pru]# ls-l bash: ls-l: command not found [root@localhost pru]# ls -l total 0 -rw-r--r-- 1 martin6 root 0 feb 22 17:52 a -rw-r--r-- 1 martin8 users 0 feb 22 17:53 b -rw-r--r-- 1 root root 0 feb 22 17:53 c -rw-r--r-- 1 root root 0 feb 22 17:53 d 3) Cambiar el grupo de un fichero [root@localhost pru]# ls -l total 0 -rw-r--r-- 1 martin6 root 0 feb 22 17:52 a -rw-r--r-- 1 martin8 users 0 feb 22 17:53 b -rw-r--r-- 1 root root 0 feb 22 17:53 c -rw-r--r-- 1 root root 0 feb 22 17:53 d [root@localhost pru]# chgrp users d [root@localhost pru]# ls -l total 0 -rw-r--r-- 1 martin6 root 0 feb 22 17:52 a -rw-r--r-- 1 martin8 users 0 feb 22 17:53 b -rw-r--r-- 1 root root 0 feb 22 17:53 c -rw-r--r-- 1 root users 0 feb 22 17:53 d 4) De forma recursiva todo un directorio [root@localhost martin8]# chown -R root pru [root@localhost martin8]# cd pru [root@localhost pru]# ls -l total 0 -rw-r--r-- 1 root root 0 feb 22 17:52 a -rw-r--r-- 1 root users 0 feb 22 17:53 b -rw-r--r-- 1 root root 0 feb 22 17:53 c -rw-r--r-- 1 root users 0 feb 22 17:53 d 5) Cambiar propietarios y grupos de todos los ficheros [root@localhost pru]# chown -R root:users ../pru [root@localhost pru]# ls -l total 0 -rw-r--r-- 1 root users 0 feb 22 17:52 a
  • 58. 58 -rw-r--r-- 1 root users 0 feb 22 17:53 b -rw-r--r-- 1 root users 0 feb 22 17:53 c -rw-r--r-- 1 root users 0 feb 22 17:53 d 6) Con subdirectorios incluidos chown -R martin8:users ../pru [root@localhost pru]# ls -la total 12 drwxr-xr-x 3 martin8 users 4096 feb 22 18:00 . drwxrwxrwx 13 martin8 users 4096 feb 22 17:52 .. -rw-r--r-- 1 martin8 users 0 feb 22 17:52 a -rw-r--r-- 1 martin8 users 0 feb 22 17:53 b -rw-r--r-- 1 martin8 users 0 feb 22 17:53 c -rw-r--r-- 1 martin8 users 0 feb 22 17:53 d drwxr-xr-x 2 martin8 users 4096 feb 22 18:00 pr [root@localhost pru]# cd pr [root@localhost pr]# ls -l total 0 -rw-r--r-- 1 martin8 users 0 feb 22 18:00 a COMUNICACION CON USUARIOS WRITE write <username> [tty] bash$ whoami martin6 bash$ write martin8 nos vemos en el jamaicano Message from martin6@localhost.localdomain on pts/1 at 13:18 ... nos vemos en el jamaicano EOF Si hubiera un usuario conectado a varios terminales habria que especificar por cual sacar el mensaje. Realizarlo mediante el comando who. el usuario puede estar en un host distinto tty se usa cuando un usuario ha realizado varios logins para identificar una de sus terminales Al escribir el mensaje pulsar CTRL+D para terminar GREP
  • 59. 59 Este comando busca un patrón en ficheros y muestra la línea en la que aparece el patrón. Es preferible poner la opción a buscar entre comillas. Por ejemplo para buscar las líneas en las que aparece la cadena 'a' en el fichero pruebagrep [martin8@localhost martin8]$ cat pruebagrep hola voy a probar a ver si me dice en que lugares aparece la letra a el comando grep y este no tiene la letra est line no tiene :-) [martin8@localhost martin8]$ grep 'letra' pruebagrep aparece la letra a y este no tiene la letra MODIFICADORES -c --> nº de veces que aparece -i --> ignora mayusculas y minusculas -l --> muestra el nombre del fichero -n --> indica el numero de linea -v --> muestra las lineas en las que no aparece Ejemplos: -i (ignorar mayusculas) [martin8@localhost martin8]$ grep -i 'LETRA' pruebagrep aparece la letra a y este no tiene la letra [martin8@localhost martin8]$ grep 'LETRA' pruebagrep [martin8@localhost martin8]$ -c (numero de lineas en las que aparece) [martin8@localhost martin8]$ grep -i -c 'LETRA' pruebagrep 2 -n (indica el numero de linea) [martin8@localhost martin8]$ grep -i -n 'LETRA' pruebagrep 3:aparece la letra a 5:y este no tiene la letra [martin8@localhost martin8]$ -v (muestra las lineas en las que no aparece) [martin8@localhost martin8]$ grep -i -v -n 'LETRA' pruebagrep 1:hola voy a probar a 2:ver si me dice en que lugares
  • 60. 60 4:el comando grep 6:est line no tiene :-) -l (muestra ficheros) [martin8@localhost martin8]$ grep -l "Martin" * 2>err hlink index l lç slink [martin8@localhost martin8]$ cat index Este es el nuevo index de Martin [root@localhost martin8]# grep -l "Hola" * grep: basura: Es un directorio grep: marto: Es un directorio prueba2 grep: seg: Es un directorio [root@localhost martin8]# cat index Este es el nuevo index de Martin [root@localhost martin8]# cat hlink Este es index de Martin [root@localhost martin8]# grep in* * grep: basura: Es un directorio hlink:Este es index de Martin index:Este es el nuevo index de Martin lolo:index grep: marto: Es un directorio grep: seg: Es un directorio slink:Este es el nuevo index de Martin [root@localhost martin8]# grep -l in* * grep: basura: Es un directorio hlink index lolo grep: marto: Es un directorio grep: seg: Es un directorio slink -cv --> indica la linea donde no aparece [root@localhost martin8]# cat >prueba2 Hola soy Chiquito como estan ustedes? :-) [root@localhost martin8]# grep "soy" prueba2 Hola soy Chiquito [root@localhost martin8]# grep -cv "soy" prueba2 2
  • 61. 61 ^ -- al comienzo de una linea [root@localhost martin8]# grep ^Hola prueba2 Hola soy Chiquito [root@localhost martin8]# grep ^Ho prueba2 Hola soy Chiquito [root@localhost martin8]# grep ^o prueba2 [root@localhost martin8]# grep ^co prueba2 como estan ustedes? [root@localhost martin8]# cat dicho Cada fracaso enseña al hombre algo que debería haber aprendido. El unico hombre que nunca se equivoca es el que nunca hace nada [root@localhost martin8]# grep ^a dicho algo que aprendido. [aeiou] -- uno de los caracteres [root@localhost martin8]# grep qu[aeiou] dicho algo que que nunca se equivoca es el que nunca que/qua/qui/quo/quu [root@localhost martin8]# grep equ[aeiou] dicho que nunca se equivoca es CUIDADO porque es una letra o varias --> equivoca [martin8@localhost martin8]$ who|grep "martin8" martin8 pts/0 Feb 22 18:19 martin8 pts/1 Feb 22 19:43 [martin8@localhost martin8]$ who|grep "martin8"|wc -l 2 Busca el patrón donde el “punto” es una letra (como la ¿) [root@martin /root]# grep ".a.t.." prueba
  • 62. 62 Martin va a probar algo $  FINAL DE LA LINEA [root@martin /root]# cat > prueba Martin va a probar algo mucho cuidado [root@martin /root]# cat prueba Martin va a probar algo mucho cuidado [root@martin /root]# cat prueba Martin va a probar algo mucho cuidado [root@martin /root]# grep 'Martin'$ prueba [root@martin /root]# grep 'o'$ prueba Martin va a probar algo mucho cuidado [root@martin /root]# grep 'algo'$ prueba Martin va a probar algo [martin@martin martin]$ cat pr Hola me llamo Martin y tu como te llamas? voy a probar cut [martin@martin martin]$ grep 'MARTIN'$ pr [root@martin /root]# cat prueba Martin va a probar algo mucho cuidado [root@martin /root]# grep 'Martin'$ prueba [root@martin /root]# grep 'o'$ prueba Martin va a probar algo mucho cuidado [root@martin /root]# grep 'algo'$ prueba Martin va a probar algo EJEMPLOS CON PIPE y GREP Procesos que está ejecutando martin8 [martin8@localhost martin8]$ ps -fe|grep martin8 root 1754 1753 0 18:18 pts/0 00:00:00 login -- martin8 martin8 1755 1754 0 18:19 pts/0 00:00:01 -bash martin8 2039 1755 0 19:39 pts/0 00:00:00 ps -fe martin8 2040 1755 0 19:39 pts/0 00:00:00 grep martin8 personas que jueguen al Doom:
  • 63. 63 [martin8@localhost martin8]$ ps -fe|grep "[Dd]oom"|awk '{print $1}' [martin8@localhost martin8]$ Que sesiones tiene abiertas martin8 [martin8@localhost martin8]$ who root tty1 Feb 22 12:32 martin8 pts/0 Feb 22 18:19 martin8 pts/1 Feb 22 19:43 martin6 pts/2 Feb 22 19:44 [martin8@localhost martin8]$ who|grep "martin8" martin8 pts/0 Feb 22 18:19 martin8 pts/1 Feb 22 19:43 ¿Cuantas? [martin8@localhost martin8]$ who|grep "martin8" martin8 pts/0 Feb 22 18:19 martin8 pts/1 Feb 22 19:43 [martin8@localhost martin8]$ who|grep "martin8"|wc -l 2 BANNER [martin8@localhost martin8]$ /usr/games/banner -w19 hola # ############# # ## ####### ### ####### # # ##### # ############# # #### ## # # ####### FIND Este comando busca ficheros que tienen ciertas caracteristicas que se especifican. La sintaxis es la siguiente:
  • 64. 64 find directorio criterios-acciones Opciones -size n ficheros con tamaño n bloques (512 bytes) -type c tipo de fichero f=regular d=directorio -name nombre fichero de nombre -perm p ficheros con permisos p -user str ficheros del usuario usr -group gp ficheros del grupo gp Ejemplos: find . -name "core" find / -name "core" -type f Sintaxis de las opciones es variada: -size +100 tamaño mayor de 50 K (100*512=51200/1024=50K) -name '*.dat' todos los ficheros.dat ejemplo: [martin8@localhost martin8]$ ls a co.gz err f1 f3 fi10 ls.out ls.out3 numord pruebagrep treso b datos err1 f2 f7 fi3 ls.out1 marto pru pu [martin8@localhost martin8]$ find . -name '*.out' ./ls.out [martin8@localhost martin8]$ find . -name "*.out" ./ls.out [martin8@localhost martin8]$ SE PUEDEN AGRUPAR CONDICIONES AND POR DEFECTO -atime +60 -mtime +120 SE PUEDEN AGRUPAR POR OR (-atime +7 -o -mtime +30) CUIDADO BARRA Y PARENTESIS JUNTOS NEGACION DE UNA CONDICION CON !. Comando que busca ficheros .dat ecepto gold.dat ! -name gold.dat -name *.dat
  • 65. 65 ACCIONES Permiten al comando fin ejecutar ciertos comandos sobre los ficheros que se han encontrado. -print -- muestra el path del fichero (por defecto) -exec cmd -- ejecuta el comando cmd -ok cmd pregunta antes de ejecutar el comando LOS COMANDOS CON -exec, -ok deben terminar en ; LA FORMA {} SE USA PARA DETERMINAR LA POSICION DEL ARGUMENTO, ES DECIR LA SALIDA DEL COMANDO FIND. -exec rm -f {}; borra todos los ficheros que encuentre en la búsqueda (sin confirmacion) Copiar todo lo que encuentre en pepe -exec cp {} pepe; Copia los ficheros con nombre core de tipo fichero en el directorio pablo. find . -name core -type f -exec cp {} pablo ; Copia el fichero paco sobre lo que encuentres sin confirmacion find . name core -type f -exec cp paco {}; Buscar los ficheros con extensión .c a partir del directorio actual find . -name *.c -print Buscar los ficheros core y borrarlos unicamente los ficheros ya que existen directorios llamados también core. find . -name core -type f -exec rm -f {}; Buscar los ficheros de mas de 1Mb que no se hayn modificado desde hace 1 mes. Estos ficheros son candidatos posteriormente a eliminarlos. find / -size +2048 -mtime +30 -exec ls -l {}; si un bloque son 0,5 pues 1 MB son 1024*2 = 2048 TRUCO DE BLOQUES:  Pasar a kb  Multiplicar por 2 Borrar ficheros que no sirven y se van quedando en el sistema. find . (-name a.out -o -name core -o -name '*~'
  • 66. 66 -o -name '.*~') -type f -exec rm -f {} ; Buscar ficheros con permisos especiales SUID, SGID find / ( -perm -2000 -o -perm -4000 ) -print Mover los ficheros de .c del directorio martin8/1 al martin8/2 find 1 -name *.c -exec mv {} 2 ; Cambiar de nombre a los ficheros del directorio martin8 que empiezen por f y sean de dos letras y añadirles la extension .txt find martin8 -name 'f?' -type f -exec mv {} {}.txt Mas ejemplos: [martin8@localhost prueba]$ ls -l total 8 -rwxr----x 1 martin8 users 0 feb 22 20:21 a -rwx--x--x 1 martin8 users 0 feb 22 20:21 b -r-xr-xr-x 1 martin8 users 0 feb 22 20:21 c -------rw- 1 martin8 users 7 feb 22 20:22 d -rw-r--r-- 1 martin8 users 0 feb 22 20:58 ed -rw-r--r-- 1 martin8 users 7 feb 22 20:21 m [martin8@localhost prueba]$ find . -name "?" -type f -print ./a ./b ./c ./m ./d [martin8@localhost prueba]$ ls -l total 8 -rwxr----x 1 martin8 users 0 feb 22 20:21 a -rwx--x--x 1 martin8 users 0 feb 22 20:21 b -r-xr-xr-x 1 martin8 users 0 feb 22 20:21 c -------rw- 1 martin8 users 7 feb 22 20:22 d -rw-r--r-- 1 martin8 users 0 feb 22 20:58 ed -rw-r--r-- 1 martin8 users 7 feb 22 20:21 m [martin8@localhost prueba]$ find . -name "?" -type f -exec mv {} {}.txt find: missing argument to `-exec' [martin8@localhost prueba]$ find . -name "?" -type f -exec mv {} {}.txt ; [martin8@localhost prueba]$ ls -l total 8 -rwxr----x 1 martin8 users 0 feb 22 20:21 a.txt -rwx--x--x 1 martin8 users 0 feb 22 20:21 b.txt -r-xr-xr-x 1 martin8 users 0 feb 22 20:21 c.txt -------rw- 1 martin8 users 7 feb 22 20:22 d.txt -rw-r--r-- 1 martin8 users 0 feb 22 20:58 ed -rw-r--r-- 1 martin8 users 7 feb 22 20:21 m.txt
  • 67. 67 [martin8@localhost prueba]$ find / ( -perm -2000 -o -perm -4000 ) -print > 2>err los errores cuando sea directorios sin permiso no saldran por pantalla [martin8@localhost prueba]$ find / ( -perm -2000 -o -perm -4000 ) -print > > f20 2>err [martin8@localhost prueba]$ cat f20|head -3 /usr/lib/emacs/20.5/i386-redhat-linux-gnu/movemail /usr/man/es /usr/man/es/man1 Mover ficheros a otro lugar modificando su extension [martin8@localhost prueba]$ find . -name "??" -type f -exec mv {} mar/{}.txt ; [martin8@localhost prueba]$ ls a abe b mar [martin8@localhost prueba]$ cd mar [martin8@localhost mar]$ ls aa.txt ab.txt SORT Este comando ordena las lineas de un fichero y escribe la salida a la salida estándar Si se especifica mas de un fichero los une y los ordena como si se tratase de uno solo Opciones mas importantes: -f --- cambia a mayusculas antes de ordenar, ignora mayusulas y minusculas -r orden inverso -u suprime lineas repetidas en el fichero de salida -o output file escribe la salida a un fichero -d ignora caracteres especiales (solo letras y numeros) Para especificar un fichero de salida hay que especificar la opciom -o SORT CON CAMPOS -t ‘<’  el carácter que se utiliza para separar campos -k n  por que campo ordenar Ejemplos [martin8@localhost martin8]$ cat frutas banana orange
  • 68. 68 Persimmon apple apple ORANGE [martin8@localhost martin8]$ sort frutas ORANGE Persimmon apple apple banana orange {LAS MAYUSCULAS ESTAN ANTES} [martin8@localhost martin8]$ sort -f frutas (ignora mayusculas) apple apple banana ORANGE orange Persimmon [martin8@localhost martin8]$ sort -f -u frutas (suprime las repetidas) apple banana orange Persimmon [martin8@localhost martin8]$ sort -fur frutas (orden inverso) Persimmon orange banana apple ES LO MISMO ESCRIBIR SORT -f -u -r frutas Ejemplos con pipe [martin8@localhost martin8]$ head -3 frutas|sort Persimmon banana orange [martin8@localhost martin8]$ head -3 frutas|sort -u -f banana orange Persimmon SORT CON CAMPOS -t ‘<’  el carácter que se utiliza para separar campos -k n  por que campo ordenar
  • 69. 69 martin8@NODE:/home/martin8/dir88> cat > f1 1 e 2 a 3 t 4 bmartin8@NODE:/home/martin8/dir88> sort f1 1 e 2 a 3 t 4 b martin8@NODE:/home/martin8/dir88> sort -k2 f1 2 a 4 b 1 e 3 t martin8@NODE:/home/martin8/dir88> cat f1 1<e 2<a 3<t 4<b martin8@NODE:/home/martin8/dir88> sort -t '<' -k2 f1 2<a 4<b 1<e 3<t Ejemplos [martin8@localhost martin8]$ cat frutas banana orange Persimmon apple apple ORANGE [martin8@localhost martin8]$ sort frutas ORANGE Persimmon apple apple banana orange {LAS MAYUSCULAS ESTAN ANTES} [martin8@localhost martin8]$ sort -f frutas (ignora mayusculas) apple apple banana
  • 70. 70 ORANGE orange Persimmon [martin8@localhost martin8]$ sort -f -u frutas (suprime las repetidas) apple banana orange Persimmon [martin8@localhost martin8]$ sort -fur frutas (orden inverso) Persimmon orange banana apple ES LO MISMO ESCRIBIR SORT -f -u -r frutas Ejemplos con pipe [martin8@localhost martin8]$ head -3 frutas|sort Persimmon banana orange [martin8@localhost martin8]$ head -3 frutas|sort -u -f banana orange Persimmon Número de usuarios con procesos activos [martin8@localhost martin8]$ ps -fe|awk '{print $1}'|sort -u|wc -l 8 [martin8@localhost martin8]$ ps -fe|awk '{print $1}'|sort -u UID bin daemon martin6 martin8 nobody root xfs SED Comando para sutitución de texto dentro de un fichero. sed 's/banana/MARTIN GV/' frutas
  • 71. 71 sed s/cadena a sustituir/nueva cadena/ fichero Para cada linea del fichero procesa el comando y la salida la devuelve a stdout. Por tanto despues de realizar el comando sed el fichero original no se altera. El comando se suele emplear entre comillas aunque en casos simples no es necesario - Varias instrucciones separadas por -e - Crear fichero de scripts - [sed -f fichero fichero_a_sustituir] [martin8@localhost martin8]$ cat frutas banana orange Persimmon apple apple ORANGE [martin8@localhost martin8]$ sed s/banana/BANA/ frutas BANA orange Persimmon apple apple ORANGE Cuando existen espacios si es necesario [martin8@localhost martin8]$ sed 's/banana/MARTIN GV/' frutas MARTIN GV orange Persimmon apple apple ORANGE Varias instrucciones separadas por -e [martin8@localhost martin8]$ sed -e 's/banana/MARTIN GV/' -e 's/ap/AP/' frutas MARTIN GV orange Persimmon APple APple ORANGE Redirecionar la salida a un fichero [martin8@localhost martin8]$ sed 's/ap/AP/' frutas > frutas2 [martin8@localhost martin8]$ cat frutas2 banana orange