Vous êtes sur la page 1sur 21

LINUX

INDICE 1. Instalacin......................................................................2 2. El ncleo y la shell. .......................................................2 3. Programacin Shell Script.............................................3


3.1. Ejecucin de un Shell-Script......................................................................................3 3.2. Finalizar la ejecucin de un Script.............................................................................3 3.3. Ejecucin en Backgroud o segundo plano.................................................................3 3.4. Comentarios................................................................................................................4 3.5. Variables.....................................................................................................................4 3.6. Definicin y Evaluacin de Variables........................................................................4 3.7. Comillas......................................................................................................................5 3.8. Variables de entorno...................................................................................................5 3.9. Argumentos del script en la lnea de comandos.........................................................6 3.10. Variables de Exportacin de Scripts.........................................................................6 3.11. Operaciones Aritmticas...........................................................................................7 3.12. Carcter de escape: ..................................................................................................8 3.13. Estructuras de Control..............................................................................................8 3.14. Cdigos de retorno..................................................................................................10 3.15. COMANDO TEST................................................................................................10 3.16. Rutas o caminos......................................................................................................14 3.17. Prompt o smbolo del sistema.................................................................................15 3.18. Ordenes bsicas.......................................................................................................15 3.19. Ordenes relacionadas con ficheros.........................................................................17 3.20. Redireccionamiento................................................................................................17 3.21. Tuberas...................................................................................................................17 3.22. Metacaracteres........................................................................................................18

4. Conexin de usuarios remotos a un servidor Linux. .18 5. Estructura del Sistema de ficheros.............................18 6. Tipos de archivos.........................................................19 7. Unidades de almacenamiento.....................................19 8. Empaquetar/desempaquetar ficheros.........................19 9. Dividir archivos en varios, trocear..............................19 10. Interfaces de usuario.................................................19 11. Usuarios y grupos......................................................20 ANEXO: ERRORES COMUNES..................................21

Sistemas Mar Ruiz

1/21

LINUX

1. Instalacin
Es necesario disponer como mnimo de dos particiones. Una para el sistema operativo propiamente dicho y otra para la particin de swap (memoria virtual). Esta ltima particin ocupar un espacio en disco de 2*RAM. La primera particin se formatear con un sistema de ficheros ext3 por ejemplo y la segunda con swap. Se pueden realizar distintos tipos de instalacin: Server, Workstation, etc.

2. El ncleo y la shell.
El ncleo es la parte del sistema operativo que sirve para interactuar con el hardware. Un programa realizar al ncleo las denominadas llamadas al sistema. El ncleo que recibe el nombre de Kernel, acta directamente con los elementos fsicos del ordenador, y se carga en memoria al arrancar la mquina. Permanece en ella hasta que esta se apaga. El shell es el intrprete de comandos con el que cuenta el sistema operativo. El shell acta como interfaz de comunicacin entre el usuario y el ordenador, y cuando un usuario se conecta a Linux, automticamente se arranca un shell para que pueda trabajar. Cada usuario conectado al servidor tendr un shell para su uso. En Linux existen distintos intrpretes de comandos, entre otros, nos encontramos los siguientes: Shell Bourne (sh): creado por S. Bourne es el ms utilizado en la actualidad. Es el estndar de AT&T. Su prompt del sistema queda representado por $. C-shell (csh): procedente del sistema BSD. Ofrece caractersticas para los programadores que trabajan con el lenguaje C. El prompt del sistema viene representado por % Shell Korn (ksh): escrito por D. Korn, amplia el shell del sistema aadiendo historia de comandos, edicin de la lnea de ordenes y caractersticas ampliadas de programacin. Bourne Again Shell (bash): fue creado para ser usado en el proyecto GNU. Es compatible con sh, adems incorpora algunas caractersticas tiles de ksh y csh y otras propias como control de trabajos y procesos, etc. Cuando el usuario se conecta al sistema se inicia automticamente un programa shell denominado shell de presentacin. Este shell se carga automticamente cuando se accede al fichero /etc/passwd. Este archivo tiene la informacin que necesita conocer el sistema de cada usuario. En cuanto se inicia la shell de presentacin, se busca el fichero .profile dentro del directorio activo. Este fichero contiene comandos que sirven para personalizar su entorno de trabajo.

