Está en la página 1de 24

El sistema operativo Linux pertenece a un gnero de software de fuente libre o abierta (open source).

Este software funciona con un concepto muy sencillo: el software debe acompaarse con el cdigo fuente ue lo !aga funcionar. La accin de entregar el cdigo fuente con el software permite ue los usuarios realicen cambios" e#ecuten reparaciones de errores" instalen parc!es y realicen me#oras para !acer ue el software funcione me#or. Qu es un Shell? El $!ell es un programa ue se inicia una ve% ue se inicia una sesin en Linux" ue proporciona una interfa% de l&nea de comandos entre usted y el 'ernel de Linux. Los comandos escritos los interpreta el $!ell y se env&an al 'ernel" ue a su ve% abre" cierra" lee y escribe arc!ivos. (ay una serie de s!ells en Linux) sin embargo" el $!ell predeterminado de la mayor&a de distribuciones recibe el nombre de bash" y se encuentra en el directorio /bin. Los comandos y funciones internas del $!ell tambin se pueden usar para escribir programas. Iniciar sesin en Linux. En el terminal de Linux" lo primero ue se ve es una indicacin de inicio de sesin. Linux fue escrito pensando en la seguridad de la computadora. *ada usuario tiene su propia cuenta y sus propios privilegios de acceso. *uando inicie una sesin" recuerde ue la computadora trata de !acer coincidir su nombre de usuario y contrasea con los ue tenga en arc!ivo. La ortograf&a y la puntuacin cuentan" por lo ue aseg+rese de escoger un nombre de usuario y contrasea ue vaya a recordar. ,na ve% ingresado con el usuario root y la password correspondiente" se pulsa Enter y la pantalla se despe#ar- y aparecer- una l&nea de comandos. . /lgunas configuraciones de Linux le presentan un inicio de sesin gr-fico en ve% de una indicacin de l&nea de comandos. *on *trl0/lt012 pasa de modo ventana a la l&nea de comandos. 3ara volver a modo ventana pulse *trl0/lt014. Lo primero ue debe !acer tras reiniciar Linux una ve% !ec!a la instalacin es crear su propia cuenta de usuario. 3ara empe%ar a traba#ar con Linux" deber-: 5. *rear un nombre de usuario para usted o para otros. 6pcionalmente puede introducir la informacin de la cuenta de usuario. 2. *rear una contrasea para usted o los nuevos usuarios. 7. $alir o cerrar sesin en Linux. 8. 9niciar sesin en Linux con el nuevo nombre de usuario y contrasea. Crear una cuenta de usuario en la lnea de comandos.

*ree un nombre de usuario para usted mismo por medio del comando useradd" ue se encuentra en el directorio /usr/bin" as&: . useradd mi'e El comando useradd crea una entrada de usuario en un arc!ivo llamado passwd" ue est- en el directorio /etc. Esta entrada enumera el nombre de usuario y la contrasea" #unto con un directorio de inicio y un $!ell predeterminado: mi'e:x::;5::;5:<ic!ael $mit!:=!ome=mi'e:=bin=bas! /lgunas versiones de useradd le piden detalles sobre el usuario" como el nombre completo y la contrasea del mismo. 6tras versiones de#an esta informacin adicional en blanco" y esperan ue sea usted uien la cumplimente posteriormente. Cambiar la contrasea. *omo usuario" puede cambiar su propia contrasea o" como operador root" puede cambiar la contrasea de cual uier otro usuario del sistema. 3ara cambiar una contrasea" utilice el comando passwd" as&: > passwd current ,?9@ password: new ,?9@ password: retype new ,?9@ password: passwd: all aut!entication to'ens updated successfully $i est- conectado como usuario root" puede establecer la contrasea de cual uier otra cuenta mediante el uso de passwd" seguido por el nombre del usuario" de esta forma: . passwd amy El comando passwd" ue se encuentra en el directorio /usr/bin" le pide una nueva contrasea" y luego le pide ue la escriba de nuevo para verificar el cambio. Aras !aber reali%ado el cambio" la entrada /etc/passwd refle#a la contrasea como una cadena encriptada" de este modo: mi'e:B% =x?wC3y;6,::;5::;5:<ic!ael $mit!:=!ome=<i'e:=bin=bas! En algunos sistemas" la cadena encriptada podr&a aparecer en el arc!ivo /etc/shadow. $i est- empleando contraseas shadow" la cadena encriptada aparecer- como una x en /etc/passwd. !ecutar comandos como operador root. > w!oami amy > su 2

password: . w!oami root . exit > su Dc Euseradd mic!aelF password: En este e#emplo" el comando whoami" ue se encuentra en el directorio /usr/bin" informa sobre su identidad. El comando su pide una contrasea antes de permitirle convertirse en el operador root. Aras e#ecutar los comandos root" utilice el comando exit del Shell para volver al Shell y a la identidad originales. *uando usa el comando su con la opcin "c" se e#ecuta el comando root especificado" ue va entre comillas" y en ese momento se vuelve inmediatamente al Shell. #sar consolas $irtuales. Linux tambin le permite iniciar sesin m+ltiples veces" y como usuarios diferentes" a travs del uso de consolas virtuales. Las consolas $irtuales proporcionan una forma de e#ecutar dos o m-s shells a la ve%. Linux le permite abrir un m&nimo de seis consolas virtuales a la ve%. Las consolas virtuales se seleccionan pulsando las teclas /lt #unto con una tecla de funcin (de la 15 a la 1G). 3ara utili%ar una consola virtual tras el inicio de Linux" !aga lo siguiente: 5. Escriba su nombre de usuario cuando se le inste a ello y pulse 9ntro. 2. Escriba su contrasea y pulse 9ntro. 7. En cual uier momento puede pulsar la tecla de funcin 12 al 1G para empe%ar a usar una nueva consola virtual. /parecer- una nueva solicitud de inicio de sesin. 8. Hepita el proceso de inicio de sesin utili%ando su nombre de usuario. 3ara volver al primer Shell de inicio de sesin" mantenga presionada la tecla /lt y pulse la tecla de funcin 15. *ambie entre consolas virtuales por medio de la combinacin de teclas /lt0tecla de funcin apropiada. Cerrar sesin en Linux. Iespus de crear una nueva cuenta de usuario y una nueva contrasea de usuario" cierre sesin en Linux por medio del comando lo%out o exit. Aras !aber introducido cual uiera de estos comandos" volver- a aparecer la solicitud de inicio de sesin de Linux. &einiciar Linux. 3ara reiniciar el sistema utilice siempre el comando shutdown" ue se encuentra en el directorio /sbin. 3

