You are on page 1of 14

SSV.

CIFP ZONZAMAS
UT3_SISTEMAS DE ARCHIVOS
COMANDOS LINUX PARA LA GESTIÓN DE ARCHIVOS Y DIRECTORIOS

Tabla de Contenidos

COMANDOS LINUX PARA LA GESTIÓN DE ARCHIVOS Y DIRECTORIOS

• Trucos para trabajar con archivos en Linux.

• Navegando por la jerarquía de directorios.

• pwd

• cd

• Listado de ficheros y directorios.

• ls

• Creando ficheros.

• touch

• Moviendo objetos.

• cp

• Creando y borrando directorios.

• mkdir

• rmdir

• Eliminando objetos.

• rm

• Sintaxis

• Opciones

• Descripción

• Ejemplos

SSV – UT3_ Sistemas de Archivos.


COMANDOS LINUX PARA LA GESTIÓN
DE ARCHIVOS Y DIRECTORIOS.
Todo buen administrador de sistemas debería saber como crear, borrar, editar, asignar permisos,
visualizar, copiar, mover y determinar el tipo de ficheros y programas.

 Trucos para trabajar con archivos en Linux.

Como la mayoría de usuarios viene de usar normalmente Windows es bueno recordar algunas
características de Linux que nos pueden servir de ayuda.

• Los ficheros ocultos no son realmente ocultos simplemente empiezan por un punto “.”,
como los ficheros .bashrc y .bash_profile.
No son visibles para los usuarios normales desde el explorador de archivos nautilus o
con comandos y opciones convencionales.

• Los nombres de ficheros pueden contener más de un punto: los ficheros


este.es.un.nombre.largo.de.fichero y
esteesunnombrelargodefichero son posibles en Linux.

• Los espacios en los nombres de ficheros son bonitos, pero es difícil teclearlos: Usa un _
o un punto “.” en lugar de espacios porque es mucho más fácil de escribirlos en la línea de
comandos que tener que poner “\ ” por cada espacio que tenga el fichero en el nombre.

Así, si tenemos un fichero que se llama “fichero de datos.txt” para especificarlo


en línea de comandos tendríamos que teclear “fichero\ de\ datos.txt”

• Los ficheros no están obligados a incluir una extensión, pero son útiles para los comandos
de ordenar, seleccionar y copiar/mover/borrar.
Además permiten identificar rápidamente de que tipo es el contenido del fichero.

 Navegando por la jerarquía de directorios.

SSV – UT3_ Sistemas de Archivos.


Antes de poder movernos por la jerarquía de directorios deberíamos de saber cuál es la carpeta
actual. Para ello tenemos el comando pwd.

pwd
Propósito Mostrar la ruta del directorio de trabajo actual.
Sintaxis pwd
Opciones Ninguna
Descripción El comando pwd imprime el directorio de trabajo (aquel en el que actualmente se
está trabajando).

Cada vez que abrimos un terminal se nos muestra el prompt del sistema:

usuario@a1pc00:~/documentos/musica$

• El nombre que está a la izquierda de la @, usuario en este caso es el


nombre del usuario con el que estamos trabajando.

• El nombre que está entre la @ y los dos puntos “:” es el nombre del
equipo.

• A continuación aparece el directorio actual en el que estamos:


~/documentos/musica que equivale a
/home/usuario/documentos/musica

• Por último aparece el símbolo de dolar “$” que indica que es usuario es un
usuario restringido.
Si el usuario actual fuese el root (administrador en Linux) aparecería el
símbolo de almohadilla “#”.
Ejemplos

cd
Propósito Para movernos por la jerarquía de directorios.
Sintaxis cd [directorio]

• directorio es la ruta absoluta o relativa al directorio al que queremos


acceder.

• Los corchetes ([, ]) no se escriben se utilizan para expresar que el parámetro


en cuestión , en este caso una ruta de directorio, es opcional.
Opciones Ninguna
Descripción Si escribimos cd sin ningún nombre de directorio como argumento, se cambiará al
directorio home del usuario.

