Vous êtes sur la page 1sur 19

Laboratorio Prctico N 1.

Comandos Bsicos en GNU/LINUX

Ao 2010

INTRODUCCION AL SISTEMA OPERATIVO GNU/LINUX


OBJETIVOS: HACER NUESTRO PRIMER CONTACTO CON EL GNU/LINUX: entorno de trabajo, trasferencia de Ficheros, entrada y salida del sistema. rbol de directorios: estructura tpica de un sistema de ficheros GNU/Linux, path absoluto y relativo. Manejo de las ordenes bsicas relacionadas con directorios y ficheros. Permisos, propietarios y grupo de un archivo. Ordenes para el manejo de directorios. EL ENTORNO DE TRABAJO Para realizar nuestro primer laboratorio es imprescindible contar con una distribucin del sistema operativo GNU/LINUX (la ctedra sugiere Ubuntu). No ser necesaria la instalacin completa del sistema, ya que el mismo posee su distribucin live cd la cual se ejecuta directamente desde un cd, sin necesidad de ser instalada. Debemos tener en cuenta que este trabajo practico est orientado al manejo bsico del Shell Bash y sus comandos Ingresemos a la consola de nuestro Shell BASH. DESDE EL ENTORNO GRAFICO DE UBUNTU DEBEMO HACERLO PISANDO LA BARRA EN APLICACIONESACCESORIOS TERMINAL (siempre teniendo en cuenta que estamos en UBUNTU)

Aclaremos en primer lugar algunos conceptos bsicos:


Superusuario (root): Es el administrador del sistema. Tiene derechos de acceso sobre todos los ficheros del sistema. Puede crear y eliminar usuarios, modificar la configuracin del sistema, etc. Este usuario es similar al usuario Administrador en los sistemas de Microsoft Windows Server. Esta cuenta es la que tiene todos los permisos para hacer y deshacer lo que quiera en el sistema y se recomienda no usarla y solo usarla cuando sea necesario, esto quiere decir que se recomienda trabajar con un usuario de permisos restringidos en las labores diarias y ocupar el comando sudo cuando se necesite realizar alguna labor de administracin en nuestro sistema. Si nos damos cuenta generalmente en el proceso de instalacin de una distribucin Linux se nos pide una contrasea para el sper usuario ( root ) y luego nos ofrece crear un usuario normal. Como edito o ejecuto un archivo con permisos de root? Una de las formas de invocar una aplicacin con privilegios de root es mediante el comando sudo, generalmente lo podemos realizar desde una consola lo nico que necesitamos hacer es escribir sudo seguido de la aplicacin a ejecutar. Por ejemplo si necesitamos explorar los archivos con nautilus y con permisos de root, ejecutaremos en la consola. Cuando se ejecuta el

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

comando primero pide la validacin de usuario root. Debemos poner la contrasea correspondiente sudo nautilus (Probamos en la lnea de comando que resultado produce) Con este comando se abrir Nautilus y podremos manejar todo el contenido con los permisos de root hasta que cerremos Nautilus. Otro ejemplo es si necesitamos instalar un programa mediante apt, el comando para instalar seria apt-get install (programa) pero si lo ejecutamos tal cual y con permisos normales el sistema nos entregara un error y no nos dejara instalar por que ejecutamos un programa que necesita permisos de super usuario, en este caso lo que correspondera es escribir es sudo apt-get install (programa)

Ubuntu trae al usuario root desactivado por motivos de seguridad.


Todo lo que quieras hacer como root tendrs que ejecutarlo con sudo, por ejemplo: sudo apt-get update Te pedir el pass de usuario y lo almacenar durante 15 minutos si no vuelves a hacer nada como root. Para activar la cuenta root recin instalado Ubuntu se hace de la siguiente manera. sudo -u root passwd y pones el pass del usuario que has creado anteriormente, despus de eso te pedir el nuevo pass para el root. Con esto ya estamos en condiciones de hacer su para entrar a nuestra cuenta de root. $sudo passwd -l root Para desactivar la cuenta root Directorio HOME: Directorio asignado a un usuario al crear la cuenta. Sobre este directorio el usuario puede crear, modificar y borrar ficheros y directorios. No confundir con el directorio /home. Por ejemplo, el directorio HOME del usuario pepe ser /home/alumnos/ pepe

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

Interprete de comandos (shell): Es el interfaz entre el usuario y el sistema operativo. Traduce las ordenes dadas por este y ejecuta sus programas. Usuario y clave: Para entrar en el sistema introducimos el nombre de usuario (login) y la clave de acceso(password). login: usuario password: xxxxxxxx La clave suele ser alfanumrica y puede tener restricciones respecto a su longitud mnima. Una vez validados el nombre de usuario y la clave aparece el indicador (prompt) del sistema. Este es # para el superusuario (root) y $ para el resto de usuarios. Puede solicitarse ayuda al sistema sobre cualquiera de las rdenes mediante $ man nombre (para salir de la ayuda presionamos la tecla Q) o tambin mediante

$ info nombre
$ exit

Para salir del sistema

Linux es un sistema operativo multiproceso y multiusuario.

Multiproceso. En un instante de tiempo puede haber varios programas cargados en memoria compitiendo por el uso de la CPU. En los sistemas monoprocesador, los distintos procesos deben repartirse el tiempo de CPU. Este reparto lo lleva a cabo el planificador (scheduler). El los sistemas multiprocesador, puede haber varios procesos ejecutndose en paralelo. Multiusuario. Puede haber varias personas utilizando simultneamente los recursos del sistema. Cada usuario va a tener asignada una cuenta de usuario a travs de la cual accede al sistema. Cada cuenta tiene asociada un nombre de usuario (username) por el que el sistema la reconoce. Cada cuenta es personal y slo podr ser manipulada por su propietario.

FICHEROS Y ESTRUCTURA DE DIRECTORIOS EN GNU/LINUX Un archivo se puede definir como un conjunto de datos con un nombre asociado. Los archivos suelen residir en dispositivos de almacenamiento secundario tales como Pendrive, discos duros o discos flexibles. Algunos sistemas operativos imponen a los archivos una estructura determinada bien definida. Este no es el caso de Linux, donde un archivo no es ms que una secuencia de bytes.

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

Un sistema de archivos se debe entender como aquella parte del sistema responsable de la administracin de los datos en dispositivos de almacenamiento secundario. Por lo tanto, es el sistema de archivos el que debe proporcionar los medios necesarios para un acceso y almacenamiento seguro y privado de la informacin. En Linux los archivos estn organizados en lo que se conoce como directorios. Un directorio no es ms que un archivo especial, el cual contiene informacin que permite localizar en el dispositivo otros archivos. Los directorios pueden contener a su vez nuevos directorios, los cuales se denominan subdirectorios. A la estructura resultante de esta organizacin se la conoce con el nombre de estructura en rbol invertido. Un ejemplo tpico de rbol de directorios Linux lo tenemos representado en la siguiente figura:

Directorio

raz (/)

Todos los archivos y directorios dependen de un nico directorio denominado directorio raz o root, el cual se representa por el smbolo /. En el caso de que en el sistema tengamos varios dispositivos fsicos de almacenamiento secundario (normalmente discos), todos deben depender del directorio raz, y el usuario tratar cada uno de los discos como un subdirectorio que depende del directorio raz (root). Directorio de conexin (~)

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

Se trata de un directorio que el administrador del sistema crea o asigna cuando da de alta a un usuario. El propsito de este directorio es suministrar un punto en la jerarqua de directorios del sistema de archivos Linux a partir del cual el usuario puede almacenar y estructurar sus propios archivos y directorios. Este directorio suele ser tomado como directorio de trabajo inicial cuando el usuario establece una sesin de trabajo. Se representa mediante el smbolo ~. Directorio de trabajo (.) El directorio de trabajo o actual es el directorio en el que nos encontramos operando en cada momento de la sesin. Se representa mediante un punto . Asociado al concepto de directorio de trabajo esta el concepto de directorio padre, que se representa mediante .. y que sirve para denotar al directorio del que depende el directorio de trabajo. La manera de conocer en todo momento el directorio de trabajo es a travs de la orden pwd (print working directory). Su sintaxis es: pwd Ejemplo: larq005@Mordor:~$ pwd /home/larq005 En este ejemplo, el directorio "." y ".." seran respectivamente /home/larq005, y /home. Trayectorias o nombres de camino

Los archivos se identifican en la estructura de directorios por lo que se conoce como nombre de camino, trayectoria o path name. Fijndonos en la figura anterior distinguiremos las dos formas existentes para refenciar un archivo: Camino absoluto o completo. Consicp /etc/passwd /home/z/p02 stente en el conjunto de nodos por los que hemos de pasar, partiendo del directorio raz, para llegar al archivo o directorio que queremos referenciar. Va precedido siempre por el caracter /. Identifica de modo nico a un directorio o archivo dentro del sistema de archivos. Ejemplo: /usr/bin/troff Camino relativo. Tenemos dos formas de acceder a un archivo usando una trayectoria relativa, segn tomemos en consideracin el directorio de trabajo o el directorio de conexin: 1. Respecto del directorio de trabajo:

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

Suponiendo que nuestro directorio de trabajo es /usr, el camino para llegar al archivo /usr/bin/troff sera bin/troff. NOTA: Para el camino relativo se pueden utilizar las cadenas "." y "..", permitindose entonces ascender en el rbol de directorios para referenciar archivos de modo relativo. Por ejemplo, si el directorio de trabajo es el /usr/bin/troff y queremos referenciar el archivo /usr/local/bin , usando una trayectoria relativa, escribiramos ../../local/bin. 2. Respecto del directorio de conexin. Suponiendo que nuestro directorio de conexin actual es /home/larq005, la referencia al archivo o directorio anterior seria ~/../../usr/bin/troff Nombre de archivo El nombre de un archivo en Linux puede tener hasta 255 caracteres y aunque no existe el concepto de extensin de un archivo es posible incluir el carcter . tantas veces como se desee, la nica consideracin a tener en cuenta en este sentido, es la referente a los nombres de archivo cuyo primer carcter es . a los que histricamente se denominan archivos ocultos, ya que por defecto no son mostrados por la orden ls. Una denominacin ms precisa para estos archivos sera la de archivos sin inters habitual, ya que se suelen utilizar para configurar aplicaciones y normalmente el usuario no tiene inters en verlos. Es importante tener en cuenta que los intrpretes de rdenes de Linux (denominados shell) consideran distintos los caracteres en maysculas de los caracteres en minscula. Por lo tanto, no son equivalentes los archivos: programa.c y Programa.c. Ejemplos de nombres de archivos: programa, programa.c, programa.c.primera_version, base_datos.1992 Uso de caracteres especiales (comodines) Existen en Linux un conjunto de caracteres cuya combinacin permite que el intrprete de rdenes los sustituya por un grupo de smbolos. Estos caracteres se denominan caracteres comodn. De entre los existentes destacamos los siguientes: * Representa cualquier conjunto de smbolos. Por ejemplo, sabiendo que la orden ls permite mostrar los archivos presentes en un directorio: larq005@Mordor:~$ ls * # muestra todos los archivos del directorio de trabajo d larq005@Mordor:~$ ls ab* # muestra los archivos que empiecen por ab ? Representa cualquier carcter.

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

larq005@Mordor:~$ ls a?b # muestra los archivos cuyos nombres tengan tres caracteres, el primero sea una a y el ltimo una b [...] Representan un smbolo del conjunto. larq005@Mordor:~$ ls ab[123] # muestra (si existen) los archivos ab1, ab2 y ab3 [!...] Representa un smbolo NO contenido en el conjunto. larq005@Mordor:~$ ls [!ab]* # muestra todos los archivos cuyo nombre NO comienza por ni por a ni por b Aparte de los caracteres comodines, existen otros caracteres cuyo significado es especial para la shell. Entre estos destacamos: <,>,|,& cuyo significado se explicar en prcticas posteriores. De modo general para todos los caracteres especiales y comodn, se habilitan distintas maneras para forzar a que la shell los interprete literalmente como los caracteres que son. Los modos de escapar los caracteres especiales y comodn son los siguientes: Utilizando el carcter \ se pueden escapar caracteres individualmente. Cuando se quiere escapar cadenas completas se recurre a encerrarlos entre comillas '. larq005@Mordor:~$ ls test?& # muestra el archivo con nombre test?& larq005@Mordor:~$ ls \*a # muestra el archivo de nombre *a

Niveles de acceso a la informacin:


Lo primero que hay que decir es que para conseguir toda la informacin sobre los comandos involucrados en el tema de permisos podes consultar los comandos man chmod, man chown y man chgrp Informacin de un fichero/directorio Cuando se tiene informacin sobre un fichero/directorio con el comando ls, existen diferentes campos que te dicen que clase de permisos el fichero/directorio tiene. Ejemplo: [user@localhost]# ls -l -rwxr-x--- 1 pepito depart1 4348 Nov 24 16:19 test

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

En la primera columna se pueden ver una serie de letras y guiones -rwxrx---, estas letras nos dicen quien en el sistema, y que clases de permisos tiene el fichero test. Estas letras estn agrupadas en tres grupos con tres posiciones cada uno, ms una primera posicin que nos dice de qu clase de archivo se trata (los ms normales (d) directorios, o (-) archivos de datos). En nuestro ejemplo la primera posicin es (-) con lo cual el archivo test, es un archivo de datos (binario/ejecutable en este ejemplo). El primer grupo de tres (rwx en nuestro caso) nos dice que clase de permisos tiene el dueo del fichero (u)(user/owner) El segundo grupo de tres (r-x en nuestro caso) nos dice que clase de permisos tiene el grupo del fichero (g)(group). Y el ltimo grupo de tres (--- en nuestro caso) nos dice que clase de permisos tienen todos los dems usuarios del sistema sobre este fichero (o)(others). r :significa permiso para leer w :significa permiso para escribir x :significa permiso para ejecutar La segunda columna pepito, nos dice quien es el dueo del fichero,(pepito en este caso). La tercera columna depart1, nos dice cual es el grupo del fichero (depart1 en este caso). La cuarta columna 4348, nos dice el tamao del fichero. La quinta columna Nov 24 16:19, nos dice cual es la fecha y hora de la ltima modificacin. La sexta columna test, nos dice cual es el nombre del fichero/directorio. Asi pues, el fichero test de nuestro ejemplo tiene los siguientes permisos:

pepito puede leer, escribir/modificar, y ejecutar el fichero test. Los usuarios pertenecientes al grupo depart1 puede leer, y ejecutar pero no escribir/modificar. Los dems usuarios no pueden hacer nada, ni leerlo, ni escribir/modificar, ni ejecutarlo.

Como cambiar los permisos/dueo/grupo de un fichero/directorio? Para cambiar el dueo del fichero se utiliza el comando : chown usuario fichero Para cambiar el grupo del fichero se utiliza el comando: chgrp grupo fichero Para cambiar los permisos se utiliza el comando: chmod permisos fichero Los permisos se pueden especificar de diferentes maneras, una serie de ejemplos, es lo mejor para comprenderlo: chmod ugo+rwx test (da permisos rwx a todos, user,group,others) chmod ugo-x test (quita permiso x (ejecucion) a todos, user,group,others) chmod o-rwx test (quita permisos rwx a others)

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

chmod u=rwx,g=rx test (da permisos rwx a user, rx a group y ninguno a others)

Todo usuario tiene la posibilidad de crear, modificar y borrar archivos. Cada archivo tiene tres modos de acceso diferentes: Acceso para lectura "r". Se permite acceder para consultar el contenido del archivo sin modificarlo. Acceso para escritura "w". Se permite modificar el contenido del archivo. Acceso para ejecucin "x". El archivo puede ser ejecutado (por ejemplo un programa compilado).

En los sistemas multiusuario se hace necesario controlar el acceso a la informacin asegurando su privacidad. Como ya se ha visto anteriormente, cada usuario del sistema tiene un nmero identificador (UID) nico dentro del sistema y tambin pertenece a un grupo de usuarios identificado unvocamente dentro del sistema por un nmero (GID). A estos nmeros se les asocia unos nombres lgicos que se denominan login en el caso del UID y nombre de grupo en el caso del GID. Por lo tanto, una manera de identificar la informacin perteneciente a un usuario (el caso que nos ocupa son sus archivos), es que cada archivo lleve asociado el identificador de usuario propietario de la informacin y la del grupo a que este usuario pertenece. De la combinacin de los tres modos de acceso explicados anteriormente rwx y los atributos propietarios de un archivo y grupo al que pertenece dicho propietario, surgen los denominados niveles de acceso a la informacin. Estos son tres:

Nivel de usuario. Son los modos de acceso a la informacin permitidos para el propietario del archivo. Nivel de grupo. Modos de acceso a la informacin permitidos para cualquier usuario que pertenezca al mismo grupo que el del propietario del archivo. Nivel de otros. Modos de acceso a la informacin permitidos para los usuarios del sistema que ni son el propietario del archivo ni pertenecen a su mismo grupo.

Simple lo primero que queremos hacer cuando arrancamos la estructura de directorios es ver donde estamos situados... y que archivos tenemos en ese lugar. Una Orden de lo mas sencilla: El comando ls La orden ls se utiliza para visualizar el contenido de un directorio. Su sintaxis es la siguiente: ls [parmetros] [path_name]

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