El comando shutdown ocupa varias opciones de l&nea de comando. 3or e#emplo" si se utili%a la opcin "r" de reinicio" seguida por la palabra now" el sistema se reiniciar- inmediatamente: . s!utdown Dr now 'pa%ar Linux. El comando "h de shutdown" o halt (suspender)" apaga Linux. /l igual ue ocurre con la opcin "r" se puede especificar un tiempo (en segundos) o la palabra now para especificar cuando se uiere ue Linux se apague. . s!utdown D! now (btener a)uda con el comando man. El comando man se usa para mostrar /yuda o documentacin llamada p*%inas de manual acerca de un comando" arc!ivo o cual uier otra funcin de Linux.

Introducir comandos en la lnea de comandos del Shell. ,tili%ar Linux significa utili%ar una l&nea de comandos. Sensibilidad a las ma)+sculas ) min+sculas. Aodos los shells de Linux" tienen sensibilidad a las may+sculas y min+sculas. Esto significa ue !ay ue especificar los nombres de arc!ivos exactamente como son" con letras y caracteres en may+sculas" con ca#a mixta" o con letras y caracteres en min+sculas. Los nombres de arc!ivos pueden tener !asta 2:G caracteres" y pueden contener muc!os tipos diferentes de caracteres. 3or e#emplo: aJlongKfilename0aKlongLextension averylongfilenamet!atistoolongformostfilenames p/ymEoHy6uMiLinEvErsEey6ur*aAaNain a file aOfileP file:name filename file.txt file2.txt.extension KQ.R

Los caracteres reservados" o caracteres ue no se pueden usar en los nombres de arc!ivos son: S"ETU)(VWXYZ=[\) 6bserve ue es posible crear un nombre de arc!ivo con un espacio inicial" un espacio incrustado o ue est compuesto enteramente por espacios. ,uardar pulsaciones con el historial del Shell. $i su Shell soporta !istorial de l&nea de comandos" podr- despla%arse por los comandos introducidos anteriormente. El Shell predeterminado" bash" guarda las +ltimas 5;;; l&neas de comando en un arc!ivo llamado .bash-histor)" ue est- en el directorio home. 3ara volver a introducir r-pidamente una l&nea de comandos" utilice las teclas de cursor arriba o aba#o para despla%arse por la lista. Introducir m+ltiples comandos. 3ara introducir varios comandos en una sola l&nea de comandos" utilice el punto y coma ())" de esta forma: > ls ) cat file.txt Esto e#ecuta el comando ls (directorio de lista)" seguido por la muestra del arc!ivo" .ile.txt" por el comando cat (de concatenacin). Crear comandos en el Shell. El Shell reconoce una serie de caracteres especiales en la l&nea de comandos. $e puede !acer lo siguiente: Enviar la salida de un programa a un arc!ivo. (acer ue un programa lea el texto de un arc!ivo. /d#untar la salida de un programa a un arc!ivo. E#ecutar un programa en segundo plano.

#sar los operadores de redireccionamiento /0 // ) 1. Los operadores de redireccionamiento del Shell se usan para dirigir las entradas y salidas de un programa. El comando cat (abreviatura de concatenacin) se emplea para imprimir uno o m-s arc!ivos en la pantalla. *uando se usa con el car-cter /" ue se conoce como operador de redireccionamiento de salida est*ndar" el comando cat copiar- un arc!ivo enviando la salida a otro arc!ivo. > cat report.txt \ newreport.txt Esto se denomina rediri%ir la salida est*ndar. Aambin puede combinar el comando cat y el redireccionamiento de l&nea de comandos del Shell como mtodo para crear e introducir r-pidamente texto en un arc!ivo.

3ara introducir texto r-pidamente" siga estos pasos: 5. ,tilice el comando cat #unto con el redireccionamiento de salida de la l&nea de comandos para enviar todas las entradas escritas desde el teclado directamente a un arc!ivo de texto: > cat \ myfile.txt \Esta es una l&nea de texto. \Esta es la segunda l&nea de texto. \Esta es la +ltima l&nea de texto. 2. *uando !aya terminado de escribir el texto" pulse *trlKI para introducir una marca de fin de arc!ivo: \OE61P 7. 3ara comprobar el texto" utilice el comando cat: > cat myfile.txt Esta es una l&nea de texto. Esta es la segunda l&nea de texto. Esta es la +ltima l&nea de texto. El operador de redireccionamiento 1 (de entrada est-ndar) suministra informacin a un programa de esta forma: > cat [ report.txt / u& el comando cat lee el contenido del arc!ivo report.txt y env&a su contenido a la pantalla. 3ara construir un informe m-s grande" utilice el operador de anexin // para ad#untar salidas a arc!ivos existentes" de esta forma: > cat [ report.txt \\ newreport.txt $i el arc!ivo newreport.txt no existe" se crear- uno. $i el arc!ivo existe" el contenido del arc!ivo report.txt se ad#untar- al final del arc!ivo newreport.txt. &ediri%ir la salida de errores por medio de los n+meros. Las entradas y salidas est-ndar poseen n+meros de arc!ivo asignados en el Shell. La entrada est-ndar utili%a el n+mero 2" mientras ue la salida est-ndar emplea el n+mero 3. 6tro tipo de salida es error est*ndar" y su n+mero es 4. *asi todos los comandos de Linux indican errores por medio de la salida de errores est-ndar" y enviar- el mensa#e de error en la pantalla" como sigue: 6