Sistemas Mar Ruiz

2/21

LINUX

3. Programacin Shell Script


Un script es un archivo de texto que se pueden escribir usando cualquier editor estndar (vi, gedit, etc). Dentro de un programa shell-script o guin shell, nos podemos encontrar comandos de Linux, variables y sentencias de control del lenguaje script. Se puede escribir varios comandos en una lnea siempre que se separen por ; 3.1. Ejecucin de un Shell-Script Podemos ejecutar los programas shell-script utilizando la orden: sh nombre_de_archivo.sh o tambin: chmod 777 nombre_de_archivo.sh (aadimos los permisos necesarios) ./nombre_de_archivo.sh (si el directorio en el que nos encontramos no esta en la variable path hay que anteponer al nombre del script ./) Para que un archivo script sea ejecutable, deberemos cambiar sus permisos, utilizando el comando chmod. Permisos: rwx (usuario) rwx (grupo) rwx (otros) r => lectura w => escritura x => ejecucin 3 bits => digito octal. Por ejemplo: chmod 777 nombre_script.sh Es conveniente que para identificar los scripts fcilmente, le aadamos al nombre de archivo la extensin .sh. 3.2. Finalizar la ejecucin de un Script Para finalizar la ejecucin de un script o de un comando en Linux, bastar con pulsar las teclas Control+Z, y el programa se detendr automticamente. 3.3. Ejecucin en Backgroud o segundo plano El & al final de un comando o script se utiliza para ejecutar comandos o scripts en segundo plano, devolviendo el control al terminal. Tambin se pueden usar los comando especficos fg y bg.

Sistemas Mar Ruiz

3/21

LINUX

3.4. Comentarios En estos archivos script conviene incluir un comentario que nos indique las tareas que hace el script. Para ello, anteponemos a cada comentario el carcter #. 3.5. Variables En la shell podemos crear programas utilizando variables y asignando valores a estas variables. Ejemplo: Crear una variable llamada nombre dentro de la shell y asignarle un valor. Para referirnos a esa variable, tendremos que anteponer el signo $ y a continuacin la variable, sin dejar espacios en medio. nombre=luis $nombre Las variables se pueden utilizar en operaciones de entrada/salida de datos con los comandos read y echo respectivamente. El comando read sirve para operaciones de entrada, y guarda el valor que introducimos por teclado. Conviene indicar al usuario que introduzca un valor, ya que hasta que el programa no recibe ese valor de entrada, no continuar la ejecucin del programa. Para operaciones de salida, utilizamos el comando echo, ya que repite lo que escribimos a continuacin de l. EJERCICIO Realizar un script que borre la pantalla, muestre el ttulo del programa, pida un dato y repita el valor introducido: clear echo "***************************************" echo " MI PRIMER PROGRAMA EN LINUX echo "***************************************" echo "Introduce un valor: " read numero echo "El numero introducido es "$numero 3.6. Definicin y Evaluacin de Variables Las variables quedan definidas en la shell la primera vez que utilizamos sus nombres, por ejemplo nombre=Luis. Sin embargo, podemos cambiar el valor de esa variable. Si salimos de la shell no se guarda el nombre ni el valor de la variable, por tanto, son variables temporales.

"

Sistemas Mar Ruiz

4/21

LINUX

Una variable tambin podr incluir nmeros, pero no puede incluir valores como el $, &, o espacios. Esto se debe a que la shell utiliza los espacios para analizar los comandos. Con el comando set obtenemos una lista con todas las variables definidas. Si queremos eliminar una variable definida, podemos utilizar el comando unset seguido del nombre de la variable, aunque ser suficiente salir de la shell. EJERCICIO: A=5 set | more unset A set | more 3.7. Comillas texto => el shell toma como tal el texto, excepto el $, \ y (comillas simples) texto => no se interpreta nada entre comillas simples. `texto` => comillas invertidas (habitualmente a la derecha de la tecla p), se usan para alterar el orden de precedencia en las instrucciones. Siempre encierran una orden. Ejemplos: Echo $num Echo $num => mismo resultado que el comando de anterior. Echo $num => visualiza $num, no el contenido de la variable num, es decir, no interpreta $num. Echo Nmero vale $num => interpreta $num num=expr $val + 5 => asigna a num el texto expr, el resto $val + 5, da error porque no sabe interpretarlo. num=`expr $val + 5` => correcto. expr`expr 3 + 5`/2 => es una forma de simular los () pero solamente se puede usar una vez. for usu in `cut f1 d: /etc/passwd` do echo $usu done En el ejemplo anterior si no ponemos `` tomara el comando cut como una lista de palabras. for usu in `who|cut f1 d ` do mail $usu<$1 done 3.8. Variables de entorno. HOME MAIL PS1 PATH directorio de trabajo directorio donde se guarda el correo electrnico del usuario. prompt del sistema. rutas en las que buscar comandos y programas ejecutables.

