viernes, 15 de mayo de 2009

Moviéndonos por el disco

Listando archivos

La orden básica es:

$ ls

aunque es posible que al escribirlo no pase nada, ya que el directorio donde estamos puede estar vacío. Este comando tiene opciones muy interesantes, aunque las mas útiles son

$ ls -a # para ver los archivos ocultos.
$ ls -l # para ver los datos de los archivos, tamaño, permisos.
$ ls --color # para ver los archivos en colores según
# sean ejecutables, directorios, archivos comprimidos

Cambiando de directorio

La orden básica es

$ cd /directorio

los directorios se referencian con "/" y no con "\" como pasa en MS-DOS. Existen una serie de palabras clave para acelerar el uso del comando cd:

$ cd ~ # nos lleva al directorio raíz de cada usuario,
$ cd .. # baja un directorio,
$ cd / # te sitúa en el archivo raíz del sistema,
$ cd # (sin parámetros) es equivalente a cd ~.

La orden /pwd/ nos indica en que directorio estamos actualmente.

Creando y eliminado directorios

$ mkdir directorio # crea un directorio,
$ rmdir directorio # lo elimina solo si el directorio no contiene nada.

Para eliminar directorios enteros se usa el comando

$rm -rf directorio # ATENCIÓN! este es uno de los
#comandos mas peligrosos para el sistema,
#piensa bien lo que haces antes de ejecutarlo.

Copiar, mover, eliminar archivos

$ cp archivo destino # copia archivo en destino, destino puede ser
# un directorio u otro archivo.
$ mv archivo destino # mueve archivo a destino, el efecto es
#igual al anterior pero eliminando el archivo de origen.
$ rm archivo # elimina archivo.

Opciones interesantes para los tres es -i para confirmar siempre, y -f para forzar la acción. Recomiendo el uso de -i siempre.

Identificando archivos

Estamos acostumbrados a distinguir los archivos por su extensión, pero Linux no impone ninguna restricción a los nombres de los archivos por lo que el archivo "archivo" podría ser tanto un ejecutanle, como un fichero de texto o una foto. Para averiguar el tipo de archivo usaremos el comando

$ file

Este comando busca cadenas especificas dentro de los archivos que determinan su tipo y por tanto el tratamiento que les vamos a dar. Por ejemplo el archivo:

-rw-r--r-- 1 root root 6842843 Jan 16 16:20 linux-2.0.34

No parece tener un formato conocido, aplicamos file:

[root:/usr/src]# file linux-2.0.34 linux-2.0.34: gzip compressed data, deflated, last modified: Thu Jun 4 06:44:55 1998, max compression, os: Unix

Ahora ya sabemos que se trata de un archivo comprimido con gzip y como tratarlo.

Links o Enlaces

Un enlace es una imagen de un archivo o directorio en otra parte del disco, la ventaja de esto es tener accesible un mismo archivo o directorio desde diferentes puntos del árbol de directorios, algo parecido a un acceso directo. La orden básica es

$ ln origen destino

Se pueden linkar tanto archivos como directorios y principalmente con las opciones -s (solo crea un puntero que apunta al origen) y -h (crea imágenes totales del origen).
Por ejemplo, tenemos el directorio /usr/src/linux-2.2.0/ y queremos que el sistema también lo vea como /usr/src/linux/, en este caso el comando seria:

$ ln -s /usr/src/linux-2.2.0 /usr/src/linux/

Buscar archivos

$ find -name archivo

Busca recursivamente el archivo desde el directorio actual. Tiene muchas opciones que pasan por buscar con comodines, por permisos, por fechas de modificación, por propietario, etc.

Viendo archivos

Las ordenes básicas son

$ cat archivo
$ more archivo
$ less archivo

Recomiendo que proveis los tres y veáis cual os gusta mas.
Tambien pueden probar tuberías (prometo escribir otro post sobre el tema), por ejemplo, si tienen demasiados archivos en un directorio como que entren en pantalla con ls pueden probar con:

$ ls | more

Donde el caracter | es un caño (o pipe)

Editando archivos

Esta es una de las operaciones mas comunes dentro del mundo linux, pues casi todo se configura a partir de archivos de texto modificables por el usuario. Hay muchos editores de texto, uno de los más extendidos es vim, aunque también se puede usar nano. En general la mayoría de editores se lanzan con la orden "editor archivo". por ejemplo

$ vim archivo

No hay comentarios: