1.Intérpretes de órdenes. Shells

Documentos relacionados
Nociones de informática. Qué es una computadora? GNU/Linux. Lo mínimo que hay que saber para empezar a trabajar con una computadora del aula

Sistema Operativo Linux

Laboratorio de Sistemas Operativos. Ingenierías Técnicas en Informática de Sistemas y Gestión 2006/2007

Nombres de archivo. Sistemas Operativos III - ETB EMT - CETP

ATRIBUTOS DE LOS FICHEROS EN LINUX

El Sistema Operativo Linux

Existe en cualquier sistema operativo parecido a UNIX y forma parte de la instalación predeterminada de Linux.

El sistema operativo Linux

SISTEMA OPEATIVO DEFINICIÓN

Shell de Unix ProgPLN

TEMA 2: Sistemas Operativos

Linux Principios básicos de uso del sistema [4ª edición]

Auxiliar 1 CC31A. Comandos útiles: Profesor: José Miguel Piquer

004. Archivos y directorios

Programando con el intérprete de órdenes (shell) de UNIX

Guía práctica de estudio 02: GNU/Linux

Facultad de Ingeniería Universidad de Buenos Aires Sistemas Operativos Lic. Ing. Osvaldo Clúa Lic. Adrián Muccio.

CAR. Responsable : María del Carmen Heras Sánchez. Asesores Técnicos : Daniel Mendoza Camacho Yessica Vidal Quintanar.

Introducción a Linux. II.

Esta es la interfaz gráfica de Ubuntu (Linux) Manejo. Ésto es un poco el manejo básico para saber manejar archivos y directorios.

1. Cómo asignar una IP a mi ordenador? 2. Cómo hago para ver los archivos del directorio anterior? 3. Cómo sé en qué directorio estoy? 4.

Todas las tareas que se realizan en un computador implican el uso de archivos y carpetas.

Sistema de Gestión y almacenamiento de archivos en el Campus Virtual

Shell Script Sistemas Operativos III - ITS EMT - CETP

INSTITUCION EDUCATIVA MANUEL ANGEL ANACHURY AREA: TECNOLOGIA E INFORMATICA

TEMA: LOS SISTEMAS OPERATIVOS

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

( Segunda Parte ) 9 de Octubre de Versión 1.0

Práctica 1: Herramientas básicas:

Uso básico de la terminal

Ordenador local + Servidor Remoto

Comandos básicos MS-DOS

* Comodín para sustituir una cadena de caracteres. ? Comodín para sustituir un carácter. < Asigna/redirecciona la entrada estándar

Seminario de introducción al uso del sistema operativo UNIX

Fedora Core GNU/LINUX

Autor: Prof. Pedro A. Hernández correo: Versión 1.0

Introducción a Linux

Comandos. Sistemas Operativos III - ETB EMT - CETP

Creación de Scripts. Qué es un script? Como funciona un shell script en Linux?

Programación shell en Unix/Linux sh, ksh, bash (con ejercicios corregidos) (3ª edición)

DISPONE DE 50 MINUTOS PARA REALIZAR EL EJERCICIO

Manual del Tablón de Noticias de la UPV para Windows (nueva versión enero 96)

TEMA 2: GESTIÓN DE ARCHIVOS

Descripción de la máquina.

Utilidades de ficheros: Texto, binarios y genéricas - Revision : 1,9

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

PROYECTO FINAL DE CARRERA Manual de Usuario.

AmayaOS 0.06 UPGRADE. Guía de usuario. 1ª Edición

003. Manos a la obra. 3.1 Servidor y cliente.

Administración de usuarios y grupos en Debian {Terminal}

Sistemas Operativos. Curso 2016 Sistema de Archivos

Curso de verano. Biología Computacional: Análisis masivo de datos ómicos

Manual Word Macros y Elementos rápidos

UNIDAD 4. MODIFICAR TABLAS DE DATOS

Taller de Entorno de Guadalinex Edu. UsaSoftwareLibre.es

Introducción a Linux. El regreso a los años 70: la consola (III)

