Capítulo 6: Operación de sistemas de archivos

Publicado por P. Ruiz en

Operaciones más comunes con archivos y directorios

Los sistemas de archivos permiten realizar muchas operaciones con los objetos que contienen (archivos o directorios), independientemente de que estemos trabajando con ellos desde la interfaz gráfica o desde la línea de comandos.

A continuación hablaremos un poco más en detalle de ambos.

Operaciones más comunes con directorios

Para referirnos a las acciones que podemos realizar sobre los directorios, comenzaremos diferenciando entre los ámbitos de la interfaz gráfica o de la línea de comandos.

Trabajar con directorios desde la interfaz gráfica

Independientemente del sistema operativo con el que estemos trabajando, lo más habitual es que haciendo clic, con el botón derecho del ratón, sobre el nombre de un directorio, aparezca un menú de contexto con las operaciones más frecuentes que podemos realizar con él. Esto es lo que ocurre tanto en el caso de Windows como en el de Ubuntu.

Aún así, en el caso de Windows 11, se resume la cantidad de información que muestra el menú y, para ver todas sus posibilidades, deberemos elegir la opción Mostrar más opciones.

También podemos usar la combinación de teclas Mayús + F10.

http://somebooks.es/wp-content/uploads/2022/SOM/atrib04

Al hacerlo, aparecen el resto de operaciones disponibles,

… como Cortar, Copiar, Eliminar, Cambiar nombre, etc.

http://somebooks.es/wp-content/uploads/2022/SOM/atrib05

En el caso de Ubuntu, inicialmente el menú de contexto es más extenso, pero contiene ya todas sus opciones.

… Entre ellas, las mismas que hemos mencionado para Windows.

http://somebooks.es/wp-content/uploads/2022/SOM/atrib06

Trabajar con directorios desde la línea de comandos

Todos los sistemas operativos disponen de órdenes para la línea de comandos que permiten administrar los distintos elementos gestionados por el sistema de archivos que utilicen.

En el caso de Windows, como ya hemos dicho en otras ocasiones, disponemos de dos intérpretes de comandos diferentes, luego también tendremos órdenes distintas en cada uno de ellos, que nos permitan realizar las operaciones más comunes.

A continuación, vamos a nombrarlas en cada uno de ellos:

  1. cmd logoComandos para la línea de comandos clásica de Windows (CMD):

    • mkdir (podemos abreviarlo como md): Crea un directorio o subdirectorio. Un ejemplo de uso básico sería este:

      mkdir \tareas
    • chdir (podemos abreviarlo como cd): Sin argumentos, muestra la ruta actual. Si indicamos una ruta, la convierte en la ruta actual. Un ejemplo de uso básico sería:

      chdir \tareas
    • dir: Muestra una lista de los archivos y subdirectorios del directorio actual o de la ruta que especifiquemos como argumento. Un ejemplo sencillo sería:

      dir \copia
    • tree: Muestra gráficamente la estructura de directorios de una ruta. Por ejemplo, podríamos usarlo así:

      tree c:\
    • rmdir (podemos abreviarlo como rd): Elimina un directorio especificado como argumento. Por ejemplo, podemos usarlo así:

      rmdir \copia
  2. PowerShell logoCmdlets para la línea de comandos avanzada (PowerShell):

    • New-Item: Crea un nuevo elemento. El tipo de elemento depende del contexto.

      En el sistema de archivos puede crear archivos o carpetas, mientras que en el registro crea claves y entradas. Opcionalmente permite establecer el valor inicial del elemento creado.

      Por ejemplo, podemos usarlo así para crear una carpeta:

      New-Item -Path "c:\" -Name "scripts" -ItemType "directory"
    • Set-Location: Establece un valor para la ruta actual. También se utiliza para ubicaciones en el árbol del Registro. Por ejemplo, podríamos usarlo como sigue:

      Set-Location C:
    • Get-ChildItem: Obtiene los elementos de una o varias ubicaciones especificadas.

      Con el argumento Recurse obtendremos el contenido de todos los contenedores secundarios (por ejemplo, subcarpetas) de la ubicación inicial.

      Por ejemplo, podemos usarlo del siguiente modo:

      Get-ChildItem -Path C:\scripts
    • Remove-Item: Elimina uno o varios elementos. Puede eliminar muchos tipos diferentes de elementos, como archivos, carpetas, claves del Registro, variables, alias y funciones.

      Por ejemplo, podemos eliminar una carpeta usando el siguiente formato:

      Remove-item -Path C:\scripts

En Ubuntu, podemos utilizar diferentes intérpretes de comandos, pero quizás el más extendido sea Bash.