Si no indicamos path_name, se presentar el contenido del directorio de trabajo actual. Ejemplo: larq005@Mordor:~$ cd /bin larq005@Mordor:/bin$ ls c* cat chgrp chmod chown cp cpio Segn los parmetros utilizados en la orden (campo parmetros en la sintaxis), obtendremos distintos tipos de informacin acerca de los archivos. Especialmente relevantes son los siguientes: -a permite visualizar los archivos ocultos (aquellos que empiezan por .). -F introduce el carcter / tras los nombres de los subdirectorios listados y un * tras los archivos ejecutables. -l lista los archivos en formato largo, incluyendo informacin adicional completa acerca de cada uno de ellos. larq005@Mordor:~$ cd larq005@Mordor:~$ pwd /home/larq005 larq005@Mordor:~$ ls -a . .. .profile Mwm docprac test larq005@Mordor:~$ ls -F Mwm docprac/ test* larq005@Mordor:~$ ls -l total 40 -rw-r----- 1 larq005 users 4639 2005-04-29 12:50 Mwm drwxr-xr-x 2 larq005 users 512 2005-04-29 12:50 docprac -rwxr-xr-x 2 larq005 users 24512 2005-04-29 12:50 test Los campos que aparecen al realizar el listado con la opcin -l son los siguientes (de izquierda a derecha):

Permisos: Como se explic anteriormente, el usuario puede establecer a voluntad que otros usuarios tengan permiso de lectura (r) escritura (w) y de ejecucin (x) de cada archivo y directorio (modos de acceso a la informacin). Para ello, cada archivo lleva asociada una cadena de 10 caracteres de la siguiente forma: -rwxr-xr-x

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

donde el carcter - en el campo del tipo de archivo indica que es un archivo ordinario, y en cualquiera de los otros campos supone que el permiso (rwx) NO est habilitado.

Nmero de enlaces (links): un enlace es un mecanismo que permite hacer referencia a un archivo a travs de diferentes nombres. Con ello se logra un aprovechamiento del espacio en disco. Nombre del propietario (usuario): Es el cdigo que identifica al usuario propietario del archivo o directorio en el sistema. Coincide con el login de la cuenta. Nombre del grupo. Indica el nombre del grupo al cual est adscrito el propietario del archivo. Tamao del archivo: Indica el nmero de bytes que contiene el archivo. En el caso de los archivos especiales, aqu aparecern dos valores que se denominan major number y minor number. Fecha y hora de la ltima modificacin. Nombre del archivo.

Aqu van alguna de las rdenes para dominar nuestros archivos


En Linux existe un conjunto de rdenes que entre otras funciones, permiten visualizar el contenido de archivos. Si bien otras aplicaciones se explicarn ms adelante en otros captulos, aqu se introduce su utilizacin como visores. Orden cat Se utiliza para visualizar el contenido de un archivo de texto (ASCII) por la pantalla. Si a cat no le pasamos como argumento ningn archivo de texto, entonces leer de la entrada estndar (teclado) hasta que pulsemos Ctrl+d (^d). Una vez hecho esto, visualizar lo que acabamos de escribir. Por lo tanto, cat es una orden que por defecto (si no le pasamos parmetro alguno) lee de la entrada estndar y dirige su salida a la salida estndar (la pantalla). Ejemplo: larq005@Mordor:~$ cd / larq005@Mordor:/$ cat /etc/motd Linux Mordor 2.6.10-5-amd64-generic #1 Fri Sep 23 14:52:39 UTC 2005 x86_64 GNU/Linux The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. larq005@Mordor:~$ cat mensaje Lo que estoy escribiendo es un mensaje que se muestra por pantalla

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX con el uso de la orden "cat". larq005@Mordor:~$ Orden more

Ao 2010

La orden imprime por pantalla el contenido del archivo de texto que le pasemos como argumento. Su sintaxis es: more [archivo1 ...] A diferencia de la orden cat, la visualizacin se hace pantalla a pantalla. Para avanzar en la visualizacin lnea a lnea, se debe pulsar retorno. Para visualizar la siguiente pantalla, se pulsar la barra espaciadora, y para finalizar se pulsar la tecla q (quit). La tabla de opciones vista para la orden man es aplicable tambin a esta orden. rdenes head y tail En muchas ocasiones no se pretende visualizar el archivo de texto completo, sino que con algunas lneas sera suficiente (por ejemplo para identificarlo). Las rdenes head y tail se pueden utilizar para visualizar las primeras o las ltimas N lneas de un archivo de texto. Su sintaxis es: head [-N] archivo1 tail [-N] archivo1 En esta seccin se introducen las rdenes bsicas necesarias para poder gestionar los archivos bajo Linux. Orden cd Se utiliza para cambiar el directorio de trabajo actual. Su sintaxis es la siguiente: cd [path_name] Cuando se utiliza sin parmetros, el directorio de trabajo actual pasa a ser el directorio propio (el del arranque), tambin conocido como directorio HOME, dicho de otro modo, si nuestro directorio actual es /usr/local, dando la orden cd nos colocamos en nuestro directorio HOME. HOME es el directorio en el que iniciamos sesin de trabajo, es decir el CWD que tenemos al entrar en el sistema. Tanto cd, como pwd son ordenes internas del intrprete, no existe ningn archivo ejecutable en el que estn programadas. larq005@Mordor:~$ cd /usr/X11R6 larq005@Mordor:/usr/X11R6$ pwd

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX /usr/X11R6 larq005@Mordor:/usr/X11R6$ cd larq005@Mordor:~$ pwd /home/arq005 Orden cp Se utiliza para copiar archivos. Su sintaxis es: $ cp archivo1 [archivo2 ...] destino