> cat report.txt \ newreport.txt cat: report.txt: ?o existe arc!ivo o directorio seme#ante /l redirigir correctamente la salida de un programa" puede construir un registro de todos los errores. Especifi ue ue la salida de errores est-ndar siempre se env&e y ad#unte a un arc!ivo" de esta forma: > cat report.txt \ newreport.txt 2\ errors.log > cat errors.log cat: report.txt: ?o existe arc!ivo o directorio seme#ante Iado ue la salida de errores !a sido redirigida a un arc!ivo" no se imprime ning+n mensa#e de error en la pantalla. /un ue el arc!ivo newreport.txt estar- vac&o" el arc!ivo errors.lo% contendr- una lista de errores. #tili5ar canali5aciones para construir comandos. El car-cter de barra vertical" o de canali5acin (6) se denomina operador de canali5acin" y se usa para enviar salidas de un comando a la entrada de otro. 3ara ue sea capa% de usar un comando en una canali%acin" el programa debe ser capa% de leer las entradas est-ndar y escribir en las salidas est-ndar. Aales programas tambin reciben el nombre de .iltros. /lgunos e#emplos: > cat report.txt V wc Kl \ numberJofJlines.txt El e#emplo anterior cuenta el n+mero de l&neas de un arc!ivo y genera un informe. > find = V wc Dl \ numberJofJfiles.txt Esta l&nea de comandos cuenta el n+mero de arc!ivos ue !ay en el sistema" empe%ando en el directorio = o en el directorio del root. > find = V sort V uni Dd \ duplicateJfilenames.txt Este e#emplo genera un informe de los arc!ivos duplicados del sistema (los arc!ivos ue tienen el mismo nombre). > strings =usr=lib=ispell=american.!as! V sort V tee uppercase.dict V Z tr /K] aK% \ lowercase.dict Este e#emplo extrae una lista de palabras del diccionario del sistema" utili%ando el comando strin%s" y la salida se ordena. Entonces se usa el comando tee para guardar una copia del diccionario" todav&a en su forma original en may+sculas" mientras la salida la convierte en min+sculas el comando tr" ue luego guarda en min+sculas. *on esto se crean dos diccionarios diferentes: uno ue contiene palabras en may+sculas" y el otro ue contiene palabras en min+sculas. !ecutar pro%ramas en se%undo plano. 7

,tilice un signo (7) para iniciar y e#ecutar un programa en segundo plano. /un ue puede usar una consola virtual para e#ecutar otros programas al mismo tiempo" los programas en segundo plano pueden iniciarse muy f-cilmente desde un terminal sencillo o l&nea de comandos. > xcalc U > Este comando inicia el cliente 833 xcalc (calculadora)" de#ando el terminal libre para otras l&neas de comando. #tili5ar los comandos ps ) 9ill. / todos los procesos del sistema el kernel de Linux les asigna un solo n+mero de proceso. 3ara ver los n+meros de proceso de los programas ue est-n en e#ecucin en ese momento" utilice el comando ps (estado del proceso). Este listado muestra ue el comando su est- en e#ecucin con un n+mero de proceso 5G:^: > ps 5G:^ 5G:_ 2457 2458 p; p; p; p; $ $ A A ;:;; ;:;; ;:;; ;:;; su bas! pico report.txt pico newreport.txt

3uede detener programas si especifica el n+mero del proceso #unto con el comando 9ill" de esta forma: > 'ill K_ 2458 O8P0 `illed pico newreport.txt

Ietener programas matando un proceso por medio de un n+mero de proceso constituye una forma no muy conveniente de detener los programas ue est-n en un segundo plano. ,tilice el comando 9ill" seguido por el signo porcentual (:) y el n+mero de tarea o nombre del comando" para detener un programa as&: > 'ill a7 O7P0 Aerminated pico.report.txt

> 'ill apico O7P0 Aerminated pico.report.txt

Ietener programas por n+mero o nombre de tarea debe utili%arse en ve% de matar procesos" ya ue es muy f-cil ue introdu%ca un n+mero de proceso e uivocado" y por descuido detenga el sistema. #tili5ar comodines. 8

Los comodines se usan en la l&nea de comandos del Shell para especificar los arc!ivos por nombre o por extensin. Construir expresiones habituales. Los patrones de comodines de las expresiones habituales se construyen por medio de una sintaxis de l&nea de comandos especial. xpresin T Y OaK%P O;527P ZY Z) Rabc >abc 'ccin (acer ue coincidan todos los caracteres. (acer ue coincida un solo car-cter. (acer ue coincida un intervalo de caracteres. (acer ue coincida un intervalo de caracteres. (acer ue coincida el car-cter Y (acer ue coincida el car-cter ) (acer coincidir abc al principio de las l&neas. (acer coincidir abc al final de las l&neas.

,tilice el asterisco (;) para buscar todas las coincidencias de patrones iniciales y finales: > ls T.txt El orden de los caracteres en las expresiones de patrones es muy importante. 3ara buscar caracteres ue el Shell normalmente interpreta como ue tienen un significado especial" utilice la barra invertida ( <) como car*cter de escape para bsalirc del patrn: > ls TZYT Este comando enumera todos los arc!ivos provistos de un signo ? en el nombre de arc!ivo. Imprimir el directorio de traba!o en curso. ,tilice el comando pwd (imprimir directorio de traba#o) para imprimir el directorio de traba#o en curso (es decir" el directorio en ue se encuentre en ese momento): > pwd =!ome=<ic!ael Cambiar de directorio con el comando cd. ,tilice el comando cd para navegar por los directorios del sistema de arc!ivos de Linux. Aambin se puede usar > pwd =!ome=<ic!ael > cd =usr=bin 9

> pwd =usr=bin > cd =!ome=<ic!ael $i introduce el comando cd por s& mismo" volver- a su directorio de inicio (especificado en la variable de entorno =>(? ). daya al siguiente directorio introduciendo dos puntos y una barra (..=) con el comando cd" de esta forma: > pwd =!ome=<ic!ael > cd ..= > pwd =!ome Los dos puntos representan el directorio primario. El uso de un solo punto representa el directorio en curso. numerar directorios ) archi$os con el comando ls. ,tilice el comando ls para listar el contenido de uno o varios directorios. Es posible usar comodines para especificar ciertos arc!ivos o directorios. 3ara enumerar el contenido del directorio /usr/local/" escriba lo siguiente: > ls =usr=local= bin doc etc info lib man t sbin src

games lestif

3or defecto" el comando ls enumera el contenido de los directorios en columnas" ordenadas verticalmente. 3uede usar distintas opciones de l&nea de comandos y comodines para ver el contenido de los directorios en distintos formatos. 3or e#emplo" la opcin "@ identifica los directorios y arc!ivos e#ecutables ad#unt-ndoles una barra (/) y un asterisco (;) a los nombres de arc!ivos o directorios: > ls D1 =usr=local=lib=T =usr=local=lib=cddb: eb5;8_5; =usr=local=lib=saytime: saytime.s!T sounds= 10

