0% encontró este documento útil (0 votos)
218 vistas11 páginas

Optimización de Contenido para SEO

1. El documento explica cómo escribir y ejecutar scripts de Bash en Linux. Incluye pasos para dar permisos de ejecución y ejecutar el script. 2. Se describen características de Bash como comentarios, variables, comparaciones y estructuras de control como condicionales y bucles. 3. Se proporciona una lista de comandos Linux importantes para archivos, directorios, usuarios y procesos.

Cargado por

keidel1967
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
218 vistas11 páginas

Optimización de Contenido para SEO

1. El documento explica cómo escribir y ejecutar scripts de Bash en Linux. Incluye pasos para dar permisos de ejecución y ejecutar el script. 2. Se describen características de Bash como comentarios, variables, comparaciones y estructuras de control como condicionales y bucles. 3. Se proporciona una lista de comandos Linux importantes para archivos, directorios, usuarios y procesos.

Cargado por

keidel1967
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

1.

Cmo ejecutar scripts Bash Para escribir en Bash puedes hacerlo directamente desde la consola/terminal de GNU/Linux, sin embargo, su mayor potencia radica en poder escribir scripts y ejecutar piezas de cdigo para automatizar tareas. Aqu muestro paso a paso un ejemplo. 1.1. Escribe un script Bash Abre tu editor de textos favoritos y escribe el siguiente cdigo. viewplaincopytoclipboardprint? . #!/bin/bash . echo "Hola mundo" Gurdalo como [Link] (la extensin no importa pero sta es renococida por muchos editores de texto) . 1.2. Dale permisos Para lanzar el script Bash, dle permisos de ejecucin. Para ello escribe en tu terminal/consola de comandos: chmodu+x [Link] Recuerda ejecutar este comando y los siguientes en la misma carpeta/directorio donde se encuentra [Link] 1.3. Ejectalo Lanza el script ejecutando en tu terminal/consola: ./[Link] Si no ha habido ningn problema se ejecutar el script de Bash mostrando la frase Hola mundo. 2. Caractersticas Bash Aqu se mostrarn las caractersticas de dicho intrprete de comandos o shell de GNU. Recuerda que los comandos son las acciones a ejecutar desde la consola/terminal Linux. En la siguiente seccin hay una recopilacin de ellos. 2.1. Comentarios

Los comentarios en Bash se hacen lnea a lnea con el smbolo #. viewplaincopytoclipboardprint? . #!/bin/bash . .# . # Hola Mundo comentado .# . . echo "Hola mundo" 2.2. Variables Las variables no tienen tipo, es decir, una variable puede contener una cadena, un nmero, etc. sin necesidad de definirlo. La sintaxis es: nombre_variable=valor_variable Es obligatorio no dejar espacios antes o despues del simbolo = ya que sino Bash interpretara la variable como un comando Linux. Para acceder a una variable simplemente escribe como prefijo $ en el nombre de la variable. echo $varname Un ejemplo sencillo: viewplaincopytoclipboardprint? . #!/bin/bash . . # Asignacin y salida de variables . . mivariable= "Me llamo Nacho" . echo $mivariable 2.2.1. Paso de variables Cuando ejecutas desde tu terminal/consola tienes la posibilidad de pasarle ms argumentos. Por ejemplo: ./[Link] hola 4