Ao 2010

Como mnimo necesita dos argumentos. El primero es el archivo existente que queremos copiar en otro lugar, y el segundo es el nombre del archivo destino. Las rutas de ambos archivos se pueden dar tanto en forma absoluta como relativa. En caso de que el archivo destino exista, su contenido se perder, quedando sustituido por el contenido de archivo1. Ejemplo: larq005@Mordor:~$ cd larq005@Mordor:~$ pwd /home/arq005 larq005@Mordor:~$ ls -F c/ personal/ pruebas.c pruebas larq005@Mordor:~$ cp pruebas.c prnew.c larq005@Mordor:~$ ls -F c/ personal/ pruebas.c prnew.c pruebas Orden rm Se utiliza para borrar un conjunto de archivos. Su sintaxis es: $ rm [-irf] archivo1 archivo2 ... Esta orden opera silenciosamente en ausencia de problemas, lo cual es especialmente peligroso si se tiene en cuenta que en Linux un archivo borrado no puede ser recuperado de manera alguna. Las opciones tienen el siguiente significado: -i (interactive) antes de borrar cada uno de los archivos, rm preguntar si realmente queremos hacerlo. -f (force) fuerza el borrado de los archivos, incluso si estos estn protegidos contra escritura (el archivo debe pertenecer al usuario que quiere borrarlo). Ejemplo: larq005@Mordor:~$ ls -F c/ personal/ pruebas.c prnew.c pruebas larq005@Mordor:~$ rm prnew.c larq005@Mordor:~$ ls -F

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX c/ personal/ pruebas.c pruebas Orden mv

Ao 2010

Su funcionalidad es idntica a cp, salvo que mv provoca que los archivos o directorios origen desaparezcan de su localizacin inicial. Su sintaxis es: $ mv origen1 [origen2 ...] destino Ejemplo: larq005@Mordor:~$ mv pruebas personal larq005@Mordor:~$ ls -F c/ personal/ pruebas.c larq005@Mordor:~$ ls personal pruebas

Y EL MANEJO DE DIRECTORIOS??? SE OLVIDARON???


NO AQU ESTAN: Las dos rdenes que necesitamos para manipular directorios son mkdir y rmdir. La forma de trabajar de estas rdenes es la misma que en DOS. mkdir nom_directorio rmdir nom_directorio mkdir (make directory) permite crear un nuevo directorio, mientras que rmdir (remove directory) lo elimina. Para eliminar un directorio, este tiene que estar vaco. Ejemplo: larq005@Mordor:~$ ls -F c/ personal/ pruebas.c larq005@Mordor:~$ rmdir c larq005@Mordor:~$ mkdir tmp larq005@Mordor:~$ ls -F personal/ pruebas.c tmp/ HABLEMOS UN POCO PARA EMPEZAR Y TERMINAR ESTA GUIA DE LOS FAMOSOS PERMISOS Como hemos visto anteriormente, a cada archivo se le asocian un conjunto de permisos de acceso (rwx) asociados a cada uno de los tres niveles de la jerarqua de usuarios existente: nivel de usuario, nivel de grupo y el nivel formado por el resto de los usuarios del sistema. La orden chmod (change mode) permite cambiar los permisos de un archivo. La utilizacin de esta funcin est restringida exclusivamente al

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