Sistemas Mar Ruiz

5/21

LINUX

NOTA: si nuestro directorio de trabajo no se encuentra en el PATH, si intentamos ejecutar un script del directorio actual de la siguiente forma: nombre_script.sh nos va a decir que no encuentra el fichero. Hay que indicrselo de la siguiente forma: ./nombre_script.sh

3.9. Argumentos del script en la lnea de comandos


Un script podr leer argumentos y comandos de Linux. Para hacer referencia a los argumentos, utilizamos el smbolo del $, al igual que hacamos con las variables. Cuando introducimos varios argumentos a un script estos se separan por espacios. La referencia al primer argumento se hace con $1, al segundo con $2, y as sucesivamente. $0 nos dice el nombre del script. Las variables de argumento son de solo lectura y no se les puede asignar ningn valor. El argumento $# nos indica el nmero de argumentos (parmetros) que hemos introducido. El argumento $* nos devuelve una lista separada por espacios con todos los argumentos que hemos introducido al script. EJEMPLO: clear echo "El nmero de argumentos introducidos es "$# echo "ARGUMENTO1:" $1 echo "ARGUMENTO2:" $2 echo "ARGUMENTO3:" $3 for usu in $* do echo Hola Usuario $su done 3.10. Variables de Exportacin de Scripts

Cuando ejecutamos un script podemos definir variables, ejecutar comandos y llamar a otros scripts dentro de la shell en la que trabajamos. Si ejecutamos un script dentro de otro script, se interrumpe la ejecucin del primero hasta que termine la ejecucin del segundo. Esto es similar a las llamadas a funciones o procedimientos. Todas las variables definidas en un script estn definidas solo para la shell de ese script, por tanto, son locales para esa shell. Podemos hacer que una variable definida dentro de un script se pueda utilizar en otros scripts a los que llamemos, para lo cual utilizaremos el comando export seguido del nombre de la variable. nombre = Ana

Sistemas Mar Ruiz

6/21

LINUX

export nombre Cuando usamos este comando, lo que hacemos es crear copias de esa variable para cada nueva sub-shell. Por tanto, las variables exportadas no son variables globales, sino copias de estas variables en otras shell. Si en un script definimos una variable y la exportamos, la podremos leer en otro script. EJERCICIO: Realizar un script llamado script2.sh que ponga un mensaje de bienvenida, y luego llame a otro script (script1.sh) y le mande el valor de una variable. El script1 nos indicar el nombre que viene desde el script2. Hacer la prueba sin exportar la variable. SCRIPT1.SH echo $nombre SCRIPT2.SH nombre=Mar export nombre echo "Bienvenida al sistema," `script1.sh` 3.11. Operaciones Aritmticas

El comando let es el comando que realiza operaciones aritmticas y tambin permite comparar valores. Su sintaxis sera la siguiente: let resultado=2*4 Esta operacin no funcionar si dejamos espacios entre los operandos. Las operaciones aritmticas son multiplicacin (*), divisin (/), suma (+), resta (-) y mdulo (%). Tambin se pueden utilizar operadores relacionales para realizar comparaciones entre valores numricos, por ejemplo, mayor (>), mayor o igual (>=), menor (<), menor o igual (<=), igual (=), igual expresin (==), distinto (!=), and (&), or (|), not (!). EJERCICIO Realizar un script llamado suma3.sh, que realice la suma de 3 valores numricos que nos va a pedir por pantalla. echo "Introduce tres nmeros: " echo X: read x echo Y: read y echo Z: read z