Gestor documental Alfresco

Instituto Tecnológico de Las Américas (ITLA)

P1. Comandos básicos de Unix, editor de textos (joe) y procesos en C.

BANCO DE REACTIVOS DE OPCIÓN MÚLTIPLE WINDOWS VISTA

En la parte inferior de la pantalla se podrá ver el estado de la última copia y la fecha y hora actual.

DEPARTAMENTO DE INFORMÁTICA DE SISTEMAS Y COMPUTADORES ARQUITECTURA DE COMPUTADORES Y SISTEMAS OPERATIVOS I

MANUAL RAPIDO DE UNIX

La última versión disponible cuando se redactó este manual era la 5 Beta (versión ), y sobre ella versa este manual.

Unidad 5. Tablas. La celda que se encuentra en la fila 1 columna 2 tiene el siguiente contenido: 2º Celda

UNIDAD DIDÁCTICA EL SHELL: COMANDOS BÁSICOS DE LINUX

Interprete comandos de Windows.

Cursos de Introducción a Linux

Microsoft Word. Microsoft Word 2013 SALOMÓN CCANCE. Manual de Referencia para usuarios. Salomón Ccance CCANCE WEBSITE

Sesión 1. Comandos básicos. Curso 09/10. Fernando Rincón Escuela Superior de Informática Universidad de Castilla-La Mancha

Administración de Sistemas Operativos

1.4.1 Inicio de la computadora por primera vez Hay problemas Causas, síntomas y soluciones a posibles averías...

Nodo Nacional de Bioinformática

Mozilla Firefox. Barra de. Barra de navegación. menús. Barra de. Barra de dirección. marcadores

Módulo Conversor de Superficies

Taller de TeamViewer. Manual De TeamViewer

Introducción a Linux

Manual de ayuda de la herramienta de comunicación privada Correo Interno

Ubuntu Server HOW TO : UBUNTU SERVER EN ESTE SE REALIZA LO SIGUIENTE: En este how to se le va a enseñar como instalar un servidor de ubuntu.

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

014. Directorios de sistema

Manual de Windows XP Copyleft - Jorge Sánchez 2005

Usuarios y grupos ÍNDICE

UNIDAD DIDACTICA 2 COMANDOS BÁSICOS DE LINUX

Escuela de Ingeniería Electrónica CAPITULO 10 LINUX

Guía de obtención e instalación del Certificado digital de usuario emitido por CamerFirma

1. CARACTERÍSTICAS DE LINUX.

Conocer las herramientas de seguridad es un punto vital para mantener nuestro sistema seguro.

Clase 1 Excel

REPRODUCCIÓN Y ARCHIVO

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Agente local Aranda GNU/Linux. [Manual Instalación] Todos los derechos reservados Aranda Software [1]

Creación de un pendrive USB de instalación de SO

LINUX - Los archivos de órdenes I

LINUX primeros pasos como usuario

Seleccionamos el programa Excel. Nos aparece la pantalla del programa

1. Investigar 5 programas para borrar y 3 opciones. Basta usar el comando apropos delete para ver los comandos que están relacionados con borrar.

Guía Comandos Básicos sobre Unix/Linux

Actividades 1, 2, 3 en FTP. Utilización cliente FTP (mediante línea de comandos, entornos gráficos y navegadores/exploradores).

Guía de instalación de CAM EXPRESS 8.5 Para Windows XP

Transcripción:

1.Intérpretes de órdenes. Shells 1.1.Terminales Cómo podemos interactuar con el ordenador? Tradicionalmente esto se hacía a través de unos terminales compuestos con teclado y monitor desde los que se accedía a un ordenador central. Un ordenador potente con un sistema operativo como Linux permitía el uso de varios de estos terminales de forma simultánea. En los monitores se mostraba la información en una pantalla de texto, en la cual debíamos introducir las órdenes que queríamos que realizase el ordenador. En la actualidad se sigue utilizando el término de terminal pero con un sentido más amplio. Con el uso de los ordenadores personales ya no estamos acostumbrados a utilizar distintos terminales conectados a un ordenador central, sino que normalmente disponemos de un solo terminal físico (un teclado y un monitor) conectado. Sin embargo, aunque en un ordenador personal sólo disponemos de un terminal físico, Linux permite utilizar diferentes terminales virtuales ya que emula su función. podemos cambiar de un terminal a otro pulsando una determinada combinación de teclas. en cada uno de estos terminales puede mantenerse una sesión de trabajo distinta. es como si tuviéramos varios terminales físicos distintos formados por monitor, teclado, altavoz, memoria, y cable de conexión al ordenador, pero solo pudiéramos usar uno de ellos en un momento dado. Cada terminal virtual está gestionado por un controlador de dispositivo. 1.2.Terminales con Guadalinex Los sistemas operativos actuales, como Guadalinex, proporcionan diferentes utilidades gráficas para realizar labores administrativas. Así, la interfaz ya no será en modo texto, sino que podremos utilizar terminales gráficas manejadas con ayuda del ratón. Sin embargo es conveniente conocer las terminales Linux, ya que existen acciones y configuraciones que sólo pueden realizarse con órdenes de texto desde una terminal. Todo lo que se puede hacer gráficamente puede hacerse también desde una terminal, pero lo contrario no es posible. Además, en una terminal de texto, debe existir una aplicación denominada intérprete de comandos (Shell), que traduce nuestras órdenes para que el sistema operativo pueda ejecutarlas. Guadalinex permite trabajar con doce terminales virtuales, seis gráficas y seis de texto, accesibles desde las teclas de funcion F1 a F12. Las seis primeras son de texto y las seis últimas gráficas. Podemos cambiarnos de una a otra pulsando la combinación de teclas Control+Alt+Fx donde x es un número de 1 a 6 para las terminales texto y 7 a 12 para terminales gráficas. Por ejemplo con Control+Alt+F2 accedemos a la terminal de texto 2. Si lo probamos, el sistema nos solicita un nombre de usuario y una contraseña que podremos introducir para entrar en este 1/11

terminal. Podemos iniciar una terminal desde el entorno gráfico con la orden: Aplicaciones - Herramientas del sistema Terminal 1.3.El Shell En este apartado vamos a ver como funciona esa terminal de la que hemos hablado. Como hemos apuntado antes, la Shell es: un programa que nos permite comunicarnos con el sistema operativo traduciendo las órdenes introducidas por el usuario a un lenguaje comprensible para el ordenador, la Shell es un intérprete de comandos. Como la Shell no es más que un programa, es posible tener varias. En Linux disponemos de distintos intérpretes aunque habitualmente usaremos la Shell bash (Bourne-Again SHell). Otras shells para Linux son Korn-Shell (ksh), Bourne-Shell (sh), C-Shell (csh). Existen también algunas para propósitos especiales: por ejemplo la remote-shell (rsh) se utiliza para ejecutar comandos en un ordenador remoto y la Secure Shell (Ssh) se utiliza para establecer una conexión segura con un ordenador remoto. Podemos iniciar una terminal de texto con la combinación de teclas antes indicada. Una vez identificados, el sistema queda a la espera de introducción de nuevos comandos. Para ello, se nos ofrece el prompt del intérprete de comandos, por ejemplo: usuario@guadalinex:~$ Este prompt o indicador es personalizable, aunque por defecto indica lo siguiente: el nombre del usuario registrado el nombre de la máquina (en este caso guadalinex), el directorio en el que estamos (el símbolo ~ representa el directorio de trabajo: /home/usuario/) $ indica que se trata de un usuario normal. Si el usuario fuera el administrador (root) el símbolo sería # 1.4.Los comandos de Linux En la terminal podemos introducir las órdenes que queremos que realice el sistema. Estos comandos serán la forma de interactuar con el intérprete de comandos (shell), y con ellos podremos acceder a las herramientas y utilidades que proporciona el sistema operativo para realizar nuestro propósito, por ejemplo podremos organizar la información, buscar un archivo, hacer copias de seguridad, crear carpetas, etc. Estas órdenes se escriben siguiendo la siguiente estructura y sintaxis (se distingue entre mayúsculas y minúsculas): 1. s internos: s que están implementados dentro de la propia Shell. 2. s:son ficheros ejecutables y por tanto deberán estar accesibles, por medio de la ruta o la variable PATH. 3. Opciones: Son letras precedidas de un signo '-' que modifican o amplían el comando. 4. Meta-caracteres y operadores de control: Son caracteres con un significado especial para la Shell, y se utilizan para complementar el resultado obtenido con los comandos.ejemplo: * igual que en sistemas DOS, el comodín se sustituye por cualquier cadena de caracteres,? la interrogación también tiene el uso habitual, se sustituye por cualquier carácter, pero sólo 2/11

