La memoria que maneja el sistema operativo tiene limitaciones importantes, dos de ellas son la escasa cantidad de información que se puede almacenar en un espacio de direcciones, la otra es la volatilidad de los datos. La solución a este problema es almacenar la información en dispositivos de almacenamiento no volátil como son los discos duros, discos ópticos, etc.

El almacenamiento de la información se lleva a cabo mediante archivos (también llamados ficheros). Un archivo se define como conjunto de datos almacenados en un dispositivo de almacenamiento, un ejemplo es una imagen fotográfica que consiste en un conjunto de bits con un formato.

En general, los sistemas operativos distinguen entre estos tipos de archivos:

  • Normales: los archivos pueden contener cualquier tipo de información, en algunos casos pueden ser programas que una vez ejecutados pasan a ser procesos. Dentro de los archivos normales podemos encontrar archivos ejecutables, de audio, de imágenes, de vídeo, comprimidos, etc.
  • Directorios: son archivos que contienen información sobre la organización y estructura de otros archivos.
  • Especiales: estos archivos permiten comunicarse con dispositivos de E/S (archivos especiales de caracteres) o con discos (archivos especiales de bloques).

Es más sencillo utilizar archivos que tratar con el disco duro directamente. El sistema operativo gestiona los archivos mediante el sistema de archivos.

El sistema de archivos se puede definir como un conjunto de normas y procedimientos para almacenar información en los dispositivos de almacenamiento.

Los sistemas de archivos permiten organizar los datos en los dispositivos de almacenamiento siguiendo una serie de normas y restricciones. Un sistema de archivos se implanta después de crear una partición en un dispositivo de almacenamiento (disco duro, USB, CD/DVD, etc.).

Algunas características de los sistemas de archivos son:

  • Cada sistema operativo utiliza su propio sistema de archivos.
  • Un sistema operativo con un sistema de archivos no tiene por qué leer otro sistema de archivos de otro sistema operativo distinto.

El sistema de archivos que se utiliza actualmente en Windows es NTFS (New Technology File System, Sistema de archivos de nueva tecnología) es el sistema de archivos que utiliza Windows 2000, xP, Vista, 7, Server 2003 y Server 2008. Es un sistema de archivos que se desarrolló para la versión NT de Windows, admite 255 caracteres y los nombres pueden estar codificados en Unicode.

Los archivos tiene propiedades, algunas propiedades que tienen los archivos:

  • Nombre: sirve para identificar un archivo, la mayoría de los sistemas operativos permiten utilizar nombres de hasta 255 caracteres, algunos sistemas operativos hacen distinciones entre minúsculas y mayúsculas, por ejemplo, un fichero con el nombre Trabajo y otro con el nombre trabajo son considerados en Windows como el mismo archivo. En el caso de haber dos ficheros o más con el mismo nombre en el mismo sistema de archivos, éstos deben estar en ubicaciones distintas.
  • Extensión: la extensión sirve para saber el tipo de programa que lo ejecuta o interpreta, algunos sistemas operativos como Windows utilizan extensiones.
  • Tipo de archivo: pueden dividirse en normales, directorios o especiales.
  • Ubicación: lugar del sistema de archivos donde se encuentra un archivo.
  • Tamaño: cantidad de bytes que ocupa un fichero en el sistema de archivos.
  • Fecha de creación, modificación y último acceso: para cada archivo indica la fecha en que ha sido creado, modificado y la última vez que se accedió a él.
  • Atributos: son propiedades que permiten asignar características especiales a los archivos, algunos ejemplos son atributos de sólo lectura, de archivo, de sistema, ocultar, cifrar, comprimir, etc.
  • Permisos: se utilizan para permitir o restringir el acceso a los archivos a determinados usuarios o grupos. Los permisos pueden ser para: leer, modificar, eliminar, renombrar, etc.

Ejemplos

Mostrar información sobre archivos

Mostrar archivos ocultos


Discos

Los dispositivos de almacenamiento tienen una estructura física y una estructura lógica. La estructura física de los discos viene de fábrica y son los platos, las caras, las pistas y los sectores. La estructura lógica consiste en implantar sobre la estructura física un sistema de archivos mediante el formato.

Cmdlet que muestra información sobre discos físicos

Dar formato es crear un sistema de archivos en un dispositivo de almacenamiento, así se prepara al dispositivo para guardar información.

Antes de dar formato a un disco, éste se puede dividir en partes y cada una de ellas albergará particiones, este proceso de división del disco de denomina particionado.