6pciones comunes ls de l&nea de comandos

Indicador Kd Kl Km Kx Ka K/ K* K1 KH K$ KKcolor

Aescripcin Enumera los nombres de los directorios y no el contenido de los mismos. Listado de formato largo (incluye el tamao del arc!ivo" las fec!as" los permisos" etc). Enumera los nombres de arc!ivo separados por comas. 6rdena los nombres de arc!ivo !ori%ontalmente en columnas. Enumera todos los arc!ivos (incluyendo los ue comien%an con .). Enumera todos los arc!ivos" salvo . y B 6rdena los arc!ivos verticalmente en columnas. 9dentifica los directorios" v&nculos y e#ecutables. Enumera el contenido de los directorios de forma recurrente. 6rdena los arc!ivos por tamao. ,tili%a el color para identificar arc!ivos.

Cer archi$os de texto con el comando cat. ,tilice el comando cat para imprimir el contenido de los arc!ivos en la consola o ventana del terminal. > cat =etc=issue Hed (at Linux release :.; ((urricane) `ernel 2.;.75 on an i:^G ,tilice la opcin "n del comando cat para autom-tica: > cat Dn =etc=issue 5 2 Hed (at Linux release :.; ((urricane) 7 `ernel 2.;.75 on an i:^G 8 <uestre m+ltiples arc!ivos" bien enumerando los nombres en la l&nea de comandos o por medio de un comod&n. ,tilice operadores de redireccionamiento de salida" como / o //" para crear" copiar" sobrescribir o ad#untar un solo arc!ivo o m+ltiples arc!ivos. 3or e#emplo" la siguiente l&nea de comandos combina el contenido de .ile3.txt y .ile4.txt" y crea .ileD.txt: > cat file5.txt file2.txt \ file7.txt La l&nea siguiente ad#unta el contenido de .ile3.txt a .ile4.txt: > cat file5.txt \\ file2.txt 11 ue los listados de los arc!ivos se numeren de forma

3or +ltimo" la siguiente l&nea de comandos toma el contenido de .ile4.txt y crea o sobrescribe .ile3.txt: > cat file2.txt \ file5.txt /l redirigir las entradas del teclado a un arc!ivo" el comando cat se podr- usar como editor de texto r-pido: > cat \ friends.txt <ic!ael *ynt!ia Lisa <ar' El comando cat lee los caracteres del teclado !asta ue se escribe CtrlEA. El comando cat imprime todo tipo de arc!ivos" incluyendo los arc!ivos no legibles por el o#o !umano" como los binarios de programa. Crear directorios con el comando m9dir. El comando m9dir se usa para crear directorios. ,tilice m9dir con un nombre de directorio en la l&nea de comandos. > m'dir !omewor' ?9dir tambin se puede usar para crear r-pidamente una #erar u&a de directorios. ,tilice la opcin de l&nea de comandos "p para crear cada uno de los directorios necesario en la estructura (los directorios existentes no se sobrescribir-n): > m'dir Dp !omewor'=compsci=linux='ernalJ!ac'ing= Copiar archi$os ) directorios. La capacidad de copiar arc!ivos y directorios de forma efica% y r-pida es importante en el uso de Linux. Copiar archi$os por medio del comando cp. El comando cp se usa para copiar arc!ivos. ,tilice el nombre de arc!ivo original seguido por un nuevo nombre de arc!ivo en la l&nea de comandos para copiar un solo arc!ivo. > cp notes notes.old ,tilice comodines para copiar m+ltiples arc!ivos en una nueva ubicacin: > cp T#pg vacationJpics= ,tilice el comando cp con precaucin. / menos ue utilice la opcin de l&nea de comandos "i" el comando cp sobrescribir- los arc!ivos existentes sin advertirle de antemano. *uando utilice la opcin "i" el comando cp le pedir- una ) o una n: 12

> cp Di notes.old notes cp: overwrite EnotesFY y ,na solucin m-s conveniente consiste en usar la opcin "b con el comando cp. 3ara crear una copia de seguridad de los arc!ivos ue se puedan sobrescribir" trate de !acer lo siguiente: > cp Dbi notes.old notes cp: overwrite EnotesFY y > ls noteT notes.old notes notese

6bserve ue cada arc!ivo de copia de seguridad tiene un signo e ad#unto a su nombre. Copiar directorios con el comando cp. La opcin de l&nea de comandos "F" #unto con la opcin de l&nea de comandos "&" no slo copia los arc!ivos de un directorio a otro" sino tambin todos los directorios ue contenga. 3or e#emplo" cada una de las siguientes l&nea de comando copia el directorio current y todos los arc!ivos y directorios ue contenga al directorio lastwee9: > cp D3H current lastwee' > cp DH current lastwee' ?o$er ) cambiar el nombre de los archi$os ) directorios con el comando m$. El comando m$ se usa para mover o cambiar el nombre de los arc!ivos y los directorios. 3ara cambiar el nombre de un arc!ivo o un directorio" especifi ue el nombre de arc!ivo antiguo" y el nombre de arc!ivo nuevo en la l&nea de comandos (a diferencia del comando cp" m$ no de#a una copia del arc!ivo o del directorio originales): > mv error.log error.log.oct__ ,tilice el commando m$ con cautela. 3uede f-cilmente sobrescribir los arc!ivos existentes" a menos ue utilice la opcin de l&nea de comandos "i. *uando se usa la opcin "i" el comando m$ le pide permiso para sobrescribir un arc!ivo existente" de esta forma: > mv Di error.log error.log.oct__ mv: replace Eerror.log.oct__FY y ,na manera m-s segura de usar el comando m$ se produce a travs de la opcin "b. *uando se combina con la opcin "i" el comando m$ "b pide permiso para sobrescribir un arc!ivo" y tambin crea una copia de seguridad" de esta forma: > mv Dbi error.log error.log.oct__ 13

mv: replace Eerror.log.oct__FY y > ls errT error.log.oct__ error.log.oct__e $i utili%e la opcin "b" el comando m$ crear- una copia de seguridad del arc!ivo ue se estsobrescribiendo. El arc!ivo original permanece" con un signo e ad#unto a su nombre de arc!ivo. El comando m$ mover- los arc!ivos de un directorio a otro por medio de uno de los siguientes mtodos. m$ mover- slo los arc!ivos (no directorios) de un sistema de arc!ivos a otro. > mv error.log =5___Jerrorlogs= > mv error.log =5___Jerrorlogs=error.log.oct__ 3or medio del comando m$" puede mover directorios enteros. $i el directorio de destino no existe" m$ cambiar- el nombre del directorio: > ls D1 sc!ool= science=

> mv sc!ool !omewor' > ls D1 !omewor'= science=

$i el directorio de destino existe" todo el directorio se mover- al de destino. > ls D1 !omewor'= science=

> ls D1 !omewor' compsci= biology=

> mv science !omewor' > ls D1 !omewor'= > ls D1 !omewor'= science= compsci= biology=

Crear $nculos simblicos.

14

Los v&nculos simblicos son accesos directos ue se usan para vincular directorios a arc!ivos o directorios ue tienen ubicaciones o nombres m-s convenientes. Cincular archi$os con el comando ln. (ay veces ue se uiere tener m-s de una ruta del mismo arc!ivo. Iigamos ue uiere poder e#ecutar una aplicacin desde cual uier parte con facilidad" sin escribir toda la ruta del arc!ivo. 3odr&a crear un v&nculo desde =usr=local=bin !asta el e#ecutable del arc!ivo. (ay dos tipos de v&nculos en el mundo de Linux: los v&nculos duros y los v&nculos blandos. /mbos tienen efectos similares" pero son dos criaturas bien diferentes. Cnculos blandos. ,n $nculo blando es un arc!ivo muy pe ueo ue se crea en un directorio. El +nico contenido es la ruta del arc!ivo con el ue lo est- vinculando. 3or tanto" si se crea un v&nculo blando de =!ome=<ic!ael=foo a =usr=local=bin=foo" podr&a e#ecutar el arc!ivo =usr=local=bin=foo" ue se comportar&a como si estuviera e#ecutando =!ome=<ic!ael=foo. $in embargo" el arc!ivo =usr=local=bin= no ser&a m-s ue una serie de instrucciones ue apuntan el Shell al arc!ivo de =!ome=<ic!ael. 9mag&nese ue es como un reenv&o de llamada en el Shell. /dem-s" tenga presente ue si elimina el arc!ivo original" su v&nculo blando apuntara nada" por lo ue no tendr- ninguna utilidad (como si reenviara todas las llamadas a su telfono mvil pero apagara ste" con lo ue las llamadas no tendr&an dnde ir y el reenv&o de llamadas fuera in+til). Los v&nculos blandos funcionan en sistemas de arc!ivos en red" dispositivos montados" otros sistemas de arc!ivos y directorios. 3ara crear un v&nculo blando" utilice el comando ln con la opcin de l&nea de comandos "s" con el nombre de arc!ivo original seguido por el nombre del v&nculo deseado: > ln Ds grap!icw!italongname.xcf grap!ic.xcf > ls Dl KrwKrwKrKK 5 mic!ael users users 5G^25 1eb 5; 5::22 grap!icwit!alongname.xcf 8 1eb 5; 5::22 grap!ic.xcf K\

lrwxrwxrwx 5 mic!ael grap!icwit!alongname.xcf

6bserve ue si escribe ls "l" el listado del directorio del v&nculo blando refle#ar- el arc!ivo al ue ste seala. Cnculos duros. Los $nculos duros funcionan de forma algo distinta ue los v&nculos blandos. $i un v&nculo blando es como un reenv&o de llamadas de un n+mero de telfono" un v&nculo duro ser&a como tener m+ltiples n+meros de telfono ue apuntaran a sealaran al mismo telfono. Aodos los arc!ivos de la computadora est-n escritos en un lugar f&sico del disco duro. Este lugar se denomina &nodo" y cada &nodo tiene un n+mero. *uando se escribe ls en un listado de directorio" en 15

realidad se est- buscando un &ndice ue indi ue al sistema de arc!ivos u &nodo corresponde a u arc!ivo. $i escribe ls "i" ver- un listado de directorio con los n+meros de &nodo: > ls Di 5;_5G55 5___ savedKmessages 5;_54;5 sentKmail 5;_5G5; sentKmailK#unK

*uando se crea un v&nculo duro" en realidad se est- creando otro listado de directorios ue seala el mismo &nodo. $e pueden crear tantos v&nculos duros de un arc!ivo del sistema como se uiera" sin ocupar espacio en el disco duro. $i se elimina el arc!ivo original" el segundo permanecer-" ya ue no se !a eliminado el &nodo al ue seala. La +nica manera posible de eliminar un arc!ivo del sistema de arc!ivos consiste en eliminar todos los v&nculos duros ue !aya con ese arc!ivo. $i reali%a cambios en el arc!ivo original" todos los v&nculos refle#ar-n ese cambio (ya ue todos sealan al mismo &nodo). $olo se puede crear un v&nculo duro con un arc!ivo en el mismo disco y particin ue el original. ,tilice el comando ln (sin la opcin "s) para crear un v&nculo duro: > ln grap!icwit!alongname.xcf newgrap!ic.xcf > ls Dl fileT KrwKrwKrKK 2 mic!ael users users users 5G^25 1eb 5; 5::22 grap!icwit!alongname.xcf 8 1eb 5; 5::22 grap!ic.xcf 5G^25 1eb 5; 5::22 newgrap!ic.xcf K\

lrwxrwxrwx 5 mic!ael grap!icwit!alongname.xcf KrwKrwKrKK > ls Di 8:58G grap!icwit!alongname.xcf 2 mic!ael

8:58G newgrap!ic.xcf

6bserve ue los arc!ivos poseen el mismo n+mero de &nodo. Cincular directorios con el comando ln. Aambin se puede usar el comando ln "s para crear v&nculos con directorios ue se utilicen con frecuencia (observe ue no se pueden !acer v&nculos duros con directorios). > ln Ds =var=!ttp=!tml= =!ome=amy=website /!ora en ve% de tener ue escribir un nombre de ruta largo al mover arc!ivos" puede usar lo siguiente: > mv T#pg website= liminar archi$os con el comando rm. El comando rm se usa para eliminar arc!ivos y directorios. Los arc!ivos se eliminan incluyendo uno o varios nombres de arc!ivo en la l&nea de comandos" de esta forma: 16

> rm sentmailfune5__^ sentmailfuly5__^ sentmail/ugust5__^ ,tilice comodines para eliminar m+ltiples arc!ivos: > rm T5__^ El comando rm con la opcin "r tambin se puede usar para eliminar arc!ivos de un directorio especificado. $i trata de eliminar un directorio ue no tiene esta opcin" el comando rm se ue#ar- y se terminar-. La opcin "i se lo indica antes de eliminar cada arc!ivo de directorio. Esta opcin se configura para incluirse autom-ticamente con rm en muc!as m- uinas. / la inversa" la opcin ". especifica ue no uiere ver la indicacin en cada arc!ivo del directorio. Aambin suprime los mensa#es de error y los avisos. > rm Dri sentmail= rm: descend directory EsentmailFY y rm: remove Esentmail=sentmailfune5__^FY y rm: remove Esentmail=sentmailfuly5__^FY y rm: remove Esentmail=sentmail/ugust5__^FY y rm: remove directory EsentmailFY y liminar directorios con el comando rmdir. 3uede eliminar directorios por medio del comando rmdir. > rmdir !omewor'=compsci=Linux='ernalJ!ac'ing > rmdir !omewor'=compsci rmdir: !omewor'=compsci: Iirectory no empty ?o obstante" si !ay alg+n arc!ivo o directorio por deba#o del directorio especificado" deber- moverlo o eliminarlo antes. liminar directorios con el comando rm. El comando rm se puede usar como el comando rmdir para eliminar directorios" pero deber- usar la opcin "r en con#uncin con la opcin ". para !acerlo. Esta combinacin de opciones elimina los arc!ivos y los directorios sin pedir una confirmacin. > rm Drf !omewor' Guscar archi$os con el comando .ind. El comando .ind se usa para buscar todos los sistemas de arc!ivos montados por el nombre o nombre parcial de un arc!ivo o directorio. 17

> find =usr Dname Temacs Dxdev Esta b+s ueda del directorio =usr para el editor emacs y otros arc!ivos locali%a el programa emacs y su p-gina de manual. La opcin "xde$ especifica ue slo se uiere buscar en la m- uina local. Aambin con esta opcin no buscar- en otros sistemas de arc!ivos ue !aya montado en la m- uina local. =usr=bin=emacs =usr=bin=xemacs =usr=lib=emacs =usr=s!are=emacs El comando .ind indica los arc!ivos por tipo" fec!a" !ora" tamao o patrn de b+s ueda. ,tilice la opcin de l&nea de comandos "atime para locali%ar programas nuevos o pocos usados. El indicador "t)pe . le indica a .ind ue el tipo de elemento ue est- buscando es un arc!ivo. 3or e#emplo" la siguiente l&nea de comandos locali%a los programas a los ue se !a accedido en los +ltimos cien d&as: > find =usr=bin Dtype f Datime 05;; Dprint La siguiente l&nea de comandos locali%a los programas ue tienen uno o menos aos: > find =usr=bin Dtype f Datime K5 Dprint 3ara buscar por tamao" utilice la opcin "si5e" seguida de un n+mero en blo ues (:52 bytes)" bytes o 'ilobytes (5;28 bytes). 3or e#emplo" el siguiente comando locali%a todos los programas del directorio /usr/bin ue ocupan m-s de :;;.;;; bytes: > find =usr=bin Dtype f Dsi%e 0:;;' Dprint #so del comando %rep. El comando %rep forma parte de una familia de comandos: %rep" .%rep y e%rep. Estos comandos est-n estrec!amente relacionados entre s&" pero poseen distintas opciones en lo ue a tipo de expresiones o comodines a usar en la l&nea de comandos se refiere. 3or e#emplo" para buscar una ocurrencia de la palabra hacker en el arc!ivo catedralEba5aar.txt: > grep Dn !ac'er catedralKba%aar.txt 24^: !appy extreme" is t!at a lot of users are !ac'ers too. gecause source 24_: code is available" t!ey can be effective !ac'ers. A!is can beh 52G_: A!at being t!e case" itFs doubly important t!at openKsource !ac'ers 585G: t!e !ac'er culture mirrors t!e organi%ation of its software" and viceKversa. El comando %rep devuelve coincidencias de palabras como patrones en la l&nea de comandos. La opcin de l&nea de comandos "n imprime el n+mero de l&nea de la l&nea coincidente si se encuentra el patrn. El 18

comando %rep" por defecto" reconoce y utili%a solamente expresiones !abituales. $i desea usar expresiones !abituales extendidas" use e%rep. *ada comando %rep lee la entrada est-ndar y escribe en la salida est-ndar. $in embargo" tambin se pueden colocar patrones de b+s ueda en un arc!ivo de texto y utili%arlos con la opcin ".. Esta opcin le pide a %rep ue obtenga coincidencias de un arc!ivo. En este e#emplo" !ay un arc!ivo ue contiene las palabras ue desea buscar: > cat searc!file esr Meb > grep Dn Df searc!file catedralKba%aar.txt 5^;: Linus Aorvalds !ttp:==www.tuxedo.org=Kesr=fa s=linus" for example" 5;77: birt! of t!e Morld Mide Meb" and t!at Linux left its infancy during #suarios0 %rupos ) sus relaciones con el sistema. / diferencia de muc!os otros sistemas operativos ue !ay en el mercado" Linux soporta el concepto de m+ltiples usuarios y grupos. ,n usuario es alguien ue tiene un identificador +nico en el sistema" un nombre y un n+mero. Esta informacin permite ue el sistema controle la forma en ue se asegura el acceso al sistema y lo ue puede !acer la persona una ve% ue !a sido aceptada. Las actividades de los usuarios son controladas por el sistema por medio de su n+mero de identificacin de usuario. ,n grupo es un con#unto de usuarios. Aodo grupo posee un n+mero de identificacin +nico" as& como un nombre +nico" en virtud del cual se puede !acer referencia a l. Los administradores de sistemas suelen controlar el acceso por grupos (por e#emplo" los usuarios del grupo under%rad pueden no iniciar sesin en el servidor insocox)%en). Aodo usuario y grupo posee cierta informacin perifrica ad#unta. Lo ue conforma a un usuario: Campo Login 3assword Aescripcin El nombre +nico del usuario en el sistema. La contrasea en virtud del cual el usuario puede acceder al sistema (encriptada). ,9I /breviatura de identificacin de usuario. Este n+mero se empare#a con el nombre login. Aoda combinacin login=,9I debe ser +nica. N9I /breviatura de identificacin de grupo. Este n+mero se empare#a con el grupo al ue pertenece el usuario por defecto. Aodos los usuarios pertenecen al menos a un grupo. *omentario ,na entrada libre de formulario ue sirve para describir al usuario. ?ormalmente" suele ser el nombre del usuario. Esta entrada no tiene por u ser +nica. Huta de directorio de El directorio donde est-n almacenados los arc!ivos del usuario. Los arc!ivos de 19

