Gnu Linux Asir

Embed Size (px)

Citation preview

  • 8/19/2019 Gnu Linux Asir

    1/22

      Comandos Unix

    GNU/Linux 

    GNU/Linux es uno de los términos empleados para referirse a la combinación delnúcleo o kernel  libre similar a Unix denominado Linux, que es usado con herramientasde sistema GNU. Su desarrollo es uno de los ejemplos ms prominentes de soft!arelibre" todo su códi#o fuente puede ser utili$ado, modificado % redistribuido libremente

     por cualquiera bajo los términos de la G&' (L icencia P ública G eneral de GNU, eninglés: G eneral P ublic  License) % otra serie de licencias libres.*

    + pesar de que 'inux (núcleo) es, en sentido estricto, el sistema operatio,- partefundamental de la interacción entre el núcleo % el usuario (o los pro#ramas deaplicación) se maneja usualmente con las herramientas del pro%ecto GNU o de otros

     pro%ectos como GN/0. Sin embar#o, una parte si#nificatia de la comunidad, as1

    como muchos medios #enerales % especiali$ados, prefieren utili$ar el término Linux  para referirse a la unión de ambos pro%ectos

    + las ariantes de esta unión de pro#ramas % tecnolo#1as, a las que se les adicionandiersos pro#ramas de aplicación de propósitos espec1ficos o #enerales se las denominadistribuciones. Su objetio consiste en ofrecer ediciones que cumplan con lasnecesidades de un determinado #rupo de usuarios. +l#unas de ellas son especialmenteconocidas por su uso en seridores % supercomputadoras.2 donde tiene la cuota masimportante del mercado. Se#ún un informe de 34C, GNU5'inux es utili$ado por el 678de los principales 9:: seridores del mundo,; otro informe le da una cuota de mercadode 8 7< en los 9:: ma%ores supercomputadores.9 Con menor cuota de mercado el

    sistema GNU5'inux también es usado en el se#mento de las computadoras de escritorio, porttiles, computadoras de bolsillo, teléfonos móiles, sistemas embebidos,ideoconsolas % otros dispositios

    0l pro%ecto GNU, que fue iniciado en *

  • 8/19/2019 Gnu Linux Asir

    2/22

      Comandos Unix

    Componentes

    E Nucleo o KernelE Entorno gráfico, compuesto de F

    o seridor #rafico ersión del xE!indo!sEs%stem de unix, en principio fue

    el pro%ecto xfree7 , ho% en dia pro%ecto xor#.

    o Gestor de escritorios (Adm, #dm)

    o Un escritorioF los ms populares en 'inux, en orden alfabético son

    GN/0, 40, '?40, ?fce % ?f .

    E Como sistema de programaciónF >iene capacidad para compilar C, CHH, Iaa,+da. @a% arios entornos de desarrollo inte#rados disponibles para GNU5'inuxinclu%endo, +njuta, 4eelop, UltimateHH, CodeFFJlocAs, NetJeans 340 %0clipse. >ambién existen editores extensibles como 0macs o Kim. GNU5'inuxtambién dispone de capacidades para len#uajes de #uión (script), aparte de losclsicos len#uajes de pro#ramación de shell, o el de procesado de textos por

     patrones % expresiones re#ulares llamado a!A , la ma%or1a de las distribucionestienen instalado &%thon, &erl, &@& % =ub%.

    E Aplicaciones de usuarioF en paquetes .deb % .rpm

    E Softare de código cerrado para GNU/LinuxF 4urante la etapa tempranahab1a pocas aplicaciones de códi#o cerrado para GNU5'inux. Con el tiempo sefueron portando pro#ramas no libres al sistema GNU5'inux, entre ellos +dobe=eader , +dobe Llash, Goo#le &icasa, pera, entre otros.

    kernel ó núcleo

    El kernel ó núcleo de linux se puede definir como el corazón de este sistema operativo.Es el encargado de que el software y el hardware de tu ordenador puedan trabajar

     juntos.

    as funciones m!s importantes del mismo" aunque no las únicas" son#

    • $dministración de la memoria para todos los programas y procesos en ejecución.

    • $dministración del tiempo de procesador que los programas y procesos en

    ejecucion utilizan.

    &a#ina - de --

    http://es.wikipedia.org/wiki/GNOMEhttp://es.wikipedia.org/wiki/KDEhttp://es.wikipedia.org/wiki/LXDEhttp://es.wikipedia.org/wiki/Xfcehttp://es.wikipedia.org/w/index.php?title=Xf&action=edit&redlink=1http://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Javahttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Adahttp://es.wikipedia.org/wiki/Entorno_de_desarrollo_integradohttp://es.wikipedia.org/wiki/Anjutahttp://es.wikipedia.org/wiki/KDevelophttp://es.wikipedia.org/wiki/KDevelophttp://es.wikipedia.org/wiki/Ultimate%2B%2Bhttp://es.wikipedia.org/wiki/Code::Blockshttp://es.wikipedia.org/wiki/NetBeans_IDEhttp://es.wikipedia.org/wiki/Eclipse_(software)http://es.wikipedia.org/wiki/Emacshttp://es.wikipedia.org/wiki/Vimhttp://es.wikipedia.org/wiki/Int%C3%A9rprete_de_comandoshttp://es.wikipedia.org/wiki/Int%C3%A9rprete_de_comandoshttp://es.wikipedia.org/wiki/Awkhttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/Perlhttp://es.wikipedia.org/wiki/PHPhttp://es.wikipedia.org/wiki/Rubyhttp://es.wikipedia.org/wiki/C%C3%B3digo_cerradohttp://es.wikipedia.org/wiki/Software_privativohttp://es.wikipedia.org/wiki/Adobe_Readerhttp://es.wikipedia.org/wiki/Adobe_Readerhttp://es.wikipedia.org/wiki/Adobe_Flashhttp://es.wikipedia.org/wiki/Google_Picasahttp://es.wikipedia.org/wiki/Operahttp://es.wikipedia.org/wiki/N%C3%BAcleo_(computaci%C3%B3n)http://es.wikipedia.org/wiki/N%C3%BAcleo_(computaci%C3%B3n)http://es.wikipedia.org/wiki/GNOMEhttp://es.wikipedia.org/wiki/KDEhttp://es.wikipedia.org/wiki/LXDEhttp://es.wikipedia.org/wiki/Xfcehttp://es.wikipedia.org/w/index.php?title=Xf&action=edit&redlink=1http://es.wikipedia.org/wiki/Chttp://es.wikipedia.org/wiki/C%2B%2Bhttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Javahttp://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3n_Adahttp://es.wikipedia.org/wiki/Entorno_de_desarrollo_integradohttp://es.wikipedia.org/wiki/Anjutahttp://es.wikipedia.org/wiki/KDevelophttp://es.wikipedia.org/wiki/Ultimate%2B%2Bhttp://es.wikipedia.org/wiki/Code::Blockshttp://es.wikipedia.org/wiki/NetBeans_IDEhttp://es.wikipedia.org/wiki/Eclipse_(software)http://es.wikipedia.org/wiki/Emacshttp://es.wikipedia.org/wiki/Vimhttp://es.wikipedia.org/wiki/Int%C3%A9rprete_de_comandoshttp://es.wikipedia.org/wiki/Awkhttp://es.wikipedia.org/wiki/Pythonhttp://es.wikipedia.org/wiki/Perlhttp://es.wikipedia.org/wiki/PHPhttp://es.wikipedia.org/wiki/Rubyhttp://es.wikipedia.org/wiki/C%C3%B3digo_cerradohttp://es.wikipedia.org/wiki/Software_privativohttp://es.wikipedia.org/wiki/Adobe_Readerhttp://es.wikipedia.org/wiki/Adobe_Readerhttp://es.wikipedia.org/wiki/Adobe_Flashhttp://es.wikipedia.org/wiki/Google_Picasahttp://es.wikipedia.org/wiki/Operahttp://es.wikipedia.org/wiki/N%C3%BAcleo_(computaci%C3%B3n)http://es.wikipedia.org/wiki/N%C3%BAcleo_(computaci%C3%B3n)

  • 8/19/2019 Gnu Linux Asir

    3/22

      Comandos Unix

    • Es el encargado de que podamos acceder a los perif%ricos&elementos de nuestro

    ordenador de una manera cómoda.

    'asta que empezó el desarrollo de la serie (.) del núcleo" existieron dos tipos de

    versiones del núcleo#

    • Versión de produccion: a version de produccion" era la version estable hasta el

    momento. Esta version era el resultado final de las versiones de desarrollo o

    experimentales.

    *uando el equipo de desarrollo del núcleo experimental" decidia que tenia un

    núclo estable y con la suficiente calidad" se lanzaba una nueva versión de

    producción ó estable. Esta versión era la que se debia utilizar para un uso

    normal del sistema" ya que eran las versiones consideradas m!s estables y libres

    de fallos en el momento de su lanzamiento.

    • Versión de desarrollo: Esta versión era experimental y era la que utilizaban los

    desarrolladores para programar" comprobar y verificar nuevas caracter+sticas"

    correcciones" etc. Estos núcleos solian ser inestables y no se debian usar sin

    saber lo que se hacia.

    *omo interpretar los numeros de las versiones de las series por debajo de la 2.6#

    • as versiones del núcleo se numeraban con , numeros" de la siguiente forma#

    $$.--.**

     AA# ndicaba la serie&versión principal del núcleo. /olo han existido la 0 y (. Este

    número cambiaba cuando la manera de funcionamiento del kernel habia sufrido

    un cambio muy importante.

    BB# ndicaba si la versión era de desarrollo ó de producción. 1n número impar"

    significaba que era de desarrollo" uno par" que era de producción.

    CC: Indicaba nuevas revisiones dentro de una versión, en las que lo único que

    se habia modificado eran fallos de programación.

    • nos e!emplos nos a"udaran a entenderlo me!or:

    e!#: versión del núcleo $.%.&: 'úcleo de la serie $ (AA)$*, versión de

     producción % (BB)% par*, primera versión de la serie $.% (CC)&*

    &a#ina 2 de --

  • 8/19/2019 Gnu Linux Asir

    4/22

      Comandos Unix

    e!$: versión del núcleo $.%.#: 'úcleo de la serie $, versión %, en el que se han

    corregido errores de programación presentes en la version $.%.& (CC)#*

    e!+: versión del núcleo $..&: versión & del núcleo de desarrollo $..

    Con la serie 2.6 del núcleo, el sistema de numeración asi como el modelo de desarrollo

    han cambiado. -as versiones han pasado a numerarse con % digitos " no eisten

    versiones de produccion " desarrollo.

    • -as versiones del núcleo se numeran ho" en dia con % digitos, de la siguiente

    forma: AA.BB.CC.//.

     AA: Indica la serie0versión principal del núcleo.

    BB: Indica la revision principal del núcleo. 'umeros pares e impares no tienen

    ningun significado ho" en dia.

    CC: Indica nuevas revisiones menores del núcleo. Cambia cuando nuevas

    caracteristicas " drivers som soportados.

    //: 1ste digito cambia cuando se corrigen fallos de programación o fallos de

    seguridad dentro de una revisión.

    2o" en dia se suele usar el nucleo distribuido con la distribucion que el usuario utili3a.

    4on las distribuciones las encargadas de distribuir núcleos estables a sus ausuarios "

    estos nucleos se basan en el núcleo (5vanilla5* distribuido por -inus 6orvalds " el equipo

    de programadores del núcleo.

    Dónde conseguir el núcleo

    1l núcleo denominado 5vanilla5 (sin alteraciones " suministrado por -inus 6orvalds* se

     puede ba!ar de un gran número de servidores en internet pero el sitio oficial es

    http:00777.8ernel.org0 . 1n este enlace tienes la lista internacional oficial de servidoresespe!os , de donde es posible ba!arse cualquier versión del núcleo (última " antig9as*.

    Cada distribución distribu"e sus nucleos por los canales de actuali3ación habituales para

    cada una de ellas.

    &a#ina ; de --

    http://www.kernel.org/http://www.kernel.org/mirrors/http://www.kernel.org/mirrors/http://www.kernel.org/http://www.kernel.org/mirrors/http://www.kernel.org/mirrors/

  • 8/19/2019 Gnu Linux Asir

    5/22

      Comandos Unix

    Estructura del sistema

    programasbibliotecas compartidas

    núcleoManejo de señales

    Planificación de la CPU

    Controladores de dispositivos

    Gestión de memoria

    Sistema de E/S

    Sistema de archivos

    módulos cargables

    Organización de directorios en Linux 

    !irectorio !escripción

    5 =a1$ (root ), forma la base del sistema de archios.

    5boot +rchios del Aernel (compilados).

    5bin +rchios ejecutables esenciales para todos los usuarios.

    5de +rchios de dispositios.

    5etc +rchios de confi#uración.

    5etc5rc.d +rchios de iniciali$ación (=ed @at).

    5home Generalmente, directorios de los usuarios.

    5home5ftp Contenido del seridor L>&.

    5home5httpd Contenido del seridor MMM.

    5lib 'ibrer1as esenciales % módulos del Aernel.

    5mnt 4irectorios donde montarOO diersos dispositios temporalmente.

    5mnt5cdrom 4irectorio donde se montaOO el C4E=/.

    5mnt5flopp% 4irectorio donde se montaOO el disquete.5proc 3nformación sobre partes del sistema.

    5root 4irectorio del usuario principal del sistema.

    5sbin +rchios ejecutables para tareas de administración.

    5tmp >emporal.

    5usr &ro#ramas, documentación, fuentes,...compartidos por todo el sistema

    5ar +rchios ariables del sistema, bitcoras, temporales,...

    &a#ina 9 de --

  • 8/19/2019 Gnu Linux Asir

    6/22

      Comandos Unix

    'a tabla 2.*: muestra los principales subdirectorios del directorio usr .

    !irectorio !escripción

    5usr5?**= &aquete ?Lree7 (?EMindo!s) =elease .

    5usr5bin +rchios ejecutables para usuarios.

    5usr5dict 'istados de palabras (diccionarios).5usr5doc 4ocumentación.

    5usr5doc5L+P L.+.P. (o &.U.L.).

    5usr5doc5@M> @M>Os.

    5usr5etc +rchios de confi#uración del sistema.

    5usr5#ames Iue#os.

    5usr5include +rchios de encabe$ado.

    5usr5info Sistema de información GNU info.

    5usr5lib 'ibrer1as

    5usr5local Ierarqu1a de archios locales.

    5usr5man /anuales.

    5usr5sbin +rchios ejecutables de administración no itales.

    5usr5share 4atos independientes de la arquitectura.5usr5src Códi#o fuente.

    5usr5src5linux Códi#o fuente del kernel de 'inux.

    'a tabla 2.** muestra los principales subdirectorios del directorio var .

    !irectorio !escripción

    5ar5catman /anuales formateados localmente.

    5ar5lib 3nformación del estado de aplicaciones.

    5ar5local Kariables del aplicaciones en 5usr5local.

    5ar5locA +rchios de cerrojo.

    5ar5lo# Jitcoras del sistema.

    5ar5named +rchios del 4NS.

    5ar5nis Jase de datos para N3S (Net!orA 3nf. Serice).5ar5presere +rchios de respaldo después de una ca1da para i o ex.

    5ar5run +rchios releantes a pro#ramas corriendo.

    5ar5spool Colas de trabajos para reali$ar mas tarde.

    5ar5spool5at +rchios creados por comando at .

    5ar5spool5cron +rchios creados por comando crontab.

    5ar5spool5lpd +rchios de impresora.

    5ar5spool5mail +rchios de correo de cada usuario.

    5ar5spool5mqueue +rchios de correo de salida.

    5ar5spool5ne!s +rchios de noticias de salida.

    5ar5spool5smail +rchios de correo de smail .

    5ar5tmp >emporal.

    Formato de los comandos y ayuda

    'os comandos en linux son much1simos % cada uno tiene un formato especialFcomando "opciones# "argumentos#

    'as opciones % ar#umentos ar1an de un comando a otro. No siempre tienenar#umentos, aunque casi siempre tienen much1simas opciones.

    &a#ina de --

  • 8/19/2019 Gnu Linux Asir

    7/22

      Comandos Unix

    /emori$ar todo es mu% dif1cil. &ara saber como utili$ar un comando se usa la a%uda.man comando

    A$U!A

    E man comando a%uda sobre un comandoE man QA literal permite buscar un literal en la a%udaE man bash a%uda sobre el interprete de comandos0structurada por secciones * órdenes de usuario - llamadas al sistema 2 funciones de bibliotecas 9 formatos de ficheros 7 órdenes de administración de sistemaman QS - chmod (o simplemente man - chmod)E directorio 4CS del C4 (ho!to % mini (miniho!to))

    L%S !&SP%S&'&(%S

     Se en de manera similar a los ficheros  tipo carcter   tipo bloque ESe identifican porF

     tipo, número ma%or % número menor E0stn normalmente en 5de

     5de5hda* 5de5fd: 5de5tt% 5de5null 5de5pts

     'os crea el superusuario mAnod 5de5cosa b : ; (crea al deice cosa en modo de transferencia de

     bloque Rsi fuera carcter c con un alor minimo de : % alor max. 4e ;,cosa:,cosa*,..)

    mAnod 5de5sdb b : ; (creo un deice para un pendrie)

    C)EA) !&SC% !E A))AN*UE

      E dd ifTima#endeldisco ofT5de5fd:

    dd ifT5de5hd? ofThd?.iso

    eso crea una copia identica del disco a un fichero .iso

     dd ifThd?.iso ofT5de5hd?

    con esto restauras el sistema a lo que tenias cuando hiciste la copia

     

    &a#ina 6 de --

  • 8/19/2019 Gnu Linux Asir

    8/22

      Comandos Unix

    mount Eo loop hd?.iso 5mnt5hd?

     con esto, sobre tu disco duro puedes modificar el contenido del fichero .iso,

    GES'&%N !E USUA)&%S

    E adduser nombreusuario crea un directorio en 5home con el nombre del usuario %crea la cuenta de usuarioE adduser usuario #rupo aade un usuario al #rupoE deluser borra un usuarioE deluser usuario #rupo elimina un usuario de un #rupoE add#roup crea un #rupoE del#roup elimina un #rupoE useradd,userdel lo mismo pero mas bsico, sin pre#untasE #roups usuario #rupos a los que pertenece un usuario

    E pass!d nombreusuario establece un pass para la cuentaE ! Qsf muestra información de los usuarios, cuentas, consolasabiertas, % que hacen en cada una de ellasE fin#er me indica los usuarios conectadosE !ho usuario me da información de un usuarioE chfn usuario permite cambiar el nombre real de un usuarioE chsh Qs Shell usuario permite cambiar el shell con el que inicia la sesion unusuarioF

    *V es necesario conocer los shell disponibles, para ello esnecesario editar el contenido del fichero 5etc5shells

    -V ejecutamos el comando indicando el shell

    E usermod WopcionesX lo#in&ermite modificar la cuenta de usuario una e$ ha sido creada. &oseelas mismas opciones que la orden useradd.%pciones+

    Ec /odifica el Rnombre del usuario.Ed /odifica el directorio de trabajo del usuario (directorio home).Es /odifica el shell que usar por defecto el usuario.E# /odifica el #rupo base del usuario.

    EG 3ndica a que otros #rupos pertenecer el usuario.E' Jloquea la contrasea, deshabilitando la cuenta de usuario.EU 4esbloquea la contrasea, habilitando la cuenta de usuario para

    iniciar sesión.

    '&P%S !E S,ELL

     E Journe shell Futili$ado para const%ruir nueos comandos mediante #uiones (bash)+l iniciar utili$a etc5profile (parte comun del entorno para todos) %Y5.bashZprofile (archio personal del usuario)

    4esde otro interprete Y5.bashrc % 5etc5bashrc+l salir Y5.bashZlo#out

    &a#ina 7 de --

  • 8/19/2019 Gnu Linux Asir

    9/22

      Comandos Unix

    E CshellF los #uiones (scripts) se constru%en en c (>csh)&dAsh o Ash F otros shell menos conocidos

    Cada shell define un entorno con ariables propias % definidas por el usuario. 'asariables definidas t1picamente en el shell Jash, suelen serF

    (aria-le !escripción

    43S&'+[ 4onde aparecen la salidas de ?EMindo!s.

    @/0 4irectorio personal.

    @S>N+/0 Nombre de la mquina.

    /+3' +rchio de correo.

    &+>@ 'ista de directorios donde buscar los pro#ramas.

    &S* &rompt.

    S@0'' 3ntérprete de comandos por defecto.

    >0=/ >ipo de terminal.

    US0= Nombre del usuario.

    'as ariables de entorno se definen, en J+S@, con el comando exportFexport (A)&A.LE 0alor

    0xisten ficheros que personali$an % definen estas ariables.E 5etc5profileE Y5.bashZprofileE Y5.bashZlo#inE Y5.profileE Y5.bashrc

    C%NS%LAS

    +lt H LnV cambia de una consola a otra+lt H ctrl. H LnV cambia a una consola estando en modo #rafico+lt H L6 uele a la consola en modo #rafico

    !&)EC'%)&%S

    E p!d muestra el directorio actualE ls muestra el contenido de un directorio. pcionesF

    Ea muestra los ocultos (deben empe$ar por .)EL distin#ue los diferentes tipos de ficheros (\para los ejecutables)EEcolor i#ual que QL pero los distin#ue por coloresEl lista los archios con formato lar#oEi con inodosE= recursioEt ordenado por tiemposEr orden inersoEd no meterse en directorios

    $ ls -l-rw-r--r-- 1 skina users 17680 Nov 29 16:52 GNU-GPL.tex

    -rw-r--r-- 1 skina users 257 Nov 0 19:52 !ake"i#e-rw-r--r-- 1 skina users 1562 Nov 29 1:7 autori%a&ion.txt-rw-r--r-- 1 skina users 61 '&t 2 21: (i(#io.tex

    &a#ina < de --

  • 8/19/2019 Gnu Linux Asir

    10/22

      Comandos Unix

    )rwxr-xr-x 2 skina users 102 Nov 2 01:02 (in*-rw-r--r-- 1 skina users 99 Nov 0 19:26 &re)itos.tex-rw-r--r-- 1 skina users 550 Nov 0 19:8 &urso+#inux.tex)rwxr-xr-x 2 skina users 072 Nov 0 22:55 i,aes*)rwxr-xr-x skina users 102 Nov 0 00:09 insta##*

    *V Grupo T &ermisos-V Grupo T Número de archios que contiene2V Grupo T Usuario propietario del archio o directorio;V Grupo T Grupo propietario del archio o directorio9V Grupo T >amao del archio o directorioV Grupo T Lecha % hora de creación del archio o directorio6V Grupo T Nombre del archio o directorio

    E stat fichero información de inodo

    E mAdir directorio crear directorio, con Qp si no existe la estructura intermedia lacreaE rmdir directorio borrar directorio, con Qp elimina los dir aciosE cd directorio cambia de directorioE cd .. sube un directorioE cd 5 a al dir rai$E cd Y a al dir home del usuario

    N%1.)ES E &N%!%S

    - 'inux soporta arios sistemas de ficherosF minix, ext-, ext2 , fat (Mindo!s), ...

    E Un fichero se representa por un inodo (index node)E 3nformación bsica (stat fichero)F

    E >ipoE &ropietarioE &ermisosE 'on#itudE Lechas % horas de creación, modificación % acceso.E Número de nombres

    E /apa de bloquesFE &unteros directos (arios, depende de tamao de inodo)

    E &untero indirecto simple- &untero indirecto dobleE &untero indirecto tripleE 'os punteros nulos sealan a#ujeros (se leen ceros)

    !&)EC'%)&%S $ ENLACES

    - Un directorio es un tipo de fichero con pares inodoEnombre (ls Qi)- Un inodo puede tener arios nombres (Se#unda columna de ls Ql)- 0nlace duro (da otro nombre a un inodo)  (inodo+, uno) E] (inodo+, otro) ln otro uno

    - 0nlace simbólico (indirección de nombres) uno E] otro ln Es otro uno ( Ker última columna de ls Ql)

    &a#ina *: de --

  • 8/19/2019 Gnu Linux Asir

    11/22

      Comandos Unix

    + niel de usuario los enlaces duros apenas se usan. Sire para asociar diferentesnombres de archio a un mismo inodo directamente.Arc2i0o3 &N%!% Arc2i0o4

    0n cambio, los enlaces sim-ólicos son mu% útiles para asociar diferentes nombres de

    archio indirectamenteFArc2i0o4 Arc2i0o3 &N%!%

    5&C,E)%S

    'inux diferencia entre ma%usculas % minusculas, la lon#itud max. de losnombres es de -9 caracteres, los caracteres comodines sonF

    • \ cualquier conjunto de car 

    •  ^ un unico car 

    • WaeiouX\ fichero que empiece en ocal

    los comodines tambien se pueden utili$ar en los directorios.0jFls 5\5\5ch\ (archios que empiecen por ch en los dos primeros nieles de

    subdirectorios)

    E cat nombref muestra el contenido del fichero (sin pausas)E more nombref muestra el contenido del fichero (pa#inado)E less nombref muestra el contenido del fichero % permite moerte con loscursores

    E cp ori#en destino copia ficheros % estructuras de directorio. pcionesFEf fuer$a a sobrescribir Er copia tambien subdirectoriosEi pre#unta antes de sobrescribir E se escriben en pantalla todas las operaciones que se

    realicenEu solo sobrescribe si es mas nueoEp conserando atributos

    E m WEfriuX ori#en destino muee a otro lu#ar o cambia el nombreE rm WEfriuX borra tanto archios como directoriosE rm Qr directorio borra un directorio % sus subdirectorios aunque no estén acios

    E ln Qs fichori#en fichenlace crea un enlace al fichero ori#enE find directorio busca ficheros

    t%pe f ficheros normalest%pe d directoriost%pe l enlaces simbólicos

    . !hereis busca ficherosE du ficheros o directorios uso de disco

    Ea inclu%e ficherosE file ficheros heur1sticos para aeri#uar el tipo de fichero

    PROPIETARIOS

    ->odo usuario tiene una identificación (uid)

    &a#ina ** de --

  • 8/19/2019 Gnu Linux Asir

    12/22

      Comandos Unix

    E &ertenece a uno o arios #rupos (#id)E >odo fichero pertenece a un usuario % un #rupoE >odo proceso se ejecuta en nombre de un usuario % un #rupo

     normalmente el que lo lan$ó a eces el propietario del pro#rama (setuid)

    E 0xisten usuarios % #rupos priile#iados (root)E &ara cambiar el propietario hacen falta priile#ios

     cho!n usuario fichero

    PE)1&S%S !E 5&C,E)%S

    E chmod u#oaWHEXTr!xu#o fichero modifica los permisos de un ficherou usuarios, # #rupo, o otros, a allr lectura, ! escritura, x ejecución

    0jF chmod o#Er fich  chmod oT# fich  chmod ;; fich

    E ch#rp #rupo fichero asi#na un fichero a un #rupo, lue#o seria necesario dar oquitarle permisos pero los del #rupo podran er el ficheroE cho!n usuario o #rupo fichero cambia el propietario de un fichero

    cho!n alumnoFprin#aus Y5documentos5linux.pdf  ls El Y5documentos5linux.pdf Er!Er!ErEE * alumno prin#aus -7; ene - -*F:< linux.pdf linuxFY_ id aitor uidT9::(aitor) #idT9::(aitor) #ruposT9::(aitor)linuxFY_ cho!n 9:: Y5documentos5linux.pdf linuxFY_ ls El Y5documentos5linux.pdf Er!Er!ErEE * aitor prin#aus -7; ene - -*F:< linux.pdf 

    E umasA mascara fichero da los permisos por defecto mediante una mascaraejF umasA :66 todos los permisos para el propietario

     PE)1&S%S !E L%S A)C,&(%S

    &ara cada uno de estos tres tipos de usuarios podemos

    definir tres permisos diferentesFE Permiso de Lectura (r por =ead)  &ara un archio permite que se lea su contenido. &ara un directorio, permite que se muestren los ficheros que contiene.E Permiso de Escritura (! por Mrite)  &ara un archio

     permite modificarlo o borrarlo. &ara un directorio permite que el usuario aada o elimine archios.E Permiso de E6ecución (x, por e?ecute)  &ara unarchio ejecutable permite que sea ejecutado. &ara undirectorio permite que un usuario lo recorra, es decir,

     puede entrar leer o escribir en él.

    &a#ina *- de --

  • 8/19/2019 Gnu Linux Asir

    13/22

      Comandos Unix

    UN&!A!ES 5&S&CAS

    Particiones y formateo

    Un dispositio de bloques, como el disco duro, ha de particionarse % formatearse.

    'as particiones se hacen con el pro#rama fdisAF

    fdis7 dispositi0o

     por ejemplo, el disco duro ser1aF fdisA 5de5hdaUna e$ dentro se puede manipular % crear toda clase de particiones. Con la tecla m, seobtiene a%udaFE 'a tecla p muestra las particiones actualesE 'a tecla n crea nueas particionesE 'a tecla d borra particiónE 'a tecla t cambia el tipo de partición. &or defecto, 'inux.

    E 'a tecla #raba las particiones en el dispositioE 'a tecla 8 sale del pro#rama.

    0l formateo en linux se hace conF

    m7fs 9t tipo dispositi0o

    donde tipo es el tipo de sistema de ficherosF ext-, ext2, fat, msdos, etc.E mAfs Qt tipo WEcX dispositio crea un sistema de ficheros en la unidad indicada(es como formatear) (con la opcion Ec detecta bloques defectuosos).

    0jF mAfs Qt ext- 5de5fd: formatea un disAette

    E mount WdispositioX WsituaciónX WopcionesX monta un sistema de ficheros bajo una jerarqu1a de directoriosE mount nos muetra un listado de dispositios montados  0jF mount 5de5hdc 5cdrom Qt iso

  • 8/19/2019 Gnu Linux Asir

    14/22

      Comandos Unix

    E df muestra informacion de las particionesE mAs!ap WEcX dispositio WtamaoX define una partición como de tipo s!apE s!apon dispositio s!apoff dispositio actia o desactia una partición s!apE free información sobre el usio de la memoria % de la partición s!apE mAnod se utili$a para crear ficheros de dispositios (er manual)

    'inux tiene la posibilidad de montar las im#enes de cd5dd sin tener que #rabarlas.+sumo que sabes como crear directorios % que sabes qué es Rmontar un sistema deficheros.

    Con unos cuantos comandos de consola podremos montar distintos tipos de im#enesde C454K4 fcilmente.

    Montar una imagen ISO:

    sudo mount Et isocuecorrespondiente a un solo archio .isoF

     bchunA archio.bin archio.cue nueoarchio.iso

    +hora %a tendrs un nueo archio iso que podrs montar como se explica ms arriba.

    Montar imágenes N! "imágenes de Nero Burning om#:

    &ara poder montar estas im#enes tendremos que conertirlas a 3S. &ara ello usaremosel pro#rama nrg4iso, para instalarlo haremosF

    sudo aptE#et install nr#-iso

    % cuando %a esté instalado, para conertir la ima#enF

    nr#-iso archio.nr# nueoarchio.iso

    % para montar la ima#en 3S simplemente debes se#uir las instrucciones detalladas ms

    arriba.

    &a#ina *; de --

  • 8/19/2019 Gnu Linux Asir

    15/22

      Comandos Unix

    Montar imágenes M$% y M$S

    4e nueo utili$aremos un pro#rama para conertir antes la ima#en mdf a iso. 0l pro#rama tiene el ori#inal nombre de mdf4iso. &ara instalarloF

    sudo aptE#et install mdf-iso

    % una e$ instalado conertiremos el archio /4L a 3SF

    mdf-iso archio.mdf nueaima#en.iso

    Montar imágenes IM!

    Usaremos el pro#rama CC!4&S%. 0ste pro#rama no lo he podido descar#ar desde losrepositorios oficiales de Ubuntu pero de todos modos no estar1a de ms que intentes

    instalarlo por aptE#et as1F

    sudo aptE#et install ccd-iso

    &ara instalarlo de este modo descar#amos el archio que sera al#o as1 como Rccd-isoE:.-.tar.#$ (puede ariar la ersión) % primero lo descomprimimos as1F

    tar Ex$f ccd-isoE:.-.tar.#$

    +hora que tendremos una carpeta llamada Rccd-iso, hacemos lo si#uienteF

    cd ccd-iso

    .5confi#ure

    maAe

    maAe install

    Con esto %a tendremos instalado el pro#rama ccd-iso. Linalmente para conertir laima#en ccd a iso hacemosF

    ccd-iso ima#en.im# ima#en.iso

    [ montaremos la ima#en iso recien creada como se explica ms arriba en esta misma#u1a.

    AL&AS $ C%NCU))ENC&A

    E alias rmTrm iE alias lsT Rls QlaE etc ` permite crear un comando con tus opciones faoritasE para ejecutar arios comandos secuencialmente

    &a#ina *9 de --

  • 8/19/2019 Gnu Linux Asir

    16/22

      Comandos Unix

    sleep -" sleep -" sleep - tarda se#undos

    E para ejecutar comandos en concurrencia sleep - sleep - sleep - tarda - se#undos

    E para ejecutar comandos en -V plano (nos deuele el control al sistema) sleep :

    E +#rupamientoF (sleep 9" date) date

    (date " !ho) tee dir !c

    (cd 5 " ls) !c El

    P)%CES%S

    E ps muestra los procesos que se estan ejecutandoE ps ax muestra todos los procesos en ejecución del sistema % de todos los

    usuarios

    E top muestra el estado del sistema % de los procesosE jobs muestra el estado de los procesos en ejecuciónE f# 8nVtrabajo pasamos un trabajo que esta en -V plano a *V plano. Si estamos

    ejecutando un trabajo % pulsamos Ctrl.HC lo cancelamos % si pulsamos ctrl.H lo pasamos a -V plano % lo podremos continuar con f#

    E b# 8ntrabajo continua ejecutando en -V plano un proceso paradoE Aill 8ntrabajo termina con el trabajoE Aill WEsealX &34 elimina un proceso % sus hijos

    E< o EAill F seaAl de muerte

    E* o @U& F seal de reinicio de proceso

    E pstree muestra procesos en rbol

    E nice lan$a un proceso con una determinada prioridad E-:`*< por defecto es : solo el root puede establecer alores

    ne#atios (max prioridad)E renice cambia la prioridad de un proceso

    &a#ina * de --

  • 8/19/2019 Gnu Linux Asir

    17/22

      Comandos Unix

    )E!&)ECC&%NA1&EN'%S

    (0stndar por teclado ) 0ntrada  &rocesos Salida (estndar por pantalla)

    &odemos redireccionar la entrada o salida a cualquier otro dispositio.

    0jemploF ls Ql ] fichero  en1a la salida a un fichero con la salida del comando ls.

    ? salida @ entrada

    E SalidaF &o,an)o ar&ivo

    E Salida sin borrarF &o,an)o ar&ivo

    E 0ntradaF &o,an)o 3 ar&ivo

    E 0rroresF &o,an)o 4 ar&ivo

    E 0rrores sin borrarF &o,an)o 4 ar&ivo

    E >uber1aF &o,an)o1 &o,an)o2 es lo mismo queF

    &o,an)o1 "i&ero.t,&o,an)o2 3 "i&ero.t,

    0l operador de redirección de salida es destructio (]), si existiera f- lo destru%esobrescribiendo la nuea información. &ara no destruirlo se utili$ar1a elredireccionador (??)>

    cat f* ] f- co#e la entrada de f* % pone como salida f-, es decir, copia f* en f-.

    C%1AN!%S !E ')A'A1&EN'% !E 'E'% $ 5&C,E)%S !E 'E'%

    (isualiBar fic2eros

    Cat  crea, isuali$a % concatena un fichero de texto

    cat ] fichero crea el fichero de texto. &ara terminar con la entrada pulsar CtrolH4

    cat fichero isuali$a el fichero

    cat fichero fichero ] f-  concatena el fichero Rfichero % lo #uarda en el fichero

    f-.

    more listado edita ficheros lar#os, para bajar l1neas pulsar 0nter, para pa#inar, la

     barra espaciadora. &ara salir pulsamos 8  o anulamos el proceso con Control H C.

    less listado  edita ficheros de texto pero se diferencia con more en que podemos

    utili$ar todas las teclas de dirección.

    Comparación de fic2eros

    &a#ina *6 de --

  • 8/19/2019 Gnu Linux Asir

    18/22

      Comandos Unix

    &ara comparar ficheros utili$aremos cmp f* f-  compara los dos ficheros, % nos

    dar como salida en el primer carcter que no son i#uales los dos ficheros. >ambién podemos comparar con el comando diff  f* f-  nos mostrar las l1neas diferentes

    en los dos ficheros.

    &ara comparar se suele utili$ar el comando comm f* f-  muestra tres columnas, la primera sern las l1neas únicas del fichero f*, la se#unda las l1neas únicas del ficherof- % la tercera columna, las l1neas comunes de los dos ficheros.

    %rdenar un fic2ero

    &ara ordenar un fichero de texto se utili$a el comando sort  fichero, sort Qn lomostrar en orden numérico % sort Qr en orden inerso. +s1 por ejemplo sort fichero

     Qn Qr o sort fichero Qnr ordena en forma inersa un fichero numérico.

    'ratamiento con lineas caracteres ; pala-ras

    !c fichero   muestra número de l1neas, número de palabras % número de

    caracteres.!c Ql fichero muestra nV de l1neas

    !c Qc fichero muestra nV de caracteres

    !c Q! fichero muestra nV de palabras

    head % tail muestra las primeras o las últimas n l1neas de un fichero

    head Q9 fichero muestra las 9 primeras l1neas de fichero.

    tail Q2 fichero muestra las 2 últimas l1neas de fichero.

    grep busca una cadena de caracteres en una serie de ficheros que especificamoscomo parmetros. Sus opciones sernF

    Ec F cuenta las l1neas en las que aparece la cadena.El F muestra los nombres de los ficheros en los que aparece la cadena.Ei F no diferencia entre ma%úsculas % minúsculas.

      EF inierte la concordancia (que no conten#a la cadena a buscar)

    •    filtro de primer carcter.

     principio de l1nea.

    _  final de l1nea.

    0jemploF mostrar el nombre de los ficheros en el directorio de trabajo en los queaparece al#una l1nea que comience por c.

     grep –l ^c. $HOM/!

    4onde c. Son las l1neas que comien$an por c.[ _home5\ es la ruta del directorio de trabajo(_home) % el \ indica a todos los ficheros del directorio de trabajo.

    0jemploF contar el número de l1neas en un fichero que entra como parmetro % quetermina por c.

    &a#ina *7 de --

    Caracteres comod1n para búsqueda con #re#

  • 8/19/2019 Gnu Linux Asir

    19/22

      Comandos Unix

    #rep Qc .c_ fichero

    4onde Qc indica a #re# que cuente el número de l1neas % .c_ las l1neas que terminan por c.

    Pipes o tu-erDas

    Son mecanismos que permiten comunicar procesos entre s1, es decir, la salidaestndar de un proceso ser la entrada del otro. Se utili$a el carcter paraconcatenar los procesos.

    ls more isuali$a el listado (ls) l1nea a l1nea.

    ls sort more i#ual que el anterior pero el listado ser1a ordenado.

    cat nombres sort ] ordenado   isuali$a el fichero nombres ordenado

    almacenndolo en el fichero Rordenado.

    .s8ueda de fic2eros

    5ind+  busca a partir de un directorio que entra como parmetro, una serie deficheros.

    E name R R F se#ún el nombre % entre comillas un patrón de búsqueda.Criterios de búsqueda de L3N4 Esi$e tamao F busca ficheros con tamao T a ejF Esi$e H*:-;.

    Euser id usuarioF busca ficheros se#ún el usuario.

    0jemploF buscar a partir del directorio rai$, aquellos ficheros que comien$an poruna letra minúscula, el resultado #uardarlo en un fichero llamado nombres.

       fin" / #name %a#&'!( ) nombres

    4onde 5 especifica el directorio rai$. Qname reali$a una búsqueda por nombre con find de el interalo WaE$X (letras minúsculas) donde RWaE$X\ especifica a los ficheros que comien$an por minúscula % le si#ue

    cualquier cosa. 0l operador ] nombres, redireccionar la salida al fichero nombres.

     fin" /tmp –name !.c( –si&e *+,-

    Jusca en el directorio 5tmp ficheros que el nombre ten#a extensión .c % con tamao ma%or a *:-; b%tes.

     ps Qef #rep _US0= (lista los procesos de un usuario)

    awk: Procesamiento de archivos generalizado

    0l comando awk es un len#uaje de pro#ramacion. 0n otra leccion, daremos mas detalles

    de este utilisimo comando. Sin embar#o, muchas cosas se pueden hacer sin ma%oresconocimientos de awk.

    awk lee lineas de un archio. Cada linea se parte en campos, se#un un separador, por

    defecto espacio en blanco. + cada linea se le aplica uno o mas procedimientos de a!A.Un procedimiento consta de dos partesF

    &a#ina *< de --

  • 8/19/2019 Gnu Linux Asir

    20/22

      Comandos Unix

      *atron*a&&ion

    0l patron es una expresion re#ular (er \\), i#ual que re o se)" la accion es un

    Bpro#ramaB, que se aplica a los campos de cada linea.

    Keamos unos ejemplosF

    awk rint $1 ar&

     Notese el uso de las comillas, necesarias para eitar problemas con el shell. 3mprime el primer campo de cada lineaEE es decir, imprime la primera columna de un archio.

    awk rint $2 $1 ar&

    3mprime la se#unda, se#uida por la primera, columna de un archio

    >ambien pueden usarse expresiones aritmeticasF

    awk rint $1$1 $2 - 5.0 ar&

    'o cual imprime el cuadrado de la primera columna, etc.

    Seleccionemos las lineas que continen el texto B@idro#enoB

    awk *i)roeno*rint $1 $2.116 ar&

    Si el pro#rama de awk es mu% complicado, puede residir en un archioF

    awk -" ,iro ar&

    0sto le aplica el pro#rama Bmipro#B al archio a!A.

    'os seleccionadores J0G3N % 0N4 seleccionan procedimientos que se ejecutanrespectiamente al principio % fin de procesaminetoF

    awk s ; s < $1  =N>rint s ar&

    (notese que se puede dar retorno de linea dentro de las comillas.) 0ste pro#rama suma la primera columna del archio arch. 0l pro#rama se basa en la (afortunada) casualidadque awk pone todas las ariables numericas a cero inicialmente. Una ariable (s en el

    ejemplo anterior es numerica cuando se usa aritmeticamente.

    &a#ina -: de --

  • 8/19/2019 Gnu Linux Asir

    21/22

      Comandos Unix

    Compilación de fuentes&ara compilar es imprescindible instalar los paquetes de desarrollo bsicosF #cc, libcde,% maAe mediante este comandoF

    at-et insta## && #i(&-)ev ,ake'as fuentes de los pro#ramas suelen enir en un archio tar.#$ (tarball). &aradescomprimir el archio se haceFtar xv%" ar&ivo.tar.%

    0ste comando descomprime normalmente el contenido en un directorio. Una e$ dentrodel directorio, lo recomendable es leer al#ún archio que se llame 3NS>+''.>?> o=0+4/0.>?> % se#uir sus instrucciones.'o habitual es se#uir los si#uientes pasosF*. ./config

    Comprueba que todas las herramientas % liber1as necesarias estn instaladas.'ue#o, confi#ura la compilación.

    -. makeCompila la aplicación2. sudo make install

    0sto copia los archios necesarios recién compilados a los directorios de sistema para que cualquier usuario pueda ejecutar la aplicación. 0s necesario ejectuar este comando como root, su o sudo %a que se a a escribir en directorios dondeun usuario normal no deber1a tener permisos.0s normal que el pro#rama confi# requiera instalar librer1as de desarrollo de C. 0n estecaso ha% que buscar la que se pida. Una pista es buscar medianteFat-&a&e sear& librería re -)ev

    0l nombre de las librer1as de desarrollo terminan en Ede. &or ejemplo, libcEde es lalibrer1a de desarrollo de las librer1as de C bsicas % es requerida en casi cualquier compilación.

    Comandos 8ue dan información so-re el 2ardare de la ma8uina

    E ls2 0sto produce una salida tan extensa que lo mejor es exportarlo aun archio htmlF

    sudo lshw -html > /tmp/hw.html && firefox /tmp/hw.html

    E lspcilspcmciaE lsus-

    er solamente los dispositios actiosF lsusb | grep -v 0000:0000E -iosdecodeE dmidecode

    o /arca ersión % fecha de la J3S

    o >ipo de hard!are soportado

    o /arca % modelo de la placa, tipo de socAet, tamao mximo memoria

     por slot % mximo soportado.

    &a#ina -* de --

  • 8/19/2019 Gnu Linux Asir

    22/22

      Comandos Unix

    o 3nformación sobre los puertos % de los slot pci, asi como de los utili$ados

    % los libres.

    E less /proc/cpuinfonos muestra toda la información de nuestro procesador % en el caso de ser de

    doble núcleo, aparece como si fueran dosE less /proc/meminfo

     podemos er cuanta memoria tenemos % cuanta est disponible.E ls2al inf. Sobre los dispositios

     lshal | grep info.product | cut -d -f! | sort

    otras erra,ientas re?uieren insta#a&i@n:- xosview: uso )e #a &u / #a ,e,oria- hardinfo An"or,a&i@n )e# siste,a are&i)o a# =verest )e Bin)ows

    E "ucesos del sistema

    Ciste,a- a),inistra&i@n- Disor )e su&esos

    E  #onitor del sistema

    Ciste,a- a),inistra&i@n- ,onitor )e# siste,a

    E  $dministracion de servicios

    Ansta#ar (oot-u !anaer Eatitu)e insta## (u,