Sistemas Mar Ruiz

7/21

LINUX

let resultado=x+y+z echo "La suma de los tres nmeros es "$resultado Adems del comando let, podemos utilizar el comando expr para realizar las operaciones. echo "Introduce tres nmeros: " echo X: read x echo Y: read y echo Z: read z echo "La suma de los tres nmeros es "`expr $x + $y + $z` 3.12. Carcter de escape:

Una barra invertida \ modifica el significado de un nico carcter que va a continuacin de la barra. Ejemplos: Resultado=`expr $num1 \*num2` Dinero=\$222.00 coge $ como carcter. 3.13. Estructuras de Control * carcter comodn $ contenido de variable

Una estructura de control est formada por 2 componentes principales: condicin y comandos a ejecutar. Si la condicin se cumple, se ejecutan los comandos. Existen dos tipos de estructuras: condicionales y repetitivas. Estructuras condicionales:
IF Evala una condicin y si es positiva realiza la accin tras la palabra then y si es negativa realiza la accin tras else

if condicin; then accin 1 ..... else accin 2 .. fi if condicin; then accin1 .... fi if condicin; then
accin1 ..... else accin2 .

Se evala la condicin y si es cierta se ejecuta la accin1 y el proceso termina. En caso contrario no se ejecuta nada, terminando el proceso. Se evala la condicin. Si es cierta se ejecuta la accin1 y tras ello el proceso termina. Si es falsa o no se cumple la condicin se ejecuta la accin2 y el proceso termina.

fi

Sistemas Mar Ruiz

8/21

LINUX

if then

condicin1;

accin1 ..... elif condicin2; then accin2 else acci n3 fi

La accin1 se ejecuta si se cumple la condicin1 y tras ello el proceso termina. Si la condicin1 no se cumple, se evala la condicin2. Si se cumple la condicin2, previamente habindose cumplido la condicin1, se ejecuta la accin2 y el proceso se termina. La accin3 solamente se ejecutar si han sido falsas tanto la condicin1 como la condicin2.

NOTA: es importante sealar que en todas las expresiones con if, hay que dejar espacios entre los operadores y despus y antes de los corchetes (separador de condiciones).
CASE Evala el valor de una variable y ejecuta varias instrucciones en funcin de su valor. Es equivalente a usar if anidados, aunque ms completo y organizado. Si la variable no es igual a ninguno de los valores especificados, se ejecutan las instrucciones especificadas tras *).

case $variable in valor1) accin1 ;; valor2) accin2; accin ;; .. valorn) accin ;; *) instruccin nnn;....;; esac

Estructuras repetitivas:
WHILE Repite un conjunto de instrucciones mientras se cumpla una condicin concreta. while condicin do accin1 accin2 ..... done UNTIL Repite un conjunto de instrucciones hasta que se cumpla una condicin concreta. until condicin do accin1 accin2 ..... done

Sistemas Mar Ruiz

9/21

LINUX FOR Repite un conjunto de instrucciones un nmero determinado de veces. for variable in lista do accin1 accion2 done

3.14.

Cdigos de retorno

Todos los comandos de Linux devuelven el estado de salida cuando finaliza su ejecucin. Si la ejecucin se ha completado correctamente, el estado de salida ser 0, y si no, un valor positivo. $? Devuelve el cdigo de retorno del ltimo comando ejecutado. EJERCICIO Realizar un script que utilice la estructura de control while llamado script_while.sh. El ejercicio hace lo siguiente: Mientras la variable de control sea menor que 4, hacer: - Mensaje He entrado en el bucle. - Mostrar el valor de la variable control. - Aumentar en 1 la variable control. read control while let "control<4" do echo "He entrado en el bucle" echo $control let control=control+1 done

3.15.

COMANDO TEST

Se utiliza para comparar dos valores. Su sintaxis es: test valor1 opcion valor2 Donde: valor1 es el primer valor a comparar valor2 es el segundo valor a comparar. opcion indica el tipo de comparacin. Para saber el resultado de la comparacin usamos el carcter especial $? (cdigo de retorno). Esta variable especial guarda el estado de salida del ltimo comando que hemos ejecutado en Linux, que ser: 0 operacin con xito (se cumple la condicin)