inicio $!ell

configuracin personales de cada usuario se mantienen a u&. *uando el usuario inicia sesin" el directorio predeterminado tambin estar- a u&. El programa ue se e#ecuta autom-ticamente cuando el usuario inicia una sesin. $uele ser un programa $!ell" como =bin=bas!" lo ue proporciona al usuario una orden ,?9@ (de forma muy parecida a cmo el programa command.com proporciona a los usuarios acceso a I6$ en Mindows).

Lo ue conforma a un grupo: Campo ?ame 3assword N9I Lista de usuario Comentario El nombre del grupo. *ada nombre de grupo debe ser singular. $i un grupo tiene una contrasea para acceder a l" deber- estar configurado. *asi nunca tendr- ue preocuparse por su configuracin. /breviatura de identificacin de grupo. Esto asocia un n+mero al nombre del grupo. Aodas las combinaciones de n+mero nombre=grupo deben ser +nica. ,na lista separada por comas de los usuarios ue forman parte de este grupo (por e#emplo" la lista ss!a!" !ornbac!" #nguyen indican ue los tres usuarios est-n en este determinado grupo en particular.

Estas dos tablas est-n almacenadas" respectivamente" en los arc!ivos /etc/passwd /etc/%roup. Los programas ue gestionan los usuarios de una forma u otra modifican estos arc!ivos autom-ticamente. 3uede ver este arc!ivo: . more =etc=passwd '%re%ar usuarios con useradd. 3ara agregar un usuario con el comando useradd" inicie sesin como root e introdu%ca el comando siguiente: . useradd Dd !omedir Ds =bin=tcs! Dc b,serFs Heal ?amec newlogin homedir es el directorio de inicio del usuario ue se !a creado" ue viene establecido por la opcin "d. #serHs &eal Iame es el nombre real del usuario" aadido por medio del indicador de comentario" Ec (aseg+rese de ue el nombre del usuario vaya entre comillas dobles). La "s establece el $!ell del usuario a /bin/tcsh y" por +ltimo" newlo%in es el nombre de inicio de sesin del usuario ue est- siendo aadido. ?odi.icar usuarios con el comando usermod. El comando usermod permite cambiar todos los par-metros establecidos para un usuario al agregarlo al sistema. 3ara cambiar la informacin sobre la configuracin de un usuario" inicie sesin como usuario root e introdu%ca el comando siguiente: . usermod Dc b?ew ?amec Dd !omedir Dm Dg groupname Ds s!ell Dl newlogin currentlogin Ionde Iew Iame es el nuevo nombre del usuario" homedir ser&a el nuevo directorio de inicio del usuario" %roupname ser&a el nombre del grupo de usuarios predeterminado al ue pertenecer&a" Shell 20