Para recoger estos valores escribe $ y a continuacin el nmero de posicin del argumento pasado. El primer argumento tiene valor $1, que sera hola, y el segundo argumento sera $2, en el ejemplo sera el nmero 4. La variable $0 es el propio nombre del archivo. viewplaincopytoclipboardprint? . #!/bin/bash . .# . # Paso de variables .# . . echo "Tu primer argumento es" $1 . echo "Tu segundo argumento es" $2 Tambin hay que destacar que $? guarda el valor de salida del ltimo comando ejecutado. $* almacena todos los argumentos y $# es el nmero de argumentos pasados. 2.3. Comparaciones y/o expresiones Los condicionales y bucles se rigen mediante la evaluacin de una expresin. Por eso lo primero es saber cmo programar en Bash las evaluaciones de una expresin. La evaluacin de una expresin da como resultado verdadero o falso. Si la comparacin o evaluacin de la expresin es verdadera se ejecutar el bucle o la condicional, si es falsa la evaluacin no se ejecutar. En Bash, la sintaxis es la siguiente: test expresin [ expresin ] Un ejemplo de expresin sera [ 3 -eq 5 ] que comprueba si el valor 3 es igual a 5. Como es incorrecto, el valor que devuelve es falso. Los smbolos [ y ] tienen que estar obligatoriamente separados por un espacio. 2.3.1. Comparaciones numricas numero1 -eq numero2 : 'numero2'. numero1 -ge numero2 : 'numero2'. numero1 -gt numero2 : 'numero2'. numero1 -le numero2 : 'numero2'.

Devuelve

verdadero

si

'numero1'

es

igual

Devuelve verdadero si 'numero1' es igual o mayor a Devuelve verdadero si 'numero1' es mayor a Devuelve verdadero si 'numero1' es igual o menor a

numero1 -lt numero2: 'numero2'. numero1 -ne numero2 : 'numero2'. 2.3.2. Comparaciones de cadenas

Devuelve verdadero si 'numero1' es menor a Devuelve verdadero si 'numero1' no es igual a

cadena1 = cadena2 : Devuelve verdadero si 'cadena1' es idntica a 'cadena2'. cadena1 != cadena2 : Devuelve verdadero si 'cadena1' no es idntica a 'cadena2'. cadena1 : Devuelve verdadero si 'cadena1' es nulo (no significa que su longitud sea cero). -n cadena1 : Devuelve verdadero si la longitud de caracteres de 'cadena1' es mayor que cero. -z cadena1 : Devuelve verdadero si la longitud de caracteres de 'cadena1' es cero. 2.3.3. Comparaciones de ficheros -d nombrefichero : Devuelve verdadero si el fichero es un directorio. -f nombrefichero : Devuelve verdadero si el fichero es un archivo. -r nombrefichero : Devuelve verdadero si el fichero puede ser ledo. -w nombrefichero : Devuelve verdadero si el fichero puede ser escrito. -x nombrefichero : Devuelve verdadero si el fichero es ejecutable. 2.3.4. Comparaciones de expresiones !expresin: Devuelve verdadero si la expresin no se cumple. expresin1 -a expresin2: Devuelve verdadero si la expresin1 y la expresin2 se cumplen (tambin vale &&). expresin1 -o expresin2: Devuelve verdadero si la expresin1 o la expresin2 se cumplen (tambin vale ||).

2.4. Condicionales En programacin, una sentencia condicional es una instruccin que se pueden ejecutar o no en funcin del valor de una expresin. En Bash, las condicionales ms populares son los siguientes: 2.4.1. If Then if [ expresin ] then comandos fi 2.4.2. If Then Else

if [ expresin ] then comandos else comandos fi 2.4.3. If Then Elseif Else if [ expresin1 ] then comandos elif [ expresin2 ] then comandos else comandos fi 2.4.4. Case case cadena in cadena1 ) comandos ;; cadena2 ) comandos ;; *) comandos ;; esac Se comprueba cadena. Si concuerda con cadena1 se ejecutar los comandos correspondientes hasta llegar a ;;. Lo mismo ocurre con cadena2. Si cadena no coincide con cadena1 o cadena2 entonces se ejecutar *. Se puede aadir tantas cadenas de verificacin como uno desee. 2.5. Bucles Un bucle repite los comandos que uno ha escrito tantas veces hasta que la expresin se verifique. 2.5.1. For Existen muchas maneras de realizar un bucle for en Bash. Yo slo uso sta: for (( inicializador; condicin; incremento )) do comandos done