Sistemas Mar Ruiz

10/21

LINUX

0 operacin errnea (no se cumple la condicin) OPCIONES DE TEST Comparacin de Enteros -gt: compara si un valor es mayor que otro. -lt: compara si un valor es menor que otro. -ge: compara si un valor es mayor o igual que otro. -le: compara si un valor es menor o igual que otro. -eq: compara si un valor es igual a otro. -ne: comprar si un valor no es igual a otro. Comparacin de Cadenas -z: comprueba si la cadena est vaca. =: compara si cadena1 es igual a cadena2. !=: compara si cadena1 es distinta a cadena2. Comparaciones Lgicas -a: AND lgico. -o: OR lgico. !: NOT lgico. Pruebas con Archivos -f: nos dice si el archivo existe y es un archivo normal. -d: es un directorio. -s: el archivo no est vaco. -r: nos dice si el archivo se puede leer. -w: se puede escribir. IMPORTANTE: No confundir las comparaciones de cadenas con las comparaciones de enteros. EJERCICIO Realizar una comparacin con test en la que introduzcamos dos valores numricos y los compare entre s. echo "*************************************************" echo "* PROGRAMA QUE COMPARA SI 2 VALORES SON IGUALES *" echo "*************************************************" echo "VALOR1: " read x echo "VALOR2:" read y echo "Si los dos valores son iguales, el resultado ser 0" echo "Si son distintos, el resultado ser 1" test $x -eq $y echo "RESULTADO =" $? EJERCICIO: Realizar un script, test_con_if.sh, que pida por pantalla 2 nmeros y haga una comparacin. echo "**********************************" echo "* PROGRAMA QUE COMPARA 2 VALORES *"

Sistemas Mar Ruiz

11/21

LINUX

echo "**********************************" echo "VALOR1: " read x echo "VALOR2:" read y if (test $x -eq $y) then echo "Los ns son IGUALES." elif (test $x -gt $y) then echo "$x es MAYOR que $y" else echo "$x es MENOR que $y" fi EJERCICIO: Realizar un script, de forma que compare tres cadenas introducidas por el teclado, y visualice si son iguales o distintas. echo "********************************" echo "* PROGRAMA QUE COMPARA CADENAS *" echo "********************************" echo "cadena1: " read x echo "cadena2: " read y echo "cadena3: " read z if (test $x = $y) then if (test $y = $z) then echo "Las 3 cadenas son IGUALES." else echo "Las cadenas 1 y 2 son IGUALES." fi elif (test $x = $z) then echo "Las cadenas 1 y 3 son IGUALES." elif (test $y = $z) then echo "Las cadenas 2 y 3 son IGUALES." else echo "Las 3 cadenas son DISTINTAS entre s." fi EJERCICIO: Realizar un script llamado case.sh que muestre un men con 4 opciones: 1. Mostrar fecha 2. Listar 3. Limpiar 4. Salir echo "******************************" echo "* MENU PRINCIPAL *" echo "******************************" echo "* 1. Mostrar la fecha *" echo "* 2. Listar *" echo "* 3. Limpiar *"

Sistemas Mar Ruiz

12/21

LINUX

echo "* 4. Salir *" echo "******************************" echo " " read opcion case $opcion in 1) echo `date` read clear case.sh ;; 2) ls | more clear case.sh ;; 3) clear read case.sh ;; 4) ;; *) clear case.sh ;; esac EJERCICIO: Realizar un script llamado while_nombre.sh en el que utilicemos una sentencia while en la cual, mientras pulsemos S se ejecute de nuevo. opcion=S while (test $opcion = S) do clear echo "Introduce opcion: " read opcion done EJERCICIO: Realizar un script llamado agenda.sh que nos pida por pantalla introducir los siguientes datos: nombre, apellidos, domicilio, NIF y telfono. Preguntar al final si los datos son correctos, y si es as, redireccionarlos a un fichero llamado agenda2.txt. correcto=N while [ $correcto != S ] do clear echo "NOMBRE: " read nombre echo "APELLIDOS: "

Sistemas Mar Ruiz

13/21

LINUX

read apellidos echo "DOMICILIO: " read domicilio echo "NIF: " read nif echo "TELEFONO: " read telf echo "Son los datos correctos?(S/N)" read correcto done echo $nombre $apellidos $domicilio $nif $telf > agenda2.txt EJERCICIO: Crear 3 archivos con extensin .sh y despus crear un bucle for usando una variable llamada copia_sh que recorra las distintas posibilidades (las 3 opciones o archivos que hemos creado) y los vaya mostrando con una pausa de 3 segundos. for copia_sh in *.sh do echo $copia_sh sleep 3 done EJERCICIO: Realizar un script llamado compra.sh que use la variable compra para recorrer una lista de artculos (huevos, leche, pescado, queso) y recorra la lista, muestre los artculos y nos indique el nmero de los artculos comprado. clear c=1 for compra in huevos leche pescado queso do echo $compra es el producto $c de la cesta let "c=c+1" sleep 2 done EJERCICIO: Realizar un script llamado nuevofichero.sh que sirva para crear un nuevo fichero al que le metamos un texto por el teclado y que nos de error en caso de que ese nombre de fichero ya exista. Al final del fichero, mostrar el contenido. if (test -s $nombre) then echo "El fichero ya existe." else echo "Introduce el texto:" read texto echo $texto > $nombre fi 3.16. Rutas o caminos

/ => camino absoluto

Sistemas Mar Ruiz

14/21

LINUX

Sin barra => camino relativo. Es decir, desde nos encontremos. 3.17. Prompt o smbolo del sistema

$ => usuario normal. # => superusuario. 3.18. Sintaxis: Orden opciones parmetros Ayuda de Linux: Man orden Orden help Ordenes: Id => uid, gid, (grupo principal y secundarios) Who => quien est conectado al sistema operativo. Uname => nombre del sistema en el que se est trabajando. Ls => viene a ser el comando dir de MSDOS. Muestra el contenido de un directorio. la => muestra un listado largo, y los ficheros ocultos. Ps => listado de procesos. Vemos las aplicaciones que se estn ejecutando, incluido el shell. -ef => listado extendido y de todos independientemente del usuario que lo ejecute. los procesos del sistema Ordenes bsicas

Pwd => directorio activo (en el que nos encontramos) Cut => permite cortar en vertical informacin de un fichero de texto o informacin que ha generado una orden previamente. Ejemplo: ps ef | cut -c10-20 fichero => corta del carcter 10 al 20 del fichero. Eso es lo que se queda. -f1,3 d: => corta los campos 1 y 3 del fichero con el delimitador de campo : -f1-3 d: => corta campos del 1 al 3 del fichero con el delimitador de campo : Find ruta expresin => busca ficheros y directorios. Este comando busca en todos los subdirectorios desde el que indicamos en ruta. name nombre perm numeropermisos

Sistemas Mar Ruiz

15/21

LINUX

user nombre mtime n => fichero modificado en los ltimos n das. atime n => fichero accedido en los ltimos n das. exec orden => ejecuta la orden indicada sobre todos los ficheros que encuentre. Print => imprime el nombre del fichero.

Ejemplo: find / -name *kk.* exec rm \; Grep opc expr fichero[s] => busca una determinada expresin o patrn. -opc v => muestra las lneas en las que no esta el patrn. c => muestra cuantas ocurrencias hay del patrn. n => muestra el numero de lnea en la que se encuentra el patrn. s => no muestra los mensajes de error que genera al orden find (por ejemplo: permiso denegado para leer un determinado directorio o que no encuentre el fichero) i => No distingue maysculas de minsculas. ^ para buscar el patrn al principio de la lnea. $ para buscar el patrn al final de la lnea. [1-3] rango de valores, del 1 al 3. [123] el 1, el 2 o el 3. [^a-c] que no tenga de la a a la c * cualquier carcter y nmero de caracteres. . 1 carcter cualquiera.

expr