ser&a el $!ell deseado del usuario" newlo%in ser&a el nuevo nombre de inicio de sesin uerido por el usuario y" por +ltimo" currentlo%in ser&a el nombre de inicio de sesin del usuario ue uisiera cambiar. liminar usuarios con el comando userdel. 3ara eliminar un usuario del sistema" utilice el comando userdel. El usuario debe estar desconectado del sistema antes de poder eliminarlo. 9nicie sesin con root e introdu%ca el siguiente comando: . userdel Dr login Ionde lo%in es el nombre de inicio de sesin del usuario ue desea eliminar. $i emplea el comando userdel sin la "r el usuario uedar- eliminado del sistema y todos sus arc!ivos uedar-n atr-s. ,tilice "r para eliminar todos los indicios del usuario. '%re%ar %rupos con el comando %roupadd. El comando %roupadd permite agregar grupos al sistema desde la l&nea de comandos. 3ara !acerlo" inicie sesin como usuario root e introdu%ca el comando siguiente: . groupadd groupname Ionde %roupname es el nombre del grupo ue desea agregar al sistema. ?odi.icar %rupos con el comando %oupmod. 3ara modificar el nombre de un grupo una ve% creado" utilice el comando %roupmod. 3ara reali%ar el cambio" inicie sesin como usuario root e introdu%ca el comando siguiente: . groupmod Dn newgroup currentgroup Ionde new%roup es el nuevo nombre ue se uiere asignar al grupo y current%roup es el nombre actual del grupo. liminar %rupos con el comando %roupdel. 3ara eliminar un grupo existente" utilice el comando %roupdel. 9nicie sesin como usuario root e introdu%ca el comando siguiente: . groupdel groupname Ionde %roupname es el grupo ue desea eliminar. $in embargo" !ay un inconveniente. ?o es posible eliminar un grupo si es el grupo principal de cual uier usuario. 3rimero tendr- ue eliminar los usuarios o cambiar su grupo principal por medio del comando usermod. 'dministrar %rupos con %passwd. 3ara agregar usuarios a un grupo existente" inicie sesin como usuario root e introdu%ca el comando siguiente: . gpasswd Da loginname groupname 21

