Para hablar de archivos debemos tener en cuenta un concepto. Todo es un archivo, también los directorios son archivos, pero no solo eso, también las particiones de tu disco duro son archivos y tu disco duro es un archivo y tu impresora también, lo dicho, Todo es un archivo. Hay muchos tipos de archivos en el sistema, En tu sistema, todo, todo tipo de archivos están organizados en una única estructura de directorios, todo está dentro de un directorio raíz representado por el signo '/'
Los archivos se distribuyen por los directorios según su naturaleza. los ejecutables en los directorias para ejecutables, la documentación en los dicertorios para la documentación, los archivos de los usuarios es los directorios de cada usuario...
Para saber más puedes consultar Sistema de archivos.
Empezaremos aprendiendo como movernos por los directorios y ver su contenido.
Lo primero es cambiar de usuario
jorolo@ubu910:~$ su -l tux Contraseña: tux@ubu-0:~$
Para asegurarnos de donde estamos podemos usar el comando pwd.
tux@ubu910:~$ pwd /home/tux
Para listar el contenido de los directorios la gente suele usar ls.
tux@ubu-0:~$ ls examples.desktop tux@ubu-0:~$
Si no indicamos el directorio, el sistema actúa sobre el directorio en el que estemos.
Ya vimos en otra lección que ls tiene muchas opciones para personalizar los resultados. Algunas de las más interesantes son:
tux@ubu-0:~$ ls -l --almost-all --human-readable total 40K -rw------- 1 tux tux 1,6K 2010-03-28 05:09 .bash_history -rw-r--r-- 1 tux tux 220 2010-03-22 18:23 .bash_logout -rw-r--r-- 1 tux tux 3,2K 2010-03-27 18:30 .bashrc drwxr-xr-x 2 tux tux 4,0K 2010-03-28 04:47 .byobu drwxr-xr-x 2 tux tux 4,0K 2010-03-27 03:33 .cache -rw-r--r-- 1 tux tux 167 2010-03-22 18:23 examples.desktop -rw-r--r-- 1 tux tux 675 2010-03-22 18:23 .profile -rw-r--r-- 1 tux tux 0 2010-03-28 04:05 .screenrc -rw-r--r-- 1 tux tux 0 2010-03-22 19:42 .sudo_as_admin_successful
Como es lógico, no solo podemos listar el directorio en el que estemos, podemos listar cualquiera. Y sí, la tecla tab también auto-completa directorios y archivos.
tux@ubu910:~$ ls -l --almost-all /h tux@ubu910:~$ ls -l --almost-all /home/ total 8 drwxr-xr-x 45 jorolo jorolo 4096 2010-03-24 22:58 jorolo drwxr-xr-x 2 tux tux 4096 2010-03-22 19:42 tux
Vamos a crear unos directorios para las prácticas de este curso, para ello tenemos el comando mkdir (make directory)
tux@ubu910:~$ mkdir cursoterminal tux@ubu910:~$ mkdir cursoterminal/uno cursoterminal/dos cursoterminal/tres
Veamos el resultado
tux@ubu-0:~$ ls --all cursoterminal/ . .. uno dos tres
Después de haber usado varias veces la opción --all, alguien puede estarse preguntando por que todos los directorios tienen unos sub-directorios . y .. Para entenderlo conviene que analicemos las distintas formas en las que nos podemos referir a un directorio
Podemos indicar la ruta completa, a partir de /
ls /home/tux/cursoterminal
O la ruta relativa a nuestro directorio personal
~/cursoterminal
O la ruta relativa al directorio en el que estemos. Para esto tenemos las abreviaciones . y ..
Si estamos en nuestro directorio personal
tux@ubu910:~$ ls . cursoterminal examples.desktop tux@ubu-0:~$ ls .. jorolo tux
Para movernos por los directorios tenemos el comando cd (change directory)
tux@ubu910:~$ cd cursoterminal/ tux@ubu910:~/cursoterminal$ ls uno dos tres tux@ubu910:~/cursoterminal$ cd /home/tux/cursoterminal/uno tux@ubu910:~/cursoterminal/uno$ cd ../dos tux@ubu910:~/cursoterminal/dos$ cd ~ tux@ubu910:~$
\ escape