uno. Otros meta-caracteres: & ; ( ) >> 5. Argumentos:Son datos que pasamos al comando como parámetros de entrada. 6. Comentarios: Todo lo que sigue al carácter '#' hasta la nueva línea será un comentari 7. Palabras reservadas: Son palabras reservadas para implementar el lenguaje Shell-Script que veremos más adelante. Ejemplo: case, do, done, elif, else... Resumiendo, la estructura general de cualquier orden es: nombre [-modificadores][parámetros] En apartados siguientes veremos algunos ejemplos de comandos. 2.Profundizamos en el uso de la Shell 2.1. Algunos comandos sencillos de LINUX Veamos algunos ejemplos sencillos de órdenes para la "Shell": echo: El comando 'echo' visualiza en pantalla todo aquello que se le pasa como argumentos. Prueba por ejemplo: $ echo hola ls: El comando 'ls' muestra los archivos de un directorio. Cuando escribimos esta orden en la shell el ordenador nos contestará mostrando en pantalla la lista de los archivos que están localizados en una determinada carpeta o directorio. Ponemos algunos ejemplos que puedes probar en tu máquina: ls Orden con un único comando sin opciones ni argumentos ls. /.. Orden sin opciones pero con 3 argumentos ls -l Orden sin argumentos con 1 opción ls -al Orden con 2 opciones para hacer una salida completa ls -trl ls -rtl ls -l -t -r Orden con 3 opciones expresada de distintas formas ls --help Orden con opciones -- date: El comando 'date' muestra en pantalla la fecha del sistema y el calendario. Ejemplo: date Muestra por pantalla el día y la hora cal 1949 Muestra el calendario del año 1949 cal 05 1949 Muestra el calendario de mayo de 1949 cd, mkdir, pwd: s de manejo de directorios: cd cambia nuestro directorio, mkdir crea un directorio y pwd indica el directorio en el que estamos. Como sabemos, la información se almacena en los discos por medio de los archivos, y estos archivos son organizados mediante la estructura jerárquica de directorios o carpetas. Bien, pues estos comandos se utilizan para manejar, crear y modificar dicha estructura de directorios. Ejemplos: cd /tmp mkdir pruebas Nos mueve al directorio tmp Crea el directorio pruebas 3/11