SSV – UT3_ Sistemas de Archivos.


En cualquier otro caso se moverá al directorio indicado, si existe.
Ejemplos  Uso de cd sin parámetro:

usuario@a1pc00:~/Descargas$ cd
usuario@a1pc00:~$ pwd /home/usuario

 Uso de cd con rutas:

usuario@a1pc00:~$ tree
.
├── Descargas
├── documentos
│   ├── apuntes
│   ├── examenes
│   ├── musica
│   └── videos
└── temp
 
7 directories, 1 file

• Vemos que podemos utilizar rutas absolutas y relativas de directorios.

usuario@a1pc00:~$ cd documentos/apuntes
usuario@a1pc00:~/documentos/apuntes$ cd ../musica
usuario@a1pc00:~/documentos/musica$ cd ../../temp
usuario@a1pc00:~/temp$ cd /home/usuario/Descargas/

• ~ equivale a la ruta absoluta al directorio home del usuario actual


(/home/usuario en este caso)

usuario@a1pc00:~/Descargas$ cd ~
usuario@a1pc00:~$ cd documentos/musica

• $HOME es una variable del sistema que guarda la carpeta home del
usuario. Por tanto accedemos al mismo directorio que en el caso anterior.

usuario@a1pc00:~/documentos/musica$ cd $HOME

El comando tree muestra la jerarquía de directorios.

• Si no le ponemos parámetros la muestra a partir del directorio actual.


• tree no viene instalado por defecto. Para instalarlo ejecutamos:
$ sudo apt-get install tree

SSV – UT3_ Sistemas de Archivos.


 Listando ficheros y directorios.

ls
Propósito Listar directorios, archivos o ambos.
Sintaxis ls [Opciones] [nombre_directorio o archivo]
Opciones -a muestra todos los archivos. Incluyendo a los ocultos.

-c ordena los archivos de acuerdo con la fecha de creación.

-d muestra una lista en la que aparecen los directorios como si fuesen archivos (en
vez de mostrar su contenido).

-i muestra información de i-node.

-l muestra la lista de archivos con formato largo y con información detallada


(tamaño, usuario, grupo, permisos etc.).

-lh muestra la lista en formato largo y el tamaño de los archivos en unidades más
fácilmente comprensibles (KB, y )
Descripción El comando ls muestra el contenido de un directorio determinado.

Si se omite el nombre del directorio, mostrará el contenido del directorio en el que


se encuentre.

Por defecto, ls no muestra el nombre de los archivos cuyo nombre comience con un
punto; para verlos tendrá que utilizar la opción –a.
Ejemplos  ls sin opciones:

usuario@a1pc00:~/temp$ ls
00063821.pdf
capturas
CMS.jpg
Deuda.pdf
dist
dokuwiki-logo.jpeg
drupal.jpeg
ejemplo01.html
EL_CIELO_DESDE_LA_PALMA.pps
esquema_web_dinamico.png

 ls de una carpeta determinada:

usuario@a1pc00:~$ ls temp
00063821.pdf

SSV – UT3_ Sistemas de Archivos.


capturas
CMS.jpg
Deuda.pdf
dist
dokuwiki-logo.jpeg
drupal.jpeg
ejemplo01.html
EL_CIELO_DESDE_LA_PALMA.pps
esquema_web_dinamico.png

 ls en formato largo mostrando el tamaño de forma legible y los archivos


ocultos:

usuario@a1pc00:~$ ls -lha temp/