propietario del archivo cuyos permisos (modo) se desean alterar o al administrador del sistema. La sintaxis es la siguiente: chmod modo archivo1 [archivo2 ... ] Donde modo supone el modo de acceso al archivo que se desea asignar. Hay dos formas diferentes de utilizar la orden: Modo absoluto. Consiste en fijar con un nmero de tres dgitos los permisos de los tres niveles de la jerarqua de usuarios. Para ello, la cadena de 9 caracteres que indican los permisos de acceso al archivo que se quieren asignar, se convierten a dgitos binarios, poniendo un 1 en el caso de que se quiera activar el campo (rwx) o un 0 en el caso de querer desactivarlo. As, si se desea asignar al archivo prog.c permisos rwxr-xr--, la secuencia de dgitos ser: 111101100. Con estos nueve dgitos se forman 3 grupos, cada uno perteneciente a los permisos asociados a cada uno de los niveles de la jerarqua de usuarios (111- usuario, 101- grupo, 100- otros), y se asocia a cada uno su valor en octal (7- usuario, 5- grupo, 4- otros). Ejemplo: larq005@Mordor:~$ pwd /home/arq005 larq005@Mordor:~$ ls -l prog.c -rw-r----- 1 arq005 users 1024 2005-04-29 14:58 prog.c larq005@Mordor:~$ chmod 754 prog.c larq005@Mordor:~$ ls -l -rwxr-xr-- 1 arq005 users 1024 2005-04-29 14:58 prog.c Modo relativo. En este caso la referencia a los permisos asignados al archivo se realiza de acuerdo con la siguiente sintaxis: chmod quin qu de_qu_modo El primer campo indica a quin se le modifica el permiso: u(usuario), g (grupo), o (otros) y a (todos). El segundo campo indica si se activa (+), se desactiva (-) o se fija (=) un permiso. Cuando se utiliza = los permisos que no aparecen se eliminan. El tercer campo indica sobre que modos de acceso se acta (r, w, x). Ejemplo: larq005@Mordor:~$ chmod a-x prog.c larq005@Mordor:~$ ls -l prog.c -rw-r--r-- 1 arq005 users 1024 2005-04-29 14:58 prog.c larq005@Mordor:~$ chmod go+w prog.c larq005@Mordor:~$ ls -l prog.c -rw-rw-rw- 1 arq005 users 1024 2005-04-29 14:58 prog.c larq005@Mordor:~$ chmod gu-rw prog.c larq005@Mordor:~$ ls -l prog.c -------rw- 1 arq005 users 1024 2005-04-29 14:58 prog.c larq005@Mordor:~$ chmod u=r prog.c larq005@Mordor:~$ ls -l prog.c -r-------- 1 arq005 users 1024 2005-04-29 14:58 prog.c

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

Por otro lado, la orden umask permite fijar los permisos que tendr por defecto cualquier archivo que cree un determinado usuario. Su estructura es: umask [###]

Llamado sin parmetros, el resultado son tres dgitos octales que indican de izquierda a derecha el valor de la mscara que determina los permisos iniciales para el propietario, el grupo y para el resto de usuarios. Cada dgito octal de la mscara contiene tres dgitos binarios, un 1 binario indica que cuando se cree un nuevo archivo, el permiso asociado (rwx) ser borrado y un 0 binario indica que se utiliza el permiso implcito.

Si no se desea que por defecto los archivos y directorios se creen con estos valores, se puede cambiar el valor de la mscara de usuario pasando como argumento a la orden umask un nmero de tres dgitos en octal. Este nmero es el resultado de fijar a 1 aquellos permisos que se desean limpiar y dejar a 0 los bits de los permisos que no se quieren limpiar (es decir, justo del revs a como se construan los permisos en octal para chmod). As, si se desea que a partir de este momento los archivos y directorios que se creen tengan todos los permisos desactivados para los niveles de grupo y de otros y que no se limpie ningn permiso para el nivel de propietario, la orden a introducir ser: larq005@Mordor:~$ umask 077 Accesos directos en Ubuntu (enlaces)

Existen dos tipos de enlaces, los enlaces simblicos y los enlaces duros (fuertes).
Cuando creamos un enlace simblico significa que creamos un puntero a dicho fichero o directorio. Si borrases dicho fichero o directorio el enlace quedara apuntando a la nada. Por otra parte si creas un enlace duro, lo que hace es crear una copia del fichero o directorio, la ventaja de este tipo de enlace es que si modificas alguno de los dos siempre se modificaran los dos y si borras uno el otro no se perdera. Normalmente no se hacen enlaces duros ya que implica tener duplicada la informacin ocupando espacio de manera innecesaria, por esta razn solo el root tiene permisos para hacer este tipo de enlaces. Otra desventaja de los enlaces duros es que slo se pueden hacer entre ficheros o directorios de una misma unidad. El comando para crear enlaces es el siguiente:

ln -parmetro rutadirectorio nombre_enlace


Parmetros:

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX -s Para enlaces simblicos

Ao 2010

Si no ponemos ningn parmetro se creara un enlace duro (fuerte).

FINALMENTE ALGO DE TRABAJO PARA LOS ALUMNOS.. (EJERCICIOS MUY FACILES)


1. Averige cul es su directorio de conexin y cree en l un directorio que se llame p02. 2. Copie el archivo passwd del sistema (su localizacin y sintaxis se puede encontrar utilizando el man) en el directorio p02. Realice la copia de dos modos distintos: a. Especificando tanto el origen como el destino mediante trayectorias absolutas. b. Especificando origen y destino con trayectorias relativas. 3. Utilizando la orden ln (Use man ln): a. Cree un enlace fuerte a un archivo situado en su directorio de conexin y compare el nmero de enlaces que tiene ahora y los que tena antes de realizar esta operacin. b. Realice de nuevo la misma operacin pero en este caso sobre un directorio. Puede realizar un enlace blando sobre un directorio? c. Cree un enlace blando sobre el archivo original de la pregunta a) Cuntos enlaces tiene ahora? d. Borre el archivo original. Puede acceder a los datos a travs del enlace dbil? y a travs del enlace fuerte? Qu ocurre si creamos un archivo con el mismo nombre que el que hemos borrado? Puede acceder a los datos a travs del enlace dbil? y a travs del enlace fuerte? e. Intente realizar un enlace fuerte sobre el archivo de contraseas del sistema. Qu ocurre? Por qu? Realice un enlace blando. Qu ocurre? Por qu? 4. Rellene al siguiente tabla: Es el mismo para todos? Directorio / Directorio . Directorio ~ si No No Se puede cambiar? no siempre No se

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

