Beruflich Dokumente
Kultur Dokumente
Tabla
de
contenido
1. 2. 2.1. 2.2. 2.3. 2.4. 3. 3.1. 3.2. 3.3. 3.4. 3.5. 3.6. 3.7. 3.8. 3.9. 3.10. 4.
SISTEMAS DE ARCHIVOS ACTUALES PARA LINUX 3 GENERALIDADES SOBRE LOS SISTEMAS DE ARCHIVOS LINUX 3 Consideraciones sobre los nombres de archivo Tipos de archivo El sistema de archivos ext Reiser FS. 5 5 8 9
MANIPULACIN DE ARCHIVOS Y DIRECTORIOS 9 Listado de un directorio: la orden ls. 9 Impresin del directorio actual 11 Localizacin de archivos de rdenes. 11 Cambio de directorio.. 12 Eliminacin de archivos.. 13 Creacin de directorios.. 13 Eliminacin de directorios... 14 Copia de archivos. 14 Desplazamiento y renombrado de archivos 15 Inspeccin y concatenacin de archivos 15 ESTRUCTURA DE LOS DIRECTORIOS 21
| 2
Sistema
de
Archivos
1 Sistemas
de
Archivos
actuales
para
Linux
Se
puede
decir
que
un
archivo
es
una
secuencia
de
bytes
organizados
y
agrupados
bajo
un
mismo
nombre,
y
almacenados
en
un
dispositivo.
Algunos
Sistemas
Operativos
imponen
a
todos
sus
archivos
una
estructura
determinada
bien
definida.
Un
sistema
de
archivos
hay
que
entenderlo
como
aquella
parte
del
sistema
responsable
de
la
administracin
de
los
datos
en
dispositivos
de
almacenamiento
masivo
(discos
duros,
disquetes,
CD-ROM,
etc.).
El
sistema
de
archivos
debe
proporcionar
los
medios
necesarios
para
un
almacenamiento
seguro
y
privado
de
la
informacin
y,
a
la
vez,
la
posibilidad
de
compartir
esta
informacin
si
fuese
necesario.
Actualmente
podemos
instalar
varios
sistemas
de
archivos
diferentes
para
Linux
en
nuestro
computador.
Los
ms
utilizados
son
ext4
(versin
actualizada
de
ext3)
y
Reiser
FS.
La estructura que tiene el sistema de archivos correspondiente a Unix System V y Linux es la siguiente:
Boot
Superbloque
Lista de i-nodos
Bloques de datos
El
bloque
de
arranque
o
boot
ocupa
la
parte
del
principio
del
sistema
de
archivos,
tpicamente
el
primer
sector,
y
puede
contener
el
cdigo
de
boot
o
arranque
que
se
encarga
de
buscar
el
S.O.
y
cargarlo
en
memoria
para
iniciarlo.
El
superbloque
describe
el
estado
de
un
sistema
de
archivos
y
ocupa
siempre
el
primer
bloque
lgico
de
un
disco.
El
superbloque
es
iniciado
al
crear
el
sistema
de
archivos
con
la
orden
mkfs
(o
alguna
similar
como
mke2fs)
en
Linux.
Es
un
elemento
fundamental
en
cualquier
sistema
de
archivos.
Su
prdida
por
lo
general
supone
la
prdida
de
todos
los
datos
almacenados
en
el
sistema
de
archivos
que
representa.
Por
lo
general
siempre
se
mantienen
varias
copias
del
superbloque
para
evitar
posibles
problemas
derivados
de
la
prdida
del
mismo.
En
el
superbloque
se
almacena
como
mnimo
la
siguiente
informacin:
Tamao
del
sistema
de
archivos.
Tamao
de
cada
bloque
del
disco.
Lista
de
bloques
libres.
ndice
del
siguiente
bloque
libre
en
la
Lista
de
bloques
libres.
Tamao
de
la
Lista
de
i-nodos.
Nmero
de
i-nodos
libres.
ndice
del
siguiente
i-nodo
libre
en
la
Lista
de
i-nodos
libres.
Flag
que
indica
si
el
superbloque
ha
sido
modificado
o
no.
La
lista
de
i-nodos
contiene
una
entrada
o
i-nodo
por
cada
archivo
del
sistema
de
archivos.
Durante
el
proceso
de
arranque,
el
ncleo
del
S.O.
lee
la
lista
de
i-nodos
del
disco
y
carga
una
copia
en
memoria
interna,
conocida
como
Tabla
de
i-nodos.
A
cada
archivo
se
le
asigna
en
Linux
un
nmero
nico
llamado
i-nodo.
Un
i-nodo1
es
una
estructura
de
datos
que
representa
a
ese
fichero.
El
nmero
de
i-nodo
1
est
reservado
para
el
directorio
raz.
El
i-nodo
se
almacena
en
una
tabla
que
se
asigna
cuando
el
disco
est
formateado.
Cada
disco
fsico
o
particin
de
un
disco
duro
(volumen)
tiene
su
propia
tabla
de
i- nodos.
Cada
entrada
de
esta
tabla
contiene
toda
la
informacin
referente
a
un
archivo,
a
saber:
Su
nmero
de
i-nodo
o
nmero
de
identificacin:
Es
un
nmero
correlativo
que
se
asigna
a
cada
fichero
y
directorio
creado
en
el
sistema.
Un
i-nodo
con
un
nmero
identificativo
bajo
frente
a
otro
alto,
significa
que
el
primero
se
cre
antes
en
el
sistema.
Tipo
de
fichero:
Pueden
ser
(c)
Fichero
de
dispositivo
carcter,
(b)
Fichero
de
dispositivo
en
bloques,
(d)
Directorio,
(-)
Fichero
ordinario,
(l)
Enlace
simblico.
Permisos
del
fichero.
Cada
archivo
tiene
definidos
tres
tipos
de
acceso
diferentes
(r:slo
lectura,
w:lectura
y
escritura,
x:ejecucin)
adscritos
al
usuario
propietario
del
mismo,
al
grupo
de
usuarios
al
que
pertenece
el
propietario
y
al
resto
de
usuarios
del
sistema.
Tamao
fsico
del
fichero.
1
En
informtica
un
index-node
o
i-node
es
un
puntero
a
sectores
especficos
del
disco
duro
en
los
cuales
se
encuentra
informacin
de
un
archivo.
Tambin
contiene
informacin
de
permisos,
propietarios
y
grupos
a
los
que
pertenece
el
archivo.
A
todos
los
archivos
y
directorios
del
S.O.
se
accede
internamente
mediante
i-nodos.
En
Unix
antiguo
el
nmero
de
i-nodos
estaba
limitado
a
65535
(32
bits)
pero
hoy
da
los
S.O.
modernos
utilizan
i-nodos
de
64
bits.
| 4
En el bloque de datos es donde se encuentra situado el contenido de los archivos a los que hace referencia la lista de i-nodos. Cada uno de los bloques de datos slo puede ser asignado a un archivo, tanto si lo ocupa totalmente como si no. 2.1 Consideraciones sobre los nom bres de archivo. Los nombres de archivo pueden contener hasta 255 caracteres (en versiones antiguas de UNIX slo 14 como mximo). En la prctica pueden formar parte del nombre cualquiera de los caracteres del alfabeto ASCII pero se suele evitar el uso de aquellos que poseen un significado especial para el intrprete de comandos como pueden ser los siguientes: #,&,@,$,*,?,<,>,|,[,],\,{,},(,) Las letras minsculas y maysculas se consideran distintas en un sistema Linux/Unix, es decir, son sistemas case-sensitive. Algunos usuarios nombran con letras maysculas los directorios para diferenciarlos de los archivos que contienen, aunque este hecho no est muy extendido. En Linux/Unix un fichero puede tener o no extensin y, en su caso, puede tener ms de una. Normalmente se sigue una norma no escrita heredada de otros sistemas que consiste en poner al nombre una extensin relativa a la informacin que contiene. De hecho algunos programas exigen que los ficheros que manejan tengan determinada extensin. Es el caso del compilador de C que necesita programas con extensin .c. Algunos tipos ms comunes son: .a Programa escrito en ensamblador .c Programa fuente en lenguaje C .f Programa fuente en Fortram Archivo guardado con tar .tar Archivo comprimido con gzip .gz Archivo comprimido con pack .z .txt Archivo de texto ASCII 2.2 Tipos de archivo. Existen cuatro tipos bsicos de archivos en Linux: los archivos normales, los directorios, los enlaces y los archivos especiales. Para determinar el tipo de archivo se puede utilizar la orden file, que presenta el siguiente formato:
Nmero de enlaces. Propietario del fichero (UID). Grupo del fichero (GID). Fecha de creacin, modificacin y ltimo acceso. Direccin fsica del fichero y punteros a los bloques de datos.
|
5
Ejemplo:
[gandalf@lotr:]#
file
script
BOJA
30/01/05
script:
ASCII
text
BOJA
30/01/05.pdf
:
PDF
document,
Version
1.4
[gandalf@lotr:]#
file
f
archivosAAnalizar
script:
ASCII
text
BOJA
30/01/05.pdf
:
PDF
document,
Version
1.4
Suponiendo
que
archivosAAnalizar
contiene
los
nombres
script
y
BOJA
30/01/05
en
texto
plano.
Ntese
que
si
el
nombre
del
archivo
contiene
espacios
en
blanco
deberemos
delimitarlo
entre
comillas,
ya
que
Linux
podra
confundir
las
distintas
palabras
del
nombre
como
argumentos
del
comando
y
nos
lanzara
un
error.
Archivos
normales
u
ordinarios.
Los
archivos
normales
aparecen
en
el
directorio
en
color
(cuando
utilizamos
la
directiva
--color
en
el
comando
ls)
y
el
carcter
que
los
identifica
en
su
mscara
de
tipo
y
permisos
es
el
guin
(-).
Pueden
contener
texto,
cdigo
fuente
en
C,
rdenes
para
la
shell
(ficheros
script),
cdigo
binario
ejecutable
y
datos
de
diversa
naturaleza.
Los
archivos
ejecutables
se
presentan
en
el
directorio
en
color
verde
y
se
pueden
ejecutar
directamente
siempre
que
contengan
cdigo
ejecutable
y
se
encuentren
en
la
ruta
de
acceso
de
bsqueda
(en
la
variable
de
entorno
PATH).
Archivos
de
directorio.
Los
directorios
son
archivos
que
contienen
las
entradas
de
subdirectorios
y
archivos,
as
como
punteros
a
los
mismos.
Son
el
nico
lugar
donde
Linux
archiva
nombres
de
ficheros.
Cuando
se
utiliza
la
orden
ls
lo
que
en
realidad
se
est
haciendo
es
listar
el
contenido
del
archivo
directorio.
Los
archivos
directorio
aparecen
en
color
azul
y
precedidos
en
su
mscara
de
tipo
y
permisos
por
una
d.
Enlaces
o
vnculos.
Los
enlaces
o
vnculos
(identificados
con
la
letra
l)
permiten
a
los
ficheros
tener
diferentes
nombres.
Esto
posibilita,
por
ejemplo,
compartir
un
mismo
fichero
a
dos
usuarios
sin
necesidad
de
tener
dos
copias
del
mismo
en
el
sistema
y
de
forma
que
cualquier
modificacin
que
realiza
uno
es
visible
por
el
otro.
Existen
dos
tipos
de
enlaces
en
Linux:
Enlaces
normales
o
duros:
Se
asocian
diferentes
nombres
al
mismo
nmero
de
i-nodo.
En
realidad
no
son
archivos,
sino
entradas
de
directorio
que
sealan
a
un
mismo
i-nodo
(aparecen
en
el
directorio
con
el
color
del
tipo
original
del
fichero
al
que
apuntan).
Slo
pueden
hacerse
enlaces
duros
sobre
ficheros
ordinarios,
no
sobre
directorios.
El
comando
utilizado
para
crear
enlaces
duros
es
ln
(link):
|
6
ln fichero nombre-enlace
Los
enlaces
duros
no
se
pueden
utilizar
para
vincular
nombres
de
archivos
sobre
computadoras
diferentes
o
sobre
distintas
particiones
de
un
disco.
Resumiendo
se
puede
decir
que
un
enlace
duro
es
un
nuevo
nombre
para
un
fichero
local.
Enlaces
simblicos:
Existe
una
entrada
en
el
directorio
que
es
una
referencia
a
otra
entrada
que
puede
estar
en
el
mismo
directorio,
en
el
mismo
disco,
en
otro
disco
o
incluso
en
otra
computadora.
Es
decir,
es
un
archivo
especial
que
contiene
una
ruta.
Pueden
apuntar
a
archivos
que
estn
en
sistemas
de
archivos
diferentes
e
incluso
pueden
apuntar
a
ficheros
que
no
existen.
En
un
enlace
simblico
la
informacin
que
contiene
acerca
del
fichero
del
que
es
alias
es
su
nombre
y
no
su
nmero
de
i-nodo
como
ocurre
con
los
enlaces
duros
(poseen
distintos
i- nodos).
Aparecen
en
el
directorio
en
color
cyan.
Para
crear
un
enlace
simblico
se
utiliza
el
comando
ln
con
el
modificador
[s](symbolic):
ln
s
fichero
nombre-enlace
Una
diferencia
entre
el
enlace
duro
y
el
simblico
es
que
en
el
primer
caso
todos
los
enlaces
de
un
mismo
fichero
tienen
la
misma
categora
(el
sistema
trata
cada
enlace
como
si
fuese
el
archivo
original)
y
no
se
suprimen
los
datos
del
archivo
hasta
que
no
se
suprima
el
ltimo
enlace
duro
a
ese
fichero.
Con
los
enlaces
simblicos,
cuando
se
suprime
el
archivo
original
no
se
suprime
el
enlace
pero
ste
quedar
apuntando
a
nada
y
aparecer
en
el
listado
del
directorio
en
color
rojo
con
fondo
negro.
Adems
los
bits
de
la
mscara
de
permisos
aparecen
todos
activados
dado
que
no
son
usados
(los
permisos
que
se
utilizan
son
los
del
archivo
al
que
apunta).
Otra
diferencia
es
que
se
pueden
tener
enlaces
simblicos
a
ficheros
que
no
existen,
pero
no
enlaces
duros.
Esta
situacin
puede
ser
el
resultado
de
borrar
un
archivo
que
es
destino
de
uno
o
ms
enlaces
simblicos
y
esto
es
as
porque,
al
contrario
de
lo
que
ocurre
con
los
enlaces
duros,
el
Sistema
Operativo
no
mantiene
constancia
del
nmero
de
enlaces
simblicos
que
posee
un
archivo.
Aparte
de
esto,
en
ambos
casos
al
utilizarse
un
enlace
se
est
actuando
como
si
del
archivo
original
se
tratase.
Archivos
especiales
o
de
dispositivo.
Representan
a
todos
los
dispositivos
fsicos
asociados
a
Linux,
la
mayora
ubicados
en
el
directorio
/dev.
Las
terminales
(dispositivos
serie)
y
la
consola
son
dispositivos
especiales
por
caracteres
(c)
ya
que
pueden
aceptar
y
producir
caracteres2.
Los
discos
magnticos
son
dispositivos
por
bloques
(b)
ya
que
acceden
a
la
informacin
por
bloques
y
no
carcter
a
carcter.
Transfieren
datos
en
bloques
de
longitud
fija
(512,
1024
o
2048
bytes)
a
travs
de
los
buffers
de
E/S.
Normalmente
todos
los
dispositivos
de
almacenamiento
y
acceso
aleatorio
son
de
este
tipo
(tambin
algunas
cintas
que
poseen
sistemas
de
archivos
montables).
Existe
un
dispositivo
especial
muy
til,
el
/dev/null (cubeta
de
bits).
Todo
lo
que
se
enva
a
l
se
ignora,
es
decir,
se
pierde.
Esta
caracterstica
puede
resultar
muy
til
cuando
no
se
quiere
ver
la
salida
por
pantalla
que
produce
una
orden.
Esta
forma
de
tratar
el
hardware
del
sistema
tiene
una
consecuencia
importante
para
el
usuario
y
es
que
ste
no
tiene
que
preocuparse
de
las
particularidades
del
mismo.
2
En
general
son
dispositivos
por
caracteres
todos
aquellos
que
no
disponen
de
un
sistema
de
archivos
montable,
como
terminales,
impresoras,
plotters,
unidades
de
cinta
magntica
y
el
teclado.
Algunos
dispositivos
como
los
discos
y
cintas
tienen
dos
archivos
de
dispositivo,
uno
en
modo
bloque
y
otro
en
modo
carcter,
ya
que
pueden
hacer
E/S
en
los
dos
modos.
|
7
2.3
El sistem a de archivos ext. El primer sistema de archivos creado especficamente para Linux nace en Abril de 1992 de la mano de Rmy Card y se denomina ext (extended file system). El objetivo era superar las limitaciones que presentaba el sistema de archivos Minix. Pronto se vio superado a s mismo por ext2 y xiafs sobre todo por la mayor capacidad de evolucin que presentaban estos ltimos. Ext2 (second extended file system) fue creado tambin por Rmy Card en 1993 para superar las limitaciones de ext. Bsicamente es ms rpido que el primero, pero sin embargo, no soporta journaling3. La implementacin del sistema es el driver ext2fs en el ncleo de Linux. Existen otras implementaciones (que varan calidad y alcance) como GNU Hurd, Mac OS X (third-party), Darwin (para Mac OS X tambin), tambin para ncleos del S.O. BSD y otros. En versiones del kernel anteriores a la 2.6 existen restricciones del block driver que se traducen en un mximo en el tamao de archivo de 2 TB, aunque versiones posteriores permiten tamaos mayores (no obstante si el sistema es de 32 bits queda restringido a los 2 TB anteriores). Permite 1018 archivos y un tamao mximo de volumen (particin) de 16 TB. Los nombres de archivo pueden tener hasta 255 caracteres. Ext2 divide el espacio disponible en disco en bloques que son organizados en grupos de bloques anlogos a los grupos de cilindros de UNIX. Esto permite reducir la fragmentacin externa y el nmero de accesos a disco cuando se leen grandes cantidades de datos consecutivos. Cada grupo de bloques contiene un superbloque, el bitmap del grupo de bloques y el bitmap del i-nodo seguido de los bloques de datos. El superbloque contiene importante informacin que es crucial para el arranque del sistema operativo, por eso, se hacen copias de seguridad en cada grupo de bloques. Sin embargo, solo la primera copia del superbloque (que se encuentra en el primer bloque del sistema) es usada para el arranque. El descriptor de grupo almacena el valor del bitmap del bloque y del i-nodo y el principio de la tabla de i-nodos para cada grupo de bloques. Durante mucho tiempo ext2 ha sido el sistema de archivos por defecto de la mayora de distribuciones Linux (incluidas Red Hat o Debian) hasta que ha sido sustituido recientemente por ext3. Ext2 se recomienda todava para crear sistemas de archivos en dispositivos USB como pendrives o disquetes, en lugar de ext3, ya que presenta menos actividad de lectura del soporte para acceder a los archivos as como de escritura (lo cual alarga la vida de las memorias flash) y no usa journaling (con lo que se reduce el espacio que el sistema utiliza para grabar informacin propia y por tanto queda ms espacio para datos de usuario). Ext3 es totalmente compatible con ext2 pero incluye journaling y adems utiliza un rbol binario balanceado (AVL)4 e incorpora el asignador de bloques de disco Orlov5. Aunque su
3
Journaling,
bitcora
o
registro
por
diario:
Es
un
mecanismo
por
el
cual
un
sistema
informtico
puede
implementar
transacciones
(interaccin
compleja
con
un
sistema
de
datos
que
est
compuesta
por
varios
procesos
que
deben
aplicarse
secuencialmente).
Se
basa
en
llevar
un
registro
en
el
que
se
almacena
la
informacin
necesaria
para
restablecer
los
datos
afectados
por
la
transaccin
en
caso
de
que
esta
falle.
Las
aplicaciones
ms
frecuentes
de
los
sistemas
de
journaling
se
usan
para
implementar
transacciones
de
sistemas
de
bases
de
datos
y,
ms
recientemente,
para
evitar
la
corrupcin
de
las
estructuras
de
datos
en
las
que
se
basan
los
sistemas
de
archivos
modernos.
4
Un
rbol
binario
de
bsqueda
auto-balanceable
o
equilibrado
intenta
mantener
su
altura,
es
decir
el
nmero
de
niveles
de
nodos
bajo
la
raz,
tan
pequeos
como
sea
posible
en
todo
momento
y
de
forma
automtica.
5
Orlov
es
un
asignador
de
bloques
de
disco
originario
de
BSD
(Berkeley
Software
Distribution:
S.O.
basado
en
Unix
y
desarrollado
por
la
Universidad
de
California
en
Berkeley)
que
se
incluye
en
los
sistemas
de
ficheros
nativos
de
Linux
| 8
velocidad y escalabilidad es menor que sus competidores, como JFS6, ReiserFS o XFS7, tiene la ventaja de permitir actualizar de ext2 a ext3 sin perder los datos almacenados ni formatear el disco y un menor consumo de CPU. Ext4 es el sucesor de ext3 y compatible con este, pero supera las limitaciones de tamao que impone el sistema de 64 bits de ext3 e incorpora algunas nuevas funcionalidades. Puede soportar volmenes con una capacidad superior a 1 exbibyte y ficheros de 16 terabytes de longitud. Da soporte extent8 para el esquema de mapeado de bloques y hace un menor uso de la CPU mejorando la velocidad en la lectura y escritura y por tanto en el chequeo del sistema. Tambin dobla el lmite de directorios que se pueden crear en los otros sistemas hasta dejarlo en 64.000. 2.4 Reiser FS. Reiser FS es un sistema de archivos desarrollado por un grupo de expertos liderados por Hans Reiser en la empresa Namesys. Fue el primer sistema de archivos con journaling que se incluy en el ncleo de Linux estndar. Adems permite aumentar el tamao del sistema de archivos on-line (montado) u off-line (desmontado). Para disminuirlo se permite solo en modo off-line. Incorpora adems un sistema especfico para disminuir la fragmentacin interna llamado Tail- packing. Es ms rpido que ext3 a la hora de manejar ficheros pequeos, pero tambin es ms inestable en versiones del ncleo anteriores a la 2.4. Adems no se conoce un mtodo para desfragmentar el sistema de archivos Reiser si no es mediante un volcado completo y su posterior restauracin. Utiliza un esquema en rbol B+ y soporta un tamao mximo de archivo de 8 TB, 232 archivos en total y un tamao mximo de volumen de 16 TB.
Se
utiliza
para
listar
los
archivos
contenidos
en
un
determinado
directorio.
Si
no
se
le
especifica
ningn
archivo
o
directorio
como
argumento
en
la
lnea
de
rdenes,
por
defecto
se
visualiza
el
contenido
del
directorio
de
trabajo
actual.
Adems,
ls
admite
varias
opciones
optativas
que
permiten
seleccionar
la
informacin
que
se
solicita
en
el
listado
de
los
archivos.
ext3
y
ext4
pues
mejora
el
rendimento
respecto
al
anterior
gestor.
Para
activarlo
y
desactivarlo
se
emplean
los
comandos
lsattr
y
chattr.
6
JFS:
Journaling
File
System
(Sistema
de
archivos
con
journaling
de
IBM,
usado
en
sus
servidores).
7
XFS
es
un
sistema
de
archivos
de
64
bits
con
journaling
de
alto
rendimiento
creado
por
SGI
(antiguamente
Silicon
Graphics
Inc.)
para
su
implementacin
de
UNIX
llamada
IRIX.
En
mayo
del
2000,
SGI
liber
XFS
bajo
una
licencia
de
cdigo
abierto.
XFS
se
incorpor
a
Linux
a
partir
de
la
versin
2.4.25,
cuando
Marcelo
Tosatti
(responsable
de
la
rama
2.4)
lo
consider
lo
suficientemente
estable
para
incorporarlo
en
la
rama
principal
de
desarrollo
del
kernel.
Los
programas
de
instalacin
de
las
distribuciones
de
SuSE,
Gentoo,
Mandriva,
Slackware,
Fedora
Core,
Ubuntu
y
Debian
ofrecen
XFS
como
un
sistema
de
archivos
ms.
En
FreeBSD
el
soporte
para
solo-lectura
de
XFS
se
aadi
a
partir
de
Diciembre
de
2005
y
en
Junio
de
2006
un
soporte
experimental
de
escritura
fue
incorporado
a
FreeBSD-7.0-CURRENT.
8
Un
extent
es
un
conjunto
de
bloques
fsicos
contiguos,
mejorando
el
rendimiento
al
trabajar
con
ficheros
de
gran
tamao
y
reduciendo
la
fragmentacin.
Un
extent
simple
en
ext4
es
capaz
de
mapear
hasta
128
MiB
de
espacio
contiguo
con
un
tamao
de
bloque
igual
a
4
KiB.
|
9
Ejemplo:
[gandalf@lotr:]#
ls
cartas
documentos
SIM.doc
El
sistema
puede
utilizar
archivos
ocultos
que
el
usuario
generalmente
va
a
editar
o
leer
muy
de
vez
en
cuando
y
que
no
aparecen
en
un
listado
de
directorio
cuando
utilizamos
ls
sin
argumentos.
Para
adems
visualizar
en
el
listado
este
tipo
de
ficheros
(su
nombre
empieza
por
un
punto)
hay
que
utilizar
el
parmetro
a,
tal
y
como
sigue
en
el
ejemplo
(adems
se
visualiza
el
directorio
actual
como
.
y
el
directorio
padre
como
..):
[gandalf@lotr:]#
ls
a
.
..
.mail
.profile
cartas
documentos
SIM.doc
Si
adems
de
listar
el
contenido
de
un
directorio
queremos
conocer
de
qu
tipo
son
sus
ficheros
deberemos
utilizar
el
parmetro
F
que
fuerza
la
inclusin
de
un
carcter
al
final
del
nombre
de
los
mismos
que
indica
el
tipo
de
fichero.
Los
archivos
ocultos
no
se
muestran.
Los
archivos
ejecutables
se
listan
con
su
nombre
seguido
de
un
*
.
Los
directorios
se
distinguen
con
/
y
los
enlaces
simblicos
con
@.
Supongamos
que
ejecutamos:
[gandalf@lotr:]#
ls
F
cartas/
memos@
notas
La
informacin
que
obtenemos
muestra
que
el
directorio
contiene
un
fichero
ordinario
llamado
notas,
un
directorio
llamado
cartas
y
un
enlace
simblico
llamado
memos.
La
orden
ls
con
las
opciones
vistas
hasta
ahora
proporciona
informacin
limitada
acerca
de
los
archivos.
Para
obtener
ms
datos
acerca
de
los
mismos
utilizaremos
el
parmetro
l
(long,
formato
largo)
que
nos
visualiza
en
una
primera
lnea
la
cantidad
de
bloques
de
espacio
de
disco
utilizados
y
en
el
resto
de
lneas
(una
por
archivo)
aparecen
siete
campos:
los
derechos
de
acceso,
el
nmero
de
enlaces
o
de
copias
vinculadas
a
ese
archivo
(cuenta
de
vinculacin),
el
nombre
del
propietario,
el
grupo
al
que
pertenece
el
propietario,
el
tamao
en
bytes,
la
fecha
de
la
ltima
modificacin
y
por
ltimo
el
nombre
del
fichero.
[gandalf@lotr:]#
ls
l
total
35
drwxr-xr-x
3
root
group1
362
lrwxr-xr-x
2
user10
group1
135
-rwxr-xr-x
1
user2
group5
234
i. La primera columna es lo que se denomina modo de proteccin del archivo, lista de control de acceso o mscara de permisos. El primer carcter puede ser una d que indica que la entrada es un directorio, un que indica un fichero ordinario, una l que indica enlace, una c que indica dispositivo tipo carcter o una b que indica dispositivo tipo bloque. Recordar que Linux/Unix trata los dispositivos como si fuesen archivos. La segunda columna representa el nmero de enlaces que posee un archivo si se trata de un archivo ordinario (1 representa al propio archivo) o el nmero de subdirectorios si se refiere a un directorio. El nombre del propietario muestra quin es el dueo del archivo o del directorio. El nombre del grupo indica el grupo al cual est adscrito el propietario de ese fichero o directorio. El tamao del fichero se da en bytes. La siguiente columna indica la fecha y hora de la ltima modificacin o en su caso de su creacin. Por ltimo aparece el nombre del archivo.
| 10
Existen
algunas
opciones
que
se
utilizan
frecuentemente
para
dar
formato
a
la
salida
del
listado
del
directorio.
Por
defecto
se
visualiza
sta
en
columnas
mltiples
y
en
orden
descendente.
Se
puede
utilizar
adems:
x:
para
visualizar
los
nombres
de
los
archivos
horizontalmente,
en
tantas
lneas
como
sea
necesario,
guardando
el
orden
ASCII.
1:
(uno)
para
hacer
que
los
archivos
se
visualicen
una
lnea
por
fila
y
en
orden
alfabtico.
t:
indica
que
se
muestren
en
primer
lugar
aquellos
archivos
modificados
ms
recientemente.
-r:
(reverse)
muestra
el
directorio
por
orden
alfabtico
inverso.
Combinada
con
la
opcin
t
lista
en
primer
lugar
los
archivos
ms
antiguos
y
en
segundo
trmino
los
ms
modernos.
-d:
visualiza
la
informacin
relacionada
con
un
directorio
y
no
con
su
contenido
cuando
en
lista-de-archivos
especificamos
un
nombre
de
directorio.
Generalmente
se
usa
conjuntamente
con
la
opcin
l.
-R:
lista
todos
los
archivos
del
directorio
especificado
junto
con
todos
los
de
cada
uno
de
sus
directorios
y
as
sucesivamente
(lista
recursiva).
--color:
visualiza
los
nombres
de
los
ficheros
en
determinados
colores
que
identifican
el
tipo
de
archivo.
Normalmente
est
activado
por
defecto
mediante
un
alias.
Por
supuesto
se
pueden
utilizar
varias
opciones
simultneamente
en
una
orden
ls.
Por
ejemplo:
[gandalf@lotr:]#
ls
aF
./
../
.mail*
.profile*
letters/
memos@
pwd
Muestra
el
directorio
de
trabajo
actual
(print
working
directory),
en
forma
de
camino
absoluto.
Esta
orden
es
de
suma
utilidad
cuando
nos
movemos
mucho
por
el
rbol
de
directorios.
Ya
aprenderemos
a
incluir
en
el
prompt9
del
sistema
operativo
la
ruta
en
la
que
nos
encontramos
para
evitar
el
uso
continuo
de
pwd.
Ejemplo:
[gandalf@lotr:]#
pwd
/home/gandalf
3.3
which
lista-de-archivos
Esta
orden
se
emplea
para
buscar
en
los
directorios
especificados
en
el
PATH10
de
usuario
el
comando
especificado.
Como
resultado
visualiza
en
forma
de
camino
absoluto
el
nombre
del
archivo.
Si
la
bsqueda
es
infructuosa
no
visualiza
nada.
9
PS1=$PWD>
10
PATH
es
una
variable
de
entorno
que
contiene
las
rutas
de
los
directorios
que
contienen
ficheros
ejecutables
por
el
usuario. | 11
locate
patrn_de_bsqueda
Locate
es
un
comando
de
bsqueda
de
archivos,
bastante
parecido
al
comando
find.
La
diferencia
de
locate
es
que
la
bsqueda
la
hace
en
una
base
de
datos
indexada
para
aumentar
significativamente
la
velocidad
de
respuesta.
Esto
quiere
decir,
que
locate
realmente
no
busca
en
el
disco
del
sistema,
sino
en
un
archivo
que
contiene
la
lista
de
todos
los
archivos
que
existen
en
nuestra
instalacin
Linux.
Para
actualizar
la
base
de
datos
que
utiliza
locate,
se
usa
el
comando
updatedb.
Hay
que
tener
en
cuenta
que
es
un
comando
que
tarda
mucho
en
ejecutarse.
3.4
Cam bio de directorio.
cd
[directorio]
Nos
podemos
mover
por
los
directorios
del
rbol
de
directorios
de
Linux/Unix
con
la
orden
cd
(change
directory).
El
camino
especificado
en
la
orden
puede
ser
absoluto
o
relativo
(tomando
como
punto
de
origen
el
directorio
raz
o
el
de
trabajo
respectivamente).
Si
no
le
especificamos
ningn
directorio
como
argumento,
cd
nos
llevar
a
nuestro
directorio
de
arranque
(el
directorio
almacenado
en
la
variable
de
entorno
HOME).
Para
movernos
al
directorio
padre
podemos
utilizar
cd
..,
recordando
que
debemos
separar
los
..
del
comando
cd
con
un
espacio
en
blanco
(no
podemos
usar
cd..
como
en
MSDOS).
Para
movernos
al
directorio
raz,
basta
con
teclear
cd
/.
|
12
Ejemplo:
[gandalf@lotr:]#
pwd
/home/MiDirectorio/docs
[gandalf@lotr:]#
cd
..
[gandalf@lotr:]#
pwd
/home/MiDirectorio
[gandalf@lotr:]#
cd
/etc
[gandalf@lotr:]#
pwd
/etc
rm
[-irf]
lista-de-archivos
Para
suprimir
archivos
que
no
se
necesitan
podemos
utilizar
la
orden
rm
(remove).
Ejemplo:
[gandalf@lotr:]#
rm
felicita
mailing
cumpleaos
Si
se
especifica
ms
de
un
nombre
de
archivo
elimina
todos
los
archivos
nombrados.
Podemos
utilizar
caracteres
comodines
(*,
?)
para
generar
patrones
de
localizacin
de
ficheros.
El
siguiente
ejemplo
borrara
todos
los
ficheros
del
directorio
actual:
[gandalf@lotr:]#
rm
*
Para
borrar
todos
los
archivos
cuyos
nombres
empiecen
por
car
haramos:
[gandalf@lotr:]#
rm
car*
Hay
que
tener
mucho
cuidado
con
la
utilizacin
del
carcter
comodn
*
puesto
que
si
nos
equivocamos
al
teclear
e
insertamos
un
espacio
en
blanco
entre
el
patrn
de
coincidencia
y
el
comodn
podemos
eliminar
todos
los
ficheros
del
directorio
actual.
As
rm
car
*
intentara
borrar
primero
un
fichero
llamado
car
y
luego
borrara
todos
los
ficheros
del
directorio.
Para
obligar
la
solicitud
de
confirmacin
cada
vez
que
se
disponga
el
comando
a
borrar
un
fichero
deberemos
utilizar
el
parmetro
i
(interactive).
Para
forzar
el
borrado
de
los
archivos,
incluso
si
estn
protegidos
contra
escritura
utilizaremos
el
parmetro
f
(force),
recordando
siempre
que
los
ficheros
a
borrar
deben
pertenecer
al
usuario
que
quiere
borrarlos.
Ejemplo:
[gandalf@lotr:]#
rm
f
*.old.tar
Por
lo
general
rm
no
borra
directorios,
pero
si
se
utiliza
r
o
R
borra
el
rbol
de
directorios
a
partir
del
especificado.
3.6
El
rbol
de
directorios
de
Linux
no
es
esttico
sino
que
tenemos
posibilidad
de
crear
nuestros
propios
directorios
para
distribuir
mejor
la
informacin
en
el
sistema.
|
13
Creacin de directorios.
Normalmente cada usuario podr crear sus propios directorios a partir del directorio /home/<usuario> (el que est especificado en la variable de entorno HOME), mientras que el superusuario podr hacerlo en cualquier nodo.
mkdir
nombre-directorio
Se
pueden
crear
nuevos
directorios
con
la
orden
mkdir
(make
directory).
Ejemplo:
[gandalf@lotr:]#
ls
empresa
amigos
familia
[gandalf@lotr:]#
mkdir
trabajo
[gandalf@lotr:]#
ls
empresa
amigos
familia
trabajo
3.7
Pero
si
el
directorio
no
est
vaco
e
intentamos
borrarlo
obtendremos
un
mensaje
de
error
al
respecto.
Para
poder
eliminarlo
en
este
caso
debemos
utilizar
el
comando
rm
con
el
parmetro
r
(recursive)
que
informa
al
comando
que
elimine
antes
todos
los
archivos
que
contenga
el
directorio.
Esta
opcin
hay
que
usarla
con
precaucin,
ya
que
elimina
todos
los
contenidos
de
un
directorio.
Normalmente
se
usa
con
el
parmetro
i
(interactive)
que
fuerza
la
confirmacin
paso
a
paso.
Ejemplo:
[gandalf@lotr:]#
rm
ri
trabajo
3.8
Copia de archivos.
|
14
Como
se
trata
de
un
proceso
de
copia,
el
original
permanece
inalterado
y
el
contenido
del
archivo
copiado
es
idntico
al
original.
Hay
que
tener
en
cuenta
que
si
existe
ya
el
archivo
especificado
como
destino
el
proceso
de
copia
lo
sobrescribir.
La
opcin
i
fuerza
la
solicitud
de
informacin
antes
de
sobrescribir
si
se
presenta
este
caso.
Si
queremos
sacar
una
copia
de
un
fichero
con
el
mismo
nombre
que
el
original
en
un
nuevo
directorio
podemos
especificar
en
el
destino
slo
el
nombre
del
directorio.
Para
copiar
directorios
podemos
utilizar
el
modificador
R
(recursive)
que
copia
directorios
recursivamente
y
hace
lo
correcto
(segn
la
ayuda
del
manual)
cuando
se
encuentra
objetos
distintos
de
ficheros
ordinarios
o
directorios
(as,
la
copia
de
un
fichero
especial
es
otro
fichero
especial)11
.
3.9
mv
[-ifu]
lista-de-archivos
destino
Para
mantener
organizado
el
sistema
de
archivos
es
necesario
mover
y
renombrar
archivos.
La
orden
mv
(move)
mantiene
una
sintaxis
idntica
al
comando
cp,
slo
que
en
este
caso
los
archivos
originales
desaparecen.
El
siguiente
ejemplo
mueve
el
fichero
carta
del
directorio
de
trabajo
al
directorio
source:
[gandalf@lotr:]#
mv
carta
/source
Hay
que
cerciorarse
de
que
no
existe
un
archivo
en
el
directorio
destino
con
el
mismo
nombre
puesto
que
lo
perderamos
(se
sobrescribira).
Para
evitar
este
tipo
de
situaciones
utilice
la
opcin
i.
Si
queremos
renombrar
un
fichero
bastar
con
moverlo
dentro
del
directorio
en
el
que
est
localizado
y
este
adquirir
el
nombre
del
archivo
especificado
como
destino.
Ejemplo:
[gandalf@lotr:]#
mv
carta
carta.doc
El modificador f (force) hace que el comando no pida confirmacin. El modificador u (update) hace que no se mueva un fichero o directorio que tenga como destino otro existente con el mismo nombre y fecha de modificacin igual o ms reciente. 3.10 Inspeccin y concatenacin de archivos.
| 15
queremos
encontrarnos
con
situaciones
inesperadas,
el
archivo
visualizado
deber
estar
en
formato
ASCII.
Los
archivos
binarios
posiblemente
ensuciarn
la
pantalla.
Ejemplo:
[gandalf@lotr:]#
cat
cabecera
I.E.S.
Ibn
al-Baytar
Benalmdena
Referencia:
Contacto:
Fecha:
Si
el
contenido
del
Lichero
a
visualizar
supera
la
capacidad
de
la
pantalla
no
nos
dar
tiempo
a
leerlo.
Para
detener
momentneamente
la
visualizacin
podemos
utilizar
[CTRL]+[S]
y
para
reanudarla
[CTRL] +[Q].
Si
queremos
abortar
la
salida
podemos
pulsar
[CTRL]+[C].
La
orden
cat
reconoce
caracteres
de
8
bits
(en
versiones
antiguas
de
Unix
slo
reconoca
7
bits
por
carcter),
lo
que
le
permite
visualizar
caracteres
de
alfabetos
extendidos.
Si
queremos
visualizar
un
fichero
que
contiene
caracteres
no
imprimibles
([CTRL]
+
[G]
por
ejemplo
que
es
la
campana
en
ASCII)
podemos
utilizar
el
parmetro
v
que
fuerza
la
visualizacin
de
estos
caracteres
de
control
segn
su
combinacin
de
teclas.
Por
ejemplo:
[gandalf@lotr:]#
cat
v
salida
El
carcter
de
control
ASCII
^G
(007)
har
sonar
una
campana
^G
^G
^G
en
el
terminal
de
usuario.
Podemos
redireccionar
la
salida
del
comando
hacia
un
fichero
por
medio
del
carcter
>.
Esto
es
posible
porque
Linux/Unix
trata
al
terminal
como
si
fuese
un
fichero
(la
pantalla
acta
como
salida
estndar).
Por
tanto
podemos
hacer
que
el
contenido
del
fichero
del
ejemplo
anterior
sea
copiado
en
otro
fichero
con
la
orden
cat
de
la
forma:
[gandalf@lotr:]#
cat
cabecera
>
cabecera.bak
En
este
caso,
si
no
existe
un
archivo
cabecera.bak
en
el
archivo
de
trabajo,
el
sistema
crea
uno.
Si
ya
existiese
uno
con
ese
nombre
la
salida
de
cat
se
escribe
encima
perdindose
su
contenido
anterior.
Si
lo
que
queremos
hacer
es
aadir
el
contenido
de
un
fichero
de
texto
al
de
otro
podemos
utilizar
el
doble
carcter
>>.
Si
el
fichero
destino
no
existiese
el
comando
funcionara
correctamente
crendolo.
Ejemplo:
[gandalf@lotr:]#
cat
cabecera
>>
carta
Tambin
podemos
utilizar
cat
para
combinar
diferentes
archivos
en
uno
solo.
Por
ejemplo,
podemos
hacer:
[gandalf@lotr:]#
cat
seccion1
seccion2
seccion3
>
capitulo.1
De
esta
forma
obtendramos
un
fichero
capitulo.1
resultado
de
la
concatenacin
de
los
ficheros
seccion1,
seccion2
y
seccion3.
En
este
caso
podemos
utilizar
el
carcter
comodn
*.
As,
el
siguiente
comando
hara
la
misma
funcin
que
el
ejemplo
anterior
(cuando
se
utilicen
comodines
hay
que
asegurarse
de
que
el
patrn
coincide
con
los
archivos
que
se
desea):
[gandalf@lotr:]#
cat
seccion?
>
capitulo.1
|
16
cat tambin se puede utilizar para crear pequeos archivos ASCII desde teclado. Basta con no especificar el archivo y cat orientar lo que tecleemos hacia el archivo destino que
indiquemos
(usar
la
unidad
de
entrada
estndar).
Recordar
que,
al
igual
que
la
pantalla
es
la
unidad
de
salida
estndar
(un
fichero
para
el
Sistema
Operativo)
el
teclado
es
la
unida
de
entrada
estndar
(otro
fichero).
El
ejemplo
siguiente
creara
un
fichero
llamado
nuevo
cuyo
contenido
teclearemos
desde
la
consola.
El
fin
de
la
entrada
se
especifica
con
[CTRL.]+[D]
que
es
la
marca
de
fin
de
fichero:
[gandalf@lotr:]#
cat
>
nuevo
Estoy
creando
un
nuevo
fichero
texto
[CTRL]+[D]
Podemos
utilizar
>>
con
este
formato
para
aadir
texto
que
introduciremos
por
teclado
a
un
archivo
ya
existente.
[gandalf@lotr:]#
cat
>>
nuevo
Esta
sera
la
segunda
lnea
del
fichero
nuevo
[CTRL]+[D]
more
[lista-de-archivos]
La
orden
more
visualiza
por
pantalla
el
contenido
del
archivo
de
texto
que
le
pasemos
como
argumento.
Al
contrario
que
la
orden
cat,
more
estructura
la
visualizacin
en
pginas,
por
lo
que
es
ms
recomendable
que
cat
si
el
fichero
que
queremos
inspeccionar
no
cabe
en
una
pantalla.
El
comando
detiene
la
visualizacin
en
cada
pgina.
Para
continuar
viendo
la
siguiente
basta
con
pulsar
la
barra
espaciadora
o
[PgDown].
Si
queremos
que
avance
lnea
por
lnea
deberemos
pulsar
[ENTER]
o
[CursorDown]
y
si
queremos
interrumpir
la
visualizacin
podemos
pulsar
[q]
(quit).
De
la
misma
forma
se
puede
retroceder
en
la
visualizacin
con
[PgUp]
y
[CursorUp]
(aunque
las
versiones
antiguas
del
comando
slo
permitan
avanzar).
less
[lista-de-archivos]
Realiza
la
misma
funcin
que
more
y
funciona
exactamente
igual,
pero
es
un
comando
mucho
ms
potente
y
ms
rpido
cuando
trata
con
ficheros
muy
grandes.
Ejemplo:
[gandalf@lotr:]#
head
3
MiTexto
The
girls
all
think
theyve
found
The
one.
But
does
paradise
come
at
a
price?
So
...
Is
the
party
officially
over?.
Este
comando
funciona
como
un
filtro
que
nos
permite
buscar
cadenas
de
caracteres
en
los
archivos
que
le
especifiquemos.
Toma
el
patrn
de
bsqueda
patrn12
como
primer
argumento
y
el
resto
de
los
argumentos
los
toma
como
nombres
de
fichero.
En
caso
de
que
la
cadena
que
queramos
buscar
est
compuesta
de
ms
de
una
palabra,
ser
necesario
delimitarla
entre
comillas.
Una
vez
buscado
el
patrn
se
visualizan
todos
los
archivos
que
lo
contienen
y
la/s
lnea/s
donde
aparece.
Por
Ejemplo:
[gandalf@lotr:]#
grep
frase
manuscrito
A
veces,
una
frase
puede
significar
muchas
cosas
termin
con
la
frase
del
da
[gandalf@lotr:]#
grep
una
frase
manuscrito1
manuscrito2
manuscrito1:
A
veces,
una
frase
puede
significar
muchas
cosas
manuscrito2:
Me
rob
una
frase
que
dije
en
mi
ltima
conferencia
grep
tambin
permite
objetivos
definidos
como
patrones
que
pueden
identificar
a
un
nmero
de
palabras
o
cadenas
diferentes.
Para
especificar
estos
patrones
podemos
utilizar
smbolos
especiales
(caracteres
sustituibles)
parecidos
a
los
que
usamos
para
agrupar
nombres
de
ficheros,
pero
en
este
caso
tendremos
que
tener
en
cuenta
que
debemos
delimitar
con
comillas
el
patrn,
para
que
Linux
no
confunda
ste
con
un
comodn
de
nombre
de
archivo.
Smbolos
de
expresiones
regulares
usados
normalmente
con
grep
Sm b olo
Sig n if ic ad o
Ejem p lo
I de n ti fi ca dos
Identifica
cualquier
carcter
chili,
chile
.
chil. Identifica
cero
o
ms
repeticiones
ale
o
apple
*
ap*le
[]
[a-z]
^
$
?
del
carcter
precedente
Identifica
cualquiera
de
los
caracteres
incluidos
en
los
corchetes
Identifica
cualquier
carcter
en
el
rango
especificado
Comienzo
de
lnea
Fin
de
lnea
No
tiene
utilidad
en
las
ltimas
versiones
del
comando
Chicken, chicken Cualquier cadena alfabtica Hola al comienzo de una lnea adios al final de una lnea.
Ejemplo:
[gandalf@lotr:]#
grep
[0-9]
mates
Visualizara
todas
las
lneas
del
archivo
mates
que
contuviesen
un
dgito
numrico.
12
Si
no
se
especifica
la
cadena
a
buscar
el
resultado
puede
ser
imprevisible.
| 18
Modificadores: -v: A veces resulta til buscar lneas que no se identifican con un patrn en particular. Esto se puede hacer con el modificador v que hace que grep imprima todas las lneas que no contengan el objetivo especificado. -l: Visualiza slo los nombres de los archivos que contienen el patrn de bsqueda. La bsqueda termina al encontrar la primera concordancia. -n: Lista los nmeros de lnea y las lneas en las que el patrn se ha localizado. Si se especifican varios ficheros a esta informacin se antepone el nombre del fichero. -i: Normalmente el comando distingue entre maysculas y minsculas. Para forzar la no distincin basta con utilizar este parmetro. -w: Selecciona lneas que tienen concordancias con el patrn que forman palabras completas al principio o final de la lnea. Slo atiende a letras, dgitos y subguin. -e: Se utiliza para distinguir el patrn de bsqueda cuando ste empieza por el carcter guin. -c: Visualiza el total de lneas del fichero que cumplen el patrn (counter).
conocer
el
nombre
del
fichero
a
ordenar.
Por
defecto
el
orden
que
sigue
es
el
del
alfabeto
ASCII.
Se
puede
obtener
un
ordenamiento
alfabtico
ms
normal
(recordar
que
en
ASCII
las
letras
minsculas
son
mayores
que
las
maysculas)
utilizando
el
modificador
f
(fold)
que
fuerza
a
sort
a
ignorar
las
maysculas
y
las
minsculas
de
la
misma
letra.
Otros
modificadores
son:
-n:
Ordena
los
nmeros
por
su
valor
numrico.
r:
Indica
orden
inverso
(reverse).
-d:
(dictionary)
Especifica
a
sort
que
ignore
todos
los
caracteres
que
no
sean
letras,
nmeros
o
espacios
en
blanco.
-M:
Ordena
datos
sobre
los
meses
del
ao
segn
su
orden
en
el
calendario.
Los
meses
han
de
estar
especificados
con
tres
letras
maysculas
y
en
ingls
(JAN,
FEB,...,DEC).
-u:
Elimina
las
entradas
repetidas
(unique).
-c:
Comprueba
si
los
ficheros
especificados
estn
ordenados
ya.
Si
no
lo
estn
emite
un
mensaje
de
error.
|
19
Podemos
guardar
el
resultado
de
la
ordenacin
en
un
fichero
mediante
el
redireccionamiento
de
la
salida
o
el
uso
del
modificador
-o
seguido
del
nombre
del
fichero
donde
queremos
guardar
la
versin
ordenada.
Los
siguientes
ejemplos
son
equivalentes:
[gandalf@lotr:]#
sort
lista
>
lista.ord
[gandalf@lotr:]#
sort
o
lista.ord
lista
cut
cut nos permite dividir un fichero en columnas de caracteres (modificador c) o de campos (modificador f). En este ltimo caso habr que indicar al comando el carcter que vamos a usar como delimitador de campo con el modificador d (delimiter). El resultado de cut se
nos
muestra,
por
defecto,
en
la
pantalla.
Si
queremos
hacer
referencia
a
ms
de
un
carcter
o
campo,
basta
con
indicarlos
separados
por
comas.
Si
queremos
hacer
referencia
a
un
intervalo
de
caracteres
o
campos
deberemos
indicar
los
lmites
del
intervalo
separados
por
guiones.
Por
ejemplo,
si
queremos
guardar
todos
los
nombres
de
cuenta
que
hay
en
nuestro
sistema
en
el
archivo
cuentas
haramos:
[gandalf@lotr:]#
cut
f1
d:
/etc/passwd
>
cuentas
Puesto
que
en
el
fichero
/etc/passwd
se
encuentran
todas
las
cuentas
del
sistema
en
la
primera
columna
y
algunos
campos
ms
separados
por
el
carcter
:
Otro
ejemplo:
si
queremos
visualizar
los
caracteres
que
ocupan
la
posicin
1,
la
3
y
de
la
5
a
la
10
del
fichero
foo
haramos:
uniq
[gandalf@lotr:]#
cut
c1,3,5-10
foo
uniq elimina las lneas consecutivas que se repiten en un fichero o en la unidad de entrada
estndar,
mostrando
slo
una
en
su
salida
por
pantalla.
Podemos
usar
los
siguientes
modificadores:
-c:
Comienza
la
visualizacin
de
la
lnea
con
el
nmero
de
veces
que
se
repite.
-d:
Muestra
slo
las
lneas
repetidas.
-u:
Muestra
slo
las
lneas
nicas.
-i:
Normalmente
el
comando
distingue
entre
maysculas
y
minsculas.
Para
forzar
la
no
distincin
basta
con
utilizar
este
parmetro.
find
Investigar.
|
20
/dev/console Consola principal del sistema. /dev/fd Todos los ficheros que comienzan con fd se refieren a las distintas unidades de discos flexibles. /dev/hd Idem. referidos a los discos duros. /dev/sd Idem. a discos duros con controladoras SCSI. /dev/ttyS Controladoras de los puertos serie. /dev/lp Drivers de acceso a los puertos paralelo (impresoras). /dev/null Dispositivo ficticio. Todo lo que se enva a este directorio se pierde. /dev/tty Control de consolas virtuales. /etc Contiene los ficheros de configuracin del sistema y los necesarios para la administracin del mismo, as como los scripts para los procesos de arranque y parada. Slo el superusuario puede modificar estos ficheros. El fichero de contraseas (passwd) se encuentra en este directorio. /home De este directorio cuelgan en Linux todos los directorios de trabajo de los usuarios, incluidos aquellos que se conectan al sistema como annimos, a los que se les reserva el directorio /home/ftp. /lib Contiene las libreras compartidas. Los nombres de estos ficheros suelen indicar el lenguaje o utilizada a la que pertenecen, el tipo de objeto que es y la versin (ej.- lib.so.3.4.1 sera una librera de C compartida en su versin 3.4.1). /lost+found Es un directorio que se crea al montar el sistema de archivos y contiene ficheros perdidos. Todas las particiones tienen un directorio de este tipo. /mnt En este directorio se suelen colocar los puntos de montaje de los distintos dispositivos en un sistema Linux. /tmp En este directorio almacenan los comandos del sistema sus archivos temporales. /proc En l se deposita informacin acerca de los procesos en ejecucin en una sesin Linux. /sbin Contiene los comandos para la administracin del sistema, como los necesarios para montar y desmontar unidades, apagar el sistema, montar una red, etc. En Unix este directorio dependen del directorio /usr.
| 22