Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad

Sistema de Archivos en Linux: Directorios, Archivos, Operaciones y Utilidades, Apuntes de Desarrollo de Sistemas de Telecomunicación e Informáticos

Aprende sobre el sistema de archivos en linux, su estructura, tipos de archivos, ordenes básicas y utilidades como ls, cp, mv, find, cat, more, less y tar. Explora directorios raíces y subsistemas de archivos.

Tipo: Apuntes

2011/2012

Subido el 25/09/2012

pedrito46
pedrito46 🇪🇸

4.4

(186)

691 documentos

1 / 23

Toggle sidebar

Documentos relacionados


Vista previa parcial del texto

¡Descarga Sistema de Archivos en Linux: Directorios, Archivos, Operaciones y Utilidades y más Apuntes en PDF de Desarrollo de Sistemas de Telecomunicación e Informáticos solo en Docsity! docsity.com Como crear una conexión (vía telnet) Cogemos New, tenemos que ponerle un nombre, le ponemos el nombre de linux. Protocol:Telnet y ponemos la dirección de IP:172.26.0.253. Una vez hecho esto, tenemos que volver a ponerle nombre linux1 y lo guardamos. Linux: Es un sistema operativo para PC utilizado en ordenadores con procesadores 386,486 y Pentium. También puede instalarse en ordenadores con microprocesadores AMD. Fue desarrollado a principios de los 90 por Linux Torvald, el código fuente del sistema fue compartido con otros programadores con el objetivo d4e irlo perfeccionando. Actualmente tienen código abierto por lo que el código del núcleo del sistema puede ser reconfigurado por el propio usuario. Linux realiza muchas de las mismas funciones que el sistema operativo DOS o Windows pero se distingue por sus características a nivel de gestión de redes y posibilidad de sesiones multiusuario y multitarea. Se distribuye de forma gratuita, se puede dividir en 4 componentes que son: núcleo o kernel, Shell, el sistema de archivos y las utilidades. El KERNEL es el programa más importante y se encarga de gestionar los dispositivos hardware y ejecutar las utilidades. El SHELL proporciona la interface para el usuario, a través de él, se podrían enviar órdenes al kernel para que se ejecuten. El SISTEMA DE ARCHIVOS organiza la forma en que se almacenan los archivos en los dispositivos, discos (FAT, NTFS, ext2 (linux) o linux native). Las UTILIDADES son programas ofrecidos por el sistema para realizar operaciones como por ejemplo editar archivos, compilar programas, gestionar comunicaciones, etc. Con respecto al Shell, este puede ser una interfaz grafica o GUI denominada X−Windows (kde o gnome) o una interfaz de texto (Shell Bash, Tsch). Con respecto al sistema de archivos, este es un gran conjunto interconectado de directorios cada uno de los cuales, pueden contener a su vez archivos u otros directorios. Se podrán establecer permisos de accesos tanto a directorios como a archivos. Los directorios están organizados en una estructura jerárquica de árbol en donde existen un directorio principal denominado raíz o root que se identifica con / el resto de directorios derivan de él. / (root) bin sbin etc home usr Luis Ana Juegos documentos $ Si aparece, nos indica que somos usuarios normales y corrientes # Si aparece, nos indica que somos el root. 1 docsity.com Si tecleamos pwd, nos devuelve la ruta donde nos encontramos. Si tecleamos su, esto nos permite entrar como root, acto seguido nos pide una password. Si ponemos su y un nombre de usuario, nos pedirá la password de ese usuario. PARA CREAR CUENTAS Tecleamos userconf. Nos saldrá una pantallita negra. Nos dirigimos hacia user account y con ayuda del tabulador, vamos hacia Add y luego pulsamos intro. Tenemos que poner un login y una contraseña. Una vez que hemos hecho esto, para salirnos de las pantalla negra, damos dos veces al ESC y luego otras dos veces al ESC. Ahora, abandonamos esta sesión con exit o bien control+D. Como nos encontramos en la sesión IET, hacemos un logout y nos salimos de la sesión y de la conexión y entramos con nuestro usuario y nuestra contraseña. Si tecleamos who sabemos que usuarios están conectados al sistema. REQUISITOS PARA LA INSTALACIÓN DE LINUX Necesitaremos un PC con microprocesador intel o compatible (AMD). Se recomienda 16 megas de Ram como mínimo. El espacio en disco duro depende bastante de los paquetes que se vayan a instalar y de la distribución. Se recomienda un espacio libre de al menos 1 Gb. A nivel de particiones, se deberá crear como mínimo dos. Una partición para datos, del tipo Linux Native o ext2 y otra de swapping o intercambio. La partición del sistema se identificara con un punto de montaje que es /. Necesitaremos también una unidad de CD−Rom, una disquetera porque en la instalación se ofrece la posibilidad de crear un disquete de arranque, para arrancar el sistema a través de él, en lugar de hacerlo desde el disco duro. También necesitaremos saber las características de nuestro monitor y de nuestra tarjeta de video. ARRANQUE DE LINUX Se puede arrancar mediante disquete o desde LILO (Linux Loader). El disquete por supuesto el que hemos creado durante la instalación de linux. Si el arranque es a través del linux loader (LILO), se realiza a través del disco duro apareciendo un menú con los diferentes sistemas operativos instalados. A medida que se va cargando el sistema, van apareciendo numerosos mensajes que indican la carga e inicialización de todos los servicios hasta que aparezca la petición del login del usuario y su contraseña. Si se desea conocer como administrador, el login será root, esta cuenta se crea durante la instalación, así como su contraseña. Una vez que el usuario ha iniciado la sesión, aparecerá el inductor del sistema [usuario@servidor directorio]$ Aparece el nombre del usuario que inicio la sesión, el nombre del servidor y el nombre del directorio actual. Por defecto, el inicio de sesión de un usuario le coloca a este en un directorio cuya ruta es /home/usuario. Este directorio será privado y solo se podrá acceder a él, el propietario y el root. Si ponemos cd .. lo que hacemos, el que subimos al directorio principal. Dir o ls nos devuelve información sobre el directorio Cd / o cd nos devuelve a nuestro directorio 2 docsity.com Ejemplos: Ls doc [1A]: Fichero que empiezan por doc y que les siga un 1 o una A. Ls doc [1−3]: Ficheros que empiecen por doc y que les siga un 1, 2 o 3. Ls doc [A−K]: Fichero que empieza por doc y le sigue una letra del intervalo (A−K) Ls *.[co]: Ficheros con extensión c u o. CREACIÓN DE UN FICHERO DE TEXTO Existen dos posibilidades: Utilizar la orden cat que sirve para visualizar el contenido de un archivo redireccionando su salida en lugar de hacia la pantalla hacia un fichero. • Cat > fichero.txt (intro) Escribimos texto (intro) ctrl+d Para comprobar que está, ponemos ll, es el alias de ls −l. Para ver lo que hay escrito, tenemos que poner cat fichero.txt Utilizar el editor del sistema:• Vi fichero−1.txt Una vez dentro, pulsamos i para insertar texto y a partir de ahí, ponemos escribir. Para salir, damos sobre ESC, después :. Luego tenemos dos opciones:1.Si queremos grabar, escribimos wq. 2.Si por el contrario, solo queremos salir, escribimos cq. CONSULTA DE CALENDARIO Cal: permite consultar un calendario Cal −y: nos devuelve todos los meses del año. También podemos especificar un año. Cal −y 2004. Cal −m: Obtenemos los días del mes empezando por el lunes cal −m 4 2018 Cal −j: muestra el calendario juliano. No inicia los días, sino que los va sumando. SISTEMA DE ARCHIVOS Se puede nombrar un archivo usando caracteres alfabéticos, caracteres de subrayado y números. Un archivo no puede empezar por un número, y salvo casos especiales, nunca debe empezar por un punto. Símbolos como: *, [],>, <, ?, |, no pueden formar parte del nombre de un archivo en el momento de su creación, puesto que tienen una significación especial. El nombre se puede separar de la extensión a través de un punto. 5 docsity.com Existen archivos especiales de inicialización que contienen órdenes de configuración de linux. Estos son archivos ocultos y su nombre empieza por punto. En cada directorio personal de usuario, existen algunos de estos ficheros puesto que están ocultos. Para poder verlos, ponemos ls −a. A estos ficheros se les denomina guiones del shell. Se pueden ejecutar con la orden: sh fichero (nombre del archivo) o . fichero(nombre del archivo) TIPOS DE ARCHIVOS Todos los archivos de linux tienen el mismo formato lógico, un flujo de bytes. Se declaran los siguientes tipos de archivos: archivos normales, directorios, archivos de dispositivos de carácter, archivos de dispositivos de bloques. La diferencia mas significativa entre dos archivos es la de ser binarios o de texto. Los archivos binarios pueden ser ejecutables, de directorio, etc. Los archivos de texto, pueden contener códigos fuentes de programas, ordenes del shell o incluso estar vacíos. La orden file, nos permitirá saber cual es el tipo de un archivo fila y los archivos separados por un espacio y nos dice de que tipo son: Mkdir docs: Nos crea un directorio Cp /bin/zcat /home/... :Con esto copiamos zcat a nuestro directorio Ahora tenemos que poner: file docs zcat alfa.xls La orden file tiene una opción que es −f, que le permite leer nombres de archivo almacenados a su vez en otro archivo, en lugar de introducirlos desde la línea de ordenes. Cat > myfiles Zcat Alfa.xls Docs ^d $ ahora hacemos: file −f myfiles Es como hacer file. ESTRUCTURA JERARQUICA DE ARCHIVOS Linux organiza los archivos es un conjunto de directorios jerárquicamente conectados. Cada directorio, puede contener archivos u otros directorios, formando así, una estructura de árbol. Esta estructura se inicia desde el directorio / (root) 6 docsity.com / bin sbin home pepe boris tobias aceite docs cartas informes El directorio home, es un directorio importante para los usuarios, puesto que contiene los directorios personales de cada uno. Siempre que un usuario haga login en el servidor, quedara situado automáticamente en su directorio, dentro de él, podrá realizar cualquier tipo de operación con sus datos, fuera de él, no. Ni siquiera podrá acceder a él, será utilizando su vía de acceso desde el raíz sabiendo que existen dos tipos de vías: absoluto y relativa. La vía absoluta parte siempre desde el raíz. La vía absoluta a docs seria: /home/boris/docs La vía relativa comienza desde el directorio personal. Es decir, estamos en /home/boris, por lo tanto, la vía relativa seria es: /docs. Si lo que queremos es ir a informes, seria: /docs/informes DIRECTORIOS DEL SISTEMA El directorio raíz en el que empieza el sistema de archivos de linux contiene varios directorios del sistema. Estos contienen archivos y programas que se usan para ejecutar y mantener el sistema. Muchos contienen otros programas para ejecutar características específicas de linux. Los directorios estándar de linux son: / (raíz) : Comienza el sistema de archivos, se conoce como raíz. /home: Contienen los directorios propios de los usuarios /bin: contiene todas las órdenes estándar y los programas de utilidad /usr: contiene archivos y órdenes usados por el sistema /usr/bin: contiene órdenes orientadas a usuarios y utilidades. /usr/sbin: contiene órdenes de administración del sistema /usr/lib: Contiene bibliotecas de los lenguajes de programación /usr/doc: Contiene archivos de documentación linux /usr/man: Contiene archivos del manual interactivo man who: salimos del manual pulsando q /usr/spool: Contiene archivos en formato cola, tales como los que se generan para imprimir tareas y hacer 7 docsity.com −group: Localiza ficheros que pertenezcan a un determinado grupo de usuarios.• Con la orden find se pueden utilizar también operadores lógicos como NOT, AND y OR. El operador lógico AND es el que se toma por defecto siempre que se indican varias opciones, con lo cual no tiene ningún indicativo. AND Find . −name *.doc −print NOT Find . ! −name *.zip Busca la lista de todos los ficheros que no tengan la extensión zip. Puesto delante de una acción (!: NOT) OR Find . −name *.txt −o −name l* −type d Ficheros con extensión txt o directorios que empiezan por l −cp: Permite realizar copias de archivos, la sintaxis será:• cp . archivo_origen destino (copy MSDOS) cp carta1.txt miércoles cat carta1.txt cat miércoles La cp tiene alguna opción: −i: Avisa de la sobre escritura del archivo destino cp programa.doc miércoles cp −i programa.dc miércoles Con esta orden, se podrán utilizar en el apartado archivo origen, símbolos comodín e incluso se podrán indicar varios nombres de archivo Cp *.txt /home/alberto Cp ficher1 ficher2 ficher3 /home/alberto −r: Realiza una copia recursiva (xcopy de MSDOS) mv: Permite mover archivos de un directorio a otro así como cambiarlos de nombre. Mv archivo_origen archivo_destino 10 docsity.com Mv archivo.txt ficha.txt (cambia el nombre) Mv archivo.txt data/juegos (moviendo a un directorio) También permite la opción −i para que avise de la sobre escritura. En el apartado archivo origen también se podrán indicar varios ficheros separados por al menos un espacio. También podremos usar plantillas con símbolos comodín. también se podrán renombrar y mover directorios de un lugar a otro. rm: Permite eliminar ficheros y directorios. rm nombre _ archivo rm nombre _ directorio Normalmente esta orden suele utilizarse con los archivos utilizando para los directorios rmdir o si alias rm. Una vez borrado un fichero, no podrá ser restaurado por lo que puede utilizarse la función −i para que el sistema pregunte. Si se desea o no borrar el archivo sobre todo cuando la operación de borrado se realiza sobre un conjunto de archivos a través de una plantilla con símbolos comodín. rm alumnos.dat: borra alumnos.dat rm −i *.dat: Borra todos los archivos con extensión dat. Me pregunta si quiero borrarlo o no. Solo se pueden borrar directorios si están vacíos. ln: A un archivo se le puede dar más de un nombre con el fin de poder acceder a él desde directorios diferentes. Estos nombres asociados al archivo, se conocen como vínculos duros. ln archivo_original archivo_vinculado La orden ls −l nos permite determinar si un archivo tiene varios vínculos a parte de sus permisos, usuario−propietario, grupo, fecha, hora − r w − r w − r − − 2 pepe pepe nov 15 9:30 fichero.txt − r w − r w − r − − 2 pepe pepe nov 15 9:31 vinculo.txt El 2 es el número de vínculos que tiene Si modificamos cualquiera de los archivos, se modifican todos. Vinculo duro: Posibilidad de que varios ficheros estén relacionados entre si de tal manera que modificando cualquiera de ellos, se modifican todos. Si queremos comprobar que dos archivos están vinculados, la orden ls tiene la opción −i que muestra el número de inodo, si estos números son idénticos. Los ficheros están vinculados: cat > inte.dat Internet 11 docsity.com ^d cp inet.cat net.dat ls −i inet.dat net.dat cat inet.dat cat net.dat Ahora vamos a crear directorios: md redes md redes/linux md redes/linux/mandrake Creamos un vínculo de inet.dat y lo vamos a meter al nuevo directorio. ln inet.dat redes/linux/mandrake/inetvin.dat vi inet.dat cat inet.dat cat redes/linux/mandrake/inetvin.dat VINCULOS SIMBOLICOS Y VINCULOS DUROS Los vínculos descritos hasta ahora se denominan vínculos duros. Un vinculo duro puede fallar al tratar de establecer un vinculo con un archivo que se encuentra en un directorio de otro usuario. Esto se debe a que el sistema de archivos de linux puede ser segmentada a su vez en subsistemas de archivo un sistema de archivo puede estar compuesto por cualquier dispositivo de memoria física (disquete y disco duro) aunque los archivos y directorios de todos los subsistemas de archivos están fijados en el mismo árbol de directorios cada subsistema de archivos ha de mantener sus propios archivos y directorios. Esto significa que un archivo de un subsistema de archivos, no puede ser vinculado mediante un vinculo duro a un archivo que está en otro subsistema de archivos para superar esta restricción se utilizan los vínculos simbólicos. Un vínculo simbólico contiene el nombre de vía del archivo con el que está vinculado. No es un vínculo duro directo, sino que es información a cerca de cómo localizar un archivo específico. En lugar de registrar otro nombre para el mismo archivo como lo hace un vinculo duro, un vinculo simbólico. Se puede imaginar como otro símbolo que representa el nombre de vía del archivo. Vamos al /mnt poniendo cd /mnt Damos un ls para ver lo que contiene. Posee cdrom/ y floppy/. Mete los archivos en un mismo árbol de directorio. Un vínculo simbólico en linux es lo mismo que un acceso directo en Windows. Para crear un vinculo simbólico se utiliza la orden ln −s. 12 docsity.com r w x r − − r − − 1 1 1 1 0 0 1 0 0 7 4 4 Miramos la tabla anterior y nos saldrá: 7 4 4 Así que pondremos: chmod 7 4 4 carta.doc En lugar de estar trabajando, calculando la conversión octal a binaria, existe otra alternativa. Los permisos de lectura (r), escritura (w) y ejecución (x), se pueden asociar con los números 4, 2 y 1 respectivamente. Para encontrar los dígitos octales que se necesitan especificar, para una cierta categoría, basta con sumar los números que están asociados con los permisos que se deseen activar de esta manera, si a una categoría, si a una entidad hay que otorgarle el permiso de lectura y escritura, bastara con sumar 4 y 2. CAMBIO DE PROPIETARIO O GRUPO AL QUE PERTENECE UN ARCHIVO Aunque otros usuarios pueden tener acceso a un archivo, solo su propietario puede modificar sus permisos. No obstante, si se desea dar a otro usuario el control sobre los permisos de un archivo, se podrá cambiar el propietario. Se utiliza la orden chown transfiere el control de un archivo a otro usuario. Lleva como primer argumento, el nombre del otro usuario y como segundo argumento, el archivo o archivos que se están traspasando. chown manuel carta.txt (también puede ser un directorio) También se puede cambiar el grupo al que pertenece el archivo. Para ello, utiliza la orden chgrp, lleva como primer argumento el nuevo nombre de grupo y como segundo argumento, la lista de archivos y directorios que desea ser cambiada. chgrp gestión informes.dat listados.frm ARCHIVOS TAR La utilidad tar, crea archivos almacén para guardar archivos y directorios mediante tar. Se pueden archivar incluso directorios completos, con todos sus archivos y subdirectorios de manera que puedan ser recuperados conjuntamente del archivo de almacén. también se pueden crear archivos almacén que contengan a su vez, otros archivos tar, es una utilidad ideal para hacer copias de seguridad de archivos o para combinar varios archivos en uno solo, con vistas a transmitirlo por la red. Su formato básico es: tar opciones archivo_almacen tar directorio _ almacén tar cf archivo tar midirectorio Conseguimos crear un archivo almacén, de nombre, archivo.tar que contiene la estructura del directorio: midirectorio. cf−> creation file 15 docsity.com tar x f archivo.tar Extraemos los archivos o directorios almacenados en archivos.tar tar rf archivos.tar cartas.txt−>añadimos el archivo cartas.txt al fichero almacén archivo.tar Lista de archivos contenidos en el fichero almacén tar uf archivo.tar midirectorio Actualizar el archivo almacén reemplazando los archivos que hubieran sido modificados o añadidos en el directorio midirectorio. tar cf /dev/fdØ midirectorio −> nombre del dispositivo de disquete Crearíamos una copia de seguridad, bastaría con juntar: tar xf /dev/fdØ tar cfM /dev/fdØ midirectorio−> si se llena, pide otro disquete. Con la opción M en la creación de archivos almacén, irá pidiendo disquetes según los vaya utilizando. La operación tar, no efectúa compresión de los archivos que guarda en un fichero almacén. Si se deseara comprimir los archivos almacenados, se utilizaría la opción z para invocar en un segundo plano, la orden gzip, la cual comprimirá los archivos y luego los almacenara. Esta misma opción también servirá para la descompresión. Cuando el fichero está comprimido se añadirá la extensión .gz SISTEMAS DE ARCHIVOS Aunque todos los archivos están conectados en un árbol común, los archivos en si, residen en dispositivos de almacenamiento tales como discos duros, CD−Roms o disquetes, dentro de un dispositivo concreto, los archivos de linux, están organizados en sistemas de archivos cada uno de los cuales, puede ser diferente. Los archivos están organizados en un árbol de directorios sin separaciones que comienza en el directorio raíz. Aunque, el directorio raíz, pueda estar localizado en un sistemas de archivos residente en una partición del disco duro existirá un nombre de guía directo a los archivos que estén localizados en por ejemplo, sistema de archivos del CR−Rom. Los archivos de un sistema de archivos permanecen separados del árbol de directorios hasta que se conecte específicamente a él. Un sistema de archivos, tiene sus archivos organizados en su propio árbol de directorios. El unir un sistema de archivos de un dispositivo de almacenamiento al árbol de directorios principal, se denomina montaje de dispositivo. Un dispositivo principal, se monta con la orden mount y solo puede hacerlo el usuario root. #mount dispositivo punto_de_montaje Para ver los directorios de disquetera y CD ponemos: cd /mnt Para montar el floppy #mount /dev/fdØ /mnt/floppy 16 docsity.com Para montarlo en nuestro usuario seria: #mount /dev/fdØ /home/usuario/a El sistema de archivos principal se monta automáticamente en la instalación y en el arranque del sistema. Antes de apagar el sistema, los sistemas de archivos montados, deben ser desmontados, el principal se desmonta automáticamente. En caso de querer cambiar el disco flexible, primero habrá que desmontar el anterior, introducir el nuevo y montarlo. Para desmontar un sistema de archivos, se utiliza la orden umont Para saber el espacio libre que queda en un sistema de archivos, se utiliza la orden df, esta orden listara todos los sistemas de archivo que están montados con su nombre de dispositivo, tamaño espacio usado, espacio disponible y punto de montaje. Para asegurarse de que no hay ningún error, en un sistema de archivos dado, se puede utilizar también la orden fsck (scandisk) hay que ejecutarlo como root #fsck /dev/hda6 Un disquete puede soportar dos tipos de formato: fat y ext2. Linux podrá trabajar con ambos formatos, pero en caso de tener que formatear el disquete, habrá que indicar que el formato debe ser compatible con MS−DOS mkfs.ext /dev/fdØ−> formato de disquete en linux mkfs.msdos /dev/fdØ −>formato en disquete en MS−DOS Para montar una unidad de CD−Rom #mount /dev/cdrom /mnt/cdrom Si nos falla, tenemos que poner: #mount dev/cdrom −t iso9660 /mnt/cdrom Existe un fichero en el fichero /etc que se llama fstab que contiene información sobre todos los sistemas de archivos que se pueden tratar desde el inicio del sistema cat /etc/fstab Si deseamos montar una partición del tipo linux o tipo msdos de un disco fijo (disco duro) utilizaremos la orden #mount /dev/hda4 /mnt/volumen1 Si fuese del tipo ms−dos en lugar de linux habría que poner: #mount /dev/hda4 −tmsdos /mnt/volumen1 Nos metemos en mnt y creamos el directorio volumen1. ENTRADA−SALIDA ESTANDAR Y REDIRECCION 17 docsity.com $ cat | lpr escribimos texto ^d $cat −n fichero | more Ponemos −n para que nos muestre el contenido de las líneas numeradas. $ ls −l | more: Vemos el contenido de un directorio de forma paginada La orden sort obtiene el contenido de un fichero de texto ordenado alfabéticamente. Funciona mejor con archivos que son listas de elementos, es una orden que pertenece al grupo de los filtros, igual que more. Son órdenes que dan salida a una versión modificada de su entrada. sort nombres: me los ordena Creamos un archivo nuevo y metemos lo que tenemos en nombres ordenado $ sort nombres > nombres1 $ cat nombres | Ver el contenido de nombres ordenado y con líneas numeradas $ sort nombres | cat −n Creamos un archivo numerado con las líneas ordenadas $ sort nombre | cat n>b.txt Supongamos que queremos redireccionar la salida estándar a un archivo y a la vez, visualizar el contenido de dicha salida en pantalla. Esto, puede hacerse con la orden tec. Esta orden copia la salida estándar a un archivo. Lleva como argumento el nombre del nuevo archivo en el cual, se copiara la salida estándar es como si la salida estándar estuviera repartida en dos copias. Una que es redirigida a un archivo y otra que sigue su camino normal, la pantalla. $ cat nombres | tee nombre2 Recoge los datos de nombres y genera una copia $ sort nombres | tee nombres3 $ sort nombres | tee nombres4 | lpr : Nos lo manda a la impresora y crea nombres4 $ sort nombres | cat −n | tee nfile: Ordena, numera y crea uno CANALIZACIONES DEL ERROR ESTANDAR Al ejecutar órdenes, es posible que ocurra algún error, cuando esto sucede, el sistema emite un mensaje, pero este mensaje, es colocado en otro flujo de bytes diferente al de la salida estándar que recibe el nombre de error 20 docsity.com estándar. Si deseamos crear un archivo con algún mensaje de error, por ejemplo, para futuras referencias se podrán tratar todos los flujos de bytes estándar en operaciones de redirección por medio de los números 0, 1 y 2. El 0 hace referencia a la entrada estándar El 1 hace referencia a la salida estándar El 2 hace referencia al error estándar Por defecto, una redirección de salida (>>) que opera en la salida estándar 1, se puede modificar para que opere sobre el error estándar realizando una operación de redirección, de salida con el canal dos. $ cat fichero > fichero−1: Creamos el fichero uno con redirección al archivo que creamos. $ cat fichero 2>fichero−1. Redirección al fichero el error estándar, lo que guarda es el mensaje de error También se puede añadir el error estándar al final de un archivo usando también el canal dos y el operador de redirección aditiva (>>) $ cat linux.doc 2>>fichero1: dos mensajes de error dentro del fichero Para redirigir ambos, salida estándar y error estándar, se necesitan dos operaciones de redirección independientes, es decir, por ejemplo, deseamos visualizar el contenido del archivo, pero si hay errores, guardar este en un fichero. $ cat nodata 1>midata 2>mierror En este ejemplo, si nodata existe, se creara el fichero midata, pero si no fuera así, en el archivo mierror encontraríamos el mensaje de error oportuno. Si se desea guardar, el mensaje de error en el mismo archivo que se use para la salida estándar redireccionada, se necesitará redireccionar el error estándar a la salida estándar. En el Shell−Bash, se puede hacer referencia a un flujo de bytes estándar precediendo su numero con el símbolo &. Por ejemplo, &1 hace referencia a la salida estándar. La operación de redirección 2>&1 desvía el error estándar a la salida estándar. La operación 1>&2 desvía la entrada estándar al error estándar $cat misdatos 1>misdatos−1 2>&1 La orden cat intentará visualizar el contenido del archivo mis datos tanto si el archivo existe como si no, el resultado, se encontrará en el archivo misdatos−1. EJECUCION EN SEGUNDO PLANO Se puede ejecutar una tarea mientras se esta ejecutando otra, a esto, se denomina ejecución de una tarea en segundo plano. También se pueden cancelar ordenes antes de que hayan terminado de ejecutarse incluso se puede interrumpir una orden continuándola posteriormente en el punto en el que se dejó. Las operaciones en segundo plano son particularmente útiles, para trabajos largos en lugar de esperar en el terminal hasta que la orden haya terminado su ejecución. En linux una orden se considera un proceso, una tarea que debe ser realizada. Linux puede ejecutar varios procesos a la vez al igual que manejar varios usuarios a la vez. Las ordenes que ejecutan un usuario, se conocen con el nombre de tareas. El shell proporciona un conjunto de 21 docsity.com operaciones de control de tareas que permiten al usuario su control. Las tareas se podrán ejecutar en primer plano, en segundo plano, cancelarlas o interrumpirlas. Para ejecutar una tarea en segundo plano, se coloca el símbolo & al final de la orden, después aparecerá en pantalla, un numero de tarea de usuario y un numero de proceso de sistema [1]534. # find . −type f −name *.txt > colacao_crisss&: Para ejecutar otra cosa mientras se ejecuta esto. Se puede poner mas de una orden en segundo plano casa una se clasifica como una tarea y a casa una, se le asigna un nombre y un numero de tarea. La orden jobs se encuentra en pantalla la lista de tareas que se están ejecutando en segundo plano. Cada entrada de la lista consta de un numero de tarea entre corchetes, un símbolo + indicara que la tarea se esta procesando actualmente. Un símbolo − indicara que la siguiente tarea que ha de ser ejecutada. #find . −type f −name *.txt > colacao_crisss& #find . −type d −name s* > xxxxx_crisss& #jobs Si se desea poner varias ordenes en segundo plano a la vez, se introducen en la línea de ordenes separados por un & de esta manera, el símbolo & servirá tanto para la ejecución en segundo plano de la primera orden como para separar ambas ordenes Para quitar una tarea de segundo plano y traerla a primer plano, se utiliza la orden fg. Si hay mas de una, se deberá indicar el numero de tarea precedido por el % (fg %2) CANCELACION DE TRABAJOS Si se desea detener una tarea que se esta ejecutando en segundo plano, se utiliza la orden kill. Esta orden lleva como argumento el numero de tarea de usuario o el numero de proceso del sistema. Si se indica el numero de tarea de usuario este ha de ir precedido por el % (kill %2). Si es numero de proceso, no hará falta (kill 567) También se puede consultar los números de proceso con la orden ps. Esta orden muestra una lista con PID del proceso, el terminal desde el cual se ha ejecutado, la hora y el comando. PID tty time command INTERRUPCION DE TRABAJOS Una tarea puede ser interrumpida con la pulsación de las teclas ctrl+z. La tarea no termina, solo queda en suspenso hasta que deseemos continuarla. La reanudación de la ejecución de la orden, se podrá hacer tanto en primer plano como en segundo plano, utilizando las ordenes fg (primer plano) o bg (segundo plano) respectivamente. En ocasiones, se necesitara poner en segundo plano, una tarea que en ese momento se está ejecutando en primer plano, para ello, primero habrá que detenerla (ctrl+z) y después, ponerla en segundo plano con la orden bg. #find . −type d −name s* > xxxxx_crisss #jobs #fg %1 22
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved