Saludos a mis lectores,
Dictaré un taller de Shell Script en vivo transmitido vía OpenFuture Solutions (www.openfs.com.ec)
Fecha: Martes 12 de Junio del 2009
Hora: 19:00
Click aquí para entrar a la página donde se transmitirá.
En esta sección estudiaremos comandos indispensables en el manejo de la consola de Unix. Así que comencemos de una vez 🙂
Paseando por el sistema de archivos.
Para movernos de un directorio a otro usamos el comando cd.
Modo de uso:
cd rutaDelDirectorio
Por ejemplo: si nos deseamos ir al directorio /home/user/docs/dir1/dir2 escribimos:
cd /home/user/docs/dir1/dir2
Usando rutas absolutas y relativas
Si estamos en /home/user/docs y deseamos movernos a /home/user/docs/dir1/dir2 escribimos:
cd dir1/dir2
Si estamos en /home/user/docs y deseamos movernos a /home/user podemos escribir
cd /home/user
ó
cd ..
Mostrando el contenido de un directorio.
Para mostrar el contenido de un directorio utilizamos el mandato ls.
Modo de uso:
ls [opciones] ruta
# ls /home/user/nombres
maria eva ana julio veronica
jaime ruth angel eduardo victoria
ls tiene muchas opciones pero las más usadas son -l y -a
la opción -l muestra el contenido del directorio en modo de lista mostrando los permisos, el propietario, el grupo propietario, el tamaño y la fecha de modificación de cada elemento contenido en el directorio, la opción -a muestra todos los elementos contenidos en el directorio, incluidos los archivos ocultos, el directorio actual y el superior (. y .. respectivamente).
Ejemplo:
# ls -l /home/user/ciudades
-rwxrwxrwx 1 root root 22534 mar 25 13:22 guayaquil
-rwxrwxrwx 1 root root 25531 mar 25 13:28 lima
-rwxrwxrwx 1 root root 32499 mar 25 12:12 quito
-rwxrwxrwx 1 root root 16483 mar 21 10:15 bogota
# ls -a /home/user/ciudades
. guayaquil quito
.. lima bogota
combinando estas dos opciones
ls -la /home/user/ciudades
drwxrwxr– 1 root root 8192 mar 25 13:22 .
drwxrwxr– 1 root root 4096 mar 25 13:22 ..
-rwxrwxrwx 1 root root 22534 mar 25 13:22 guayaquil
-rwxrwxrwx 1 root root 25531 mar 25 13:28 lima
-rwxrwxrwx 1 root root 32499 mar 25 12:12 quito
-rwxrwxrwx 1 root root 16483 mar 21 10:15 bogota
Copiando, moviendo y eliminando archivos.
Para copiar se usa el comando cp
Modo de uso:
cp [opciones] rutaOrigen rutaDestino
Ejemplo:
Si deseamos copiar el archivo copiame.txt que se encuentra en /home/user/dir1 a /home/user/respaldo/dir1 escribimos:
cp /home/user/dir1/copiame.txt /home/user/respaldo/dir1/
haciendo esto, se copiará el archivo a la ruta indicada con el mismo nombre, si queremos copiar este archivo con un nombre diferente , por ejemplo que el archivo copiame.txt se copie con el nombre copiado.txt se ejecuta:
cp /home/user/dir1/copiame.txt /home/user/respaldo/dir1/copiado.txt
también podemos copiar directorios y árboles de directorios enteros con la opción -pR
cp -pR /home/user/dir1 /home/user2/
Para mover archivos usamos el comando mv
Modo de uso:
mv rutaOrigen RutaDestino
Por ejemplo si deseamos mover un archivo llamado mueveme.mp3 de /home/user/music a /home/user/music/mp3 escribimos:
mv /home/user/music/mueveme.mp3 /home/user/music/mp3/mueveme.mp3
tambén podemos usar mv para renombrar archivos, por ejemplo si queremos cambiarle el nombre al archivo mueveme.mp3 a renombrado.mp3 escribimos:
mv mueveme.mp3 renombrado.mp3
Si deseamos mover un árbol de dierctorio completo usaremos la opción -vf
Para eliminar un archivo usamos elcomando rm
Modo de uso:
rm [opciones] rutaArchivo
Ejemplo:
Si deseamos eliminar un archivo llamado borrame.doc que se encuentra en /home/user/docs escribimos:
rm /home/user/docs/borrame.doc
Si deseamos que el sistema pida confirmación de cada archivo a borrar usamos la opción -i, si deseamos borrar un árbol de directorios o un directoio no vacío usamos laopción -rf
Editando archivos
A la hora de editar archivos de texto en la consola de un sistema UNIX la mejor opción es el comando vi.
Modo de uso:
vi rutaArchivo
vi tiene dos modos: modo de edición y modo de comandos.
El modo de edición permite modificar el contenido de un archivo como insertar o borrar caracteres y el modo de comandos permite ingresar comandos de vi como copiar, pegar, guardar, etc.
El programa vi se inicia por defecto en modo de comandos, a continuación se muestra una lista de los comandos más usados.
Comandos de edición de texto en vi
Comando |
Descripción |
i |
Inserta texto antes del carácter sobre el cual se encuentra el cursor (cambia al modo de edición) |
I |
Inserta texto al inicio de una línea (cambia al modo de edición) |
a |
Inserta texto después del carácter sobre el cual se encuentra el cursor (cambia al modo de edición) |
A |
Inserta texto al final de una línea (cambia al modo de edición) |
yy |
Copia una línea de texto |
p |
Pega una línea de texto |
dd |
Corta o elimina una línea de texto |
o |
Inserta una línea en blanco después de la línea en la que se encuentra el cursor (cambia al modo de edición) |
O |
Inserta una línea en blanco antes de la línea en la que se encuentra el cursor (cambia al modo de edición) |
r |
Reemplaza un carácter (se presiona r y luego se ingresa el carácter deseado) |
R |
Inserta texto poniendo el cursor en modo de sobre-escritura (cambia al modo de edición) |
Comandos para la navegación en el archivo
Comando |
Descripción |
j |
Desplaza el cursor hacia abajo |
k |
Desplaza el cursor hacia arriba |
h |
Desplaza el cursor hacia la izquierda |
l |
Desplaza el cursor hacia derecha |
gg |
Desplaza el cursor hacia una línea indicada, si no digitamos algún número antes de usar este comando,entonces desplazará el cursor al inicio del archivo. Ej: si deseamos dirigirnos a la línea 100 escribimos 100gg |
G |
Es equivalente a gg, solo que si no lo predecimos de algún número, entonces desplazará el cursor al final del archivo. |
0 |
Desplaza el cursor al inicio de la línea actual. |
$ |
Desplaza el cursor al final de la línea actual. |
Comandos útiles para la manipulación de vi
Comando |
Descripción |
ZZ |
Guarda los cambios y sale del editor |
:w |
Guarda los cambios en el archivo |
:wq |
Es equivalente al comando ZZ |
:/ |
Busca texto en el archivo. Ej: si deseamos buscar la palabra hola en el archivo usamos el comando :/hola y luego presionamos ENTER, se puede navegar entre las coincidencias encontradas usando n (siguiente) y N (anterior). |
:q |
Permite salir del editor si no se han realizados cambios en el archivo. |
:q! |
Salida de modo forzado, sale del editor sin guardar los cambios realizados al archivo. |
:! |
Permite ingresar un comando en el shell desde vi. Ej: si deseamos conocer la hora escribimos :!date y luego presionamos ENTER |
Para cambiar del modo de edición al modo de comandos se presiona la tecla ESC.