Bash logoLos comandos más comunes que podemos utilizar en Bash para manejar archivos son estos:

  • mkdir: Crea directorios. Usando el argumento -p crea los elementos de la ruta que aún no existan. Por ejemplo:

    mkdir -p /scripts
  • cd: convierte la ruta que indiquemos en la ruta actual. Un ejemplo de uso básico sería:

    cd /scripts
  • rmdir: Elimina un directorio especificado como argumento. Por ejemplo, podemos usarlo así:

    rmdir /scripts
  • ls: Muestra una lista de los archivos y subdirectorios del directorio actual o de la ruta que especifiquemos como argumento. Por ejemplo, podemos ver el contenido de nuestro directorio home con la siguiente orden:

    ls ~
  • pwd: Muestra el directorio actual. Por ejemplo:

    pwd

En todos los casos, podemos utilizar los caracteres comodín que hemos explicado más arriba.

Operaciones más comunes con archivos

Como nos ha ocurrido con los directorios, los sistemas de archivos nos permiten realizar muchas operaciones con los archivos que contienen, tanto si estamos trabajando desde la interfaz gráfica como si lo hacemos desde la línea de comandos. Veamos a continuación las más destacadas.

Trabajar con archivos desde la interfaz gráfica

Como en el caso de los directorios, los sistemas operativos más extendidos suelen permitir que, haciendo clic con el botón derecho del ratón sobre el nombre de un archivo, obtengamos un menú de contexto con las operaciones más frecuentes que podemos realizar con él. De nuevo, esto podemos aplicarlo tanto en el caso de Windows como en el de Ubuntu.

No obstante, como con los directorios, Windows 11 resume la cantidad de información que muestra el menú y necesitamos hacer clic sobre la opción Mostrar más opciones, para obtener todas sus posibilidades.

Como antes, también podemos usar la combinación de teclas Mayús + F10.

http://somebooks.es/wp-content/uploads/2022/SOM/atrib01

Así obtenemos el resto de operaciones disponibles.

… como Cortar, Copiar, Eliminar, Cambiar nombre, etc.

http://somebooks.es/wp-content/uploads/2022/SOM/atrib02

En cuanto a Ubuntu, su menú de contexto muestra desde el principio todas las opciones disponibles.

… Entre ellas, las mismas que hemos mencionado para Windows.

http://somebooks.es/wp-content/uploads/2022/SOM/atrib03

Trabajar con archivos desde la línea de comandos

Como en el caso de los directorios, los sistemas operativos facilitan órdenes para la línea de comandos que permiten administrar los archivos almacenados en su sistema de archivos.

De nuevo, en el caso de Windows, nos encontramos con los dos intérpretes de comandos habituales y, por consiguiente, con sus órdenes específicas para realizar las operaciones más comunes.

A continuación, vamos a nombrarlas en cada uno de ellos:

  1. cmd logoComandos para la línea de comandos clásica de Windows (CMD):

    • copy: Copia uno o varios archivos de una ubicación a otra. Un ejemplo de uso básico sería este:

      copy archivo1.odt archivo2.odt
    • xcopy: Copia archivos y directorios, incluidos los subdirectorios. Un ejemplo básico de su uso podrías ser:

      xcopy \tareas \copia
    • rename (podemos abreviarlo como ren): Cambia el nombre de los archivos o directorios. Por ejemplo, podríamos usarlo así:

      rename borrador.odt informe.odt
    • move: Mueve uno o varios archivos de un directorio a otro directorio. Un ejemplo básico de uso sería:

      move \documentos\informe.odt \trabajo\trimestre_1\
    • erase (podemos abreviarlo como del): Elimina uno o varios archivos. Podemos usarlo, de un modo básico, así:

      erase archivo1.odt

      Para eliminar todos los archivos de un directorio:

      erase \documentos
    • type: Muestra el contenido de un archivo de texto. Por ejemplo, podemos usarlo así:

      type archivo2.odt

    Además, si necesitas crear un archivo, puedes usar ordenes, pensadas con otros fines, que pueden ofrecer, como salida, un archivo de texto. Por ejemplo, las siguientes:

    • Copiar lo que se obtenga de la consola (teclado), a un archivo de destino:

      copy CON archivo
    • Redirigir un texto destinado a la pantalla, para que se guarde en un archivo:

      echo "Texto" > archivo

      En realidad, podemos redirigir la salida de cualquier comando a un archivo de texto. Por ejemplo:

      dir > archivo
  2. PowerShell logoCmdlets para la línea de comandos avanzada (PowerShell):

    • Copy-Item: Copia un elemento de una ubicación a otra. Por ejemplo:

      Copy-Item "C:\scripts\creacuentas.ps1" -Destination "C:\Backup"
    • Rename-Item: Cambia el nombre de un elemento sin afectar a su contenido. Un ejemplo podría ser:

      Rename-Item -Path "C:\scripts\creacuentas.ps1" -NewName "crea_cuentas.ps1
      "
    • Move-Item: Mueve un elemento, incluidas sus propiedades, contenido y elementos secundarios, de una ubicación a otra. Por ejemplo:

      Move-Item -Path C:\borrador.txt -Destination E:\Def\notas.txt
    • New-Item: Lo hemos explicado en el apartado relativo a los directorios. En el caso de usarlo para crear un archivo, podríamos escribir albo así:

      New-Item -Path . -Name "archivo.txt" -ItemType "file"

      Y si necesitáramos asignarle un valor inicial, podríamos usar lo siguiente:

      New-Item -Path . -Name "archivo.txt" -ItemType "file" -Value "Texto del archivo"
    • Remove-Item: Lo hemos explicado en el apartado relativo a los directorios. En el caso de usarlo para eliminar un archivo, podríamos escribir albo así:

      Remove-Item C:\scripts\*.*
    • Get-Content: Obtiene el contenido del elemento indicado. Por ejemplo:

      Get-Content -Path "C:\scripts\creacuentas.ps1"
      

