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
Saludos a todos mis lectores 🙂
He decidido crear una sección dedicada a la creación de Scripts sobre la shell de sistemas basados en Unix, los cuales son muy importantes ya que nos ayudarán mucho en la administración de estos sistemas.
Espero les sea de utilidad…
Manos a la obra
Conceptos básicos
Antes de entrar en el entorno de programación Unix es necesario tener conceptos básicos sobre estos sistemas operativos y el manejo de la consola.
¿Que es Unix?
Unix es el núcleo de un sistema operativo de tiempo compartido, un programa que controla los recursos de un equipo y los asigna entre los usuarios. Unix no solo abarca el núcleo, sino también todos los programas esenciales para el manejo del mismo como: editores, compiladores, y lenguajes de comandos, etc.
¿Qué es la Shell?
Es un programa que sirve de interfaz de comunicación entre el usuario y el sistema operativo que espera órdenes escritas por el usuario.
Sistema de archivos en Unix
En Unix todo funciona a base de archivos, todo lo que existe en Unix son archivos (directorios, drivers, ficheros, etc).
El sistema de archivos Unix se organiza de manera Jerárquica.
En Unix los archivos tienen asociado un nombre, contenido, ubicación y datos como dueño, tamaño, fecha de modificación, etc.
Un directorio en Unix es un archivo que contiene información de otros archivos, ya que el sistema de archivos un directorio es una ubicación que puede almacenar archivos y otros directorios.
En los sistemas Unix todo es contenido por el directorio raíz /. Este directorio es el de más alta jerarquía.
Rutas
Las rutas son un método de referenciar archivos y directorios en un sistema de archivos las cuales señalan la ubicación exacta de los mismos.
La forma de recorrer un árbol de directorios en Unix se lo hace directorio a directorio separándolos con la barra invertida «/».
Existen 2 formas de representar rutas en Unix, de manera absoluta y relativa.
Ruta absoluta: Señala la posición de un archivo o directorio desde el directorio raíz.
Ejemplo: /home/leo/Escritorio/carpeta1/
Ruta Relativa: Señala la posición de un archivo o directorio desde la ubicación actual.
Ejemplo:
Nos encontramos en /home ¿cuál es la ruta relativa a /home/leo/Escritorio/carpeta1?
La ruta relativa es leo/Escritorio/carpeta1
En las rutas relativas se usan dos representaciones especiales a directorios ./ y ../, el primero (./) hace referencia al directorio actual y el segundo (../) hace referencia al directorio superior. Veamos algunos ejemplos:
Estamos ubicados en /home/leo/Escritorio/carpeta1 ¿cuál es la ruta relativa a /home/leo/Escritorio y a /home/leo?
La ruta relativa a /home/leo/Escritorio es ../
La ruta relativa a/home/leo es ../../
Nótese que en el caso de la ruta relativa a /home/leo desde /home/leo/Escritorio/carpeta1 ésta fue ../../ porque se indica que es el directorio superior al directorio superior de carpeta1