5. Con este ejercicio pretendemos que se entienda de qu depende el hecho de que un archivo se pueda borrar o acceder a la informacin de un directorio. Vamos a proponer una serie de pequeos ejercicios a realizar y al final deber responder a dos preguntas. a. Cree un directorio que se llame D1 colgando de su directorio de conexin. Con que permisos se crea? b. Cambie los permisos con umask de forma que estn activados todos menos los de ejecucin. Cree otro directorio hermano de D1 llamado D2. Qu permisos tiene? c. En el directorio D2 cree un archivo con los permisos ----------. Lo puede borrar? d. Intente borrar el archivo que pertenece a otro usuario. e. Ponga todos los permisos del D2 a d---------. Puede acceder a l? Active el de ejecucin, puede acceder a l? Active tambin el de escritura, puede acceder y ver su contenido? Active para el directorio D2 los permisos de ejecucin y lectura nicamente puede acceder al directorio? puede borrar un archivo que tenga los permisos de escritura activados? Despus de realizados los ejercicios contesta a las siguientes preguntas: i. Con que permisos se crea un directorio o archivo ii. De que depende que se pueda borrar un directorio o archivo. 6. Liste todos los archivos del directorio /etc que comiencen por i y terminen por b. Qu archivos tienen como segunda letra una s ? Qu archivos tienen como tercera letra una consonante? 7. Sera posible copiar con una nica orden el directorio p02 en el directorio bin que cuelga de vuestro directorio de conexin? Indique cmo y ejecutarlo. Explicar a qu se deben los mensajes que salen por la pantalla. 8. Haga un listado largo de TODOS los archivos de vuestro directorio de conexin pero de modo que NO muestren el propietario sino exclusivamente el grupo y que aadan una / tras los archivos de directorio. 9. Cmo se podra paginar la salida de la orden anterior para que se pudiera ver el resultado ms cmodamente por pantalla? 10. Qu ocurre si se introducen contraseas de menos de 6 caracteres? y si no se introduce ningn carcter numrico o especial? 11. Averige cuntos usuarios estn conectados en el sistema. Qu orden emplea? Describa el significado de los campos mostrados por pantalla por esa orden.

Laboratorio Prctico N 1. Comandos Bsicos en GNU/LINUX

Ao 2010

12. Qu tipo de sistema operativo GNU/LINX Utiliza para el desarrollo de su laboratorio?, sobre qu mquina se ejecuta (caractersticas de Hardware)? 13. Cul es la diferencia entre la utilizacin de \r, \n, \c en la orden echo? Para qu pueden servir? Explicarlo con ejemplos. 14. Para qu sirve la opcin -k de la orden man? Qu diferencia hay entre las rdenes man -k users y man users? 15. Con ayuda de la opcin anterior del man, averiguar el contenido y los campos del archivo passwd. Es lo mismo el archivo que la orden passwd? 16. Qu hace la orden finger? Qu otras rdenes producen resultados similares? Qu sucede si se aplica sobre un usuario determinado? 17. Para qu se utiliza la orden tty. 18. Finalmente se termina el prctico y hay que apagar el equipo. Averigua cuales son las opciones de apagado y reinicio que tiene en modo consola y explquelas brevemente.

Vous aimerez peut-être aussi