cd pruebas pwd Nos mueve a pruebas Muestra el directorio en que estamos man: El comando man nos da acceso al manual de Linux, y nos informa sobre la orden que le demos como argumento. La shell de Guadalinex nos proporciona muchos comandos con múltiples opciones y posibilidades, por lo que es difícil recordar toda esta información. Para facilitar nuestra tarea, Linux proporciona un completo manual accesible mediante el citado comando. Ejemplos: man cat man man Información sobre el comando cat par ver contenido de archivos Nos explica cómo funciona el comando man. Algunas operaciones básicas con man son: /palabra: localiza la siguiente ocurrencia de la palabra dada como parámetro?palabra: localiza la ocurrencia anterior de la palabra dada como parámetro barra espaciadora: avanza pantalla q: salir who, whoami: de información. A veces podemos estar trabajando varias personas en un mismo ordenador, o una persona identificada en el sistema Linux con varios usuarios, por lo que es conveniente tener una utilidad que nos permita conocer exactamente con qué usuario estamos trabajando en cada momento. who whoami Indica el usuario del sistema en ese momento. Indica la terminal y la sesión en que se está trabajando. clear. El comando clear limpia la consola y deja sólo el prompt, lo cual es útil cuando hemos llenado la pantalla y estamos un poco perdidos. Una facilidad que ofrece la Shell a la hora de introducir largos argumentos es el uso del tabulador, de manera que completa lo que estamos escribiendo. En algunas ocasiones debemos escribir un comando con varios argumentos que incluyen una ruta de directorios y un nombre de archivo muy largos, por lo que es difícil escribir todo sin cometer errores. Es más sencillo escribir el comienzo de la palabra del comando o del nombre del directorio o archivo y pulsar la tecla del tabulador para que el ordenador complete el resto de la palabra. Puedes probar algunos de los comandos anteriores haciendo uso del tabulador para facilitar la escritura. 2.2.Detalles del sistema de archivos El sistema de archivos del sistema operativo se encarga de la administración de los datos en los dispositivos de almacenamiento. Proporciona los medios necesarios para que tengamos acceso a la información de forma segura y privada. En Linux este sistema se organiza con la estructura de directorios que vimos en la unidad anterior. En ellos se guarda la información organizada en archivos. En realidad, un directorio no es más que un archivo especial, el cual contiene información que 4/11

permite localizar en el dispositivo otros archivos. Como ya sabes, los directorios pueden contener a su vez nuevos directorios, los cuales se denominan subdirectorios, y a la estructura resultante de esta organización se la conoce con el nombre de árbol. El primer directorio es el raíz indicado con / El punto. indica el directorio actual y el doble punto.. indica el directorio padre, que contiene, al actual. Los archivos en Linux tienen un nombre de hasta 255 caracteres y aunque no existe el concepto de extensión de un archivo es posible incluir el carácter punto "." tantas veces como se desee. Algunas aplicaciones interpretan estas extensiones. No se deben incluir caracteres especiales interpretados por la Shell, como /, $, ", ', &, #, (, ), *, [, ], {, }, etc... Los archivos que comienzan por punto. Son interpretados como archivos ocultos. Como ya vimos, el sistema asigna un directorio personal a cada usuario. Estos directorios personales habitualmente son subdirectorios de /home. El nombre de este directorio suele ser coincidir con el del nombre de usuario, aunque puede no ser así, y varios usuarios pueden trabajar con el mismo directorio personal. Además el usuario puede crear la estructura de subdirectorios que estime oportuna dentro de directorio de trabajo pero no fuera de él. Se le llama también con el símbolo ~. 2.3.s de control del sistema de archivos Cuando estamos manejando un sistema informático es normal tener almacenada mucha información, por lo que tendremos un gran número de archivos y directorios o carpetas en nuestros discos duros. Es fundamental que siempre mantengamos una estructura jerárquica de archivos y directorios bien organizada y fácil de recorrer. Esto facilitará la tarea a todos los usuarios del sistema. Para ello debemos ser ordenados y fijar una serie de criterios en cuestiones como: la estructura de directorios, el nombre de los mismos, el nombre de los archivos, etc. Para poder realizar todo esto, el sistema operativo nos proporciona múltiples comandos con los que es posible manejar esta estructura de archivos y directorios. Para aclarar estas ideas vamos a suponer una situación práctica, en la que estamos interesados en organizar unos archivos convenientemente. Queremos crear dos directorios uno de documentos y otro de gráficos. A su vez el directorio de documentos deseamos que se divida en internos y externos. Como hay algunos archivos en otros directorios queremos copiar algunos y mover otros a esta nueva estructura de directorios. Para realizar todo esto es necesario manejar algunos comandos de Linux. A continuación haremos una breve descripción de los comandos más habituales para manejar directorios, y completamos la lista del apartado anterior. Con estos comandos podríamos resolver la situación práctica planteada. ls Muestra los nombres de los ficheros y subdirectorios contenidos en el directorio en el que se está. El comando admite argumentos con el nombre de los directorios o archivo queremos listar. Además se 5/11

