Buscar este blog

Mostrando entradas con la etiqueta BASH. Mostrar todas las entradas
Mostrando entradas con la etiqueta BASH. Mostrar todas las entradas

viernes, 22 de marzo de 2013

EXAMEN BASH




/home/academia/SI
2 parametros al script
./script param1 param2

#!/bin/bash
if [ $# -ne 2 ]
then
echo "tienes que pasar dos parametros"
exit 1
fi
sudo mkdir /var/www/$1

opcion_menu=0
while [$opcion_menu -ne 1]
do
echo "Pulsa 1: Salir"
echo "Pulsa 2: Mostrar por pantalla parametros"
echo "Pulsa 3: Crear nuevo usuario..."
echo "Pulsa 4: Crear carpetas"

read opcion_menu
case "$opcion_menu" in

*);;
1)echo  "SALIMOS"
;;
2)echo $1 $2;;
3)
echo "DAME USUARIO"
read usuario
sudo adduser usuario
sudo chown usuario /var/www/$1
# o...
sudo chmod 777 /var/www/$1
;;
4)
for x in cat/home/academia/SI/$2
do
mkdir /var/www/$1/$x
for y in cat /home/academia/SI/$x
do
mkdir /var/www/$1/$x/$y
#crear html de cada localidad

done
done
;;
esac
done

viernes, 8 de marzo de 2013

ESTRUCTURA BASH Y COMANDOS BASICOS.


Comandos básicos en la terminal:
ls  --> muestra los archivos en el directorio actual
ls -l --> los muestra en formato lista y detallado
ls -la --> los muestra y tambien muestra los ocultos, que empiezan con un .
(esto es igual que: ls -l -a)
cd --> change directory, cambiar de direcgtorio
mkdir --> crear un directorio
rm --> borrar un archivo o directorio (remove)
mv --> mover un archivo a otro sitio, y si es el mismo sitio es lo mismo que cambiarlo de nombre(move)
cp --> copia un archivo a otro sitio (mantenemos el original)
echo --> mostrar lo que escribamos
touch --> crear un archivo si no existe y si existe le cambiamos la fecha de creación
chmod --> cambiar los permisos
chmod 764
7 en binario 111
6 en binario 110
4 en binario 100
un archivo tiene nueve caracteres de permisos y el primero de directorio (si no es directorio o no tiene permisos al hacer 'ls -l' nos muestra un -)
ej.
ls -l
-rwxrw-r--  1 perro grupo perrera  105 2013-02-12 17:37 ungz.sh
- rwx rw- r--
    7   6    4
el archivo ungz.sh tendría como permisos: 764
si lo cambiamos a
chmod 537 tendríamos
-r-x-wxrwx  1 perro grupo perrera 105 2013-02-12 17:37 ungz.sh
- r-x -wx rwx
- 5     3    7
El primer trio es para el usuario dueño, el segundo para el grupo al que pertenece el archivo y el tercero es para todos los demas
las variables empiezan con un $
tenemos varias variables por defecto:
se pueden ver haciendo:
echo $HOME # por ejemplo
$HOME  (directorio raiz del usuario actual, es el lugar donde tenemos nuestros archivos y en el cual tenemos los permisos para poder hacer lo que queramos)
$PATH (se guarda las direcciones desde las cuales tenemos los programas ejecutables que se pueden usar en el momento, por ejemplo tenemos el /bin, en el cual tenemos el archivo bash que es con el que ejecutamos los scripts que estamos viendo en clase)
$USER (el nombre del usuario actual)
y luego podemos crear variables:
pepe=3
echo $pepe
saldría por pantalla 3
si hacemos:
echo pepe
sale solo pepe, porque no es la variable (que empieza con $) pepe ($pepe)
pepe=pepito
echo $pepe
--> pepito








INTRODUCCION A BASH


Para saber en que carpeta estamos tenemos el comando pwd (print working directory)
Para movernos entre unos directorios y otros tenemos el comando cd:
cd → cambiar de directorio (change directory)
$ → este símbolo señala que estamos en la linea de comandos como usuario normal
# → este símbolo señala que estamos en la linea de comandos como usuario root
┴ → esto significa un espacio en blanco (solo para que lo veáis claro)
$ cd┴.. → “subir” a un directorio superior, por ej:
$ pwd
/home/perro
$cd ..
$pwd
/home
Para cambiar a un directorio podemos o bien poner la ruta absoluta o la relativa:
Absoluta →
cd /home/perro/carpeta_ejemplo
Relativa → si estamos por ejemplo en /home
$ cd perro
$pwd
/home/perro
Para saber que hay en el fichero en el que nos encontramos
$ ls → lista los archivos, con 'ls -l' nos lo muestra en formato lista y con ls -la en formato lista y mostrando tambien los ficheros ocultos.
$cp archivo1 archivo2 → copia el arhivo1 en el archivo2 (no borra el archivo1)
$mv archivo1 archivo2 → mueve el arhivo1 en el archivo2 (archivo1 deja de existir)
$mv * /home/perro → mueve todos los archivos en la direccion actual (si se tienen permisos) a   /home/solvam