El Shell Comandos Básicos de Linux

También podría gustarte

Está en la página 1de 31

UNIDAD DIDCTICA

EL SHELL: COMANDOS BSICOS DE LINUX


1. INTRODUCCIN.........................................................................................................2 2. NOCIONES BSICAS.................................................................................................4 3. COMANDOS BSICOS...............................................................................................5 4. CARACTERES COMODN O WILDCARDS.............................................................7 5. RDENES RELACIONADAS CON DIRECTORIOS................................................8 6. ACCESO A UNIDADES DE DISCO: MONTAJE Y DESMONTAJE.....................11 7. RDENES RELACIONADAS CON IC!EROS.....................................................12 8. OTROS COMANDOS BSICOS..............................................................................17 8.1. E"#$%&' '%(#$)' *+ *, )&"%': C'-$+)'" )( . )/..................................................17 8.2. I-#0*"&1+: C'-$+)' ,#0.......................................................................................17 8.3. B2"3(*)$ )* /&%4*0'". C'-$+)' /&+)...................................................................18 8.4. E+,$%*" $ /&%4*0'". C'-$+)' ,+............................................................................15 8.5. A60(#$%&1+ . %'-#0*"&1+ )* /&%4*0'": C'-$+)'" 7$0 . 68&#96(+8&#...................23 8.6. C$-:&' )* -')' )* ,'" /&%4*0'": %'-$+)'" %4-'); %4'<+ . %460#...................25 5. =ESTIN DE USUARIOS Y =RU>OS....................................................................28 5.1. I+70')(%%&1+..........................................................................................................28 5.2. C'+%*#7'" )* 6*"7&1+ )* ("($0&'".........................................................................28 5.3.A?$)&0 +(*@'" ("($0&'" . :'00$0 ("($0&'"..............................................................3A 5.4. O70$" 10)*+*" #$0$ ,$ 6*"7&1+ )* ("($0&'" . 60(#'"..............................................31 1A. REDIRECCIONAMIENTO Y TUBERAS..............................................................32 1A.1. I+70')(%%&1+........................................................................................................32 1A.2. R*)&0*%%&'+$-&*+7' )* ,$ *+70$)$ . ,$ "$,&)$......................................................33 1A.3. T(:*0B$" C#&#*"D..................................................................................................35 11. LA EDICIN DE TEETO. EL EDITOR @&..............................................................36 11.1. I+70')(%%&1+........................................................................................................36 11.2. I+"*07$0 7*F7'.......................................................................................................36 11.3. B'00$0 7*F7'.........................................................................................................37 11.4. M')&/&%$0 7*F7'...................................................................................................37 11.5. 0)*+*" )* )*"#,$8$-&*+7'................................................................................38 11.6. C'07$0; %'#&$0 . #*6$0.........................................................................................35 11.7. =($0)$0 . "$,&0....................................................................................................35 11.8. E)&7$0 '70'" /&%4*0'"............................................................................................35 11.5. EG*%(7$0 %'-$+)'" )*, &+7H0#0*7*........................................................................4A

1. INTRODUCCIN

Un intrprete de comandos es un programa que toma la entrada del usuario, por ejemplo las rdenes que teclea, y la traduce a instrucciones. Podemos compararlo con el COMMAN .COM de M!" O!, que reali#a e$actamente la misma tarea. %l intrprete de comandos &!'ell( ser) una de las inter*aces con +inu$, y el , -indo. ser) otra inter*a# que nos permite ejecutar rdenes usando el ratn y el teclado. Cuando accedemos al sistema entramos por de*ecto en el entorno gr)*ico de , -indo.s, el / %. Para pasar al modo te$to &intrprete de comandos( desde el modo gr)*ico 'emos de pulsar la com0inacin1 2ctrl342alt342513 o 0ien1 2ctrl342alt342563 o 0ien1 2ctrl342alt342573 o 0ien1 2ctrl342alt342583 o 0ien1 2ctrl342alt342593 o 0ien1 2ctrl342alt3425:3 %sto 'ace que el sistema salga del modo gr)*ico y acceda a alguna de las seis consolas ;irtuales de +inu$, a las cuales tam0in se puede acceder cuando se arranca en modo de te$to. Para ;ol;er al modo gr)*ico 'ay que presionar 2ctrl342alt3425<3 o 2ctrl342alt3425=3 &!eg>n la sesin en modo gr)*ico a la que deseemos regresar(. +a segunda *orma es m)s cmoda y menos radical, permitiendo acceder al s'ell desde el mismo entorno gr)*ico. Para esto 'ay que a0rir un programa llamado terminal o consola, el kconsole &en el entorno / %(, o los xterm o gnome-terminal &en ?NOM%(. %n el caso de nuestro ?uadaline$, si estamos usando el entorno por de*ecto &?NOM%(, 0astar) con o0tener el men> conte$tual del escritorio y escoger la opcin correspondiente1

Adem)s de ser un intrprete interacti;o de los comandos que tecleamos, el !'ell es tam0in un lenguaje de programacin, el cual nos permite escri0ir guiones que permiten juntar ;arias rdenes en un *ic'ero. !imilar a los *ic'eros 0atc' de M!" O!. %n Uni$ e$isten ;arios tipos de intrpretes de comandos. +os dos m)s importantes son1 !' o @ourne s'ell1 utili#a una sinta$is similar a la usada en los primeros sistemas Uni$. Cs' o C s'ell1 utili#a una sinta$is di*erente a la de s', similar al lenguaje de programacin C. %n +inu$ tam0in disponemos de ;arios intrpretes de comandos, con algunas di*erencias respecto a los de Uni$. +os m)s usados son1 @as' o @ourne Again !'ell1 es equi;alente a @ourne s'ell, pero con muc'as caracterAsticas a;an#adas de la C s'ell. Cualquier guin &script( escrito para @ourne *uncionar) en 0as'. Bsc' &e$Bended C s'ell(1 es una ;ersin e$tendida del C original. !lo aparecer)n di*erencias entre unos y otros a la 'ora de escri0ir guiones. %s decir, en lo que respecta a los comandos usuales es indi*erente el tipo de intrprete de comandos usado.

2. NOCIONES BSICAS

Cuando tecleamos una orden, el intrprete de comandos sigue una serie de pasos1 1. @usca el nom0re de la orden y comprue0a si es una orden interna. 6. Comprue0a si la orden es un alias, es decir, un nom0re sustitutorio de otra orden.

7. !i no se cumple ninguno de los casos anteriores, 0usca el programa correspondiente y lo ejecuta. 8. !i el intrprete de comandos no puede encontrar la orden que 'emos tecleado, muestra un mensaje de error. %l *ormato general de una orden en +inu$ es1 comando [-opciones] [argumentos] A la 'ora de introducir los comandos 'ay que tener en cuenta las siguientes caracterAsticas1 +os comandos 'ay que teclearlos e$actamente. +as letras may>sculas y min>sculas se consideran como di*erentes &Case !ensiti;e(. %n su *orma m)s 'a0itual &los s'ells de @ourne o de /orn(, el sistema operati;o utili#a un signo de $ como prompt para indicar que est) preparado para aceptar comandos, aunque este car)cter puede ser *)cilmente sustituido por otro u otros elegidos por el usuario. %n el caso de que el usuario acceda como administrador este signo se sustituye por #. Cuando sea necesario introducir el nom0re de un *ic'ero o directorio como argumento a un comando, +inu$, permite escri0ir las primeras letras del mismo y reali#a un autorrellenado al presionar la tecla del ta0ulador. !i no puede distinguir entre di;ersos casos rellenar) 'asta el punto en el que se di*erencien. Por ejemplo, supongamos una carpeta con los siguientes directorios1 Programas ocumentosCproyecto ocumentosCpri;ados Al escri0ir cd Pr<tab> +inu$ rellenar) el resto del contenido 'asta escri0ir cd Programas. Por el contrario al escri0ir cd D<tab> escri0ir) cd Documentos_

. COMANDOS BSICOS

pass.d Podemos cam0iar la contraseDa empleando la orden !ass"#. Nos pedir) la contraseDa anterior &current( y la nue;a. Eol;er) a pedir una segunda ;e# la nue;a para ;alidarla. %l usuario root podr) cam0iar la contraseDa de cualquier otro usuario. !in em0argo, los usuarios no pri;ilegiados solamente podr)n cam0iar su propia cla;e. !inta$is1 passwd date

Muestra por pantalla el dAa y la 'ora, permitiendo, adem)s, el cam0io de la misma. !inta$is1 date [opcion][formato] cal Muestra el calendario del mes o aDo actual actual. !inta$is1 cal [mes][ao] Por ejemplo,

cal muestra el calendario del mes actual. cal 1 ! muestra el calendario del aDo 1F8F. cal "# 1 !# muestra el calendario de Mayo de 1F8F.

.'o Gndica qu usuarios tiene el ordenador en ese momento, en qu terminal est)n y a qu 'ora iniciaron la sesin. !inta$is w$o .'oami Gndica el usuario que est) tra0ajando en la terminal actual. !inta$is1 w$oami *inger Presenta una in*ormacin completa de los usuarios conectados a la red. !inta$is1 finger [-bfilp%sw][login1 login&] uname Proporciona el nom0re del sistema en el que se est) tra0ajando. !inta$is1 uname [-opciones] Como opciones principales tenemos1 "a "m "r "; logname Gndica el nom0re del usuario conectado al sistema &el que 'a 'ec'o login(. !inta$is1 logname man Bodos los manuales de +inu$ se encuentran dentro del propio sistema operati;o. %ste comando permite acceder a la in*ormacin correspondiente a la orden que se le especi*ique como par)metro. !inta$is man comando indica, adem)s, la ;ersin, *ec'a y tipo de procesador. indica, adem)s, el tipo de de procesador. indica, adem)s, la ;ersin. indica, adem)s, la *ec'a.