Head n fichero => Head muestra la cabecera de un fichero. Tail => muestra el final de un fichero. Tail -n fichero +5 => visualiza desde la lnea 5 hasta el final. More [-n] fichero => muestra el fichero paginado n lneas o 25 como mximo. Sort opc fichero => ordena las lneas de un fichero. -r ordena al revs. -n ordena con criterio numrico. - f convierte todo a maysculas. Es una forma de hacerlo NO CASESENSITIVE. -d solo considera letras, dgitos y espacios en blanco. Wc => para contar elementos de un fichero -l lneas -c caracteres -w palabras At [ops] hora fecha [+n incremento] Ejecucin diferida de ordenes a un momento especifico. Incremento = minutes, hours, days, weeks, months, years.

Sistemas Mar Ruiz

16/21

LINUX

3.19.

Ordenes relacionadas con ficheros.

Cd => cambia de directorio. Ls => hace un listado del contenido de un directorio. Pwd => muestra cual es el directorio activo. Mkdir => crea un directorio. Rmdir => elimina un directorio. Mv => mueve o renombra un fichero. Cp => copia un fichero en un directorio. Rm => elimina un fichero. Cat => crea o visualiza un fichero. Cat>carta.txt Contenido de la carta Ctrol+D Chmod => para cambiar los permisos de un fichero. Chmod 3DigitosEnOctal nombre_script.sh Chmod [u|g|o] +/- [r|w|x] nombre_script.sh Por ejemplo: chmod 777 fichero chmod u + x

3.20.

Redireccionamiento

> redireccionamiento de salida Sintaxis: Orden>fichero. Orden que produce resultados. Fichero o dispositivo (realmente en Unix/Linux todo es un fichero, incluidos los dispositivos). Por ejemplo: ps ef>procesos.lst 2> redireccionamiento de errores. Por ejemplo: find .. 2>/tmp/null >> redireccionamiento doble de salida: aade al fichero. Sintaxis: Orden>>fichero < redireccionamiento de entrada Orden que necesite datos. Por ejemplo: mail root<carta

3.21.

Tuberas

Mecanismo para enlazar procesos. Sintaxis: Orden|Orden Who|wc l

Sistemas Mar Ruiz

17/21

LINUX

3.22.

Metacaracteres

El * y la ? se utilizan para generar listas de nombres y funcionan como comodines o metacaracteres como se les denomina en Linux

4. Conexin de usuarios remotos a un servidor Linux


Telnet es el software que permite la conexin entre terminales mediante el protocolo de comunicaciones TCP/IP. Sirva para conectarse a cualquier equipo identificado con una direccin IP determinada. telnet ip

5. Estructura del Sistema de ficheros


La estructura el Linux es jerrquica en forma de rbol invertido. Se parte de un directorio principal root, representado por el carcter / (en DOS es \) La diferencia con DOS es que no existe un directorio raz por cada unidad lgica de almacenamiento. El . representa al directorio actual, y el .. al directorio padre al igual que en DOS.

/bin. Contiene ficheros de comandos ejecutables utilizables por todos los


usuarios.

/home. Ubicacin de los directorios propios de cada usuario. Contiene el


directorio de presentacin y el rbol de subdirectorios de cada usuario.

/etc. Directorio con ficheros de configuracin y utilidades para la administracin. /var. Contiene ficheros para el administrador /usr o /home. Contiene utilidades y programas generales de usuario. /lib. Contiene libreras y compiladores del sistema. /tmp. Para almacenar archivos temporales. /dev. Contiene archivos especiales de bloques y caracteres asociados a
dispositivos hardware.

/mnt. Dispositivos montados. Hay que montar las unidades en el rbol de


directorios y usar el directorio para acceder a ella.

/root.
Archivos especiales. Suelen representar dispositivos fsicos como unidades de almacenamiento, impresoras, terminales, etc. UNIX/LINUX trata los archivos especiales como archivos ordinarios

Sistemas Mar Ruiz

18/21

LINUX

6. Tipos de archivos
En LINUX existen, bsicamente, cuatro tipos de archivos. Son los siguientes:

Archivos ordinarios. Contienen la informacin con la que trabaja cada usuario.


Normalmente son archivos que contienen texto, programas escritos por el usuario en lenguaje C, etc..

Enlaces fsicos (Vnculos fsicos). No es especficamente una clase de archivo.


Es un segundo nombre asignado a un archivo.

