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.Existen varios sistemas de achivos:
  • Sistema de archivos transaccional, se utiliza un registro diario, los datos nunca se sobrescriben, y ninguna secuencia de operaciones se compromete de forma que sea definitiva en caso de fallo.
  • Sistema de archivos distribuidos, permite que los directorios localizados en cualquier lugar de la red sean visualizados como un árbol de directorios único.
  • Sistema de archivos cifrado, permiten a los usuarios almacenar sus datos en el disco de forma cifrada.
  • Sistema de archivos virtual, el objetivo de dicho sistema de archivos es que las aplicaciones tengan acceso a distintos tipos de archivos de una manera uniforme.
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.
Hay una característica importante a la hora de hablar de nombres de ficheros y es la utilización de comodines en los nombres:
  • *: Uno o más caracteres, por ejemplo *.exe, el asterisco indica que se trata de cualquier cosa que tenga extensión .exe.
  • ?: Un caracter, por ejemplo ?uan.exe, la interrogación indica que empieza por cualquier letra y el resto ha de coincidir con «uan». Se puede utilizar varias veces el carácter ?.

Ejemplos
Mostrar información sobre archivosMostrar 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ísicosDar 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

CmdletParámetros y alias de los parámetros
Ejemplo
Mostrar información sobre los discos

Crear una partición

CmdletParámetros y alias de los parámetros
Ejemplo
Crear una partición

Dar formato

CmdletAliasPará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

CmdletPará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 unidadesDetectar la partición sobre la que se ha instalado el sistema operativoEl 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

CmdletParámetros y alias de los parámetros
Ejemplo
Habilitar BitLocker en el disco f

Deshabilitar BitLocker en un disco

CmdletPará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 cmdletAliasParámetros y alias de los parámetrosEl 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 cmdletAliasParámetros y alias de los parámetros
Ejemplo
Fecha de creación de archivosMostrar archivos ocultos de forma recursiva
Ejercicios
Listar archivos abiertos recientementeListar CookiesObtener un listado de todos los ficheros EXE que hay en el sistema

Crear archivos

Nombre del cmdletAliasParámetros y alias de los parámetrosEl 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 cmdletAliasParámetros y alias de los parámetros
Ejemplo
Almacenar contenido en un fichero

Almacenar contenido en un fichero

Nombre del cmdletAliasPará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 cmdletAliasPará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 cmdletAliasParámetros y alias de los parámetros
Ejemplo
Vaciar el contenido de un fichero

Vaciar el contenido de un item

Nombre del cmdletAliasParámetros y alias de los parámetros
Ejemplo
Vaciar el contenido de un fichero

Ver el contenido de un fichero

Nombre del cmdletAliasParámetros y alias de los parámetros
Ejemplos
Ver el contenido de un ficheroVer la última línea de un fichero

Importar el contenido de un fichero separado por comas

Nombre del cmdletPará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 cmdletPará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 cmdletPará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 cmdletPará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 cmdletAliasParámetros y alias de los parámetros
Ejemplo
Copiar un fichero

Eliminar un fichero

Nombre del cmdletAliasParámetros y alias de los parámetros
Ejemplos
Eliminar un ficheroEliminar varios ficheros de forma recursiva

Mover un fichero

Nombre del cmdletAliasParámetros y alias de los parámetros
Ejemplo
Mover un fichero a otra ubicación (a la carpeta llamada nueva)

Renombrar

Nombre del cmdletAliasParámetros y alias de los parámetros
Ejemplo
Cambiar el nombre a un ficheroRenombrar varios ficheros de texto

Imprimir

Nombre del cmdletAliasParámetros y alias de los parámetros
Ejemplo
Imprimir un fichero en la impresora PDF

Comprimir

Nombre del cmdletParámetros y alias de los parámetros
Ejemplo

Añadir un archivo un fichero comprimido

Nombre del cmdlet
Ejemplo

Descomprimir

Nombre del cmdletPará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 permisosParámetros y alias de los parámetrosEn 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 permisosParámetros y alias de los parámetrosEn 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 permisosClonar permisosCrear 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 esParámetros y alias de los parámetrosLos 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 cmdletAlias
Ejemplo
Crear un directorio

Cambiar de directorio

Nombre del cmdletAliasPará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 cmdletAliasParámetros y alias de los parámetros
Ejemplo
Ver el contenido de la carpeta scripts

Copiar carpetas

Nombre del cmdletAlias
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 permisosEn 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 permisosEn el parámetro –Path directorio hay que incluir la ruta del directorio en el que vamos asignar los permisos.
Ejemplos
Ver permisosClonar permisosCrear ACL
Ejercicio
Eliminar permisos explícitos en un directorioEliminar permisos explícitosPermisos no cambiadosPermisos cambiados

Compartir una carpeta

Cuando hablamos de compartir archivos y carpetas, nos referimos principalmente al el sistema de archivos en red que se utiliza, los sistemas de archivos se definen como un conjunto de normas y procedimientos para almacenar información en los dispositivos de almacenamiento. En el caso de los sistemas de archivos en red las normas y procedimientos además de afectar al almacenamiento también afectan a la transmisión por red.Nombre del cmdletAliasParámetros y alias de los parámetros
Ejemplo
Crear carpeta compartida y asignar permisos

Ver carpetas compartidas

Nombre del cmdletAliasParámetros y alias de los parámetrosCmdlet con llamada WMI que muestran información sobre las carpetas compartidas
Ejemplo
Ver carpetas compartidas

Ver recursos compartidos

Nombre del cmdlet