Por ejemplo, man w$o 'ace aparecer por pantalla de *orma paginada la ayuda correspondiente al comando .'o. !e puede na;egar por estas p)ginas usando los c$%so%&s o con las tecla In'%o o & del teclado. Para salir de ella, 'a0r) que pulsar (.

'elp A di*erencia de M!" O!, 'elp nos proporciona in*ormacin acerca de la ;ersin del ?NU instalada, asA como de los comandos internos cargados. !inta$is $elp [comando] donde comando es un comando interno. in*o Proporciona ayuda resumida acerca de un comando en cuestin. !inta$is1 info [comando] clear %ste comando se utili#a para limpiar la pantalla. !inta$is1 clear ec'o Muestra por pantalla los argumentos que le pasamos. !inta$is1 ec$o [argumento1] [argumento&] ''' [argumento(] alias Asigna un nom0re o etiqueta a la ejecucin de un comando con sus opciones. )intaxis* alias eti%ueta+,orden, +a orden alias solamente, muestra todos los alias que 'ay creados. +a orden $nal)as elimina el alias especi*icado.

*. CARACTERES COMOD+N O ,ILDCARDS

Una caracterAstica importante de la mayorAa de los intrpretes de comandos en +inu$ es la capacidad para re*erirse a m)s de un *ic'ero. Una *orma de 'acerlo es utili#ando caracteres especiales llamados comodines. Al igual que en M!" O!, el co-o#.n / 'ace re*erencia a cualquier car)cter o cadena de caracteres en el nom0re del *ic'ero. %l intrprete de comandos sustituir) el asterisco por todas las com0inaciones posi0les pro;enientes de los *ic'eros en el directorio al cual nos estamos re*iriendo. !e dice que est) reali#ando una e$pansin de comodines. %l ca%0c'&% 1 es tam0in comodAn, aunque solamente e$pande un car)cter. Con am0os caracteres e$iste una e$cepcin. No a*ectar)n a aquellos *ic'eros que comien#an por un punto, y que son ocultos para rdenes como ls.

Adem)s, podemos utili#ar los corc'etes para re*erirnos a un conjunto de caracteres o 0ien un rango de caracteres A!CGG. -.emplos1 Hls InI Hls I Hls tmJ Hls ta0laK167La muestra todos los arc'i;os y directorios, del directorio actual, que contienen el car)cter n muestra todos los arc'i;os y directorios del directorio actual muestra todos los arc'i;os y directorios del directorio actual que comien#an por tm y contienen tres caracteres muestra todos los arc'i;os y directorios del directorio actual que comien#an por tabla, seguidos del car)cter 1, & /, y terminan en a Hls JJ0aseKA"MLK9"FLI muestra todos los arc'i;os y directorios del directorio actual que comien#an con dos caracteres cualesquiera, seguidos de la cadena base, a continuacin una letra may>scula, seguida de un n>mero del 9 al F y por >ltimo una cadena de caracteres &uno, ;arios o ninguno(

2. RDENES RELACIONADAS CON DIRECTORIOS

irectorio Personal Como se 'a ;isto anteriormente el directorio personal es un directorio con un determinado nom0re asignado a un usuario. +os directorios personales 'a0itualmente son su0directorios de N'ome &en algunos casos se utili#a mnt, u otro su0directorio de orden in*erior(. ?eneralmente el nom0re coincide con el del nom0re de usuario, aunque puede no ser asA, y ;arios usuarios pueden estar tra0ajando en el mismo directorio. Cada usuario de +inu$ puede crear una estructura en )r0ol de su0directorios y arc'i;os tan compleja como desee 0ajo su directorio personal pero normalmente nunca *uera de l. ls Permite mostrar el contenido de un directorio. ls Muestra los nom0res de los *ic'eros y su0directorios contenidos en el directorio en el que se est). !lo se o0tienen los nom0res de los *ic'eros, sin ninguna otra in*ormacin. !inta$is1 ls [-opciones][fic$ero] "a Muestra todos los *ic'eros incluyendo algunos que ordinariamente est)n ocultos para el usuario &aquellos que comien#an por un punto(. Oecordemos que el *ic'ero punto . indica el directorio actual y el do0le punto .. el directorio padre, que contiene, al actual. "l %sta es la opcin de lista larga1 muestra toda la in*ormacin de cada *ic'ero incluyendo1 protecciones, tamaDo y *ec'a de creacin o del >ltimo cam0io introducido,...

<

"c "t "r "O ls su0dir ""color ls "cr ls I.gi* ls *ileJ

Muestra ordenando por dAa y 'ora de creacin. Muestra ordenando por dAa y 'ora de modi*icacin. Muestra el directorio y lo ordena en orden in;erso. +ista tam0in su0directorios. Muestra el contenido del su0directorio subdir. Muestra el contenido del directorio coloreado. Muestra el directorio ordenando in;ersamente por *ec'as. Muestra todos los nom0res de *ic'eros que aca0en en .gi*, por ejemplo, di01.gi*, a.gi*, etc. Muestra todos los *ic'eros cuyos nom0res empiecen por *ile y tengan un nom0re de cinco caracteres, por ejemplo1 *ile1, *ile6, *ilea, etc.

"l *ilename Muestra toda la in*ormacin so0re el *ic'ero filename. +as opciones anteriores pueden com0inarse. Por ejemplo1 %l comando ls admite los caracteres de sustitucin o I y J. Por ejemplo1

mPdir %l comando mPdir &maPe directory( permite a cada usuario crear un nue;o su0directorio. !inta$is1 mkdir subdirectorio donde subdirectorio es el nom0re del directorio que se ;a a crear. rmdir %ste comando 0orra uno o m)s directorios del sistema &remo;e directory(, siempre que estos su0directorios estn ;acAos. !inta$is1 rmdir subdirectorio Por ejemplo, rmdir subdir1, donde su0dir es el nom0re del directorio que se ;a a eliminar. cd %ste comando permite cam0iar de directorio a partir del directorio actual de tra0ajo. !inta$is1 cd [directorio] Eeamos algunas opciones1 cd Q cd.. cd. cd cd N y los dos puntos. cam0ia al >ltimo directorio en el que estu;imos antes del actual. cam0ia al directorio padre. nos deja donde estamos. Nos sit>a nue;amente en el directorio personal del usuario. cam0ia al directorio raA#

No'a: al contrario que en M!" O! en +inu$ no e$iste la *orma cd.. sin espacio entre cd

p.d %l comando p.d &print .orPing directory( ;isuali#a o imprime la ruta del directorio en el que nos encontramos en este momento. %ste comando es uno de los pocos que no tiene opciones y se utili#a escri0iendo simplemente pwd.

3. ACCESO A UNIDADES DE DISCO: MONTA4E 5 DESMONTA4E

+inu$ a di*erencia de -indo.s no utili#a letras &Ra1R, Rc1R, Rd1R, ...( para acceder a las distintas unidades de disco de un ordenador. %n +inu$ para acceder al contenido de una unidad de disco o de un C "OOM este tiene que 'a0er sido pre;iamente RmontadoR. %l montado se reali#a mediante el comando -o$n', con lo que el contenido de la unidad se pone a disposicin del usuario en el directorio de +inu$ que se elija. +a sinta$is de este comando es la siguiente1 mount [-t tipo_de_sistema_fic$eros] [dispositi0o] directorio_de_monta.e Por ejemplo para acceder al C "OOM se teclearAa el siguiente comando1 mount -t iso 11" 2de02cdrom 2mnt2cdrom donde -t iso 11" indica el tipo de sistema que usa la unidad de disco para guardar los *ic'eros &las m)s usuales son1 iso 11" en el caso de un C "OOM, 0fat en el caso de -indo.s, y ext& en el caso de +inu$(, 2de02cdrom indica el dispositi;o que se ;a a montar. Bodos los dispositi;os est)n representados por un *ic'ero del directorio Nde0S por ejemplo, en el caso de un disquete ser) seguramente 2de02fd", por >ltimo 2mnt2cdrom es el directorio en el que se pondr) a disposicin del usuario el contenido del C "OOM. Para montar disquetes se suele utili#ar el directorio 2mnt2flopp3 &aunque esto depende de la ;ersin de +inu$ que utilicemos(. %n el caso de nuestro ?uadaline$, el comando mount admite directamente los directorios /cdrom, /cdrom1, /floppy, ... para el montaje de nuestras unidades, por lo que lo >nico que 'a0rAa que escri0ir, para montar por ejempo la disquetera, serAa1

mount /floppy
!i omitimos el tipo de sistema de *ic'eros yNo el dispositi;o, ?uadaline$ toma la in*ormacin correspondiente del *ic'ero NetcN*sta0, el cual contiene in*ormacin de los distintos sistemas de *ic'eros del equipo. e todas *ormas el usuario siempre puede crear un directorio ;acAo con el nom0re que el elija para montar las unidades de disco que desee donde desee. Cuando el usuario 'aya dejado de usar ese disco de0er) RdesmontarloR mediante el comando $-o$n' antes de sacar el disquete o el C "OOM. !iguiendo con el ejemplo de la disquetera en ?uadaline$, de0erAa escri0ir1 umount 2flopp3 %n principio, para utili#ar el comando -o$n' especi*icando todos los par)metros 'ace *alta ser administrador o root. Para que un usuario com>n pueda utili#ar disquetes, C "OOM, etc. 'ay que editar el *ic'ero 2etc2fstab' Por ejemplo para que cualquier usuario pueda acceder a un disquete 'a0r) que indicar la siguiente lAnea1 2de02fd" 2mnt2flopp3 0fat user4noauto " "