total 60M
drwxr-xr-x 7 usuario usuario 4,0K 2011-10-26 23:10 .
drwxr-xr-x 6 usuario usuario 4,0K 2011-10-26 22:42 ..
-rw-r--r-- 1 usuario usuario 11K 2011-10-26 23:01
00063821.pdf
-rw-r--r-- 1 usuario usuario 0 2011-10-26
23:10 .archivo_oculto.txt
drwxr-xr-x 2 usuario usuario 4,0K 2011-10-26 23:01
capturas
-rw-r--r-- 1 usuario usuario 20K 2011-10-26 23:01
CMS.jpg
-rw-r--r-- 1 usuario usuario 188K 2011-10-26 23:01
Deuda.pdf
drwxr-xr-x 4 usuario usuario 4,0K 2011-10-26 23:01 dist
-rw-r--r-- 1 usuario usuario 4,4K 2011-10-26 23:01
dokuwiki-logo.jpeg
-rw-r--r-- 1 usuario usuario 4,9K 2011-10-26 23:01
drupal.jpeg
-rw-r--r-- 1 usuario usuario 363 2011-10-26 23:01
ejemplo01.html
-rw-r--r-- 1 usuario usuario 6,4M 2011-10-26 23:01
EL_CIELO_DESDE_LA_PALMA.pps
-rw-r--r-- 1 usuario usuario 131K 2011-10-26 23:01
esquema_web_dinamico.png

 Creando ficheros.