Las particiones pueden ser:

  • Partición primaria: desde donde se inicia el sistema operativo, contiene el sector de arranque.
  • Partición extendida: se comporta como una unidad primaria y se utiliza para almacenar información. Dentro de este tipo de unidad se pueden añadir particiones lógicas que ocupan una parte o el total de dicha partición.

La forma de nombrar los dispositivos de almacenamiento depende del sistema operativo, en el caso de Windows, la disquetera, el CD, el DVD, los USB y las particiones del disco duro reciben un nombre que consiste en una letra del alfabeto seguida de dos puntos.


Ejemplo

Ver el tipo de tabla de particiones


  • Discos físicos

Información sobre discos físicos

Cmdlet

Parámetros y alias de los parámetros


Ejemplo

Mostrar información sobre los discos


Crear una partición

Cmdlet

Parámetros y alias de los parámetros


Ejemplo

Crear una partición


Dar formato

Cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Dar formato a la unidad f


  • Discos virtuales

Crear discos virtual

Cmdlet


Ejemplo

Crear un disco virtual de 1GB


Montar un disco virtual

Cmdlet


Ejemplo

Montar un disco virtual que se ha creado anteriormente


  • Particiones

Listar particiones del sistema

Cmdlet

Parámetros y alias de los parámetros

Obtener información lógica sobre particiones

Llamada WMI (información lógica sobre los discos como el ID, espacio vacío, tamaño de partición)


Ejemplo

Listar el nombre de las unidades de las particiones


Ejercicios

Comprobar espacio en unidades

Detectar la partición sobre la que se ha instalado el sistema operativo

El sistema operativo se instala sobre una partición teniendo en cuenta el espacio del disco porque luego crece el sistema operativo.


  • Cifrado

Los discos se pueden cifrar en Windows con BitLocker.

Habilitar BitLocker en un disco

Cmdlet

Parámetros y alias de los parámetros


Ejemplo

Habilitar BitLocker en el disco f


Deshabilitar BitLocker en un disco

Cmdlet

Parámetros y alias de los parámetros


Ejemplo

Deshabilitar BitLocker en el disco f


  • La ruta

Hay varias formas de nombrar a los sistemas por la organización de los directorios:

  • Sistemas de directorios de un solo nivel: sólo hay un directorio y contiene todos los archivos.
  • Sistemas de directorios jerárquicos: un directorio puede incluir otros directorios y archivos.

Dentro de una estructura de directorios, el directorio actual es en el que está un usuario por defecto (el carácter “.” representa el directorio actual) o en el que se encuentra en un momento determinado. Si queremos saber el directorio donde nos encontramos en Linux, se utiliza el comando pwd, y si utilizamos PowerShell en Windows, ejecutamos el comando Get-Location o pwd.

Para obtener la ubicación de trabajo actual se utiliza el cmdlet

Alias

Parámetros y alias de los parámetros

El directorio padre es el que está por encima del directorio en el que se encuentra un usuario (el carácter “..” representa el directorio padre).

Para llamar a un archivo dentro de una estructura de directorios se utiliza el concepto de ruta. Se define como una concatenación de directorios y subdirectorios desde el directorio raíz (es donde empieza la estructura de directorios) hasta el directorio donde está el archivo.

Hay dos tipos de rutas: ruta absoluta y ruta relativa. La ruta absoluta es la forma de llamar a un archivo desde el directorio raíz hasta el archivo, un ejemplo de ruta absoluta en Windows es C:\Users\Juan\ejemplo.txt, dependiendo del sistema de archivos podemos tener el carácter “\” o “/”.

Otra forma de llamar a un archivo es mediante una ruta relativa que consiste en nombrar al archivo respecto al directorio actual, un ejemplo de ruta relativa en Windows es ..\User\Juan\ejemplo.txt.


Ejercicio

Encontrar y localizar la ruta de un fichero


  • Permisos

Los permisos se utilizan para permitir o restringir el acceso a los archivos a determinados usuarios o grupos. Los permisos pueden ser para: leer, modificar, eliminar, renombrar, etc.

En los sistemas de archivos suele compartirse información con otros usuarios, esto hace necesario controlar el acceso a los archivos. Un permiso indica qué cosas puede hacer un usuario o grupo de usuarios en cualquier archivo, por ejemplo, uno de texto.