Bam0in 'a0r) que asegurarse de que el directorio 2mnt2flopp3 sea accesi0le por todos los usuarios. Una ;e# seguidos los pasos anteriores cualquier usuario podr) RmontarR un disquete escri0iendo el siguiente comando1 mount 2mnt2flopp3 Al igual que antes, el usuario de0er) ejecutar el comando umount 2mnt2flopp3 antes de sacar el disquete. No'a: %$isten en la actualidad distri0uciones &por ejemplo, !u!% +inu$( que reali#an este proceso de *orma autom)tica, por lo que las unidades de disquete y C "OOM quedan accesi0les a todos los usuarios de una *orma sencilla, empleando los comandos1 mount 2mnt2flopp3 umount 2mnt2flopp3 siempre que NmntN*loppy sea la ruta adecuada.

6. RDENES RELACIONADAS CON 7ICHEROS

cp Copia un *ic'ero o *ic'eros en otro *ic'ero o directorio. !inta$is1 cp fic$ero1 [fic$ero&] ''' [fic$ero(] destino donde [fic$ero5] es el *ic'ero a copiar y [destino] es el *ic'ero o directorio de destino. Podemos utili#ar . y .. para re*erirnos al directorio actual y al directorio padre respecti;amente. AsA pues, la orden cp file1 file&, 'ace una copia de *ile1 y le llama *ile6. !i *ile6 no e$istAa, lo crea con los mismos atri0utos de *ile1. !i *ile6 e$istAa antes, su contenido queda destruido y es sustituido por el de *ile1. %l *ic'ero *ile6 estar) en el mismo directorio que *ile1. Banto *ile1 como *ile6 indican el nom0re de un arc'i;o, que puede incluir el la ruta al mismo si alguno de ellos no se encuentra en el directorio actual. Otra posi0ilidad es1 cp file1 file& namedir que 'ace copias de *ile1 y *ile6 en el directorio namedir. m; !e utili#a para el traslado y cam0io de nom0re de *ic'eros. !inta$is1 cp fic$ero1 [fic$ero&] ''' [fic$ero(] destino Como ;emos, este comando tiene una *orma similar al anterior. %l comando m0 reali#a la misma *uncin que el cp pero adem)s destruye el *ic'ero original. AsA, si ejecutamos la orden m0 file1 file& en de*initi;a se traslada el contenido de file1 a file&S a e*ectos del usuario lo que 'a 'ec'o es cam0iar el nom0re a *ile1, llam)ndole *ile6. e igual *orma, m0 file1 file& namedir traslada uno o m)s *ic'eros &file14 file&4'''( al directorio namedir conser;)ndoles el nom0re.

1T

%l comando, m0 namedir1 namedir& cam0ia el nom0re del su0directorio namedir1 por namedir&. Uay que recalcar que el comando m0 sir;e asA mismo para cam0iar el nom0re de los *ic'eros. rm @orrado de *ic'eros. %ste comando elimina uno o m)s *ic'eros de un directorio en el cual tengamos permiso de escritura. !inta$is1 rm file1 [file&] Con este comando resulta *acilAsimo 0orrar *ic'eros in>tiles, y desgraciadamente, tam0in los >tiles. Por eso es con;eniente y casi imprescindi0le emplear lo opcin -i, de la *orma siguiente1 rm -i file1 file& Con esta opcin, +inu$ pedir) con*irmacin para 0orrar cada *ic'ero de la lista, de si realmente se desea su destruccin o no. !e recomienda usar siempre este comando con esta opcin para e;itar el 0orrado de *ic'eros >tiles. Por ejemplo, si se teclea, rm -i superfluo aparecer) en pantalla el a;iso siguiente1 remo0e superfluo6 y 'a0r) que contestar 3 &yes( o n &not(. %n este comando se pueden utili#ar los caracteres comodines &I y J(, como por ejemplo, rm fic$7 que 0orrarAa todos los *ic'eros del directorio actual que comiencen por fic$. %l comando rm I 0orrar) todos los *ic'eros del directorio actual. Otra opcin es 8r, que 0orra directorios recursi;amente &0orran el directorio y todo su

