Febrero de 2007
Se permite copiar, distribuir, exhibir, comunicar la obra, crear obras derivadas y hacer uso comercial de este trabajo bajo la condici on de reconocer y dar cr edito al autor original (Creative Commons Attribution License 2.0 ).
c GSyC 2007
Introducci on al Shell
c GSyC 2007
Introducci on al shell
Interfaces de usuario
Interfaz gr aco Supone un gran avance Excelente para usuarios, o para tareas que hagamos de vez en cuando Mucho menos ecientes En Unix hay cosas s olo se pueden hacer con interfaz texto No es la losof a Unix No son est andar Unix Exigen tener gr acos (mucho m as caro que pj ssh) Hay gestores de cheros gr acos, pero no los uses -si quieres dominar Unixc GSyC 2007 Introducci on al shell : Introducci on al Shell
Interfaces de usuario
Unix dispone de interfaz gr aco desde los 80. X Window. (No confundir con Microsoft Windows). Sobre las X Window van el gestor de ventanas y el escritorio (Actualmente KDE o Gnome)
c GSyC 2007
Interfaz de texto Write programs that do one thing and do it well. Write programs to work together. Write programs that handle text streams, because that is a universal. interfaz texto: teclado terminales x consola: terminales virtuales (Ctrl+Alt+F1) (Ctrl+Alt+F6) Vuelta a sesi on X (Ctrl+Alt+F7) exit (EOF, Ctrl + D)
c GSyC 2007
c GSyC 2007
c GSyC 2007
c GSyC 2007
10
11
Tambi en puede ser u til buscar un tutorial, howto o FAQ Suele estar mal considerado consultar a un humano sin hacer cierto esfuerzo previo
c GSyC 2007
12
Qui en soy? D onde estoy? Qu e tengo? whoami Muestra el usuario id Muestra usuario y grupos uname uname -a Versi on de Linux hostname Nombre de m aquina pwd Directorio de trabajo actual
c GSyC 2007
13
w Usuarios conectados a la m aquina du du -s du -h Espacio de disco ocupado por los cheros de un directorio Espacio de disco ocupado por un directorio Unidades legibles para un humano
c GSyC 2007
14
ls ls ls ls ls
-l -a -lh -R -ld
Formato largo Muestra cheros ocultos (empiezan por punto) Formato largo, unidades legibles por humano Recursivo Lista el directorio, no su contenido
c GSyC 2007
(cont.)
15
Metacaracteres del Shell $ * ? [] ejemplo: ls *.txt el shell lo expande a ls texto1.txt texto2.txt texto3.txt Variable 0 o m as caracteres cualquiera exactamente 1 caracter cualquiera 1 caracter de la clase
c GSyC 2007
Ficheros
16
Ficheros
Arbol de directorios Arbol, todo cuelga de un u nico directorio raiz Dentro de cada directorio, habr a cheros o subdirectorios jerarqu a cl asica unix: /home /bin /usr (...)
c GSyC 2007
Ficheros (cont.)
17
path cd . .. El slash / separa directorios Fichero que empieza por / : absoluto Fichero sin /: relativo cp cp cp fichero tmp fichero ./tmp fichero /tmp
cd ~jperez/dir
c GSyC 2007
Ficheros (cont.)
18
Comandos de cheros Tradicionalmente en Unix los cheros no llevaban extensi on No hay un programa asociado a cada extension file mifichero Indica el tipo del chero cp origen destino cp -r /tmp . Copia el directorio tmp al directorio actual cp /tmp/* . Copia los cheros del directorio tmp al directorio actual cp -r /usr/share/ejemplo $HOME/pruebas Copia el directorio ejemplo en el directorio pruebas del home del usurio actual. mv origen destino Mueve un chero. Equivale a renombrar
c GSyC 2007 Introducci on al shell : Introducci on al Shell
Ficheros (cont.)
19
cp y mv pueden recibir m as de 2 argumentos. En ese caso, el ultimo debe ser un directorio rm chero borra chero a rm -r directorio Borra un directorio y todo su contenido mkdir Crea un directorio
a Cuando
c GSyC 2007
Ficheros (cont.)
20
Un usuario de MS-DOS podr a intentar hacer mv *.txt *.doc # MAL! No funciona, y puede ser fatal Supongamos que tenemos en el directorio actual
carta1.txt carta2.doc
Tras expandir los asteriscos, el resultado es mv carta1.txt carta2.doc Soluci on v alida a : # destruimos el segundo fichero!
#!/bin/bash for fichero in *.txt do nombre=$(echo $fichero | cut -d. -f1) extension=$(echo $fichero | cut -d. -f2) mv $fichero $nombre.doc done a Siempre que solo haya un punto en el nombre
c GSyC 2007
Usuario root
21
Usuario root
En Unix, tradicionalmente hay un s uper-usuario root. El directorio home del usuario root es el directorio /root su nos convertimos en root sudo aparece con posterioridad. En muchos Unix es opcional, en Ubuntu es obligatorio sudo comando ejecuta un u nico comando como root Solo los usuario en el grupo admin pueden ejecutar sudo Para aplicaciones gr acas, no debe usarse sudo sino gksudo gksudo mi-aplicacion
c GSyC 2007 Introducci on al shell : Introducci on al Shell
Usuarios y grupos
22
Usuarios y grupos
Comandos que s olo pueden ejecutarse como root groupadd grupo crea un grupo adduser usuario a a nade un usuario adduser usuario grupo a nade un usuario a un grupo usermod -g grupo inicial usuario Cambia el grupo inicial del usuario userdel usuario borra un usuario
a En
c GSyC 2007
Usuarios y grupos
23
userdel -r usuario borra un usuario y su HOME passwd usuario Cambia la contrase na de un usuario su usuario Cambia el id. de usuario actual chown due no chero(s) cambia el due no de un chero chgrp due no chero(s) cambia el grupo de un chero Comandos para cualquier usuario passwd Cambia la contrase na
c GSyC 2007 Introducci on al shell : Introducci on al Shell
Usuarios y grupos
24
id usuario muestra id, gid, grupos newgrp grupo Entre los grupos de un usuario, elige el actual
c GSyC 2007
25
chmod
754 mi_fichero
c GSyC 2007
26
Permisos de los directorios r y x normalmente van juntos. (Ambos o ninguno). Permiten entrar en el directorio w permite a nadir a nadir cheros o borrarlos Muy Importante: Comprueba los permisos de tu $HOME, en muchos sistemas por omisi on est a abierto Atenci on, un chero sin permisos de escritura pero con permiso de escritura en el directorio que lo contiene, no podr a ser modicado pero s borrado
(a menos que est e el sticky bit activado chmod [+-]t dir)
c GSyC 2007
27
c GSyC 2007
Enlaces
28
Enlaces
enlace duro Un nuevo nombre para el chero ln a b enlace blando o simb olico un nuevo chero que apunta a un nombre ln -s a c rm borra un nombre de un chero si es el u ltimo, borra el chero. Con enlaces simb olicos, si se borra el original el enlace queda roto
c GSyC 2007
Enlaces (cont.)
29
Enlace duro
c GSyC 2007
Enlaces (cont.)
30
c GSyC 2007
Entrada y salida
31
Entrada y salida
entrada est andar salida est andar salida de error est andar
c GSyC 2007
32
Paso de argumentos a comandos Muchos comandos se comportan as (no todos) Sin argumentos: Entrada est andar wc 1 argumento: Nombre de chero wc fichero n nombres de chero wc fichero1 fichero2
c GSyC 2007
33
cat lee lo que hay en stdin y lo escribe en stdout (Ctrl D: n de chero) cat fichero1 fichero2 lee los cheros que se pasan como argumento y los escribe (concatenados) en stdout (Ctrl D: n de chero) echo argumento escribe en stdout el texto que se le pasa como argumento less fichero escribe un chero en stdout, permitiendo paginaci on
c GSyC 2007
34
Redirecciones < redirige stdin desde chero > redirige stdout a chero, reemplazando >> redirige stdout a chero, a nadiendo & > redirige stdout y stderr a chero | redirige el stdout de un proceso al stdin del siguiente cat cat file1 file2 >file3 cat file1 | less cat >file1 less fichero cat fichero | less less <fichero (El resultado es el mismo, pero es importante distinguirlo)
c GSyC 2007 Introducci on al shell : Introducci on al Shell
Comandos de procesos
35
Comandos de procesos
ps ps ps Informaci on sobre los procesos Informaci on sobre todos los procesos de la maquina Formato largo
-e -ef
top kill
Muestra los procesos que consumen m as cpu Envia una se nal a un proceso
c GSyC 2007
Se nales
36
Se nales
kill -9 pid 15 SIGTERM (valor por defecto) 9 SIGKILL 2 SIGINT (Ctrl C) interrumpe man 7 signal
c GSyC 2007
Filtros
37
Filtros
grep grep hidalgo quijote.txt Devuelve l neas con el patr on grep "la mancha" quijote.txt grep -v Devuelve l neas sin el patr on grep -i Ignora may usculas/min usculas Atenci on,en el patr on ana encaja la palabra rosana cut ls -l | cut -c2-4 cat /etc/passwd | cut -d: -f5 paste paste -s wc
c GSyC 2007 Introducci on al shell : Introducci on al Shell
Filtros
38
di sort uniq head head -5 fichero.txt tail tail -3 fichero.txt who | cut -c1-8 |sort |uniq | wc -l ps -ef | grep miguel | grep -v gvim
c GSyC 2007
Filtros
39
Expresiones Regulares (Regexp) ? * + . [ ] [^ ] ^ $ \< \> | () {min,max} opcional 0 o m as veces 1 o m as veces cualquier car acter cualquiera de la clase cualquiera excepto la clase principio de linea fin de linea inicio de palabra fin de palabra o agrupar rango
c GSyC 2007
Filtros (cont.)
40
No confundir los metacaracteres de las regexp con los metacaracteres del shell importante: escapar con \
c GSyC 2007
41
Variables
variable=valor echo $variable Sin espacios antes y despues del igual con $ para acceder al contenido de la variable sin $ en la asignaci on s olo son visibles en ese proceso
Variables de entorno
export VARIABLE=valor hace que los procesos hijos la reciban por convenio se usan may usculas
c GSyC 2007
Variables de entorno
42
se pueden modicar en el ~/.bashrc que ser a ejecutado al abrir una nueva shell printenv muestra todas las variables de entorno HOME HOSTNAME USER PATH export PATH=$PATH:/usr/local/bin:.
c GSyC 2007
43
44
3. bash no interactivo, no de login Ej: Un script Se ejecuta el chero $BASH_ENV Atenci on,hablamos del inicio del shell, no de unix
c GSyC 2007
45
Comprimir: gzip -c fichero > fichero.z Descomprimir: gzip -d fichero.z Descomprimir: zcat fichero.z zcat fichero.z
c GSyC 2007
46
tar + gzip Comprime o descomprime varios cheros, directorios Extensi on: fichero.tar.gz fichero.tgz Comprimir: tar -cvzf fichero.tgz fichero1 fichero2 Descomprimir: tar -xvzf fichero.tgz Mostrar contenido: tar -tzf fichero.tgz WinZip No hay compresor en Linux. (Pero WinZip sabe descomprimir .tgz) Descomprimir:
c GSyC 2007
unzip fichero.zip
Introducci on al shell : Introducci on al Shell
47
Disquetes Podemos montar la disquetera como un sistema de cheros Unix Pero suele ser m as pr actico copiar un .tgz en modo msdos mdir a: mcopy fichero a: mcopy a:fichero Trocear cheros Trocear split -b 1440k cancion.mp3 Recomponer cat trozo* > cancion.mp3
trozo
c GSyC 2007
48
Localizar cheros find find . | grep fichero locate updatedb busca un chero Filtra la b usqueda
c GSyC 2007
49
Programaci on Shell
c GSyC 2007
Introducci on
50
Introducci on
comandos, programas de usuario, procesamiento de l neas, etc. #!/bin/bash a="hola mundo" echo $a Un chero de texto con permiso ejecuci on, empieza por #!, es ejecutado por /bin/bash
c GSyC 2007
Introducci on (cont.)
51
En la mayoria de los lenguajes modernos Las cadenas se entrecomillan Un identicador de variable es secuencia de letras y digitos Las cadenas se concatenan con algun operador print "hola, soy " + nombre put_line("hola, soy " & nombre); # python --ada
c GSyC 2007
Introducci on (cont.)
52
bash es diferente Las variables empiezan por $ cuando son referenciadas No llevan $ en la asignaci on No puede haber espacios antes y despues del igual Los $ se interpretan en el interior de comillas dobles nombre="Juan P erez" echo hola, soy $nombre echo "hola, soy $nombre" No hace falta operador para concatenar cadenas (todo son cadenas) cp $nombre_fichero $nombre_fichero.bak
c GSyC 2007
Comillas dobles
53
Comillas dobles
La shell interpreta los $ y considera 1 argumento lo que va entre comillas dobles. En algunos casos resulta equivalente ponerlas u omitirlas Ej: echo saca por stdout todos sus argumentos echo me llamo $nombre el comando echo recibe 3 argumentos echo "me llamo $nombre" el comando echo recibe 1 argumentos
c GSyC 2007
54
En otros, no Ej:El primer argumento de grep es el patr on, el resto, los cheros donde buscarlo grep "la mancha" quijote.txt el comando grep recibe 2 argumentos grep la mancha quijote.txt el comando grep recibe 3 argumentos Busca la cadena la en el chero mancha y en quijote.txt
c GSyC 2007
55
#!/bin/bash echo "primer parametro que recibo: $1, segundo: $2, total $#" echo "la lista completa de parametros es $*"
c GSyC 2007
56
condicional Cada programa devuelve dos cosas diferentes e independientes Texto por stdout y stderr Un valor cierto o falso, seg un considere que ha tenido exito o ha fracasado Este valor lo puede ler el condicional #!/bin/bash if grep hidalgo quijote.txt then echo si else echo no fi
c GSyC 2007
57
&& || !
c GSyC 2007
58
(cont.)
59
test test test test test test test test test test test test test test
c GSyC 2007
-z cadena # cadena vacia? -n cadena # cadena no vacia? cadena1 = cadena2 cadena1 != cadena2 cadena1 \< cadena2 cadena1 \> cadena2 a -eq b # el entero a es igual a b? a -ne b # no igual? a -lt b # menor que? a -le b # menor o igual? a -gt b # mayor que? a -ge b # mayor o igual? -e fichero # Existe el fichero? -f fichero # Es normal? (Ni dir ni dev)
Introducci on al shell : Programaci on Shell
60
-d -r -x -w
# # # #
es un dir? existe y legible por usuario? existe y ejecutable por usuario? escribible por el usuario?
c GSyC 2007
(cont.)
61
bash no sabe operar #!/bin/bash expr 5 \* 3 echo "2 * 2" | bc echo $((2+2))
c GSyC 2007
(cont.)
62
read read variable Lee una l nea de stdin y la asigna a una variable. Devuelve cierto si hay texto en stdin Devuelve falso cuando llega n de chero en stdin #!/bin/bash echo Dime tu nombre read nombre echo hola $nombre
c GSyC 2007
(cont.)
63
bucles while #!/bin/bash while true do sleep 1 echo -n "tic" sleep 1 echo " tac" done
c GSyC 2007
(cont.)
64
#!/bin/bash a=0 while [ $a -lt 10 ] do echo $a a=$(($a+1)) done Tambi en podr a hacerse con seq
c GSyC 2007
(cont.)
65
#!/bin/bash while read linea do echo $linea done #!/bin/bash cat quijote.txt | while read linea do echo $linea # hacemos cualquier operaci on a $linea done #!/bin/bash while read linea do echo $linea done < quijote.txt
c GSyC 2007
(cont.)
66
bucles for Muy distinto a otros lenguajes Recorre los par ametros recibidos de l nea de comandos #!/bin/bash for i do echo "recibo el parametro $i" done
c GSyC 2007
(cont.)
67
Recorre los cheros que encajen en el comod n for i in * do echo $i done for i in *.bak do rm $i done
c GSyC 2007
(cont.)
68
Recorre las palabras de una cadena lista=perro zapato tomate for i in $lista do echo "el $i" done Atenci on: for itera sobre todas las palabras de una cadena. Para procesar l nea a l nea, debe usarse while read...
c GSyC 2007
(cont.)
69
Comillas Comilla invertida (comilla grave, comilla de ejecuci on) ... Se ejecuta ... y el resultado reemplaza ... Los retornos de carro se reemplazan por espacios Comilla recta ... ... se toma literalmente Comilla doble ... ... se toma literalmente, tras interpretar $
c GSyC 2007
(cont.)
70
Atenci on a la tipograf a: El aspecto de la comilla normal (recta) y de la invertida puede cambiar con el tipo de letra El signicado de ambas es completamente distinto comilla invertida (La que abre comillas, a la dcha. de la p en el teclado) comilla recta (a la dcha. del cero en el teclado)
c GSyC 2007
(cont.)
71
Ejemplo 1: #!/bin/bash a=ls echo $a echo "$a" echo $a Ejemplo 2: #!/bin/bash ls a=ls a=ls ls
#Llama al comando ls, genera un listado #ls a la dcha de =, la vble contiene una l y una s #la vble contiene un listado, sin retornos de carro #Intenta ejecutar los ficheros del listado
c GSyC 2007
Ejercicio
72
Ejercicio
Fichero con notas
fgarcia amartin jcano apto no apto no apto
Realizar un script bash que: 1. Reciba como primer argumento el nombre del chero con las notas 2. Cuente no de presentados y no aprobados 3. Envie a cada estudiante correo con su nota, no de presentados, el no de aprobados
c GSyC 2007
73
#!/bin/bash suspensos=cat $1 | egrep "no apto" | wc -l presentados=cat $1 | wc -l aprobados=echo $presentados -$suspensos | bc cat $1 | cut -f1 > aux_personas
for persona in cat aux_personas do echo " egrep $persona $1. Presentados:$presentados \ ,Aprobados $aprobados" \ | mail $persona@localhost done
c GSyC 2007 Introducci on al shell : Programaci on Shell
Enlaces
74
Enlaces
Sobre este tema hay much sima documentaci on. Entre la disponible en el web recomendamos Luis Cearra. Sistemas Abiertos Mark Burgess. The Unix Programming Environment
c GSyC 2007
Enlaces (cont.)
75
c GSyC 2007
Introducci on:
76
Introducci on:
Para quien se acerca a Linux resulta confuso un ls -l /
drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxr-xr-x drwxrwsr-x drwxr-xr-x drwxr-xr-x dr-xr-xr-x dr-xr-xr-x drwxr-xr-x drwxr-xr-x drwxrwxrwt drwxr-xr-x drwxr-xr-x 2 2 5 66 7 6 2 2 67 14 2 9 15 16 root root root root root root root root root root root root root root root root root root staff root root root root root root root root root 4096 4096 24576 4096 4096 4096 16384 4096 0 4096 4096 4096 4096 4096 ene mar may may abr feb nov nov may feb ene may nov nov 30 12 22 19 16 1 7 10 19 12 30 22 8 9 20:34 19:46 06:27 00:26 17:36 18:02 2000 2000 02:25 19:28 20:30 10:19 2000 2000 bin boot dev etc home lib lost+found mix proc root sbin tmp usr var
c GSyC 2007
Normalizaci on de Linux
77
Normalizaci on de Linux
La estructura de todos los Unix se parece La estructura de todas las distribuciones Linux se parece mucho
c GSyC 2007
Jerarqu a cl asica
78
Jerarqu a cl asica
La jerarqu a actual puede resultar algo il ogica, pero hay motivos hist oricos En los primeros Unix los discos eran m as peque nos y m as caros, en uno estaba lo imprescindible para que el sistema funcionase: / /etc /lib /tmp /bin /root
c GSyC 2007
79
y en un segundo disco, se montaba /usr /usr/spool /usr/bin /usr/include /usr/tmp /usr/adrn /usr/lib
c GSyC 2007
80
c GSyC 2007
1. Directorios de usuarios
81
1. Directorios de usuarios
Directorio del administrador /root Usuarios locales /home/jperez o bien /home/profesores /home/alumnos Usuarios NIS /users/jperez
c GSyC 2007
2. Programas y comandos
82
2. Programas y comandos
Comandos u tiles para todos los usuarios /bin /usr/bin Comandos u tiles para el root /sbin /usr/sbin (Todo lo que haya bajo /usr deber a ser s olo lectura)
c GSyC 2007
83
Programas Software no incluido en la distribuci on Linux /usr/local Grandes aplicaciones como StarOce, KDE, Oracle... /opt
c GSyC 2007
84
Librer as est aticas (para compilar) y din amicas /lib /usr/lib /usr/local/lib Ficheros de cabecera (para compilar) /usr/include Ficheros independientes de la arquitectura /usr/share
c GSyC 2007
85
4. El Hardware
86
4. El Hardware
Los dispositivos del sistema /dev /dev/hda /dev/hdb /dev/hdc /dev/hdd /dev/cdrom /dev/fd0 /dev/audio /dev/modem /dev/mouse /dev/printer /dev/ttyn IDE IDE IDE IDE primario master primario slave secundario master secundario slave
donde n es el no de consola
c GSyC 2007
4. El Hardware (cont.)
87
Ficheros virtuales que representan las estructuras del Kernel en ejecuci on, dan informaci on sobre la cpu... /proc/cpuinfo /proc/pci /proc/ioports /proc/meminfo CPU Tarjetas PCI Puertos I/O Informaci on sobre la memoria
c GSyC 2007
5. Documentaci on
88
5. Documentaci on
/usr/share/doc Documentaci on sobre el software del sistema /usr/man Ficheros del comando man
c GSyC 2007
6. Ficheros Temporales
89
6. Ficheros Temporales
Ficheros temporales (se borran cuando la m aquina arranca) /tmp Fragmentos de cheros recuperados /lost+found
c GSyC 2007
90
Ficheros que cambian con frecuencia /var /var/log/messages /var/log/dmesg /var/spool/lpd/lp /var/tmp /var/mail /var/run logs del sistema logs del sistema al arrancar spool de la impresora Ficheros temporales Correo de los usuarios PID de programas en ejecuci on
c GSyC 2007
91
c GSyC 2007
92
Editores de texto
c GSyC 2007
Introducci on
93
Introducci on
Este es un repaso de algunos editores de texto para linux. Cu al es mejor? Cada uno tiene sus ventajas e inconvenientes. La respuesta a esta pregunta en buena parte depende de gustos personales Este es un asunto t pico para guerras de religi on
c GSyC 2007
Introducci on (cont.)
94
c GSyC 2007
vi (cont.)
95
vi
El editor m as clasico en Unix. A no 1976 Se considera que cualquier administrador Unix deber a conocer al menos los comandos b asicos Hoy usamos clones como vim. Ventajas Siempre estar a disponible y funcionando en cualquier m aquina Unix Versiones para la mayor a de los SSOO (Windows, Mac OS...) Es muy exible y potente, conoci endolo bien se puede trabajar a gran velocidad Est a pensado para trabajar en sesiones remotas con malas conexiones
c GSyC 2007 Introducci on al shell : Editores de texto
vi
96
La versi on gvim tiene men us y botones, es u til mientras se aprenden los comandos
c GSyC 2007
vi (cont.)
97
Inconvenientes Interfaz de usuario muy anticuado, el usuario debe memorizar comandos donde hasta las may usculas son signicativas!
c GSyC 2007
vi (cont.)
98
1. Modo comando (modo orden, modo normal) 2. Mode texto (mode entrada) Comandos Imprescindibles
$ vi fichero i,o Esc Esc: R :r :q :w nombre :wq :q! J punto u dd edita el fichero, si no existe lo crea pasan a modo texto pasa a modo comando pasa a comando de modo linea pasa a mode reemplazar, hasta que pulsemos Esc leer un fichero Salir del buffer / salir del programa escribe fichero Escribir y salir, equivale a :x zz Salir sin grabar Une dos lineas Repite el ultimo comando Deshace ultimo cambio Borra l nea actual
c GSyC 2007
vi (cont.)
99
2dd D p /patron G 5G %
Borra dos l neas Borra hasta final de l nea pega lo ultimo copiado o borrado Busca un patr on (hacia adelante) Ir a Final del archivo Ir a l nea 5 correspondencia de par entesis, llaves...
c GSyC 2007
vi (cont.)
100
Otros Comandos
0 $ w b r 4cw x 5x dw n N yy yw 3yw * ma mb a
c GSyC 2007
ir a principio l nea ir a fin linea siguiente palabra palabra anterior Sustituye 1 car acter Cambia las pr oximas 4 palabras Borra car acter Borrar 5 caracteres Borra hasta fin palabra Repite b usqueda Busca en direcci on inversa a anterior copia (yanc) linea Copia palabra copia 3 palabras busca palabra igual a la que marca el cursor marca a marca b ir a marca a
Introducci on al shell : Editores de texto
vi (cont.)
101
b ir a marca b Ctrl G Indica linea actual ~ Pasa de may. a minusc. o al rev es :49,53 w! fichero Graba en fichero lineas de 49 a 53 :.,53 w! fichero Graba en fichero de linea actual a final :1,$ s/digo/diego/g Busca y Reemplaza :set nu Indica el no de linea :set nonu Desactiva no de linea :set ic Ignore Case (Insensible a may usculas en b usquedas) :set noic Desactiva ic
c GSyC 2007
vi (cont.)
102
c GSyC 2007
103
c GSyC 2007
Emacs / XEmacs
104
Emacs / XEmacs
Editor cl asico en Unix. Uno de los m as conocidos, se populariza a mediados de los 80 Ventajas Complet simo, es mucho m as que un editor. Permite leer correo, news, se integra con gran cantidad de herramientas... M odulos para muchos lenguajes de programaci on Da formato y color al fuente, con mucha calidad. Completamente personalizable (en lisp) Puede emular a vi
c GSyC 2007
105
Inconvenientes Muy grande y pesado, consume muchos recursos. Su uso resulta complicado A un para las tareas sencillas, tiene alguna peculiaridad que lo hace poco intuitivo al usuario actual
c GSyC 2007
106
Usando emacs
c GSyC 2007
107
emacs = xemacs
c GSyC 2007
108
Atajos de teclado CTRL-K borrar linea ESC-X query-replace, ESC-X replace ESC-X goto-line CTRL-X-S salvar CTRL-X-F encontrar chero CTRL-W=cortar, CTRL-Y=pegar CTRL-@=marca
c GSyC 2007
109
c GSyC 2007
wily/acme
110
wily/acme
wily es un clon para linux del acme de plan9 ventajas Su uso en simple Peque no Usa el shell como lenguaje
c GSyC 2007
wily/acme (cont.)
111
Inconvenientes Para usarlo de forma efectiva, hay que usar Unix de forma efectiva enlaces http://www.cs.bell-labs.com/sys/doc/acme/acme.html
c GSyC 2007
SciTE
112
SciTE
Editor de texto reciente Ventajas Muy completo: Da formato, color, se integra con el compilador... Versiones para Win32 y X Window Muy f acil de manejar Es el editor de anjuta, el IDE de gnome
c GSyC 2007
SciTE (cont.)
113
Inconvenientes Exige una sesi on gr aca No tan extendido como vim o emacs Hay cosas que vim o xemacs hacen mejor enlaces http://www.scintilla.org/SciTE.html
c GSyC 2007
Kate
114
Kate
Es el editor del escritorio KDE Ventajas Muy completo: Da formato, color, se integra con el compilador... Muy buen pretty printing Muy f acil de manejar
c GSyC 2007
Kate (cont.)
115
Inconvenientes Exige una sesi on gr aca No tan extendido como vim o emacs Hay cosas que vim o xemacs hacen mejor Es necesario tener instalado KDE (o al menos buena parte) No disponible en otras plataformas enlaces http://kate-editor.org/
c GSyC 2007
gedit
116
gedit
Editor de texto reciente, es el block de notas de gnome Ventajas Muy sencillo y f acil de manejar
c GSyC 2007
gedit (cont.)
117
Inconvenientes Exige una sesi on gr aca Ha mejorado mucho, pero sigue teniendo poca funcionalidad No hay motivo para usarlo si est a disponible kate o scite
c GSyC 2007