Ionde lo%inname es el nombre de inicio de sesin del usuario ue desea agregar al grupo %roupname. 3ara eliminar un usuario de un grupo existente" inicie sesin como usuario root e introdu%ca el comando siguiente: . gpasswd Dd loginname groupname Ionde lo%inname es el inicio de sesin ue desea eliminar del grupo %roupname. #tili5ar el comando ch%rp. 3ara cambiar el grupo de un arc!ivo" utilice el comando ch%rp. 9nicie sesin como usuario root e introdu%ca el comando siguiente: . c!grp groupname filename Ionde %roupname es el nombre del grupo al ue desea cambiar el par-metro del grupo del arc!ivo" y .ilename es el nombre del arc!ivo en el ue uiere cambiar el grupo. 3ara cambiar el grupo de un directorio y todos sus subdirectorios y arc!ivos" podemos usar el comando ch%rp con la opcin "&. 3or e#emplo" para cambiar el grupo de todos los arc!ivos el directorio htdocs a www" utili%ar&amos: . c!grp DH www !tdocs Cambiar la propiedad ) los permisos de archi$o. Ios programas ayudan a cambiar la propiedad y los permisos de arc!ivo" chown le permite cambiar un arc!ivo (o grupo de arc!ivos) a otro propietario. chmod permite cambiar los permisos de acceso a arc!ivos individuales. #tili5ar el comando chown. 3ara cambiar el propietario de un arc!ivo" !ay ue utili%ar el comando chown. 9nicie sesin como usuario root e introdu%ca este comando: . c!own ownername filename Ionde ownername es el nombre de inicio de sesin del usuario en el ue desea cambiar el par-metro de propiedad de arc!ivo" y .ilename es el nombre del arc!ivo en el ue desea ue cambie el propietario. 3ara cambiar el propietario de un directorio y todos sus subdirectorios y arc!ivos" podemos usar el comando chown con la opcin "&. 3or e#emplo" para cambiar el propietario de todos los arc!ivos del directorio htdocs a sshah" tendr&amos ue utili%ar: . c!own DH ss!a! !tdocs #tili5ar el comando chmod. /ntes de explicar el uso del comando chmod" primero tendr- ue comprender los permisos de arc!ivo. 22