contenido(.
*ile %ste comando reali#a una serie de compro0aciones en un *ic'ero para tratar de clasi*icarlo, mostrando sus caracterAsticas. !inta$is1 file fic$ero Bras su ejecucin este comando muestra el tipo del *ic'ero e in*ormacin al respecto del mismo. %ste comando se puede aplicar tam0in a directorios. cat Eisuali#acin sin *ormato de un *ic'ero. %ste comando permite ;isuali#ar el contenido de uno o m)s *ic'eros de *orma no *ormateada. Bam0in permite copiar uno o m)s *ic'eros como apndice de otro ya e$istente. Algunas *ormas de utili#ar este comando son las siguientes1 cat filename cat file1 file& !aca por pantalla el contenido del *ic'ero filename. !aca por pantalla, secuencialmente y seg>n el orden especi*icado, el contenido de los *ic'eros indicados.

11

cat >file1

Acepta lo que se introduce por el teclado y lo almacena en *ile1 &se crea *ile1(. Para terminar se emplea <ctrl>d

pr Eisuali#acin de *ic'eros con *ormato. %ste comando, a di*erencia de cat, imprime por consola el contenido de los *ic'eros de una manera *ormateada, por columnas, controlando el tamaDo de p)gina y poniendo ca0eceras al comien#o de las mismas. %st) muy en relacin con el comando lp de salida por impresora. +as *ormas m)s importantes que admite son las siguientes1 pr file Produce una salida est)ndar de :: lAneas por p)gina, con un enca0e#amiento de 9 lAneas &6 en 0lanco, una de identi*icacin y otras 6 lAneas en 0lanco(. pr -ln file Produce una salida de n lAneas por p)gina &cuando el tamaDo de papel de impresora, por ejemplo, tiene un n>mero de lAneas distinto de ::( pr -p file pr -t file pr -wn file pr -d file Uace una pausa para presentar la p)gina, 'asta que se pulsa 2return3 para continuar !uprime las 9 lAneas del enca0e#amiento y las del *inal de p)gina. Ajusta la anc'ura de la lAnea a n posiciones. +ista el *ic'ero con espaciado do0le. el argumento o cadena de caracteres VcaracteresV se con;ertir)n en la ca0ecera del listado. pr :n file Gmprime el *ic'ero a partir de la p)gina n. Adem)s de los ejemplos anteriores, se pueden com0inar ;arias opciones en un mismo comando, como por ejemplo en1 pr -dt file. +a salida de este comando es por la consola, pero puede redireccionarse a otro *ic'ero, por ejemplo, si ejecutamos el comando1 pr file1 > file& se crea un *ic'ero nue;o llamado *ile6 que es idntico a *ile1, pero con *ormato por p)ginas y columnas. Comandos more y less %stos comandos permiten ;isuali#ar un *ic'ero pantalla a pantalla. %l n>mero de lAneas por pantalla es de 67 lAneas de te$to y una >ltima lAnea de mensajes, donde aparecer) la pala0ra more. Cuando se pulsa la 0arra espaciadora &el espacio en 0lanco(, se ;isuali#ar) la siguiente pantalla. Para salir de este comando &terminar la ;isuali#acin( se pulsa 2ctrl3d o q. %l comando more muestra el contenido de los *ic'eros indicados, una pantalla cada ;e#. !inta$is1 more fic$ero1 [fic$ero&] ''' [fic$ero(] +a teclas que nos permiten mo;ernos por el *ic'ero son1 0 ;a a la p)gina anterior, 0arra espaciadora ;a a la p)gina siguiente, *lec'as de cursor arri0a y a0ajo, q *inali#a la ejecucin de more.

pr -$ 9caracteres9 file

16

%l comando less es muy similar al anterior pero, adem)s, permite el despla#amiento a lo largo del te$to empleando las teclas de cursores pudiendo despla#arse, adem)s, 'acia la i#quierda o la derec'a. !inta$is1 less fic$ero1 [fic$ero&] ''' [fic$ero(] grep %l comando grep locali#a una pala0ra, cla;e o *rase en un conjunto de directorios, indicando en cu)les de ellos la 'a encontrado. %ste comando rastrea *ic'ero por *ic'ero, por turno, imprimiendo aquellas lAneas que contienen el conjunto de caracteres 0uscado. !i el conjunto de caracteres a 0uscar est) compuesto por dos o m)s pala0ras separadas por un espacio, se colocar) el conjunto de caracteres entre apstro*es &W(. !u sinta$is es la siguiente1 grep [-opcion] ;con.untocaracteres; file1 file& file/ siendo ;con.untocaracteres; la secuencia de caracteres a 0uscar, y file14 file&4 3 file/ los *ic'eros donde se de0e 0uscar. Eeamos un nue;o ejemplo1 grep ;<=>?(@AB?=>C?D>E( F?<=>C; matrix'f scaling'f %ste comando 0uscar) <=>?(@AB?=>C?D>E( F?<=>C entre las lAneas de los *ic'eros matrix'f y scaling'f. +as opciones principales del comando son1 c i l n s ; lo >nico que se 'ace es escri0ir el n>mero de las lAneas que satis*acen la condicin. no se distinguen may>sculas y min>sculas. se escri0en los nom0res de los *ic'eros que contienen lAneas 0uscadas. cada lAnea es precedida por su n>mero en el *ic'ero. no se ;uelcan los mensajes que indican que un *ic'ero no se puede a0rir. se muestran slo las lAneas que no satis*acen el criterio de seleccin. lAneas que comien#an por d. lAneas que no comien#an por d.

A continuacin se muestra una serie de ejemplos. grep GHd, text grep GH[Hd], text

grep -0 GHD, file1 > file& quita las lAneas de *ile1 que comien#an por C y lo copia en *ile6.

'ead Muestra las primeras lAneas del contenido de los arc'i;os especi*icadosS por de*ecto muestra las 1T primeras lAneas. !inta$is1 $ead [-nImero] <fic$ero1> <fic$ero&> ''' <fic$ero(> Por ejemplo, $ead -J texto, escri0e por pantalla las < primeras lAneas del *ic'ero te$to. tail Muestra las primeras lAneas del contenido de los arc'i;os especi*icadosS por de*ecto muestra las 1T primeras lAneas. !inta$is1 tail [-nImero] <fic$ero1> <fic$ero&> ''' <fic$ero(>

17

8. OTROS COMANDOS BSICOS =.1. %spacio ocupado en el disco1 Comandos du y d*

%l comando #$ permite conocer el espacio ocupado en el disco por un determinado directorio y todos los su0directorios que cuelgan de l. Para usarlo 0asta simplemente colocarse en el directorio adecuado y teclear du. %ste comando da el espacio de disco utili#ado en 0loques. Para o0tener la in*ormacin en 0ytes se de0e emplear el comando con la opcin 8$1 du -$ %l comando #9 por el contrario in*orma del espacio usado por las particiones del sistema que se encuentren montadas.

=.6. Gmpresin1 Comando lpr

%l comando lpr se emplea para imprimir una serie de *ic'eros. !i se emplea sin argumentos imprime el te$to que se introdu#ca a continuacin en la impresora por de*ecto. Por el contrario, lpr nombre_fic$ero imprime en la impresora por de*ecto el *ic'ero indicado.

=.7. @>squeda de *ic'eros. Comando *ind

Con *ind podemos encontrar arc'i;os &y, por tanto, directorios( 0asando su 0>squeda en distintas caracterAsticas de los mismos. !inta$is1 find [camino'''] [expresiKn] %l n>mero de opciones de *ind es muy ele;ado, por lo que se aconseja acudir al manual para mayor in*ormacin &man find(. No o0stante, destaquemos algunas de ellas1 "mount "amin n "ane.er *ile "atime n "cmin n "cne.er *ile "ctime Gmpide la 0>squeda en su0directorios montados con otro tipo de sistema de *ic'eros distinto al directorio inicial de 0>squeda. %l *ic'ero *ue accedido por >ltima ;e# 'ace n minutos. %l *ic'ero *ue accedido despus de la *ec'a de la >ltima modi*icacin del *ic'ero *ile. %l *ic'ero *ue accedido por >ltima ;e# 'ace nI68 'oras. %l estado del *ic'ero cam0i por >ltima ;e# 'ace n minutos. %l estado del *ic'ero cam0i por >ltima ;e# despus de la >ltima modi*icacin del *ic'ero *ile. %l estado del *ic'ero cam0io por >ltima ;e# 'ace nI68 'oras.

18

"empty "*stype tipo "gid n "group name "inum n "linPs n "mmin n "mtime n "name criterio "ne.er *ile "pat' criterio "si#e n "type c

%l *ic'ero &o directorio( est) ;acAo. %l *ic'ero se encuentra en el sistema de *ic'eros tipo. %+ ?G &identi*icati;o de grupo( del *ic'ero es n %l nom0re del grupo al que pertenece el *ic'ero es name. %l *ic'ero tiene como n>mero de inodo n. %l *ic'ero tiene n enlaces. +os datos del *ic'ero su*rieron su >ltima modi*icacin 'ace n minutos. +os datos del *ic'ero su*rieron su >ltima modi*icacin 'ace nI68 'oras. @usca por nom0re de *ic'ero seg>n criterio, el cual admite caracteres comodAn. %l *ic'ero *ue modi*icado despus que *ile. @usca por ruta de *ic'ero seg>n criterio, el cual admite caracteres comodAn @usca por tamaDo de *ic'ero, el cual ser) n. %l *ic'ero es del tipo c, el cual puede ser1 0 c d p * l s 0loque especial car)cter especial. directorio nom0re de tu0erAa &5G5O( *ic'ero normal. enlace sim0lico socPet puerta &enlace !olaris(

"uid n "used n "used name

%+ UG &identi*icati;o de usuario( del *ic'ero es n %l *ic'ero *ue accedido por >ltima ;e# n dAas despus del cam0io de su estado. %l nom0re del usuario al que pertenece el *ic'ero es name.

Eeamos algunos ejemplos de su *uncionamiento1 %jemplo 11 @uscar todos los arc'i;os que 'ay en el directorio actual y en sus su0directorios con e$tensin 'txt find ' -name L7'txtM1 %jemplo 61 @uscar los *ic'eros con permisos <<< N find 7 -perm JJJ&

=.8. %nlaces a *ic'eros. Comando ln

+os enlaces nos ;an a permitir reali#ar copias de los *ic'eros con otro nom0re, para poder acceder a ellos desde lugares distintos a su u0icacin original, con un a'orro de espacio muy importante con respecto al comando cp. Nuestro sistema identi*ica a los *ic'eros mediante un n>mero denominado inodo, que les asigna en el momento de su creacin.
1

+as do0les comillas son necesarias para que no interprete el asterisco. el asterisco signi*ica el camino y como queremos que se e$panda, por eso no ;a entre comillas.

19

%s decir, un directorio lo que contiene realmente es una lista de n>meros de inodo con sus correspondientes nom0res de *ic'ero. e esta *orma, cada nom0re de *ic'ero es un enlace a un inodo particularS por ello, cada inodo est) asociado a un conjunto de in*ormacin guardada en el disco, que puede tener asignados distintos nom0res, y a la que podremos acceder desde distintos lugares del )r0ol de directorios si asA lo deseamos. %n este sentido, podremos crear dos tipos distintos de enlaces a *ic'eros1 enlaces duros y enlaces sim0licos. %l comando ln nos ser;ir) para crear am0os tipos de enlaces. %N+AC%! UOO! &UAO +GN/!( !i utili#amos el comando ln sin especi*icar ninguna opcin, por de*ecto crearemos un enlace duro. +a sinta$is es la siguiente1 ln <fic$ero> [nombre del enlace] ln <fic$ero1> <fic$ero&> ''' <fic$ero(> <nombre de directorio> O0;iamente, el *ic'ero o *ic'eros para los que deseamos crear un enlace duro de0er)n e$istir. AsA mismo, si el >ltimo argumento es el nom0re de un directorio que e$iste, crearemos un enlace duro a cada *ic'ero, dentro del directorio, y con el mismo nom0re de *ic'ero. !i solamente especi*icamos el *ic'ero que queremos enla#ar, y no indicamos ning>n nom0re para el enlace, ste se crear) con el mismo nom0re que el *ic'ero a enla#ar. +os cam0ios que realicemos en el *ic'ero enla#ado o en el enlace, se re*lejar)n en el resto, ya que todos tendr)n el mismo n>mero de inodo, y por lo tanto 'acen re*erencia al mismo conjunto de in*ormacin. +a ;entaja de utili#ar enlaces duros radica en que el comando rm >nicamente 0orrar) aquel *ic'ero que le indiquemos. +a in*ormacin solamente se 0orrar) por completo cuando 0orremos todos los enlaces a un inodo. +a des;entaja con respecto a los enlaces sim0licos es que slo permite crear enlaces dentro del mismo sistema de *ic'eros. +os directorios . y .. son enlaces duros al directorio actual y a su directorio padre respecti;amente. %jemplo1 1 Q Creamos el *ic'ero pruebaln con la orden cat. Hcat 3 prue0aln 'ola CBO+4 6 Q Creamos un enlace a pruebaln que se llame penlace. Hln prue0aln penlace 7 Q Eeamos las caracterAsticas de estos *ic'eros con la orden ls. Utili#amos la opcin Qi para ;er el n>mero de inodo. Am0os tendr)n el mismo n>mero de inodo con dos enlaces. Hls Qi prue0aln penlace 8 Q Modi*icamos prue0aln y compro0amos si tam0in se modi*ica penlace. 1:

Hcat 33prue0aln adios CBO+4 Hcat prue0aln Hcat penlace 9 Q Modi*icamos penlace y compro0amos si tam0in se modi*ica prue0aln. Hcat 33penlace otra ;e# 'ola CBO+4 Hcat penlace Hcat prue0aln : Q %liminamos prue0aln y compro0amos si penlace permanece y contiene la in*ormacin correspondiente. Hrm prue0aln Hcat penlace < Q !i utili#amos la orden ls Qi, ;emos que penlace sigue con el mismo n>mero de inodo, que a'ora solamente tendr) un enlace. %N+AC%! !GM@X+GCO! !i utili#amos la opcin 8s con el comando ln, es decir ln :s, crearemos un enlace sim0lico. +a sinta$is en este caso es la misma que utili#amos para crear enlaces duros. Podemos encontrar una similitud entre este tipo de enlaces y los accesos directos que estamos acostum0rados a crear con los sistemas -indo.s. %n el caso de los enlaces sim0licos, cada *ic'ero tendr) un n>mero de inodo distinto. !in em0argo, al igual que con los enlaces duros, todos los cam0ios que se realicen en uno de los *ic'eros se ;er)n re*lejados en el resto. !i 0orramos el *ic'ero enla#ado, el enlace sim0lico perder) toda la in*ormacin, puesto que su inodo apunta a un n>mero de inodo que ya no e$iste. !in em0argo, podremos crear enlaces sim0licos a *ic'eros de otros sistemas de arc'i;os. %jemplo1 1 Q A>n tenemos el *ic'ero penlace. Creamos un enlace duro a penlace que se llame pruebaln. Hln penlace prue0aln 6 Q Con la orden ls 8li ;emos que am0os tienen el mismo inodo, y que este inodo tiene dos enlaces. Hls "li prue0aln penlace 7 Q Creamos un enlace sim0lico a penlace que se llame penlacesim. Hln Qs penlace penlacesim 8 Q Con la orden ls 8li ;emos que tienen distinto n>mero de inodo. Adem)s, el inodo de penlacesim slo tiene un enlace, y el inodo de penlace sigue teniendo dos. %n la

1<

lAnea correspondiente a penlacesim ;emos que aparece el *ic'ero al que apunta, y la letra l &YeleZ( al inicio. Hls "li prue0aln penlace penlacesim 9 Q Cam0iamos penlace y compro0amos si cam0ia penalcesim. Hcat 33penlace otra ;e# adios CBO+4 Hcat penlacesim : Q Por >ltimo 0orramos penlace. Compro0amos que pruebaln permanece y que no podemos ;er el contenido de penlacesim, el sistema nos dir) que no e$iste. Para que desapare#ca totalmente tenemos que 0orrarlo. Hrm penlace Hcat prue0aln Hcat penlacesim Hrm penlacesim Hrm prue0aln

=.9. Agrupacin y compresin de *ic'eros1 Comandos tar y g#ipNgun#ip

Banto el comando 'a% como ;<)! son ampliamente empleados para la di*usin de programas y *ic'eros en +inu$. tar %ste comando agrupa ;arios *ic'eros en uno solo o Yarc'i;oZ, mientras que el segundo los comprime. %n conjunto estos dos programas act>an de *orma muy similar a programas como -in#ip. !u sinta$is es1 tar [opciones][fic$eros] %l modo en el que se escri0en las opciones de tar es un poco especial. %l guin inicial, por ejemplo, no es necesario. +as opciones m)s comunes para tar son1 "c "$ "; "t "* creacin de arc'i;adores nue;os. e$traccin de arc'i;os de un arc'i;ador e$istente. muestra los arc'i;os mientras se agregan o se e$traen. muestra el contenido de un arc'i;o tar. el siguiente argumento es el arc'i;ador a crear, del que queremos e$traer arc'i;os o mostrar un listado. Para crear un nue;o arc'i;o se emplea1 tar 8c0f nombre_arc$i0o'tar fic$ero1 fic$ero& O donde *ic'ero1, *ic'ero6 etc. son los *ic'eros que se ;an a aDadir al arc'i;o tar. !i se desea e$traer los *ic'eros se emplea1

1=

tar 8xp0f nombre_arc$i0o'tar fic$ero1 O Eeamos algunos ejemplos1 [ tar c;* escritorio.tar esPtop empaqueta el contenido de Desktop en un arc'i;ador nue;o escritorio'tar [tar $;* escritorio.tar esPtopN5loppy.desPtop [tar $;* escritorio.tar [tar t;* escritorio.tar e$trae del arc'i;o escritorio'tar el *ic'ero indicado e$trae todo el contenido del arc'i;o escritorio'tar muestra un listado largo del contenido del arc'i;o escritorio.tar Uay que tener en cuenta, a la 'ora de e$traer el contenido de un arc'i;ador &al *ic'ero tar resultante se le suele llamar asA(, si el arc'i;ador se cre conser;ando el nom0re del directorio de origen. %s posi0le que se so0rescri0a el contenido de los *ic'eros originales. %jemplo1 Nos situamos en el directorio raA# como root. !i arc'i;amos los *ic'eros N etcNgroup y NetcNpass.d1 [tar c;* 0acPup.tar NetcNgroup NetcNpass.d estamos conser;ando los nom0res del directorio al que pertenecen. Por lo tanto, para e$traer estos *ic'eros nos tendremos que situar en el directorio raA#1 [cd N [tar $;* 0acPup.tar NetcNgroup NetcNpass.d !in em0argo, si arc'i;amos los *ic'eros group y passwd estando en Netc1 [tar c;* N0acPup.tar group pass.d no guardamos la ruta, por lo que para e$traer los *ic'eros tendremos que situarnos en ella1 [cd N [cd Netc [tar $;* N0acPup.tar group pass.d g#ipNgun#ip Al contrario que tar que agrupa ;arios *ic'eros en uno, ;<)! comprime un >nico *ic'ero con lo que la in*ormacin se mantiene pero se reduce el tamaDo del mismo. %l uso de gPip es muy sencillo1 gPip [opciones] fic$ero con lo que se comprime fic$ero &($& &s =o%%a#o( y se crea un *ic'ero con nom0re fic$ero'gP. +a opcin m)s com>n es1 "1 a QF "d grado de compresin, mAnimo y m)$imo respecti;amente. descomprimir el *ic'ero .g# gPip 8d fic$ero'gP recuperando el *ic'ero inicial.

!i lo que se desea es descomprimir un *ic'ero se emplea entonces1

1F

Otra posi0ilidad serAa utili#ar el comando ;$n<)! para la descompresin, de la siguiente *orma1 gunPip fic$ero'gP Como se 'a comentado al principio es tApico emplear tar y gPip de *orma consecuti;a, para o0tener *ic'eros con e$tensin tar'gP o tgP que contienen ;arios *ic'eros de *orma comprimida &similar a un *ic'ero #ip(. %l comando tar incluye la opcin P para estos *ic'eros de *orma que para e$traer los *ic'eros que contiene1 tar 8Pxf fic$ero'tar'gP

=.:. Cam0io de modo de los *ic'eros1 comandos c'mod, c'o.n y c'grp

Aunque ya lo ;imos en el primer tema de +inu$, recordemos en primer lugar las categorAas de usuarios y los tipos de permisos. Cada usuario es dueDo de su directorio personal y ser) dueDo tam0in de los arc'i;os que incluya en l. Un usuario en +inu$ podr) con*igurar permisos en sus arc'i;os. Por ello, distinguiremos por un lado tres categorAas de usuarios, y por otro los tipos de permisos que cada uno de ellos puede tener so0re un arc'i;o yNo directorio. CategorAas de usuarios

Dueo del arc'i;o &u(. @rupo dueo &g(, *ormado por todos los usuarios que son miem0ros de un grupo asociado al arc'i;o. =esto de usuarios &o(, todos los usuarios que no son ni el dueDo ni miem0ros del grupo dueDo.

Bipos de permisos

Bectura &r de Oead, leer(1 para un arc'i;o permite leer su contenido, para un directorio permite que se muestren los arc'i;os que contiene. -scritura &. de -rite, escri0ir(1 para un arc'i;o permite que se modi*ique su contenido, para un directorio permite agregar y quitar arc'i;os. -.ecuciKn &$ de e,ecute, ejecutar(1 para un arc'i;o permite su ejecucin, para un directorio permite que el usuario lo recorra &que entre y pase por l( Q si no tiene permiso de lectura, aunque pueda entrar no podr) ;er el contenido. Cuando ejecutamos el comando ls :l, podemos ;er la con*iguracin de permisos de los

arc'i;os1 %l primer car)cter indica el tipo de arc'i;o1 YdZ si es directorio, Y"Y si es un arc'i;o regular, YlZ si es un enlace sim0lico. +os siguientes nue;e caracteres indican los permisos para el dueDo, el grupo dueDo y otros &r.$r.$r.$(S si aparece un guin, indica que el permiso correspondiente no est) 'a0ilitado.

6T

%l siguiente n>mero indica el n>mero de ;Anculos. Nom0re del dueDo y nom0re del grupo dueDo. BamaDo en 0ytes. 5ec'a de la >ltima modi*icacin. Nom0re del arc'i;o.

c'mod Para cam0iar los permisos de un *ic'ero se emplea el comando c'mod, que tiene el *ormato siguiente1 c$mod [%uien] oper permiso files donde1 quien Gndica a quien a*ecta el permiso que se desea cam0iar. %s una com0inacin cualquiera de las letras $ para el usuario, ; para el grupo del usuario, o para los otros usuarios, y a para todos los anteriores. !i no se da el %uien, el sistema supone a. oper Gndica la operacin que se desea 'acer con el permiso. Para dar un permiso se pondr) un 4, y para quitarlo se pondr) un ". !i quiero dar e$actamente unos permisos, pondremos \. permiso *iles Gndica el permiso que se quiere dar o quitar. !er) una com0inacin cualquiera de las letras anteriores 1 r,.,$,s. Nom0res de los *ic'eros cuyos modos de acceso se quieren cam0iar.

Por ejemplo, para quitar el permiso de lectura a los usuarios de un *ic'ero llamado fic$ero'txt el comando a utili#ar es1 c$mod a -r fic$ero'txt +os permisos de lectura, escritura y ejecucin tienen un signi*icado di*erente cuando se aplican a directorios y no a *ic'eros normales. %n el caso de los directorios el permiso r signi*ica la posi0ilidad de ;er el contenido del directorio con el comando lsS el permiso w da la posi0ilidad de crear y 0orrar *ic'eros en ese directorio, y el permiso x autori#a a 0uscar y utili#ar un *ic'ero concreto. c'o.n Por otra parte, el comando c'o.n se emplea para cam0iar de propietario &Yc'ange o.nerZ( a un determinado conjunto de *ic'eros. %ste comando slo lo puede emplear el actual propietario de los mismos. +os nom0res de propietario que admite +inu$ son los nom0res de usuario, que est)n almacenados en el *ic'ero 2etc2passwd. +a *orma general del comando c'o.n es la siguiente1 c$own newowner file1 file& ''' c'grp

61

An)logamente, el grupo al que pertenece un *ic'ero puede ser cam0iado con el comando c'grp, que tiene una *orma general similar a la de c'o.n, c$grp newgroup file1 file&''' +os grupos de usuarios est)n almacenados en el *ic'ero 2etc2group'

>. ?ESTIN DE USUARIOS 5 ?RU@OS F.1. Gntroduccin

]a sa0emos que +inu$ es un sistema multiusuario y por lo tanto distingue di*erentes usuarios. Cada usuario reci0e una cuenta que incluir) toda la in*ormacin necesaria &nom0re de usuario, directorio inicial, etc.(. Adem)s de las cuentas dadas a personas, e$isten cuentas especiales de*inidas por el sistema que tienen pri;ilegios especiales. +a m)s importante es la cuenta raA# &administrador(, con el nom0re de usuario root. Normalmente, los usuarios normales est)n restringidos, de *orma que los permisos de los *ic'eros en el sistema est)n preparados para que no puedan 0orrar o modi*icar *ic'eros en directorios compartidos por todos los usuarios. %stas restricciones desaparecen para root. %l usuario root puede leer, modi*icar o 0orrar cualquier *ic'ero en el sistema, cam0iar permisos y pertenencias, etc. Por lo tanto, podemos deducir que la gestin de los usuarios solamente puede reali#arla el usuario root.