Su sintaxis es casi idntica a C. Aqu un ejemplo: viewplaincopytoclipboardprint? . #!/bin/bash . for (( c=1; c<=5; c++ )) . do . echo "Bienvenido $c veces..." . done 2.5.2. While while [ expresin ] do comandos done 2.5.3. Until until [ expresin ] do comandos done

3. Comandos Linux Lista de comandos ms importantes segn la Wikipedia. 3.1. Ayuda man: muestra manual del comando que le indiquemos. --help: da una ayuda de los comandos. 3.2. Archivos y directorios ls: lista los archivos y directorios. sort: ordena alfabticamente una lista de archivos.

cd: cambio de directorio. pwd: muestra la ruta al directorio actual. tree : muestra la estructura de directorios y archivos en forma grfi ca. mkdir: crea un directorio. rmdir: borro directorios. rm -r: borra directorios no vacos. cp: copia archivos. rm: borra archivos. mv: mueve o renombra archivos y directorios. cat: ve el contenido de uno o varios archivos. more : ve el contenido de los archivos. less: ve el contenido de los archivos. split: dividir archivos. find: busca archivos. locate : localiza archivos segn una lista generada. updatedb : actualiza la lista de los archivos existentes. whereis: muestra la ubicacin de un archivo. file : muestra el tipo de archivo. whatis: muestra descripcin del archivo. wc: cuenta lneas palabras o caracteres en un archivo. grep: busca un texto en archivos. head: muestra el inicio de un archivo. tail: muestra el final de un archivo. tailf: muestra el final de un archivo y lo que se aada en el instante (logs). tr: reemplaza caracteres en un fichero de texto. sed: cambia una cadena de caracteres por otra. join: cruza la informacin de dos archivos y muestra las partes que se repiten. paste : toma la primera lnea de cada archivo y las combina para formar una lnea de salida. uniq: elimina lneas repetidas adyacentes del archivo entrada cuando copia al archivo salida. cut: sirve para seleccionar columnas de una tabla o campos de cada lnea de archivo. ln: crea enlaces a archivos o carpetas. diff: muestra las diferencias entre dos archivos. fuser: muestra que usuario tiene en uso o bloqueado un archivo o recurso. tar: empaqueto archivos. gzip: comprime archivos gz. gunzip: descomprime archivos gz. compress : comprime archivos Z. uncompress : descomprime archivos Z. chmod: cambio permisos a archivos y directorios. chown: cambio de propietario. chgrp: cambio de grupo. vi: abre el editor de texto vi. pico: edita un fichero de texto. 3.3. Usuarios adduser : agreg nuevo usuario. useradd : agreg nuevo usuario.

userdel: borra un usuario. passwd: permite cambiar la contrasea. su: cambio de usuario. whoami: muestra el nombre de usuario. logname : muestra el nombre de usuario. id: muestra datos de identificacin del usua rio. finger: da informacin de usuario. chfn: cambia la informacin del finger. who: muestra los usuarios del sistema. w: muestra un detalle de los usuarios. last: informacin de los ltimos usuarios que han usado el sistema. mail: programa de correo. pine : lector de correo en modo texto. write: manda un mensaje a la pantalla de un usuario. mesg: activo o desactivo recibir mensajes. wall: mensaje a todos los usuarios. talk : establecer una charla con otro usuario. banner: saca letrero en la pantalla. set: da informacin sobre el entorno del usuario. addgroup : agreg nuevo grupo. groupadd : agreg nuevo grupo. chown: cambia el propietario de un fichero. 3.4. Procesos top: muestra los procesos que se estn ejecutando y permite matarlos. ps: muestra la lista de procesos del usuario. psaux : muestra la lista de procesos de la mquina. kill: mata proceso por ID. killall: mata proceso por nombre. time : mide el tiempo que tarda un proceso en ejecutarse. fg: trae a primer plano un proceso parado o en segundo plano. bg: pone un proceso en segundo plano. &: colocado al final de la lnea de comando ejecuta en segundo plano. nice : ajusta la prioridad de un proceso de -20 a 19. 3.5. Discos mount: monta un disco. umount: desmonta un disco. df: muestra el espacio libre de los discos. du: muestra el espacio usado por el disco o un directorio. mkfs: formateo un disco. fsck : estado del disco. fdisk : gestin de particiones. 3.6. Red netstat: muestra estado de la red. ifconfig : muestra la configuracin del dispositivo de red. iwconfig: muestra la configuracin del dispositivo de red inalmbrico. nmap: escanea la red y muestra los puertos que se encuentran disponibles.