Los permisos se pueden agregar o denegar a un usuario o grupo se usuarios. En este apartado se muestran los seis permisos estándar para el sistema de ficheros NTFS:

  • Control total. Cuando se aplica este tipo de permiso a un archivo, éstos se pueden leer, escribir, cambiar y eliminar; también se pueden cambiar permisos en los archivos. En el caso concreto del tipo de archivo carpeta, significa que se permite leer, escribir, cambiar y eliminar.
  • Modificar. En el caso de los archivos se pueden leer, escribir, cambiar y eliminar, con este permiso no se pueden modificar los permisos. En el caso concreto de las carpetas, se puede leer, escribir, cambiar y eliminar ficheros y subcarpetas.
  • Lectura y ejecución. Se puede acceder a los ficheros y ejecutarlos. En el caso de las carpetas, se puede ver el contenido de una carpeta y ejecutar.
  • Lectura. Se puede ver el contenido de los archivos pero no se pueden ejecutar. En el caso de las carpetas se puede acceder al contenido.
  • Escritura. Cuando se aplica a los archivos quiere decir que se pueden modificar pero no eliminar. En el caso de las carpetas se pueden añadir ficheros y subcarpetas.
  • Mostrar el contenido. En el caso de los archivos de tipo carpeta se puede mostrar el contenido que hay en ellos. Además de estos permisos estándar, también existen los permisos especiales.

Los permisos pueden ser: permisos explícitos y permisos heredados.

Los permisos explícitos son aquellos que se establecen de forma predeterminada en archivos que no son secundarios cuando son creados por el usuario.

Los permisos heredados son los que se propagan a un archivo desde un archivo primario.

De forma predeterminada, los objetos de un contenedor heredan los permisos desde ese contenedor cuando se crean los objetos. Por ejemplo, cuando se crea la carpeta ejemplo, todas las subcarpetas y archivos creados en la carpeta ejemplo heredan de forma automática los permisos de la misma. De esta manera, la carpeta ejemplo tiene permisos explícitos, mientras que las subcarpetas y los archivos heredan los permisos.


Ejemplo

Obtener los descriptores de seguridad de todos los ficheros de una unidad


Archivos

El almacenamiento de la información se lleva a cabo mediante archivos (también llamados ficheros). Un archivo se define como conjunto de datos almacenados en un dispositivo de almacenamiento, un ejemplo es una imagen fotográfica que consiste en un conjunto de bits con un formato.

Las operaciones que se pueden realizar con cmdlets son:

  • Obtener archivos

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Fecha de creación de archivos

Mostrar archivos ocultos de forma recursiva


Ejercicios

Listar archivos abiertos recientemente

Listar Cookies

Obtener un listado de todos los ficheros EXE que hay en el sistema


  • Crear archivos

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros

El parámetro –Path ruta indica la ubicación del archivo dentro de la estructura del sistema de archivos. El parámetro –Name nombre especifica el nombre del archivo. El parámetro –ItemType file indica que es un archivo (“file”) y no un directorio ni cualquier otro elemento. El parámetro –Value “datos” incorpora contenido al fichero.

Otros parámetros que se pueden añadir al cmdlet son:

  • Credential. Especifica una cuenta de usuario que tenga permiso para realizar una acción, por defecto el valor es el usuario actual. Este parámetro tiene sentido cuando se intenta crear un archivo en un equipo de la red.
  • Force. Permite al cmdlet crear un elemento que escribe sobre un elemento existente de solo lectura, en ningún caso se pasan por alto las restricciones de seguridad.
  • Confirm. Pide confirmación antes de ejecutar el cmdlet.
  • WhatIf. muestra un mensaje en el que se describe la ejecución del cmdlet.

Ejemplo

Crear un archivo


  • Enviar la salida de un comando a un fichero

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Almacenar contenido en un fichero


  • Almacenar contenido en un fichero

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Almacenar contenido en un fichero


  • Agregar contenido a un fichero

Agrega contenido a un fichero pero no borra el contenido que ya tenía.

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Agregar la palabra FIN a todos los ficheros txt


  • Vaciar el contenido de un fichero

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Vaciar el contenido de un fichero


  • Vaciar el contenido de un item

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Vaciar el contenido de un fichero


  • Ver el contenido de un fichero

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplos

Ver el contenido de un fichero

Ver la última línea de un fichero


  • Importar el contenido de un fichero separado por comas

Nombre del cmdlet

Parámetros y alias de los parámetros


Ejemplo

Importar un fichero y almacenarlo en una variable


  • Importar el contenido de un fichero XML

Nombre del cmdlet

Parámetros y alias de los parámetros


Ejemplo

Importar un fichero XML y almacenarlo en una variable


  • Exportar contenido a un fichero separando por comas

Nombre del cmdlet

Parámetros y alias de los parámetros