F.6. Conceptos de gestin de usuarios +a in*ormacin que el sistema mantiene acerca de cada usuario es la siguiente1 (ombre de usuario* es un identi*icador >nico dado a cada usuario del sistema. %s la cadena de caracteres con la que el usuario se identi*ica al entrar en el sistema. !e pueden utili#ar letras, dAgitos y los caracteres C &guin 0ajo( y . &punto(. %jemplo1 simmd. Aser >D o A>D* es un n>mero >nico dado a cada usuario del sistema. !u n>mero de0e ser mayor que el del >ltimo usuario creado en el sistema. @roup >D o @>D* n>mero identi*ica el grupo al que pertenece el usuario. %l n>mero 'a de ser el mismo para todos los usuarios que *ormen el grupo. Cada usuario puede pertenecer a uno o m)s grupos de*inidos por el administrador del sistema. Aunque la importancia real de las relaciones de grupo es la relati;a a los permisos de *ic'eros. Dla0e* el sistema almacena la contraseDa del usuario encriptada. %l comando passwd nos permitir) asignar y cam0iar las cla;es de los usuarios. (ombre completo* puede ser el nom0re real del usuario, su n>mero de tel*ono, su direccin, etc. %s decir, guarda in*ormacin real so0re el sistema. Directorio inicial* es el directorio al que accede el usuario al entrar en el sistema. Cada usuario de0e tener su propio directorio inicial, normalmente situado 0ajo 2$ome. %n principio

66

ser) el >nico directorio en el que el usuario podr) guardar su in*ormacin personal, programas, etc. %jemplo1 2$ome2simmd. >ntQrprete de inicio* es el intrprete de comandos que arranca para el usuario cuando se conecta al sistema. %jemplos1 2bin2bas$, 2bin2tcs$. %l *ic'ero que contiene toda esta in*ormacin relati;a a los usuarios es el *ic'ero 2 etc2passwd. %ste *ic'ero contiene una lAnea por cada usuario del sistema, y su estructura es la siguiente1 nombre*cla0e encriptada*A>D*@>D*nombre completo*directorio de inicio*intQrprete %jemplo1 simmd*x*#"1*#"1*simmd*2$ome2simmd*2bin2bas$ %n el caso de los grupos, la in*ormacin so0re ellos se encuentra en el *ic'ero 2 etc2group. Uay ;arios grupos de*inidos en el sistema &root4 bin4 s3s4 mail4 etc( que se utili#an para permisos de *ic'eros del sistema. +os usuarios no de0en pertenecer a ninguno de estos grupos. %l *ormato de cada lAnea del *ic'ero 2etc2group es el siguiente1 nombre del grupo*cla0e*@>D*otros miembros +a cla;e del grupo no suele utili#arse. %n 2etc2passwd cada usuario tiene un @>D. !in em0argo, como los usuarios pueden pertenecer a otros grupos, podemos aDadir su nom0re de usuario en el campo otros miembros &separados unos usuarios de otros por comas( de todos aquellos grupos no de*inidos por el sistema a los que queremos que pertene#ca. Podemos conocer a qu grupos pertenece un usuario utili#ando la orden ;%o$!s. &%l grupo con @>D 1"" suele ser el grupo users(. F.7.ADadir nue;os usuarios y 0orrar usuarios

Podemos aDadir usuarios al sistema de ;arias *ormas. +a m)s engorrosa de todas es 'acerlo a mano. %s decir, aDadimos al *ic'ero 2etc2passwd la lAnea correspondiente al usuario. !eguidamente le asignamos una cla;e con la orden passwd y *inalmente esta0lecemos el dueDo, grupo dueDo y permisos para el directorio 2$ome2usuario que de0eremos crear. Adem)s, de0emos actuali#ar 2etc2s$adow con !"conA. !in em0argo, e$isten ;arias utilidades que nos permiten crear usuarios de una *orma muc'o m)s cmoda e intuiti;a1 a( !er;idor ,.indo.. %ntorno / % Gniciamos una sesin como root en el entorno gr)*ico. !eleccionamos1 FenI R DonfiguraciKn Asuarios Drear usuarios &;ariar) seg>n la distri0ucin( esde aquA podremos aDadir, 0orrar y Aparecer) un cuadro de di)logo con los usuarios normales que 'ay creados en el sistema y toda la in*ormacin correspondiente a cada uno de ellos. como si de un documento se tratase. 67 modi*icar usuarios y grupos. Una ;e# reali#ados los cam0ios oportunos de0emos guardarlos,