ping: indica si hay respuesta por parte del servidor. nslookup : me da la IP de nuestro servidor DNS. telnet: me conecto a un equipo remotamente. netconf: configuro la red. ntop: muestra los procesos de la red. route -n: muestra la tabla de rutas. 3.7. Sistema rlogin: se conecta a otra mquina de forma remota (remotelogin). rsh: se conecta a otra mquina de forma remota (remoteshell). ftp: se conecta a otra mquina por el protocolo ftp. reboot: reinicia la mquina. halt: apaga el sistema. shutdown: apaga el sistema. init0 : apaga la mquina. init6 : reinicia la mquina. uptime : muestra el tiempo transcurrido de encen dida la mquina. exit: cierro sesin actual. logout: salgo del sistema. nohup: proporciona inmunidad frente a rupturas de comunicacin.. dmesg : muestra mensajes del arranque del ordenador. history: muestra todos los comandos digitados por el usuario. uname : da informacin del sistema operativo. tee : copia la entrada estndar a la salida estndar y a un archivo. host: muestra la direccin IP del servidor en una red local. hostname : muestra el nombre del servidor. umask : muestra y permite cambiar la mscara de usuario. chroot: cambia la raz para que root ejecute algo en forma particular. chsh: cambia el loginshell. free : estado de la memoria. date : muestra fecha y hora actual. cal: muestra calendario. clear: borro la pantalla. at: ejecuta un comando ms tarde. env: ver variables de entorno. export: permite el uso de variables por programas en todos los caminos del usuario. modprobe : cargo modulo. startx : arranca el servidor X. xev: muestra los eventos de las teclas y el ratn. lspci: muestra los perifricos conectados al puente pci. lsmod: muestra los modulos cargados en el sistema. echo: escribe un mensaje en la salida estndar. alias : crear un alias. Un comando largo abreviado en pocas letras. unalias : borrar un alias. bc : calculadora. mc : ejecuta MidnightCommander. xkill: mata una ventana grfica. rpm: instala los paquetes rpm RedHat. dpkg: instala los paquetes debDebian.

kernelcfg : manejo los modulos cargados en el kernel. insmod : inserta modulos en el kernel. rmmod: elimina modulos del kernel. updatedb : actualiza la base de datos interna de archivos. sh: cambia al bashshell. setxkbmap : por si no funcionan las teclas con AltGr en modo X.

4. Ejemplos Introducir dos nmeros diferentes e indicar cul es el mayor viewplaincopytoclipboardprint? . #!/bin/bash . echo "Introducir dos nmeros:" . read A . read B . if [ $A -gt $B ] . then . echo $A "es el mayor" . else . echo $B "es el mayor" . fi Pasar dos nmeros como parmetros e indicar el menor viewplaincopytoclipboardprint? . #!/bin/bash . echo $# . if [ $# -ne 2 ] . then . echo "Falta algn parmetro" . elif [ $1 -eq $2 ] . then . echo "Son iguales"