En Linux" todo arc!ivo y directorio tiene tres niveles de permisos de acceso: los ue se aplican al propietario del arc!ivo" los ue se aplican al grupo ue tiene el arc!ivo y los ue se aplican a todos los usuarios del sistema. 3odemos ver los permisos cuando se !ace un ls "l%. 3or e#emplo: drwxrKxrKx KrwKKKKKKK 2 5 ss!a! ss!a! sysadmin sysadmin 5;28 28G: 1eb 58 5::8_ weddingJplans 1eb : 5_:22 index.!tml

La primera columna del listado son los permisos del arc!ivo. El primer car-cter representa al tipo de arc!ivo (d significa directorio" l significa v&nculo simblico" etc.)" y los nueve caracteres siguientes son los permisos. Los tres primeros caracteres representan a los permisos ue tiene el propietario del arc!ivo" los tres siguientes son para el grupo en el ue se encuentra el arc!ivo y los tres +ltimos representan los permisos del mundo. Las letras siguientes se usan para representar a los permisos: Letra r w x Si%ni.icado Head Mrite Execute

*ada permiso tiene su correspondiente valor. El atributo read e uivale a 8" el atributo write e uivale a 2 y el atributo execute e uivale a 5. *uando se combinan los atributos" se agregan sus valores. danse los e#emplos siguientes: Los grupos de tres m-s !abituales" y sus significados son: Fermiso KKK rKK rwK rwx rKx KKx Calores ; 8 G 4 : 5 Si%ni.icado $in permisos Head only Head y write Head" write y execute Head y execute $lo execute

/un ue existen otras combinaciones (por e#emplo Dwx)" carecen de sentido" y la probabilidad de ue se tope con ellas es casi nula. *uando se combinan estos valores" se obtienen tres n+meros ue conforman el permiso del arc!ivo. Entre las combinaciones de permisos normales destacan las siguientes: Fermiso KrwKKKKKKK KrwKrKKrKK KrwKrwKrwK Calor G;; G88 GGG Si%ni.icado El propietario tiene permiso de lectura y escritura. Esto es lo ue se uiere tener en la mayor parte de arc!ivos. El propietario tiene permisos de lectura y de escritura. El grupo y todo el mundo tiene permisos de slo lectura. Aodo el mundo tiene permisos de lectura y de escritura de un arc!ivo. Esto 23

KrwxKKKKKK KrwxrKxrKx Krwxrwxrwx KrwxKKxKKx drwxKKKKKK drwxrKxrKx drwxKKxKKx

4;; 4:: 444 455 4;; 4:: 455

no es bueno. ?o se uiere ue otras personas puedan cambiar los arc!ivos. El propietario tiene permisos de lectura" escritura y e#ecucin. Esto es lo ue se uiere tener en los programas a e#ecutar. El propietario tiene permisos de lectura" escritura y e#ecucin. El resto del mundo tiene permisos de lectura y e#ecucin. Aodo el mundo tiene privilegios de lectura" escritura y e#ecucin. /l igual ue ocurre con el valor GGG" esto es malo. 3ermitir ue otros modifi uen los arc!ivos es la receta perfecta para el desastre. El propietario tiene privilegios de lectura" escritura y e#ecucin. El resto del mundo tiene permisos de slo e#ecucin. Esto es v-lido en programas ue permiten ue otros e#ecuten" pero ue no copien. $e trata de un directorio creado con el comando m9dir. $lo el propietario puede leer y escribir en este directorio. 6bserve ue todos los directorios deben tener el con#unto de bits e#ecutables. Este directorio slo lo puede cambiar el propietario" pero todos los dem-s pueden ver su contenido. ,n truco ue se puede usar cuando se uiera ue un directorio pueda ser le&do por todo el mundo" sin ue nadie pueda ver un listado de directorios a travs del comando ls. $lo si la persona conoce el nombre de arc!ivo ue desea recuperar podr- leerlo.

/!ora ue ya conoce los permisos" el aprendi%a#e de chmod es muy f-cil. 3ara cambiar los permisos de un arc!ivo" inicie sesin como usuario root e introdu%ca el siguiente comando: . c!mod permissions file Ionde permissions es un valor numrico (de tres d&gitos) ue vimos antes" y .ile es el nombre del arc!ivo en el ue se desea ue esto afecte. 3or e#emplo" para establecer ue el arc!ivo index.html lo pueda cambiar el propietario" siendo slo legible por el grupo del arc!ivo y por el mundo" el comando ser&a: . c!mod G88 index.!tml 3ara cambiar los permisos de todos los arc!ivos de un directorio espec&fico" utilice la opcin "& de chmod. 3or e#emplo" para !acer ue todos los permisos de /usr/bin se estable%can a los permisos 4::" se emplear&a: . c!mod DH 4:: =usr=bin

24

También podría gustarte