0( %ntorno linuxconf1 esde una sesin en modo consola podemos escri0ir la orden l)n$Bcon9 para acceder a un entorno que nos permite gestionar todo +inu$, y por lo tanto la gestin de usuarios. %ntramos en Asers, Aser accounts &cuentas de usuario(, y podremos ;er todas las cuentas de usuario que est)n de*inidas en el sistema. Para aDadir una nue;a cuenta, con el ta0ulador seleccionamos el 0otn ?dd. %scri0iremos el Bogin, Sull name, group, Tome director3, Aser >D, por ejemplo un cero en Fust deep U da3s y siete en Varm U da3s before expiration. Con el ta0ulador nos posicionamos en el 0otn ?ccept. Para salir de linuxconf pulsamos el 0otn Dismiss y Wuit. c( Aseradd2?dduser +as rdenes $s&%a## y a##$s&% tam0in nos permiten aDadir nue;as cuentas de usuario desde el modo consola. Podemos crear un usuario con las caracterAsticas por de*ecto1 [useradd usuario [adduser usuario Ua0remos creado un usuario sin contraseDa. Para 'a0ilitar su cuenta compro0amos si en el campo cla;e de los *ic'eros 2etc2passwd y 2etc2s$adow e$isten signos de admiracin cerrada & ^ (, en ese caso de0emos 0orrarlos. Posteriormente esta0lecemos una contraseDa si lo deseamos. !i queremos crear un usuario a nuestra medida utili#aremos la siguiente sinta$is1
[useraddNadduser Qr 2nom0re usuario3 "p 2cla;e3 "u 2UG 3 "g 2?G 3 "c 2in*ormacin3 "d 2direct. Gnicial3 "s 2s'ell3

+o >nico que nos quedar) por 'acer ser) crear el directorio 2$ome del usuario y esta0lecer los permisos pertinentes. Para 0orrar un usuario desde el modo consola1 [userdel K"rL usuario !i utili#amos la opcin :% tam0in eliminaremos el directorio 'ome del usuario o directorio inicial. Una *orma de des'a0ilitar una cuenta de usuario sin tener que 0orrarla es escri0ir C en el campo cla;e del usuario en el *ic'ero 2etc2s$adow o 2etc2passwd.

F.8. Otras rdenes para la gestin de usuarios y grupos

cD9n1 permite cam0iar el nom0re completo del usuario1 Uc$fn 8f <nue0o nombre> <usuario> ;%o$!s1 muestra todos los grupos a los que pertenece el usuario. ;%o$!a##1 permite aDadir un nue;o grupo. !inta$is1 Ugroupadd [-g @>D] [-f] <nombre del grupo>

68

"*

o0liga al sistema a in*ormar si se producen errores &por ejemplo cuando el grupo que queremos crear ya e$iste(. que corresponde a este

!i no especi*icamos un ?G , el sistema asigna el menor ?G grupo. ;%o$!#&l1 0orra el grupo cuyo nom0re indiquemos junto a la orden. ;%o$!-o#1 permite modi*icar el ?G )#1 muestra UG y ?G y el nom0re del grupo. !inta$is1

Ugroupmod [-g <nue0o @>D>] [-n <nue0o nombre>] <nombre actual> del usuario y los grupos a los que pertenece el usuario conectado al Uid Uid usuario sistema. !inta$is1

1E. REDIRECCIONAMIENTO 5 TUBER+AS 1T.1. Gntroduccin

Muc'os comandos de Uni$ toman su entrada de la %NBOA A %!B_N AO &stdin( y en;Aan su salida a la !A+G A %!B_N AO &stdout(. %l intrprete de comandos con*igura el sistema de *orma que la stdin es el teclado y la stdout la pantalla. Eeamos al gunos ejemplos que ilustren esta cuestin1 EF&-!lo 1: !i al comando ca' no le pasamos argumentos, actuar) mostrando en pantalla todo lo que 'ayamos tecleado antes de un Gntro. Para indicarle al sistema que queremos *inali#ar la ejecucin de cat, pulsamos la com0inacin de teclas CBO+4 . Hcat 'ola 'ola CBO+4 H EF&-!lo 2: %l comando so%' act>a de *orma parecida. !i lo ejecutamos e introducimos un conjunto de lAneas desde la stdin, cuando pulsemos la com0inacin CBO+4 stdout las mismas lAneas pero de *orma ordenada. Hsort mnde# luque rodrAgue# CBO+4 luque mnde# rodrAgue# H *in de entradas de;ol;er) a la lo que reci0e de la stdin lo que de;uel;e a la stdout *in de cat

69

1T.6. Oedireccionamiento de la entrada y la salida

Al igual que en M!" O!, podemos utili#ar los caracteres G y H para redireccionar la salida y la entrada est)ndar respecti;amente. Para redireccionar la stdout podemos utili#ar1

$.

Oedireccin destructi;a1 crea un nue;o *ic'ero, o so0rescri0e el contenido de uno que ya e$iste, con aquella in*ormacin que el comando reci0e de la stdin. Ncomando >fic$ero

:.

Oedireccin no destructi;a1 crea un nue;o *ic'ero o aDade al *inal del contenido de uno que ya e$iste la in*ormacin que el comando reci0e de la stdin. Ncomando >>fic$ero

Eeamos algunos ejemplos1 %jemplo 1 Hcat 3prue0acat 'ola adios CBO+4 Hcat prue0acat 'ola adios Hcat 33prue0acat otra ;e# 'ola otra ;e# adios CBO+4 Hcat prue0acat 'ola adios otra ;e# 'ola otra ;e# adios H %jemplo 7 Hcat 3prue0asort 7 6 1 %jemplo 6 Hsort 3prue0asort 7 6 1 CBO+4 Hcat prue0asort 1 6 CBO+4 Hcat prue0asort 7 6 1 Hsort prue0asort 3prue0acat Hcat prue0acat 1 6 7 Hsort 33prue0asort : 9 6 CBO+4 Hcat prue0asort 1 6 7 6 9 : H

6:

7 H

%jemplo 8 &redireccin de stdin( Hcat 3prue0asort 7 6 1 CBO+4 Hsort 2prue0asort 1 6 7 Hcat prue0asort 7 6 1 H

Para redireccionar la stdin utili#amos el car)cter 2. Con cat no tiene muc'o sentido, ya que el resultado que se o0tiene es igual al que produce sin utili#ar este redireccionamiento. Con sort, mostrar) en pantalla el contenido del *ic'ero que le indiquemos de *orma ordenada. &Eer el ejemplo 8 anterior(.

1T.7. Bu0erAas &pipes(

Uemos ;isto que el comando sort, aunque simple, act>a como *iltro, de;ol;iendo a la salida lo que reci0e desde la entrada de *orma ordenada. +as tu0erAas pueden ser utili#adas para com0inar comandos, de *orma que la salida del primero es en;iada a la entrada del segundo y asA sucesi;amente. e esta *orma, podemos aplicar un *iltro a la stdout del comando ls en;i)ndola a la stdin de sort. +o que conseguimos es conectar una cadena de comandos en una tu0erAa. Para crear las tu0erAas utili#amos el ca%0c'&% I &0arra ;ertical, car)cter de canali#acin(. %jemplos1 Hls NusrN0in `more Hls `sort "r Hls `sort "r `'ead "1 muestra el contenido de NusrN0in por pantallas. muestra un listado del directorio actual ordenado al*a0ticamente de mayor a menor. ;eremos el primer *ic'ero de un listado del directorio actual ordenado al*a0ticamente de mayor a menor.

11. LA EDICIN DE TEXTO. EL EDITOR A) 11.1. Gntroduccin

6<

%n +inu$ e$isten muc'os editores de te$to disponi0les &;i, %macs, joe(, sin em0argo ser) el A)s$al &#)'o% JA)K el >nico que encontraremos en cualquier sistema Uni$. A) *ue el primer editor de pantalla completa que e$isti y, aunque no es *)cil de usar, es una 'erramienta e$tremadamente potente. +a ;ersin proporcionada con MandraPe es una ;ersin mejorada de ;i &;im Q EG iMpro;ed(. Para comen#ar con ;i y editar un *ic'ero de te$to emplearemos la sinta$is1 N0i <nombre de fic$ero> %n la pantalla, de 68 lAneas, aparecer) una columna de YaZ que indican el *inal del *ic'ero. %n la parte in*erior ;eremos el nom0re del nue;o *ic'ero. %n un principio no podremos insertar te$to, ya que ;i arranca en el modo rdenes, uno de los tres posi0les modos de operacin1 modo rdenes, modo insercin, modo >ltima lAnea. %n modo rdenes o modo comandos no podremos insertar te$to. Nos permitir) usar ciertas rdenes de edicin de *ic'eros o cam0iar a otros modos.

