Dentro del directorio ssoo que debe estar en el directorio raíz de la unidad C: crea los siguientes directorios: windows, gnulinux, macos, android y ios.
No es necesario crear el directorio que contiene el resto primero, se encarga mkdir
Dentro del directorio C:\ssoo\Windows crea los directorios W7, W8, W10 y W11.
Dentro del directorio C:\ssoo\gnulinux crea los directorios LinEx, Debian y ubuntu
Muestra el árbol de directorios del directorio C:\ssoo
Si queremos podemos consultar la ayuda del comando tree.
Usando variables de entorno
La variable dst contiene una ruta. Vamos a utilizar esta variable en el comando mkdir para crear una serie de directorios dentro de esa ruta escribiendo mucho menos.. Vamos a crear: WXP, W7, W8, W10.
¿Habrá funcionado?
Las variables nos ayudan a evitar errores humanos y a minimizar el trabajo que tenemos que hacer.
Imagina que nos piden crear todos esos directorios, es decir WXP, W7, W8, W10, dentro del directorio C:\ssoo\backup\windows. ¿Qué harías?
Vamos a aprovechar la variable dst y vamos a reutilizar gracias al hitorial de comandos, con los cursores, el comando que acabamos de ejecutar.
Variables de entorno: distintos entornos distintas variables
Si creamos una variable de entorno con set en una terminal, esta variable tan solo tendrá vigencia dentro de la terminal en la que la hemos creado.
Es más, cuando se lanza una terminal se cargan las variables de entorno de usuario y de sistema definidas en ese momento. Si se crean nuevas variables de entorno del usuario o del isstema o se modifican, estos cambios no se reflejan en las terminales que ya estuvieran abiertas.
Lanzamos una nueva terminal sin cerrar la que estamos usando.
En la terminal 1 está definida la variable dst por eso la shell es capaz de sustituir o expandir %dst% por su valor. En la terminal 2 no está definida la variable dst, por eso el interprete de comandos no puede obtener su valor y no sustituye la cadena %dst% por nada.
Creando un fichero: redirecciones simples
Cuando un comando muestra información al usuario lo hace a través de la pantalla. En realidad cuando se muestra información los programas y comandos lo hacen a la salida estándar. La salida estándar es una salida que por defecto se utiliza para mostrar información al usuario. Esta salida está configurada por el sistema operativo.
Nosotros podemos cambiar la salida estándar al ejecutar un comando y podemos redireccionarla a un fichero. En realidad lo que vamos a hacer es indicar al sistema operativo que en lugar de mostrar la salida del comando en la pantalla, que almacene dicha salida en un fichero. Si el fichero no existe, lo creará. Si el fichero existe, con la redirección que vamos a usar ahora, lo sobrescribirá.
La redirección de sobrescritura se utiliza con el símbolo de mayor al final del comando y después se escribe la ruta del fichero dónde se guardará la salida del comando.
Comando > ruta del fichero
Si ejecutamos ese comando no se muestra nada en pantalla, porque lo que se tendría que mostrar en pantalla se ha guardado en el fichero saludo.txt.
Otro ejemplo…
Podemos usar la ruta del fichero que queramos
Si ejecutamos estos dos comandos seguidos, ¿qué contendrá el fichero?.
El segundo comando, el echo, ha sobrescrito el contenido del fichero porque hemos utilizado una redirección de sobrescritura. Vamos a utilizar otro tipo de redirección si queremos añadir la salida de un comando al final del fichero. Esta rediracción de adicción se especifica con una doble redirección, es decir >>
Algunos comandos de gestión de ficheros y directorios
Crea un fichero llamado listado.txt dentro del directorio C:\ssoo cuyo contenido sea el arbol de directorios del directorio C:\ssoo.
Si me piden crear un fichero cuyo contneido será la salida de algún comando, tenemos que pensar en redirecciones. «Crea un fichero llamado listado.txt…»
«..dentro del directorio C:\ssoo» Nos están indicando la ruta del fichero dónde se almacenará la información. C:\ssoo\listado.txt Ya tenemos la ruta absoluta del fichero.
«…cuyo contenido sea el arbol de directorios del directorio C:\ssoo« tenemos que pensar cómo mostraríamos en pantalla el árbol de directorios del directorio C:\ssoo. Usariamos el comando tree y cómo parámetro la ruta del directorio.
Ese comando muestra en pantalla el árbol del directorio C:\ssoo, sin embargo nosotros queremos que se almacene en un fichero. Así que tendremos que usar redirecciones.
¿Qué tipo de redirección? Según el enunciado nos dicen que creemos, por tanto si existe sobrescribimos.
Cambia de directorio al directorio C:\ssoo\windows utiliza rutas relativas.
Para poder usar rutas relativas, lo primero que tenemos que conocer es la ruta del directorio actual. Esta información la podemos obtener del prompt del sistema o bien ejecutando el comando cd sin parámetros.
La ruta relativa sería ..\..\ssoo\windows. Ahora usamos el comando cd.
Copia el fichero C:\ssoo\listado.txt al directorio actual con el nuevo nobmre arbol.txt utiliza rutas relativas.
Como siempre, lo primero que tenemos que tener claro a la hora de trabajar con rutas relativas es la ruta del directorio actual. Estamos en C:\ssoo\windows y queremos hacer referencia al fichero C:\ssoo\listado.txt. Este fichero está dentro del directorio padre del directorio actual: ..\listado.txt.
Para copiar un fichero usamos el comando copy, si no recordamos la sintaxis del comando podemos consultarla con el comando help.
Hay que especificar obligatoriamente el Origen, la ruta del fichero o ficheros origen. Si no se especifica destino, se copiará al directorio actual.
Copia el fichero arbol.txt al directorio C:\ssoo\gnulinux\debian. Usa rutas relativas.
Como no nos piden que lo copiemos con otro nombre, podemos poner como destino solo la ruta del directorio donde queremos crear la copia del fichero.
Renombra el fichero C:\ssoo\gnulinux\debian\arbol.txt para que ahora se llame tree.pdf. Utiliza rutas relativas.
El comando que proporciona windows para renombrar es rename, aunque podríamos utilizar si queremos el comando move.
Cuidado, porque al cambiar la extensión del fichero no estamos convirtiendo el contenido del fichero. Este fichero seguirá siendo un fichero de texto plano, solo que hemos cambiado su extensión. Este cambio hará que el sistema operativo piense que el contenido es un PDF peor en realidad no lo es.
Muestra el contenido del fichero ..\gnulinux\debian\tree.pdf utiliza el comando type y rutas absolutas.
Vamos a abrirlo con el notepad.
Mueve el fichero C:\ssoo\gnulinux\debian\tree.pdf al directorio C:\ssoo con el nuevo nombre tree.txt. Utiliza rutas relativas.
Para mover un fichero utilizamos el comando MOVE. Si no recordamos su sintaxis la consultamos con la ayuda del comando help o pasando /? por parámetro al comando move.
Vamos a comprobar que se ha movido
Añade el nombre del usuario actual el fichero tree.txt que está en C:\ssoo. Utiliza rutas relativas. Utiliza variables de entorno.
«Añade el nombre del usuario actual el fichero tree.txt que está en C:\ssoo» Con esto me están indicando que tendré que hacer una redirección posiblemente, además de adicción y la ruta del fichero dónde tengo que añadir la información. La ruta del fichero es C:\ssoo\tree.txt. No obstante, me piden que sea una ruta relativa: ..\tree.txt (directorio actual es C:\ssoo\windows).
«..el nombre del usuario actual..» ¿Cómo mostramos el nombre del usuario actual en pantalla? Además nos indican que utilicemos variables de entorno… la variable de entorno que contiene el nombre del usuario actual es username. Para obtener el valor de una variable de entorno tenemos que escribirla entre símbolos de %.
Usamos el comando echo para que muestre una cadena de texto formada solo por el contenido de la variable username.
Pero nosotros no queremos mostrarla en pantalla, queremos añadirla al fichero ..\tree.txt, así que utilizamos una doble redirección.
Abajo…
Añade al fichero C:\ssoo\tree.txt la fecha y hora actual. Utiliza variables de entorno. Si no sabes cuál usar, consulta la ayuda del comando set.
Vamos al final de la ayuda, dónde se habla sobre variables dinámicas.
Podemos mostrar en pantalla el contenido de las variables con el comando echo.
Ahora hacemos la redirección doble para añadir.
Dejar una respuesta