touch
Propósito Crea fichero vacío con el nombre especificado si no existe o lo “toca” (le cambia la
fecha a la fecha actual“
Sintaxis touch [archivo]
Opciones Ninguna

SSV – UT3_ Sistemas de Archivos.


Descripción Crea un un fichero si no existe y, si existe, modifica su atributo fecha y hora a la
fecha y hora actual
Ejemplos  Creamos un fichero en una subcarpeta:

usuario@a1pc00:~$ touch documentos/apuntes/tema1.txt

• Vemos al listar el contenido de la carpeta en la que lo creamos que su


tamaño es 0.

usuario@a1pc00:~$ ls -lh documentos/apuntes/


total 0
-rw-r--r-- 1 usuario usuario 0 2011-10-26 23:23
tema1.txt

• Con el comando cat mostramos su contenido en el terminal y vemos que


está vacio.

usuario@a1pc00:~$ cat documentos/apuntes/tema1.txt


usuario@a1pc00:~$

 Ejecutamos touch a un fichero que existe.

• Veamos la fecha del fichero primero:

usuario@a1pc00:~/prueba$ ls -l
drwxr-xr-x 6 usuario usuario 4096 2011-10-26 22:42 .
drwxr-xr-x 4 root root 4096 2011-10-16 21:16 ..
-rw-r--r-- 1 usuario usuario 179 2011-10-16 21:16
examples.desktop

Vemos que el fichero se modificó por última vez el 16 de octubre a las


21:16.

• Si ejecutamos touch a dicho fichero:

usuario@a1pc00:~/prueba$ touch examples.desktop

usuario@a1pc00:~$ ls -la
drwxr-xr-x 6 usuario usuario 4096 2011-10-26 22:42 .
drwxr-xr-x 4 root root 4096 2011-10-16 21:16 ..
-rw-r--r-- 1 usuario usuario 179 2011-10-26 23:15
examples.desktop

Vemos que la fecha se ha modificado, en este caso con la del sistema en el


momento de ejecutar el comando (26 de octubre a las 23:15)

SSV – UT3_ Sistemas de Archivos.


 Copiando ficheros y directorios.

Hacer una copia simple es fácil de llevar a cabo.


Lo que hacemos en esencia es replicar el fichero en una nueva ubicación

cp
Propósito Permite copiar archivos y directorios.
Sintaxis cp [Opciones] archivo_fuente directorio_destino

cp [Opciones] archivo_fuente archivo_destino


Opciones -a conserva todos los atributos de los archivos.

-d copia un vínculo pero no el fichero al que se hace referencia.

-i pide confirmación antes de sobrescribir archivos.

-p conserva permisos del archivo origen: propietario, permisos y fecha.

-R o -r copia los archivos y subdirectorios.

-s crea enlaces en vez de copiar los ficheros.

-u únicamente procede a la copia si la fecha del archivo origen es posterior a la del


destino.

-v muestra mensajes relacionados con el proceso de copia de los archivos.


Descripción Es un abreviatura de copy (copiar).

Copia un archivo a otro.

También puede copiar varios ficheros en un directorio determinado.


Ejemplos  Copiar un directorio y todo lo que contiene en otro es simple con la opción
-r

Veamos el contenido del directorio documentos:

usuario@a1pc00:~$ tree documentos


documentos
├── apuntes
│   └── tema1.txt
├── examenes
├── musica
└── videos

• Para copiar todo su contenido a la carpeta vacía prueba ejecutamos:

SSV – UT3_ Sistemas de Archivos.


usuario@a1pc00:~$ cp -r documentos prueba

Si ahora comprobamos con tree el contenido de la carpeta prueba


obtenemos:

usuario@a1pc00:~$ tree prueba


prueba
└── documentos
├── apuntes
│   └── tema1.txt
├── examenes
├── musica
└── videos
<code>

Vemos que copió la carpeta y todo su contenido.


Además vemos que no sobreescribe prueba, sino que copia el directorio
origen (documentos) y todo su contenido en él.

 Copiamos un fichero a una subcarpeta:

<code bash>

• Copiamos un fichero a la carpeta actual:

usuario@a1pc00:~$ cp documentos/apuntes/tema1.txt temp

• Cómo hemos de especificar el destino, en lugar de poner la ruta absoluta al


directorio actual, ponemos un punto ”.“ que es la ruta relativa:

usuario@a1pc00:~$ cp documentos/apuntes/tema1.txt .

• Copiamos un fichero del directorio actual a otro directorio:

usuario@a1pc00:~/documentos/apuntes$ cp
tema1.txt ../../temp

 Hacemos una copia de un fichero a otro con otro nombre:

usuario@a1pc00:~/documentos/apuntes$ cp tema1.txt
tema2.txt

usuario@a1pc00:~/documentos/apuntes$ ls
tema1.txt tema2.txt

SSV – UT3_ Sistemas de Archivos.


 Moviendo objetos.

Mover un fichero consiste en cambiar de ubicación un fichero o directorio.


Cuando usamos mv primero comprueba si existe, si es así la acción por defecto es preguntar si
queremos sobrescribir el destino.
• Si queremos evitarlo hemos de usar la opción -f.

• Con la opción -r hacemos la copia de forma recursiva (incluyendo los ficheros y directorios
que contiene).
El uso es similar a cp con la diferencia de que no mantiene el original.

mv
Propósito Modifica el nombre de los archivos y directorios moviéndolos de una ubicación a
otra.
Sintaxis mv [Opciones] fuente destino
Opciones -f elimina los archivos sin solicitar confirmación.

-v pregunta antes de sobrescribir los archivos existentes.

-r mueve archivos y directorios que contiene


Descripción Se puede utilizar para modificar el nombre o mover un archivo de un directorio a
otro.

Trabaja tanto con archivos como con los directorios.


Ejemplos  Uso de mv para renombrar un archivo:

usuario@a1pc00:~/documentos/apuntes$ ls
tema2.txt

usuario@a1pc00:~/documentos/apuntes$ mv tema2.txt
apuntes_tema2.txt

usuario@a1pc00:~/documentos/apuntes$ ls
apuntes_tema2.txt

 Uso de mv para mover el contenido de una carpeta a la carpeta actual:

• El * es un carácter comodín equivale a cualquier combinación de 0 o más


caracteres, o sea, cualquier combinación de nombres de archivo o
directorios posibles:

usuario@a1pc00:~/temp$ mv ../documentos/* .

usuario@a1pc00:~/temp$ ls

SSV – UT3_ Sistemas de Archivos.


apuntes examenes musica videos

 Cuando intentemos cambiar de forma masiva, todos los archivos en nuestro


directorio actual de la extensión .txt a la extensión .pdf, utilizaremos:

usuario@a1pc00:~/temp$for f in *.txt; do
>mv -- "$f" "${f%.txt}.pdf"
>done

Esto creará un bucle (for) mirando a través de la lista de archivos con la


extensión .txt. Luego reemplazará cada extensión .txt con .pdf. Finalmente,
finalizará el ciclo (done).

 Para funciones más avanzadas, usaremos el comando de rename:

• Renombra todos los archivos:

usuario@a1pc00:~/temp$rename 's/f/newfile/' *

• Convierte nombres de archivo a mayúsculas:

usuario@a1pc00:~/temp$rename 'y/a-z/A-Z/' *

• Convierte nombres de archivo a minúsculas:

usuario@a1pc00:~/temp$rename 'y/A-Z/a-z/' *

• Reemplazar espacios en nombres de archivo con guiones bajos:

usuario@a1pc00:~/temp$rename 'y/ /_/' *

 Creando y borrando directorios.

Una tarea básica de administración de archivos es crear y borrar directorios y en algunos casos crear
y borrar jerarquías de directorios completas.
• Para crear directorios utilizamos el comando mkdir

mkdir
Propósito Crear directorios.
Sintaxis mkdir [Opciones] directorio
Opciones -p crea si no existe la ruta completa hasta el directorio a crear.
Descripción

SSV – UT3_ Sistemas de Archivos.


Ejemplos  Creamos el directorio dirx dentro del directorio actual:

usuario@a1pc00:~/temp$ mkdir dirx

usuario@a1pc00:~/temp$ ls
dirx

 Creamos una jerarquía de directorios de una sóla vez

usuario@a1pc00:~/temp$ mkdir -p dir1/dir2/dir3

usuario@a1pc00:~/temp$ tree
.
├── dir1
│   └── dir2
│   └── dir3
└── dirx

 Para eliminar directorios vacíos el comando rmdir

rmdir
Propósito Borrar directorios
Sintaxis rmdir [Opciones] directorio
Opciones -p Borra toda la jerarquía que especifica el directorio si no contiene más archivos o
directorios.
Descripción
Ejemplos  Borramos directorio dirx dentro del directorio actual:

usuario@a1pc00:~/temp$ rmdir dirx

• Si tenemos la jerarquía de directorios:


.
├── dir1
└── dir2
└── dir3

• Y queremos eliminar dir3 desde el directorio actual:

usuario@a1pc00:~/temp$ rmdir dir1/dir2/dir3

usuario@a1pc00:~/temp$ tree
.
└── dir1
└── dir2

• Si queremos borrar los directorios dir1 y dir2 de una sola vez lo


podemos hacer:

SSV – UT3_ Sistemas de Archivos.


usuario@a1pc00:~/temp$ rmdir -p dir1/dir2
usuario@a1pc00:~/temp$ tree
.

 Eliminando objetos.

rm
Propósito Elimina uno más archivos (puede eliminar un directorio completo con la opción –r).
Sintaxis rm [Opciones] archivos
Opciones -f elimina todos los archivos sin pedir confirmación.

-i pregunta antes de eliminar un archivo.

-r elimina todos los archivos que se encuentran en un subdirectorio y por último


borra el propio subdirectorio.

-v muestra el nombre de cada archivo antes de eliminarlo.


Descripción Permite eliminar archivos y directorios.

Se utiliza para borrar los archivos que se le especifiquen.

Para eliminar un fichero ha de tener permiso de escritura en el directorio en el que


se encuentra.
Ejemplos Tenemos la siguiente jerarquía de directorios:
.
├── Descargas
├── documentos
├── examples.desktop
├── prueba
│   └── documentos
│   ├── apuntes
│   │   └── tema1.txt
│   ├── examenes
│   ├── musica
│   └── videos
└── temp

 Para eliminar un fichero:

usuario@a1pc00:~$ rm examples.desktop

 Para eliminar todos los archivos y directorios contenidos en un directorio sin

SSV – UT3_ Sistemas de Archivos.


pedir confirmación:

usuario@a1pc00:~$ rm -rf prueba/documentos/*

usuario@a1pc00:~$ tree
.
├── Descargas
├── documentos
├── prueba
│   └── documentos
└── temp

SSV – UT3_ Sistemas de Archivos.

You might also like