Al modo de insercin, que nos permitir) escri0ir y despla#arnos por el arc'i;o, se accede desde el modo comando por ejemplo con la orden ). Para ;ol;er al modo comando pulsamos la tecla -sc.

%l modo >ltima lAnea, o modo e$, proporciona ciertas rdenes e$tendidas a 0i, como por ejemplo salir de 0i guardando o sin guardar los cam0ios reali#ados en el arc'i;o &1.q 1q^(. Para acceder a este modo, tecleamos : desde el modo comando. Para salir de l ejecutamos una orden o 0orramos todo, incluidos los dos puntos.

11.6. Gnsertar te$to

!i estamos en modo rdenes podemos pasar al modo de insercin de ;arias *ormas1

Becla )1 para insertar te$to desde la posicin en la que se encuentra el cursor. Becla a1 para insertar te$to comen#ando detr)s de la posicin actual del cursor. Becla A1 para insertar te$to comen#ando al *inal de la lAnea actual. Becla I &i may>scula(1 para insertar te$to comen#ando al inicio de la lAnea actual. Becla o1 para insertar te$to de0ajo de la lAnea actual. Becla O1 para insertar te$to por encima de la lAnea actual.

%n la parte in*erior de la pantalla aparecer) la cadena QGN!%OBbindic)ndonos que estamos en el modo de insercin. Podremos 0orrar y suprimir te$to, adem)s de mo;ernos por el arc'i;o con las *lec'as del cursor.