pueden usar los comodines * y? ls -al Da información completa ls -c Ordena por día y hora de creación, con -r el orden es inverso mkdir subdir Permite crear el directorio ""subdir" rmdir subdir Este comando borra uno o más directorios del sistema, siempre que estos subdirectorios estén vacíos cd /home/usuario Permite cambiar de directorio a partir del directorio actual pwd print working directory muestra la ruta del directorio actual cp archivo1 archivo2 Copia el archivo1 en el archivo 2, podemos indicar rutas mv archivo1 archivo2 Mueve el archivo1 en el archivo 2, podemos indicar rutas rm -i archive Elimina uno o más archivos del directorio, -i para confirmar cat archivo Muestra el contenido del archivo. du -h Muestra el espacio usado por el directorio df Informa del espacio usado por las particiones montadas tar -cvf archivo.tar arch1 arch2 Agrupa en un solo archivo tar los archivos indicados: arch1... tar -xpvf archivo.tar arch1 Extrae arch1 del archivo tar gzip archivo Comprime el archivo en arhivo.gz gzip -d archivo.gz Descomprime el archivo tar -zxf fichero.tar.gz Extrae un archivo comprimido. Podemos usar tar y gzip combinados y crear archivos comprimidos que contengan a varios file archivo El sistema clasifica el archivo y muestra sus datos tree Listado recursivo tree -d Mostrar árbol de directorios ln arch1 arch2 ln hola directorio/hola Crea un enlace para arch1 con nombre arch2. Sería parecido a la copia con cp, pero con la ventaja de que no se duplica el espacio, porque el archivo es el mismo pero accesible desde dos puntos distintos o con 2 nombres diferentes.el archivo hola mantiene el nombre pero está en 2 sitios distintos Como complemento de lo anterior, seguidamente desglosamos los comandos que podrían haberse utilizado para dar respuesta a la situación práctica antes planteada. Si quisiéramos probarlo en nuestra máquina tendríamos que crear previamente dichos archivos. cd /home/jesus pwd mkdir documentos mkdir graficos cd documentos mkdir internos mkdir externos cd.. tree Para comprobar que nos encontramos en el directorio donde queremos crear los subdirectorios. Supongamos que es el usuario Jesús. Creamos la estructura de directorios que nos interesa Comprobamos que todo se ha creado correctamente Ahora reorganizamos los archivos del directorio datos para incluirlos en los nuevos directorios que 6/11

están mejor organizados. En este caso suponemos que lo que nos interesa es que los documentos de memoria se copien en documentos internos, y el archivo de ventas en externos. Además, de que se cambie la ubicación de los informes al directorio de gráficos. Las instrucciones son: pwd cd usuario cp memoria* /home/jesus/documentos/internos cp ventas /home/ mv informe* /home/jesus/graficos cd /home/jesus/documentos/externos cat ventas du -h /home/jesus ls -al /home/jesus/documentos/internos Comprobamos el contenido del archivo de ventas viéndolo en pantalla Vemos qué tamaño tiene ahora el directorio Jesús. Así vemos los datos de los archivos contenidos en internos 2.4.Redirección, tuberías y filtros Al manejar los comandos con los que realizamos operaciones sobre los archivos y los directorios suele ser útil disponer de herramientas que flexibilicen su uso. Por ejemplo, supongamos que queremos obtener una lista ordenada de los nombres de los archivos que contienen en su interior una serie de palabras, y que dicha lista quede almacenada en un archivo. Para realizar esto tendremos que enlazar varios comandos, y la shell permite esos enlaces utilizando redirecciones, tuberías y filtros. Así, la Shell permite algunas ventajas para facilitar el manejo del sistema de archivos y en este apartado vamos a describirlas. Con el carácter < puedo redirigir la entrada de datos de un proceso desde un archivo, sustituyendo así al teclado del terminal. Por ejemplo: $ cat </etc/passwd el comando cat recibe como entrada el fichero /etc/passwd Con el carácter > redirijo la salida de un proceso a un archivo en lugar de la pantalla del terminal. Si existiese el archivo, quedará eliminado. Ejemplo: $ echo hola > saludo.txt Escribirá hola en el archivo saludo.txt El operador de redirección >> también redirige la salida pero, si el archivo existe, la información se anexa. Las tuberías permiten enlazar las salidas de unos programas con las entradas del siguiente. La forma de indicar que se quiere emplear una tubería para comunicar dos o más procesos es la siguiente: $ orden_1 orden_2 orden_3... Por ejemplo: cat alumnos.txt more Muestra el contenido del archivo de página en página 7/11