Igual que en el apartado anterior, en Ubuntu, usaremos como intérprete de comandos de referencia Bash.

Bash logoLos comandos más comunes que podemos utilizar en Bash para manejar archivos son estos:

  • rm: Elimina uno o varios archivos. Podemos usarlo, de un modo básico, así:

    rm demo.txt
    
  • touch:Crea un archivo vacío. Por ejemplo:

    touch /scripts/ejemplo.sh
    
  • cat: Muestra el contenido de un archivo de texto. Por ejemplo, podemos usarlo así:

    cat /scripts/ejemplo.sh
  • cp: Copia uno o varios archivos de una ubicación a otra. Un ejemplo de uso básico sería este:

    cp info.txt info.bak
  • mv: cambia de ubicación o de nombre archivos o directorios. Por ejemplo, para cambiar de nombre podríamos hacer algo como esto:

    mv info.bak info.old

    Y si lo que queremos es mover el archivo a un lugar diferente, haríamos algo así:

    mv info.bak ~/Documentos/info.bak

En todos los casos, podemos utilizar los caracteres comodín que hemos explicado más arriba.

Aquí solo pretendemos dar una muestra de las posibilidades de la línea de comandos respecto al manejo de directorios.

Si necesitas más información sobre los comandos para CMD mencionados, o sobre cualquier otro, puedes consultar la documentación oficial de Microsoft en: https://docs.microsoft.com/es-es/windows-server/administration/windows-commands/windows-commands.

En el caso de PowerShell, la documentación oficial de sus cmdlets se puede consultar en : https://docs.microsoft.com/es-es/powershell/module/microsoft.powershell.management/?view=powershell-7.2.

Y, por último, para obtener más información sobre cualquier comando de Bash, puedes consultar los manuales oficiales, que se encuentran en numerosos sitios de Internet. Por ejemplo: https://ss64.com/bash/.

Actividad 1: Comandos de CMD y caracteres comodín

Comienza descargando el archivo comodines.zip en tu máquina virtual de Windows y descomprimiéndolo en una carpeta de tu disco, creada con ese objetivo. Contiene los archivos que usaremos para la actividad.

Después, en la información incluida más arriba, identifica los comandos que te permiten copiar y eliminar archivos en la línea de comandos clásica de Windows (CMD).

A continuación, investiga la sintaxis de dichos comandos, que te permita resolver las siguientes tareas. Para lograrlo debes utilizar los caracteres comodín que hemos explicado este capítulo.

Las tareas a resolver son estas:

  1. Copiar, con una sola orden, en cualquier otra carpeta de tu ordenador, todos los archivos que contengan 6 caracteres o más en su nombre.

  2. Copiar, con una sola orden, en cualquier otra carpeta de tu ordenador, todos los archivos cuya segunda letra sea una ‘o’.

  3. Copiar, con una sola orden, en cualquier otra carpeta de tu ordenador, todos los archivos que comiencen por ‘c’ y terminen por ‘ra’.

  4. Copiar, con una sola orden, en cualquier otra carpeta de tu ordenador todos los archivos que comiencen por ‘c’, terminen por ‘ra’ y contengan solamente cuatro caracteres (si no te funciona como te esperabas, explica el motivo y cómo lo has resuelto).

  5. Observando la lista de nombre de los archivos, elimina, con una sola orden, todos los archivos que no terminen en ‘ra’.

Documenta tanto la sintaxis de los comandos empleados como las conclusiones que puedas extraer de los resultados.

Actividad 2: Cmdlets de PowerShell y caracteres comodín

Partiendo del archivo comodines.zip de la actividad anterior, y de la carpeta que creaste con su contenido, vuelve a resolver la Actividad 1, pero utilizando cmdlets de PowerShell.

Es muy importante que documentes al final, tanto la sintaxis de los cmdlets empleados como las conclusiones que puedas extraer de los resultados.

Actividad 3: Comandos de Bash y caracteres comodín

Descarga el archivo comodines.zip en tu máquina virtual con Ubuntu y descomprimiéndolo en una carpeta de tu disco, creada con ese objetivo.

A continuación, vuelve a resolver la Actividad 1, pero utilizando comandos de Bash.

Es muy importante que documentes al final, tanto la sintaxis de los comandos utilizados como las conclusiones que puedas extraer de los resultados.