Inicio wiki
Aula Virtual
 Administración de Sistemas Operativos
Inicio ASO Aula Virtual

Vistas
  •   2.4. Órdenes de manipulación de ficheros
De ASO

Las órdenes de manipulación de ficheros permiten realizar determinadas operaciones sobre ficheros ordinarios. Algunas de estas operaciones permitirán mostrar el tipo de un fichero, ver su contenido, crearlos, copiarlos, etc.

Contenido

touch

Linux incluye una orden que nos permite crear un fichero de 0 bytes si éste no existía. En cuyo caso, lo que hace es actualizar las fechas del fichero. La orden es touch y su sintaxis es:

touch <fichero>

donde <fichero> identifica el fichero que queremos crear o actualizar.

more

Son diversas las órdenes que existen para visualizar el contenido de un fichero. Algunas de estas órdenes son more, cat, tail, head. Estudiemos cada una de estas órdenes.

La orden more visualiza un fichero de texto pantalla a pantalla. Su sintaxis es la siguiente:

more [<fichero>]

donde <fichero> identifica el fichero que queremos visualizar.

Por ejemplo, si deseamos ver todas las cuentas que hay en el sistema, podemos hacer lo siguiente:

$ more /etc/passwd

cat

La orden cat permite visualizar el contenido de uno o más ficheros, sin paradas, a través del dispositivo de salida por defecto, la pantalla. En algunos sistemas se puede detener la imagen pulsando <CTRL+S>, y continuar pulsando <CTRL+Q>. Veamos la sintaxis de esta orden:

cat [<fichero>...]

donde <fichero> identifica el fichero a visualizar. Si deseamos ver el contenido de varios ficheros, éstos deberán separarse por espacios en blanco. Veamos un ejemplo:

$ cat .profile .exrc

pg

La orden pg permite paginar la salida. Si el fichero que vamos a visualizar tiene más de 24 líneas, pg visualizará las 23 primeras y presentará en la línea 24 un carácter: para solicitar una orden. Dos posibles órdenes son:

  • pulsar <retorno> para ver la siguiente página.
  • abandonar la ejecución de pg, pulsando “q”.

tail

La orden tail permite examinar el final de un fichero. Su sintaxis es:

tail [+|-<número>] <fichero>

Por defecto visualizará las diez últimas líneas del fichero <fichero>, pero es posible modificar dicho número usando la opción <número>. Si le antecede un +, la cuenta comenzará por la primera línea mientras que si le antecede un -, la cuenta comenzará por la última línea. Veamos unos ejemplos:

$ tail -3 /etc/passwd
$ tail +10 /etc/group

En el primer ejemplo se visualizan las tres últimas líneas del fichero passwd; mientras que el segundo ejemplo visualiza el fichero group a partir de la línea 10. Si se utiliza la opción +<número>, y el fichero no tiene tantas líneas, no se visualizará nada.

head

La orden head nos permite visualizar las diez primeras líneas de un fichero, aunque como en el caso de la orden tail, podemos modificar ese valor. Su sintaxis es la siguiente:

head [-<número>] <fichero>

La opción -<número> indica la cantidad de líneas a visualizar del fichero <fichero>. Como ejemplo, veamos cómo se pueden visualizar las primeras 20 líneas de un fichero:

$ head -20 /etc/tempcap

mv

Si lo que queremos es mover o renombrar un fichero, la orden que nos permite realizar esta operación es mv (MoVe). Dependiendo de lo que queramos hacer, su sintaxis será:

mv <fichero1> <fichero2> 

o

mv <fichero>... <directorio>

El primer caso se utilizará para renombrar el fichero <fichero1> por el nombre de fichero especificado en <fichero2>. En el segundo caso, mv se utiliza para mover el fichero <fichero> al directorio <directorio>. Se puede mover más de un fichero a la vez. Veamos unos ejemplos:

$ mv mensaje_01 mesj.01
$ mv moises/mbox  erik

cp

La primera orden nos permite cambiar el nombre del fichero mensaje_01; y en el caso de que existiese mesj.01 éste cambiaría su contenido por el de mensaje_01. Con la segunda orden, movemos el fichero mbox del directorio moises al directorio erik. El sistema operativo incluye la orden cp (CoPy) para copiar ficheros. La copia se puede realizar en el mismo directorio, en cuyo caso no puede tener el mismo nombre, o copiarlo en un directorio distinto. La sintaxis para esta orden es la siguiente:

cp <fichero1> <fichero2> 

o

cp <fichero>... <directorio>

El primer caso se utiliza para copiar el fichero <fichero1> en el mismo directorio donde se encuentra éste. Unix no permite tener dos ficheros con el mismo nombre en el mismo directorio, por lo que se necesita indicarle un nombre distinto. Por tanto necesitamos utilizar <fichero2> para indicar otro nombre al fichero. Si la copia se realiza a otro directorio, se utiliza la segunda forma. El argumento <directorio> indicará el directorio destino de la copia. cp permite copiar varios ficheros a otro directorio. Por ejemplo, si deseamos copiar en el directorio actual el fichero motd y renombra el fichero llamándole mensaje, escribiríamos lo siguiente.

$ cp /etc/motd mensaje

Estamos suponiendo que en el directorio actual no existía un subdirectorio llamado mensaje, en cuyo caso, esta orden hubiera copiado el fichero motd en dicho subdirectorio. De cualquier forma, después de realizar la copia, el modo del fichero es el mismo que tenía el fichero original.

rm

Para borrar uno o más ficheros de un directorio se utiliza la orden rm (ReMove). En el caso de que uno de los ficheros a suprimir estuviese protegido contra escritura, rm le informaría del modo real del fichero, y esperaría una respuesta: si pulsa y procede a borrarlo y si pulsa cualquier otra tecla no lo borrará. Su sintaxis es:

rm [ifr] <fichero>....

La opción -i (Interactiva) lo utiliza rm para pedir confirmación de cada uno de ficheros que va a borrar, independientemente de que esté o no protegido. La opción -f se puede utilizar si se quiere forzar la supresión de ficheros aunque estén protegidos. La opción -r permite borrar el contenido del directorio actual, y de los posibles subdirectorios que existan a partir de él (de forma recursiva).

ln

Unix permite que un fichero o directorio pueda ser referenciado desde el mismo o desde distinto directorio más de una vez. Esto permite no tener duplicados ficheros o directorios y se puede emplear, por ejemplo, para compartir información entre grupos de usuarios. La forma de conseguirlo es mediante la orden ln. Su sintaxis es:

ln [-s] <fichero>

Hay dos tipos de enlaces a un determinado fichero especificado con <fichero>, los enlaces fijos y los simbólicos. Los enlaces fijos sólo se hacen a ficheros existentes y dentro del Sistema de ficheros (file system) al que pertenezca el fichero. Para eliminar un fichero, se tienen que eliminar todos los enlaces fijos (incluyendo el primer nombre que se le dio al fichero). Los enlaces simbólicos se realizan con la opción -s. Es una entrada de directorio especial que apunta a otro fichero existente. El fichero puede estar en otro sistema de ficheros. Si se elimina el fichero al que apunta, no afecta ni altera al propio enlace simbólico.



Libro Recomendado

HACKERS. APRENDE A ATACAR Y A DEFENDERTE
Ver fichaVer ficha
Comprar libroComprar