Cualquier programa que lea de su entrada estándar y escriba en su salida estándar se denomina filtro.los filtros permiten realizan tareas más sofisticadas sobre la entrada como: ordenación de la entrada; selección, búsqueda y sustitución de patrones, etc. pudiendo alcanzarse un grado considerable de complejidad cuando se concatenan entre sí. A continuación se estudian algunos de los filtros más básicos como son wc, sort, cut, grep, more y less: wc [-lwc][archivo1...] cat texto.txt wc -l sort [dfn] [archivo1...] wc cuenta el número de caracteres, palabras y líneas por cada archivo que recibe como parámetro y el total de cada una de las categorías para todos los archivos. -c cuenta únicamente el número de caracteres. -l sólo el número de líneas. -w sólo el número de palabras. cuenta el número de líneas en el archivo texto.txt Ordena las líneas de los archivos y las envía a la salida estándar -d sólo las letras, dígitos y blancos son significativos en ordenación -f ordena sin distinguir las mayúsculas de las minúsculas. -n interpreta los valores a ordenar como numéricos. cat alumnos.txt sort>alumnos_ordenados.txt Visualiza el fichero alumnos_ordenados.txt grep 'caracteres' arch1 arch2 Busca por fichero, mostrando aquellas líneas que contienen el conjunto de caracteres buscado cat archivo grep sh Muestra las líneas que contienen sh more archivo Muestra el contenido del archivo pantalla a pantalla, se sale con q less archivo Igual que more pero podemos movernos con los cursores 2.5.Alias, ruta, variables Si estamos trabajando en un entorno como la shell, donde se manejan comandos para dar órdenes al sistema operativo de lo que queremos realizar, es posible que necesitemos almacenar algunos datos que nos permitan simplificar algunas labores repetitivas. Por ejemplo podemos crear nuevos nombres de comando más cortos que hagan lo mismo que la escritura completa del comando con sus argumentos y opciones. La shell proporciona utilidades en ese sentido y a continuación vamos a comentarlas. Cuando usamos mucho un comando con una serie de parámetros y opciones, es posible definir un alias que realice lo mismo pero que sea más fácil de recordar y escribir. Así, en muchos sistemas existe la disponibilidad de usar un comando 'll' que sirve para mostrar un directorio con abundante información. En realidad se trata de un alias. Se pueden verificar los alias definidos para su usuario tecleando 'alias' sin argumentos. Generalmente se usa para abreviar el uso de comandos muy utilizados. Puede resultar de interés para personalizar el entorno de trabajo. Ejemplos: alias ll='ls -lrt -color=auto' alias md='mkdir' alias mv='mv -i' Información completa de archivos Reduce la escritura de la orden Mueve archivo con confirmación 8/11

Cuando utilizamos un archivo o un comando éste debe estar en el directorio de trabajo en que nos encontremos, si no ocurre esto, debemos indicar la ruta o camino que debe seguir el intérprete de comandos para encontrar el archivo o el comando. Podemos indicar dicha ruta de forma directa o completa o con ruta relativa. 1. En el camino absoluto indicamos la posición del archivo o comando desde el directorio raíz. Por ejemplo: /home/usuario/datos/texto.txt 2. En el camino relativo, basta indicar cómo llegar al archivo desde el directorio actual. Por ejemplo si estamos en /home/usuario, bastaría con escribir: /datos/texto.txt 3.Permisos de los archivos En Linux, todos los usuarios del sistema deben estar debidamente identificados. cada usuario tendrá unos determinados privilegios o permisos sobre los recursos del sistema. los usuarios pertenecen a grupos que también tendrán los suyos. Por tanto, a cada archivo se le asocian un conjunto de permisos de acceso (r-lectura, w- escritura, x-ejecución) asociados a cada uno de los tres niveles de la jerarquía de usuarios existente: nivel de usuario (u), nivel de grupo (g) nivel formado por el resto de los usuarios del sistema (o). Con todo esto, Linux proporciona un método fácil, seguro y fiable de garantizar la seguridad del sistema y el acceso controlado a todos los recursos. Podemos ver todos los atributos de los archivos de un directorio con la orden: ls -l Supongamos que tenemos el siguiente fichero llamado 'hola.txt' y estos son sus atributos comentados. 9/11

