Linux/Unix Shell Scripting - No acabo de entender /dev/null alguien me lo puede explicar?

 
Vista:
sin imagen de perfil

No acabo de entender /dev/null alguien me lo puede explicar?

Publicado por Ley (1 intervención) el 26/05/2016 13:56:11
Hola,

Como indica el título no logro entender los redireccionamientos a /dev/nul, no se cuando hay que ponerlo dentro del script.

El profesor nos redacto la practica que esta mas abajo del script para hacer y es lo que he podido hacer todo bien a la hora de ejecutarlo pero no me logra de crear las careptas que le pido con mkdir me salta que no tengo permisos:

¿Donde le tengo que dar persmisos dentro del script? o en el terminal?

Es mi primer script de linux.

Les estaría my agradecida si son tan amables de explicarmelo para lograr entender los redireccionamientos a /dev/nul.
Y como le doy permisos para que me crea las carpetas.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#!/bin/bash
 
#Borrar directorios
echo se va a proceder a borrar temporal y copias
rm -R /home/temporal
rm -R /home/copias
 
#Dormir el script
sleep 3
 
#Almacenar en las variables los nombres de fichero recogidos por teclado con read
echo introduce el nombre del primer fichero:
read fichero1
echo introduce el nombre del segundo fichero:
read fichero2
echo introduce el nombre del tercer fichero:
read fichero3
 
#Crear directorio temporal
echo Se va a crear el directorio temporal en /home
mkdir /home/temporal
 
#Crear ficheros en /home/temporal
echo Se va a proceder a crear los ficheros en /home/temporal
touch /home/temporal/$fichero1
touch /home/temporal/$fichero2
touch /home/temporal/$fichero3
 
#Crear la carpeta /home/copias
echo Se va a crear el directorio /home/copias
mkdir /home/copias
 
#Copiar ficheros de /home/temporal a /home/copias con el prefijo copia-*
echo Se va a copiar los ficheros de /home/temporal a /home/copias con el prefijo copia-
cp /home/temporal/$fichero1 /home/copias/copia-$fichero1
cp /home/temporal/$fichero2 /home/copias/copia-$fichero2
cp /home/temporal/$fichero3 /home/copias/copia-$fichero3
 
#Resumen
echo se han creado los 3 ficheros en /home/temporal y las copias en /home/copias
echo este script ha sido ejecutado desde la siguiente ubicacion
pwd
echo fin de fichero.


EJERCICIO. Read /



Crea un script llamado “read1.sh”. Este script se encargará de crear tres ficheros (cuyo nombre sera recogido con “read”) en una carpeta llamada “temporal” dentro del directorio home del usuario. Esta carpeta deberá crearse dentro del scritp. Luego se copiarán estos tres ficheros dentro de la carpeta “copias” en home (tambien hay que crearlo), con el nombre “copia-nombre del fichero”. Finalmente se mostrará un mensaje con la informando de que ha sucedido y donde se ha creado/copiado todo (usar el comando pwd). Pasos detallados:

Eliminar las carpetas “temporal” y “copias” del home del usuario si existen.
Mostrar mensaje informando de lo que va a ocurrir.
Dormir el script durante 3 segundos.
Recoger los nombres de los tres ficheros a crear (read).
Crear la carpeta “temporal” en el home (informar al usuario)
Crear los tres ficheros (informar al usuario)
Crear la carpeta “copias” en el home
Crear las copias de seguridad.
Mostrar un resumen de lo sucedido (usar el comando pwd para informar desde donde se ejecuto el script”:
“Script ejecutado: nombre que se encuentra en ruta
“Se han creado los fichero…. Y las carpetas….etc

Los mensajes que no queramos que aparezcan los redireccionamos a /dev/null y ponemos los mensajes que nosotros queramos con “echo”. Usar tantos “sleep” como se desee.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder