Este documento describe las operaciones básicas de archivos y directorios en Linux, incluyendo cómo navegar entre directorios usando comandos como pwd, cd y ls. Explica la estructura de árbol de directorios en Linux y diferencias con DOS/Windows. También cubre la creación y eliminación de directorios y archivos usando comandos como mkdir, rmdir, y cp.
1. LINUX Básico
TAKASHI SUGASAWA
LINUX Básico (3. Operación de archivos y directorios) 1
2. Programa del curso
1. Introducción a LINUX
2. Operación básica de LINUX
3. Operación de archivos y directorios
4. Editor vi
5. Comprensión del sistema de ficheros
6. Shells(1)
7. Shells(2)
8. Shells(3)
9. Otros comandos
LINUX Básico (3. Operación de archivos y directorios) 2
3. LINUX Básico
3. Operación de archivos y directorios
Índice
3.1 Nombre de archivos y directorios
3.2 Operación básica
LINUX Básico (3. Operación de archivos y directorios) 3
4. 3.1 Nombre de archivos y directorios
(1) Estructura de árbol de directorios
(11) pwd Presenta dónde está ahora en el sistema
de ficheros.
[usr001@linuxpc usr001]$ pwd
/home/usr001 directorio de
trabajo actual
/ home/ usr001/
usr/ usr002/
el directorio raíz
etc/ usr003/
var/ ;
bin/ Al igual que el DOS o Windows, Linux guarda
lib/ archivos en una estructura de árbol de
directorios. Podemos especificar un archivo o
dev/ un directorio por medio de una ruta de
acceso desde el directorio raíz, especificado
tmp/ con el carácter “/”, hasta llegar al archivo o
directorio.
;
LINUX Básico (3. Operación de archivos y directorios) 4
5. 3.1 (2) Deferencia LINUX vs DOS/Windows
• carácter del separador (FD) A: ∖
(DOS, Windows): “ ” (disco duro) C: ∖
(CD-ROM) D: ∖
(LINUX): “/” ; ;
• idea de unidad
(DOS, Windows): múltiple FD
(LINUX): único / data.txt
punto de montaje montar
(ya existente)
/ mnt/ floppy/ data.txt
“/mnt/floppy/data.txt”
cdrom/
LINUX Básico (3. Operación de archivos y directorios) 5
6. 3.1 (3) Directorio base (home directory)
El directorio base es el área de cuenta del usuario
para guardar archivos y para almacenamiento de
trabajo.
Directorio base de usuario
/ home/ usr001/
usr002/
usr003/
;
El usuario normal tiene límite de acceso a los demás
directorios.
LINUX Básico (3. Operación de archivos y directorios) 6
7. 3.2 Operación básica
(12) ls Presenta la información sobre los archivos y
(dir) directorios. sin opciones
(ej.) ls → presenta la información del directorio
de trabajo actual.
En LINUX
podemos usar ls -l con “-l”
“dir” también. → presenta la información detallada.
La función es
igual. ls -a con “-a”
→ presenta la información de los
ls -la archivos y directorios que empiezan
con el signo “.”.
ls /home presenta la información del
directorio o archivo de su selección.
ls -l /home/usr001/.bashrc
LINUX Básico (3. Operación de archivos y directorios) 7
8. [usr001@linuxpc usr001]$ pwd
¿vacío? sin “-a”, no podemos ver
/home/usr001
[usr001@linuxpc usr001]$ ls
los directorios y archivos
[usr001@linuxpc usr001]$ ls -l que empiezan con el
total 0
[usr001@linuxpc usr001]$ ls -a
signo “.”
. .. .bash_logout .bash_profile .bashrc .gtkrc
[usr001@linuxpc usr001]$ ls -la
total 24
drwx------ 2 usr001 usr001 4096 sep 15 23:39 .
drwxr-xr-x 15 root root 4096 sep 15 23:46 ..
-rw-r--r-- 1 usr001 usr001 24 sep 15 23:39 .bash_logout
-rw-r--r-- 1 usr001 usr001 191 sep 15 23:39 .bash_profile
-rw-r--r-- 1 usr001 usr001 124 sep 15 23:39 .bashrc
-rw-r--r-- 1 usr001 usr001 120 sep 15 23:39 .gtkrc
[usr001@linuxpc usr001]$ ls /home
usr000 usr002 usr004 usr006 usr008 usr010
usr001 usr003 usr005 usr007 usr009
[usr001@linuxpc usr001]$ ls -l /home/usr001/.bashrc
-rw-r--r-- 1 usr001 usr001 124 sep 15 23:39 /home/usr001/
.bashrc
“.” el directorio de sí mismo
“..” el directorio padre
LINUX Básico (3. Operación de archivos y directorios) 8
9. Formato de “ls -l”
[usr001@linuxpc usr001]$ ls -la
total 24
drwx------ 2 usr001 usr001 4096 sep 15 23:39 .
drwxr-xr-x 15 root root 4096 sep 15 23:46 ..
-rw-r--r-- 1 usr001 usr001 24 sep 15 23:39 .bash_logout
-rw-r--r-- 1 usr001 usr001 191 sep 15 23:39 .bash_profile
-rw-r--r-- 1 usr001 usr001 124 sep 15 23:39 .bashrc
-rw-r--r-- 1 usr001 usr001 120 sep 15 23:39 .gtkrc
el nombre del fichero
una marca de tiempo
el tamaño (en bytes)
el grupo al que pertenece
el nombre del propietario última modificación
el número de enlaces que tiene cambio de estado (-c)
los permisos del fichero último acceso (-u)
LINUX Básico (3. Operación de archivos y directorios) 9
10. Terminación de los nombres de ficheros
Al igual que en el caso de la terminación de comandos, podemos
completar los nombres de ficheros automáticamente, usando el
techa [Tab].
[usr001@linuxpc usr001]$ ls / presionar [Tab] 2 veces.
.autofsck etc lost+found proc tmp
bin home misc root usr
boot initrd mnt sbin var
dev lib opt tftpboot
[usr001@linuxpc usr001]$ ls /
Escribir “h”
[usr001@linuxpc usr001]$ ls /h
presionar [Tab].
[usr001@linuxpc usr001]$ ls /home/
Se ha complementado
automáticamente.
LINUX Básico (3. Operación de archivos y directorios) 10
11. (13) cd Cambia el directorio de trabajo actual
(ej.) cd .. ; al directorio padre
cd / ; al directorio raíz
cd ; al directorio base
[usr001@linuxpc usr001]$ pwd
/home/usr001 Normalmente como el
[usr001@linuxpc usr001]$ cd .. parámetro, ponemos el
[usr001@linuxpc home]$ pwd nombre del directorio al
/home que nos trasladamos.
[usr001@linuxpc home]$ cd /
[usr001@linuxpc /]$ pwd
/
[usr001@linuxpc /]$ cd
[usr001@linuxpc usr001]$ pwd
/home/usr001
LINUX Básico (3. Operación de archivos y directorios) 11
12. Nombres de ruta de acceso relativos y absolutos
Nombres de ruta de acceso relativos identifican los ficheros,
cd home/usr001 relativamente, del
directorio trabajo
actual
cd home cd usr001
/ /home /home/usr001
cd .. cd ..
identifican los ficheros,
cd ../.. absolutamente, por
medio de una ruta de
acceso desde el
Nombres de ruta de acceso absolutos directorio raíz
/ /home /home/usr001
cd / cd /home cd /home/usr001
LINUX Básico (3. Operación de archivos y directorios) 12
13. carácter “~”
El carácter “~” tiene el significado especial para el
directorio base.
El carácter “~” solo significa el directorio base de su
usuario. si su nombre de usuario es “usr001” y su
directorio base es “/home/usr001”
cd ~ = cd = cd /home/usr001
= cd ~usr001
El carácter “~” con uno de los nombres de usuario
significa el directorio base del usuario de su selección.
si existe el usuario “usuario0” y su
directorio base es “/home/usr000”
ls ~usr000 = ls /home/usr000
LINUX Básico (3. Operación de archivos y directorios) 13
14. (14) mkdir Crea nuevos directorios
(ej.) mkdir dir1
si su nombre de usuario
mkdir dir2 dir3 es “usr001”
mkdir ~/dir3/dir4
(=mkdir /home/usr001/dir3/dir4)
[usr001@linuxpc usr001]$ pwd
/home/usr001
[usr001@linuxpc usr001]$ mkdir dir1
[usr001@linuxpc usr001]$ ls
dir1
[usr001@linuxpc usr001]$ mkdir dir2 dir3
[usr001@linuxpc usr001]$ ls
dir1 dir2 dir3
[usr001@linuxpc usr001]$ mkdir ~/dir3/dir4
[usr001@linuxpc usr001]$ ls
dir1 dir2 dir3
[usr001@linuxpc usr001]$ ls dir3
dir4
LINUX Básico (3. Operación de archivos y directorios) 14
15. (15) rmdir Elimina directorios
Dichos directorios tienen que estar vacíos.
(ej.) rmdir dir1
rmdir dir2 dir3
rmdir dir3/dir4
[usr001@linuxpc usr001]$ pwd
/home/usr001
[usr001@linuxpc usr001]$ ls -R
.:
dir1 dir2 dir3
lista recursivamente los
./dir1:
subdirectorios encontrados
./dir2:
./dir3: no está vacío
dir4
./dir3/dir4: ahora no puede
[usr001@linuxpc usr001]$ rmdir dir1 eliminar “dir3”
[usr001@linuxpc usr001]$ ls
dir2 dir3
[usr001@linuxpc usr001]$ rmdir dir2 dir3
rmdir: `dir3': El directorio no está vacío
[usr001@linuxpc usr001]$ ls
dir3
[usr001@linuxpc usr001]$ rmdir dir3/dir4
[usr001@linuxpc usr001]$ rmdir dir3
[usr001@linuxpc usr001]$ ls
[usr001@linuxpc usr001]$
LINUX Básico (3. Operación de archivos y directorios) 15
16. (16) cat Concatena archivos y lo muestra.
(ej.) cat file1
cat file1 file2
[usr001@linuxpc usr001]$ pwd
/home/usr001
[usr001@linuxpc usr001]$ ls Crea un archivo
[usr001@linuxpc usr001]$ date > file1 nuevo de la salida
[usr001@linuxpc usr001]$ cal > file2
[usr001@linuxpc usr001]$ cat file1 del comando
vie ago 6 09:45:37 ECT 2004
[usr001@linuxpc usr001]$ cat file2
agosto de 2004
do lu ma mi ju vi sá
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
[usr001@linuxpc usr001]$ cat file1 file2
vie ago 6 09:45:37 ECT 2004
agosto de 2004
do lu ma mi ju vi sá
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
LINUX Básico (3. Operación de archivos y directorios) 16
17. (17) more Un paginador. Exhibe pantallas completas de
un archivo de texto. : un línea adelante
(ej.) more file1 : una página adelante
q : salir
(18) less Un “more” mejor. : un línea adelante
(ej.) less file1 : una página adelante
b : una página atrás
el interfaz del h : ayuda
comando “man” q : salir
[usr001@linuxpc usr001]$ more /etc/passwd
root:x:0:0:root:/root:/bin/bash Este archivo tiene la
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin información de las
adm:x:3:4:adm:/var/adm:/sbin/nologin cuentas.
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
gopher:x:13:30:gopher:/var/gopher:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
--Más--(37%)
LINUX Básico (3. Operación de archivos y directorios) 17
18. (19) cp Copia los archivos o directorios.
(ej.) cp file1 file2 Copia un archivo
cp file1 dir1
cp file1 file2 dir1 Copia múltiples archivos
cp -r dir1 dir2 Copia el directorio recursivamente
[usr001@linuxpc usr001]$ pwd
/home/usr001
[usr001@linuxpc usr001]$ ls Copia “file1” → “file3”
file1 file2
[usr001@linuxpc usr001]$ cp file1 file3
[usr001@linuxpc usr001]$ ls
file1 file2 file3
[usr001@linuxpc usr001]$ cat file1
vie ago 6 09:45:37 ECT 2004 iguales
[usr001@linuxpc usr001]$ cat file3
vie ago 6 09:45:37 ECT 2004
[usr001@linuxpc usr001]$ mkdir dir1 dir2 Añade tras cada nombre
[usr001@linuxpc usr001]$ ls -F de directorio un “/”
dir1/ dir2/ file1 file2 file3
[usr001@linuxpc usr001]$ cp file1 dir1
[usr001@linuxpc usr001]$ ls -F = “cp file1 dir1/file1”
dir1/ dir2/ file1 file2 file3
[usr001@linuxpc usr001]$ ls -F dir1
file1
[usr001@linuxpc usr001]$ cp file1 file2 dir2 Hace las copias de
[usr001@linuxpc usr001]$ ls -F 2 archivos en un
dir1/ dir2/ file1 file2 file3 directorio.
[usr001@linuxpc usr001]$ ls -F dir2
file1 file2
LINUX Básico (3. Operación de archivos y directorios) 18
19. [usr001@linuxpc usr001]$ pwd
/home/usr001
[usr001@linuxpc usr001]$ ls -F
dir1/ dir2/ file1 file2 file3 error
[usr001@linuxpc usr001]$ cp dir1 dir3
cp: se omite el directorio `dir1'
[usr001@linuxpc usr001]$ ls -F
dir1/ dir2/ file1 file2 file3
[usr001@linuxpc usr001]$ cp -r dir1 dir3
[usr001@linuxpc usr001]$ ls -RF
.:
dir1/ dir2/ dir3/ file1 file2 file3 Ahora no existe “dir3”.
Copia “dir1” → “dir3”.
./dir1: Se ha creado
file1
Las instrucciones son iguales,
./dir2:
file1 file2 iguales pero los resultados son
diferentes.
./dir3:
file1
[usr001@linuxpc usr001]$ cp -r dir1 dir3
[usr001@linuxpc usr001]$ ls -RF
.:
dir1/ dir2/ dir3/ file1 file2 file3 Ahora existe “dir3”.
= “cp -r dir1 dir3/dir1”
./dir1:
file1
./dir2:
file1 file2
./dir3: Se han creado
dir1/ file1
./dir3/dir1:
file1 LINUX Básico (3. Operación de archivos y directorios) 19
20. (20) mv Traslada los archivos y directorios.
También permite modificar el nombre del
archivo o directorio.
Cambio el nombre o traslado
(ej.) mv file1 file2
mv file1 dir1 Traslado de un archivo
Cambio el nombre mv file1 dir1 dir2 Traslado de múltiples
archivos o directorios
o traslado mv dir1 dir2
[usr001@linuxpc usr001]$ pwd
/home/usr001
[usr001@linuxpc usr001]$ ls -F Cambio del nombre:
dir1/ dir2/ dir3/ file1 file2 file3 “file1” → “file4”
[usr001@linuxpc usr001]$ mv file1 file4
[usr001@linuxpc usr001]$ ls -F
dir1/ dir2/ dir3/ file2 file3 file4
[usr001@linuxpc usr001]$ ls -F dir1
file1 Traslado de un archivo
[usr001@linuxpc usr001]$ mv file4 dir1
[usr001@linuxpc usr001]$ ls -F . dir1 (= “mv file4 dir1/file4”)
.:
dir1/ dir2/ dir3/ file2 file3
dir1: se ha trasladado
file1 file4
LINUX Básico (3. Operación de archivos y directorios) 20
21. [usr001@linuxpc usr001]$ ls -F . dir1
.:
dir1/ dir2/ dir3/ file2 file3 Traslado de un
dir1: archivo y directorio
file1 file4
[usr001@linuxpc usr001]$ mv file2 dir2 dir1
[usr001@linuxpc usr001]$ ls -F . dir1
.:
dir1/ dir3/ file3
Ahora no existe “dir4”.
se han trasladado
dir1: Cambio del nombre:
dir2/ file1 file2 file4
[usr001@linuxpc usr001]$ mv dir3 dir4 “dir3” → “dir4”.
[usr001@linuxpc usr001]$ ls -F . dir1
.:
dir1/ dir4/ file3
dir1: Ahora existe “dir1”.
dir2/ file1 file2 file4 Traslado de un directorio
[usr001@linuxpc usr001]$ mv dir4 dir1
[usr001@linuxpc usr001]$ ls -F . dir1 (= “mv dir4 dir1/dir4”)
.:
dir1/ file3
dir1: se ha trasladado
dir2/ dir4/ file1 file2 file4
LINUX Básico (3. Operación de archivos y directorios) 21
22. (21) rm Elimina los archivos y directorios.
(ej.) rm file1 ; elimina un archivo
rm file1 file2 ; elimina múltiples archivos
rm -r dir1 ; elimina un directorio recursivamente
[usr001@linuxpc usr001]$ pwd
/home/usr001
[usr001@linuxpc usr001]$ ls -F elimina un archivo.
dir1/ file3
[usr001@linuxpc usr001]$ rm file3
[usr001@linuxpc usr001]$ ls -F elimina múltiples
dir1/
[usr001@linuxpc usr001]$ ls -F dir1 archivos.
dir2/ dir4/ file1 file2 file4
[usr001@linuxpc usr001]$ rm dir1/file1 dir1/file2
[usr001@linuxpc usr001]$ ls -F dir1
No vacío dir2/ dir4/ file4
[usr001@linuxpc usr001]$ ls -F
dir1/
[usr001@linuxpc usr001]$ rm dir1
rm: no se puede borrar `dir1': Es un directorio
[usr001@linuxpc usr001]$ ls -F
dir1/
[usr001@linuxpc usr001]$ rmdir dir1 error
rmdir: `dir1': El directorio no están vacío
[usr001@linuxpc usr001]$ ls -F
dir1/
[usr001@linuxpc usr001]$ rm -r dir1 Con “-r”, podemos
[usr001@linuxpc usr001]$ ls -F
[usr001@linuxpc usr001]$ eliminar directorios.
LINUX Básico (3. Operación de archivos y directorios) 22
23. ¡ Muchas gracias por su atención !
¡ Hasta pronto !
En la próxima hora, vamos a aprender “4. Editor vi”.
LINUX Básico (3. Operación de archivos y directorios) 23