. elif [ $1 -lt $2 ] . then echo $1 "es menor" . . else echo $2 "es menor" . . fi Ver los procesos que est ejecutando un usuario concreto viewplaincopytoclipboardprint? . #!/bin/bash . RES=s . while [ $RES = s ] . do . echo "Introducir nombre de usuario:" . read USU ps aux|grep $USU . . echo "Desea continuar?" . read RES . done Mostrar los usuarios que pasamos como parmetros y saber si estn conectados viewplaincopytoclipboardprint? . #!/bin/bash . for i in $* . do . if who|grep -s $i>/dev/null . then . echo $i si est conectado . else . echo $i no est conectado . fi . done

cu0001u0002u0003u0004u0005u0001u0006u0007u0006b	
u000bfu0001
bfu000eu000f

u0001u0010u000b
u0011u0001
u0012u000bfu000bu0001u0006
bfu000eu0013u000efu0001u0006u0014u0001u0010u000b
u0011u0001u000f	u0006u0015u0006
u0001u0011u000bbu0006fu0016u0005u0001u0015u000efu0006b
u000bu0004u0006u0014
u0006u0001u0015u0006
u0015u0006u0001u0016u000bu0001bu0005u0014
u0005u0016u000bu0017
u0006fu0004u000eu0014u000bu0016u0001u0015u0006u0001u0018u0019u001au0017u001bu000eu0014	u001cu001du0001
u000eu0014u0001u0006
u001bu0005
u0001bu0005u0004u0006u0014
u000bfu000eu0005
u0001u0006u0014u0001u0010u000b
u0011u0001
u0006u0001u0011u000bbu0006u0014u0001u0016%u0014u0006u000bu0001u000bu0001u0016%u0014u0006u000bu0001bu0005u0014u0001u0006u0016u0001
%u0004u0013u0005u0016u0005u00010u0001
ðu0001u0002u0003u0004u0005u0006u0007bu0003	
bu0007u0004u0003u000bbu0005f
u0003fu0006
u000eu000f
‘u0015u0001u0002u0003u0004u0005u0002u0003u0006u0007b			
‘u0015			
‘u0015			
‘u0015	u000e
u0012u000bfu000bu0001fu0006bu0005u001eu0006fu0001u0006
u0005
u0001(u000bu0016u0005fu0006
u0001u0006
bfu000eu0013u0006u0001u0016u0001u001fu0001u000bu0001bu0005u0014
u000eu0014	u000bbu000eu0003u0014u0001u0006u0016u0001u00142u0004u0006fu0005u0001u0015u0006u0001u000fu0005
u000ebu000eu0003u0014u0001u0015u0006u0016u0001u000bfu001e	u0004u0006u0014
u0005u0001u000fu000b
u000bu0015u0005u0001&u0016u0001u000ffu000eu0004u0006fu0001
u000bfu001e	u0004u0006u0014
u0005u0001
u000eu0006u0014u0006u0001(
2u0001u0004u0005u0006u0002u0007u000b„u00022u0001u0004u0005	-u0015
u0001u0002u0003u0001u0004u0002u0001u0015 u0002u0001u0005u0006u0007u0006u0001u0005bu0015 	
u0015 u000bfu0003
u0001u0005bu000eu000bu0015 u0001	u0015 
u0001fbu0005u0015 u0007u0015
u000bfu0003
u0001u0005bu0010u000bu0011u0015
2u0001u0004u0005u0006u0002u00072u00022u0001u0004u0005	-u0015 u0001u0002u0003u0001u0004u0002u0001u0015 u0002u0001u0005u0006u0007u0006u0001u0005bu0015 	
u0015 u000bfu0003
u0001
u0010u000fu0002ùu0002pu0001u0002pu0003u0004u0005u0006u0002u0003u0002
„u00022u0002
	
u000bfu0006
u0003u0002
u000bu0001u0002
	
u000bfu0006
u0003u0002
u000fu0010u0015
-;1u0001='u0001>u0001u0011u0006u0014u0001>u0001&u0016
u0006u000e'u0001>u0001&u0016
u0006u0001
u0010u000fu0002ùu0002pu0001u0002pu0003u0004u0005u0006u0007u0002u0003u0002
„u00022u0002
	
u000bfu0006
u0003u0002
u000bu0010u000fu0002ùu0002pu0001u0002pu0003
3	u0001
u000eu0014
u000bu001cu000e
u0001u0006
u0001bu000b
u000eu0001u000eu0015+u0014
u000ebu000bu0001u000bu0001u0002u0001#$	%u0001	u0014u0001u0006u0007u0006u0004u000fu0016u0005/u0001
ðu0001u0002u0003u0004u0005u0006u0007bu0003	
bu0007u0004u0003u000bbu0005f
u0003fu0006
u000eu000f
‘u0015u0001u0002u0003u0004u0005u0002u0003u0006u0007b			
‘u0015u0006u0001	##	u000bu001b!$	u000b%u001b&$	u000b''	((			
‘
Vu0001-u0015u0013u0007
u001f
bu0015u0006u0001u0015u0006
u0005u0001u0013u0016bu0005
bu0011u0015
u0017u0011u0001-u0015
u0003u0001	u0016u0005u0007u0015u0004u0007u0015u0005u0003u0016u0007u0015u0007u0004u0015u0006
u0005u0001u0013u0016bu0005
bu0015u0007u0013u0016u0003u0007u0004u0011 u0015
„u0004-u0015
u0003u0001	u0016u0005u0007u0015u0004u0007u0015u0001	u0016u0005u0003u0013u0016u0003u0005u0007u0015u0006u0001u0015u0006
u0005u0001u0013u0016bu0005
b	u0015u0012u0015u0007u0005u0013u001b
u0002b	u0015u0001
u0001u0004u0001u000b-u0015u001fbu0005u0005u0007u0015u0003fu0015u0003	u0003u0007u0005
bu0011u0015
u0017u0001u0001u0011u0001-u0015u001cu0001u0005
u0016u0001u0015u0013u0007
u001f
u0007u0005u0015u0004u0007u0015u0013bfu0016u0005u0007	u0001%u0007u0011u0015
u0001-u0015u0013u0007
u001f
bu0015u0006u0001u0015u0003	u0003u0007u0005
bu0011u0015
u0011u0002u0005u0001u0010-u0015
u0003u0001	u0016u0005u0007u0015u0001u0004u0015fb
u001fu0005u0001u0015u0006u0001u0015u0003	u0003u0007u0005
bu0011u0015
u0017u00102
-u0015
fu0006
u0013u0007u0015	
u0015u001bu0007u0012u0015u0005u0001	u001cu0003u0001	u0016u0007u0015u001cbu0005u0015u001cu0007u0005u0016u0001u0015u0006u0001u0004u0015	u0001u0005u0002
u0006bu0005u0011 u0015
2u0001u000bu0005u0005u0003u0017-u0015
u0001u0015u0006u0007u0015u0004u0007u0015'+u0015u0006u0001u0015fu0003u0001	u0016u0005bu0015	u0001u0005u0002
u0006bu0005u0015,.u0011u0015
„u000b2„-u0015
u0001u0015u0013bfu0001u0013u0016bu0015u0007u0015u0003fu0015u0001
u0003u00042u000bVu000f
-u0015
u0007fu0001u001ebu0015u0004b	u0015
bu0006u0003u0004b	u0015u0013u0007u0005u000fu0007u0006b	u0015u0001fu0015u0001u0004u00155u0001u0005fu0001u0004u0011u0015
u00102u0001u0001u0005u0001-u0015
f	u0001u0005u0016u0007u0015
bu0006u0003u0004b	u0015u0001fu0015u0001u0004u00155u0001u0005fu0001u0004u0011u0015
u0004u0001u0001u0005u0001-u0015u0001u0004

fu0007u0015
bu0006u0003u0004b	u0015u0006u0001u0004u00155u0001u0005fu0001u0004u0011

También podría gustarte