11.7. @orrar te$to

6=

Adem)s de las teclas de retroceso y suprimir, podemos utili#ar otras rdenes para 0orrar desde el modo comando1

Becla B1 0orra el car)cter en el que se encuentra situado el cursor. Becla X1 0orra el car)cter que est) a la i#quierda del cursor. Beclas ##1 0orra la lAnea en la que se encuentra el cursor. Becla #"1 0orra la pala0ra en la que se encuentra el cursor. Becla o1 para insertar te$to de0ajo de la lAnea actual. Becla O1 para insertar te$to por encima de la lAnea actual.

11.8. Modi*icar te$to

esde el modo comando podemos reempla#ar o sustituir parte del te$to1

Becla %1 permite sustituir el car)cter en el que se encuentra el cursor. Becla R1 en la parte in*erior de la pantalla aparecer) la cadena QO%P+AC%"", que nos indica que podemos reempla#ar el te$to 'asta que pulsemos la tecla -sc. %s decir, O es similar al modo de insercin, con la di*erencia de que en lugar de insertar te$to lo so0rescri0e.

Beclas :% H9)cD&%oG1 inserta en el *ic'ero que estamos editando el contenido del *ic'ero que indicamos. Becla L1 cam0ia de may>sculas a min>sculas, o ;ice;ersa, el car)cter en el que se encuentra el cursor &51T cam0ia uno, 511 cam0ia tres, 516 cam0ia cuatro(.

11.9. Xrdenes de despla#amiento

Adem)s de las *lec'as del cursor, podemos mo;ernos por el documento desde el modo comando utili#ando una serie de rdenes1

Becla D1 un car)cter a la i#quierda. Becla F1 un car)cter a0ajo. Becla M1 un car)cter arri0a. Becla l &ele min>scula(1 un car)cter a la derec'a. Becla &1 al *inal de la pala0ra actual. Becla =1 al inicio de la pala0ra actual. Becla "1 al inicio de la pala0ra siguiente. Becla E &cero(1 al inicio de la lAnea actual.

6F

Becla $1 al *inal de la lAnea actual. NHca#&naG1 despla#a el cursor 'acia delante 'asta que encuentra el te$to cadena. 1Hca#&naG1 despla#a el cursor 'acia atr)s 'asta que encuentra el te$to cadena. Becla H1 ;a al comien#o del arc'i;o. Becla ?1 ;a al *inal del arc'i;o. CTRLO 91 a;an#a una pantalla. CTRLO =1 ;a una pantalla 'acia atr)s.

Cada uno de los comandos de mo;imiento puede estar precedido por un n>mero, de *orma que tenemos la posi0ilidad de mo;ernos a una pala0ra, lAnea o car)cter ar0itrarios. Adem)s, podemos asociar rdenes de despla#amiento con otras rdenes como por ejemplo 0orrar. %jemplos1 1T?1 ;a a la lAnea 1T del *ic'ero. d?1 0orrar) todo, desde la posicin del cursor 'asta el *inal del *ic'ero. dH1 0orrar) todo desde la posicin del cursor 'asta el *inal de la lAnea. 7e1 mo;er) el cursor tres pala0ras 'acia delante. d701 0orrar) tres pala0ras 'acia atr)s. dN2cadena31 0orra todo desde la posicin del cursor 'asta que encuentra el te$to cadena. dT1 0orra todo 'asta el inicio de la lAnea actual. 11.:. Cortar, copiar y pegar

Utili#aremos las rdenes P &]anP( y # & elete( para copiar y cortar te$to respecti;amente. Com0inaremos estas dos rdenes con las de despla#amiento para copiar o cortar conjuntos de caracteres, lAneas, pala0ras. Para pegar el te$to que 'emos copiado o cortado utili#aremos las rdenes ! &para insertar el te$to despus del cursor( y @ &para insertar el te$to antes del cursor(. %jemplos1 yJ2cadena31 copiar) todo desde la posicin del cursor 'acia atr)s, 'asta que encuentre el te$to cadena. d19l1 yH1 cortar) 19 caracteres desde la posicin del cursor 'acia la derec'a. copiar) todo desde la posicin del cursor 'asta el *inal del p)rra*o actual. 11.<. ?uardar y salir

Para salir sin guardar los cam0ios escri0imos :(C.

7T

Para salir guardando los cam0ios escri0imos :"( o QQ o :B. Para guardar los cam0ios sin salir escri0imos :".

11.=. %ditar otros *ic'eros

!i estamos editando un *ic'ero con 0i, podemos editar otro escri0iendo :& H9)cD&%oG desde el modo comando. Para poder utili#ar esta orden tendremos que indicarle a 0i si queremos guardar o no los cam0ios del primer *ic'eroS es decir, utili#aremos :" y luego :&, o 0ien :&C irectamente si no queremos guardar los cam0ios. ejaremos de editar el primero y pasaremos al segundo.

11.F. %jecutar comandos del intrprete

Podemos insertar, en el *ic'ero que estamos editando, la salida de un comando. Para ello utili#amos la orden :%C y a continuacin el comando que queremos ejecutar. Por ejemplo, 1r^ ls Qi inserta un listado del directorio actual con n>meros de inodo al *inal del p)rra*o actual. Bam0in podemos ejecutar una orden desde ;i y ;ol;er al editor una ;e# que sta *inalice. Utili#aremos la orden :C. Por ejemplo, 1^ ls Qi mostrar) en pantalla el mismo listado que en el ejemplo anterior, aunque en este caso los resultados no se insertar)n en el *ic'ero. Gncluso podemos dejar temporalmente 0i e iniciar el intrprete de comandos para ejecutar otras rdenes. Para salir del intrprete y regresar a 0i utili#amos la orden &B)'. Para iniciar el intrprete usamos la orden :sD&ll. Por ejemplo, es posi0le que queramos consultar la p)gina de manual de 0i y guardarla en un *ic'ero.

71

También podría gustarte