Los permisos de los archivos se almacenan en binario aunque se pueden referenciar en decimal. A cada permiso le asociamos un número de tres dígitos formado por dos ceros y un tercer número que podía ser únicamente 1, 2, ó 4. Por ejemplo, el permiso de escritura para un usuario cualquiera era 002. Con estos números se puede codificar los permisos de la forma que indicamos en el siguiente ejemplo: - w x r w x r - x Esto equivaldría a un permiso 375 0 2 1 4 2 1 4 0 1 (0+2+1, 4+2+1, 4+0+1 = 3,7,5 ) 3.1 s para la modificación de privilegios En un sistema operativo multiusuario y multiproceso como Linux es fundamental disponer de mecanismos que permitan a cada usuario y proceso tener acceso a los recursos y archivos necesarios, y al mismo tiempo puedan impedir el acceso a otros recursos, archivos o carpetas. Con ello aseguramos la seguridad del sistema informático y evitamos posibles errores en el manejo que hacen los usuarios del ordenador. Linux proporciona un completo sistema de privilegios que permite dar y quitar determinados permisos a cualquier elemento de nuestro ordenador, como una unidad de disco, un archivo, una impresora o una carpeta. A continuación veremos cómo gestionar estos permisos desde la shell por medio de una serie de comandos. Podemos también gestionar los permisos en modo gráfico, para ello basta con pulsar con el botón derecho sobre el icono del elemento y entrar en sus propiedades, Sintaxis del comando y Ejemplos chmod [ugoa] =+- rwxst archivo chmod [ugoa] =+- rwx directorio chmod a -r texto.txt chmod o=r fichero chmod u+x fichero chmod o=r,u+x fichero Descripción Cambia el modo o permiso, para el usuario (u), grupo (g), otros usuarios (o) o para todos (a). Por defecto usa a. El carácter + da permiso, - lo quita, = lo fija r lectura, w escritura, x ejecución, s el usuario adquiere la personalidad del propietario, t archivo rápido alojado en swap Si es un directorio el permiso r da la posibilidad de ver el contenido del directorio, w permite crear y borrar archivos,x autoriza a buscar y utilizar un archivo concreto. Quita el permiso de lectura a todos los usuarios de text.txt Con esta orden fijamos los permisos para el resto de la gente (los que no son ni el propietario del fichero, ni del grupo al que pertenece el fichero) como de sólo lectura. El equivalente sería un 4 en la posición de otros. Añadimos (+) al propietario (u) el permiso de ejecución (x) Lo mismo que las dos anteriores. Es importante destacar que con la adición (+) no modificamos el resto de los permisos. 10/11

chown usuario arch1 arch2... chown profesor /home/grupo1 chgrp grupo arch1 arch2... chgrp gestores /home/grupo1 groups usuario id usuario Con la asignación sí (=) Se emplea para cambiar de propietario ("change owner") a un determinado conjunto de archivos. Este comando sólo lo puede emplear el actual propietario de los mismos. Los nombres de propietario que admite Linux son los nombres de usuario, que están almacenados en el fichero /etc/passwd. El archivo grupo1 ahora pertenece al usuario "profesor" Cambia el grupo al que pertenecen los archivos. Los grupos de usuarios están almacenados en el fichero /etc/group. Cambia el grupo del archivo grupo1 a gestores Da información del grupo Da información del usuario 11/11