Ejemplo

Exportar la información sobre los procesos que se están ejecutando y almacenarla en un fichero separado por comas


Ejercicio

Crear un array y exportar el contenido a un fichero separado por comas


  • Exportar contenido a un fichero XML

Nombre del cmdlet

Parámetros y alias de los parámetros


Ejemplo

Exportar la información sobre los procesos que se están ejecutando y almacenarla en un fichero XML


  • Copiar ficheros

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Copiar un fichero


  • Eliminar un fichero

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplos

Eliminar un fichero

Eliminar varios ficheros de forma recursiva


  • Mover un fichero

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Mover un fichero a otra ubicación (a la carpeta llamada nueva)


  • Renombrar

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Cambiar el nombre a un fichero

Renombrar varios ficheros de texto


  • Imprimir

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Imprimir un fichero en la impresora PDF


  • Comprimir

Nombre del cmdlet

Parámetros y alias de los parámetros


Ejemplo


  • Añadir un archivo un fichero comprimido

Nombre del cmdlet


Ejemplo


  • Descomprimir

Nombre del cmdlet

Parámetros y alias de los parámetros


Ejemplo


  • Permisos

En PowerShell hay un cmdlet que obtiene las listas de control de acceso (ACL) de un archivo. La lista ACL indica los permisos que tienen los usuarios y los grupos de usuarios para obtener acceso al recurso. Una vez que obtenemos la lista de control podemos asignarla a otros archivos.

Nombre del cmdlet que sirve para ver permisos

Parámetros y alias de los parámetros

En el parámetro –Path archivo hay que incluir la ruta del archivo y el nombre del archivo del que vamos a obtener los permisos.

Nombre del cmdlet que sirve para establecer permisos

Parámetros y alias de los parámetros

En el parámetro –Path archivo hay que incluir la ruta del archivo y el nombre del archivo en el que vamos asignar los permisos.


Ejemplos

Ver permisos

Clonar permisos

Crear ACL


  • Realizar función hash sobre un archivo

Las funciones hash sirven para calcular un valor valor único que corresponde al contenido del archivo, el valor hash para un archivo depende del algoritmo utilizado.

El valor hash sobre el fichero cambia en el momento en el que se cambia el contenido del archivo.

El cmdlet que sirve para realizar funciones hash es

Parámetros y alias de los parámetros

Los algoritmos que se pueden utilizar para realizar la función hash son:

  • SHA1
  • SHA256
  • SHA384
  • SHA512
  • MACTripleDES
  • MD5
  • RIPEMD160

Ejemplo

Realizar la función hash SHA512 sobre un fichero


Directorios

Las operaciones que se pueden realizar con cmdlets son:

  • Crear un una carpeta

Nombre del cmdlet

Alias


Ejemplo

Crear un directorio


  • Cambiar de directorio

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Acceder a la carpeta scripts dentro de la unidad d


  • Listar el contenido de un directorio

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Ver el contenido de la carpeta scripts


  • Copiar carpetas

Nombre del cmdlet

Alias


Ejemplo

Copiar una carpeta


  • Borrar carpetas

Nombre del cmdlet


Ejemplo

Eliminar la carpeta scripts1


  • Mover carpetas

Nombre del cmdlet


Ejemplo

Mover una carpeta


  • Renombrar carpetas

Nombre del cmdlet


Ejemplo

Cambiar el nombre a una carpeta


  • Comprimir

Nombre del cmdlet


Ejemplo


  • Añadir un archivo al directorio comprimido

Nombre del cmdlet


Ejemplo


  • Descomprimir

Nombre del cmdlet


Ejemplo


  • Permisos

Nombre del cmdlet que sirve para ver permisos

En el parámetro –Path directorio hay que incluir la ruta del directorio del que vamos a obtener los permisos.

Nombre del cmdlet que sirve para establecer permisos

En el parámetro –Path directorio hay que incluir la ruta del directorio en el que vamos asignar los permisos.


Ejemplos

Ver permisos

Clonar permisos

Crear ACL


Ejercicio

Eliminar permisos explícitos en un directorio

Eliminar permisos explícitos

Permisos no cambiadosPermisos cambiados


  • Compartir una carpeta

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros


Ejemplo

Crear carpeta compartida y asignar permisos


  • Ver carpetas compartidas

Nombre del cmdlet

Alias

Parámetros y alias de los parámetros

Cmdlet con llamada WMI que muestran información sobre las carpetas compartidas


Ejemplo

Ver carpetas compartidas


  • Ver recursos compartidos

Nombre del cmdlet