Enlaces simblicos (Vnculos simblicos). Se utilizan para asignar ms de un


nombre a un archivo. No sirven para directorios. Un vnculo simblico es un archivo que slo contiene el nombre de otro archivo.

Directorios. Son archivos especiales que contienen referencias a otros archivos.


Contienen informacin sobre archivos ordinarios, subdirectorios, vnculos, vnculos simblicos, etc.

7. Unidades de almacenamiento
Antes de utilizarlas hay que montarlas y despus de usarlas, desmontarlas. Mount /mnt /floppy Umount /mnt /floppy

8. Empaquetar/desempaquetar ficheros
Tar: empaquetar => -cvzf Desempaquetar => -xvzf

9. Dividir archivos en varios, trocear


Split b 30k original trozos Cat trozos*>original

10. Interfaces de usuario


Estas se definen como la parte del sistema que determina como interacta el usuario con l. De que forma introduce el usuario comandos o cualquier otra informacin y como el sistema visualiza los mensajes despus de procesar tal informacin. La interfaz primaria o bsica de Linux es de tipo texto y hasta no hace mucho tiempo ha sido la nica. Actualmente hay interfaces grficas como X-Windows, Open Look, GNOME o KDE. La interfaz de tipo texto es la que se muestra al carga la shell por defecto o el deseado.

Sistemas Mar Ruiz

19/21

LINUX

11. Usuarios y grupos


GRUPOS: Groupadd grupo Groupdel grupo Los grupos se encuentran definidos en el fichero /etc/group[s] Asi1:501:jperez,llopez Asi2:502:rperez Ejemplo: Obtener todos los grupos que tenemos en el sistema: Cut f1 d: /etc/groups USUARIOS: Useradd -opciones nombredecuenta => da de alta un usuario nuevo en el sistema. Crea un directorio con el nombre del usuario en el directorio /home. -c => comentario al usuario. -d => directorio de inicio distinto al que da por defecto el sistema. -e fecha => fecha de expiracin de la cuenta. -g => para asignar grupo primario. -G => para asignar grupos secundarios. -s => para asignarle un shell. En MSDOS solo existe un Shell, en Unix/Linux podemos usar varios. -m => fuerza a crear el directorio /home/nombreusuario por parte del sistema. Si no se especifican opciones, se toman por defecto los parmetros reflejados en /etc/default/useradd. Userdel nombre => elimina un usuario. Passwd nombre => asigna contrasea a un usuario. /etc/passwd => fichero de texto en el que se guarda toda la informacin de los usuarios. Jperez:X:500:501:juanitoperez:/home/jperez:bash Usuario:pasword encriptada:IdUsr:IdGrp:nombre_completo:directorio_trabajo:Shell Usermod opc usuario => para modificar algn parmetro de los usuarios.

Sistemas Mar Ruiz

20/21

LINUX

ANEXO: ERRORES COMUNES.


En todas las expresiones con if, hay que dejar espacios entre los operadores y antes y despus de los corchetes. No se deben dejar espacios antes ni despus del smbolo = en las asignaciones a variables. No confundir los tipos de comas que existen. Dobles comillas, comilla simple y comilla invertida. LINUX es CASE SENSITIVE:

Todos los comandos/ordenes en Linux se escriben en minsculas. En general todas las variables en Linux se escriben en maysculas.
En un script si introduzco /etc/passwd no interpreta nada, tendremos que decirle que debe hacer con esa ruta. Mostrarla por pantalla el contenido del fichero => cat Listar el contenido de un directorio /etc => ls /etc La orden cut corta en vertical (columnas), y Grep en horizontal (lneas). En las canalizaciones de comandos no dejar espacios entre el carcter de canalizacin | y los comandos. En el comando expr cuando vayamos a realizar una operacin de multiplicacin no olvidar que el * es un carcter especial por lo que habr que anteponerle el carcter de escape \. Ejemplo: resultado=`expr $num1 \* $num2` Para visualizar el contenido de una variable anteponemos el carcter $ (acceder al contenido de una variable). Para visualizar el contenido de un fichero usamos la orden cat nombre_fichero

Sistemas Mar Ruiz

21/21

Vous aimerez peut-être aussi