Administración de sistemas informáticos


Sistema Operativo UNIX


Tema 3: “Sistema Operativo UNIX”

  • Introducción

  • Historia

  • Los Sistemas Operativos en un principio se escribían en tarjetas perforadas, que estaban escritos en lenguaje ensamblador, luego pasan a lenguaje B y seguidamente a lenguaje C.

    UNIX se divide en dos grandes grupos:

      • System V (AT & T)

      • BSD

    • Pretensiones, objetivos y características

    • Pretensiones

        • Mayor número de usuarios

        • Mayor capacidad de proceso

        • Mayor volúmenes de almacenamiento

        • Compartir datos

        • Objetivos

            • Simplicidad

            • Generalidad

            • Reusabilidad

            • Portabilidad

            • Ayuda a la programación

            • Características

                • Sistema multiusuario y multitarea (tiempo compartido)

                • Tratamiento uniforme de los ficheros

                • Sistema jerárquico de ficheros

                • Encauzar órdenes

                • Direccionamientos de entrada y salida

                • Lenguajes de comandos

                • Trabajo interactivo o background (trabajo en segundo plano)

                • Comunicación a través del protocolo TCP/IP

                • Seguridad

                • X-windows

                • Componentes

                • UNIX está compuesto por:

                  • KERNELL → Núcleo del Sistema Operativo. Se encarga de:

                  Planificar recursos (procesos)

                  Asignar recursos a dichos procesos

                  Asignar memoria

                  Supervisar la transmisión de datos

                  Controlar el acceso a los periféricos

                  • SHELL → Intérprete de comandos. Se encarga de:

                  Preparar entorno

                  Asignar valores a variables

                  Potente lenguaje de programación

                  Redireccionamiento < y >

                  Encauzar (tuberías)

                  Existen varios tipos:

                  SH → Bourne

                  CSH → Code Joel

                  KSH → Korn

                  BASH → Bourne Again Shell

                  • MANDATOS

                  Comando [opciones] [expresión] [fichero]

                • Procesos

                • En cualquier programa que se esté ejecutando. Por lo menos va a existir un proceso asignado a cada usuario.

                  Los procesos que se ejecutan continuamente y en segundo plano se llaman “procesos DAEMON”.

                    • Pueden crear otros

                    • PID (número de identificación de proceso)

                    • Se comunican mediante un sistema de llamadas

                    • Pueden sincronizarse entre ellos

                    • Sistema de ficheros

                    • Estará asociado con un disco duro o bien con una partición del mismo. Cada fichero que nosotros tenemos o creamos tiene asociado un I-nodo, que es una posición en una tabla, y se encargan de la gestión administrativa de los ficheros.

                        • Bloque de arranque → Contiene información de arranque

                        • Superbloque → Contiene información general del sistema

                        • I-nodos → Contienen información administrativa de un fichero

                        • Bloques de datos → Contienen el contenido del fichero

                      • Tipos de ficheros

                        • Ficheros condicionales: Pueden ser ficheros de texto o ficheros binarios

                        • Directorios: Distinguimos entre directorio personal de usuario (~), directorio raíz (/), directorio actual (.) y directorio padre del actual (..)

                        • Dispositivos: Pueden ser orientados a bloques (buffered) u orientados a caracteres (raw). Algunos de ellos son:

                        /dev/console → consola

                        /dev/hda → unidad de disco duro

                        /dev/lp0 → impresora

                        /dev/fd0 → disquetera

                        /dev/tty → terminales

                        /dev/null → nulo

                      • Directorios que se cargan al iniciar UNIX

                      • Algunos de los directorios que se cargan al iniciar UNIX son:

                          • /bin → Órdenes básicas del sistema

                          • /sbin → Órdenes básicas del sistema

                          • /boot → Ficheros necesarios para el arranque del Sistema Operativo (vmlinuz)

                          • /cdrom → Unidad de CD-ROM

                          • /floppy → Unidad de disquete

                          • /dev → Incluidos todos los dispositivos

                          • /ect → Principales ficheros de configuración del sistema

                          • /lib → Librerías

                          • /var → Ficheros que van a cambiar a lo largo del tiempo.

                          • /tmp → Ficheros temporales que se borran de manera automática

                          • /initrd → Ficheros para que el sistema pueda arrancar y la manera en que lo hace

                          • /proc → Memoria RAM

                          • /usr → Programas y librerías a disposición de todos los usuarios del sistema

                          • /root → Directorio personal del administrador del sistema

                          • /home → Directorios personales de cada uno de los usuarios del sistema

                          • Modo de acceso de los ficheros

                          • Podemos realizar tres operaciones sobre los ficheros:

                              • Leer

                              • Escribir

                              • Ejecutar

                            También nos podemos encontrar con tres tipos de usuarios:

                              • Propietario

                              • Grupo

                              • Público

                            Con la orden chmod puedo cambiar el modo de acceso a un directorio.

                            En el directorio personal, el símbolo $ representa el prompt de los usuarios y el símbolo # representa el prompt del administrador.

                            PS1 representa el prompt del sistema

                            Todos los ficheros que empiezan por un punto en UNIX son ficheros ocultos.

                            /etc/profile → Es un fichero del sistema, conde podemos incluir órdenes que afecten a todos los usuarios del sistema.

                          • Redireccionamientos, caracteres comodín y variables de entorno

                          • Redireccionamientos

                          • Entrada → comando < fichero o comando << fichero

                            Salida → comando > fichero o comando >> fichero

                            Set -o noclobber nos pedirá confirmación en el caso de sustitución de un archivo

                            En el caso de que al ejecutar una orden nos da error podemos hacer que el mensaje de error aparezca en un fichero en lugar de por pantalla de la siguiente manera: comando 2 > error.

                            Orden > fichero 2 > $1 → Direcciona la salida de la orden y el posible error al fichero datos.

                            Ls | wc -l → con la tubería esta orden mostrará una serie de ficheros y las líneas que habrá en todos ellos.

                            Type fichero > PRN → redireccionar a la impresora (MS-DOS)

                            Cat fichero | lp → redireccionar a la impresora (UNIX)

                          • Caracteres comodín

                          • Algunos de los caracteres comodines son:

                              • ? → Sustituye a un único carácter

                              • * → Sustituye a un conjunto indeterminado de caracteres

                              • [ ] → Rango de caracteres. No se puede poner rangos de caracteres donde haya 2 caracteres.

                              • ! → Invierte la selección

                            • Variables de entorno

                            • Algunas de las variables de entorno que existen son:

                                • PS1 → Prompt del sistema

                                • HOME → Directorio personal del usuario

                                • SHELL → Muestra la orden de mandato en la que estamos trabajando.

                                • TERM → Terminal que tenemos asociado

                                • PATH → Establece rutas de archivos ejecutables

                                • LOGNAME → Contiene el nombre de usuario

                                • SECONDS → Muestra el número de segundos que llevamos conectados

                                • RANDOM → Devuelve un número aleatorio entre 0 y 32767.

                              Para ver el contenido de estas variables utilizo la orden ECHO y la variable entre $.

                            • Inicio de LINEX

                                • GRUB → Gestor de arranque que se encuentra en /boot/grub/menú.lst

                                • KERNELL → Núcleo del sistema operativo (/boot/vmlinuz)

                                • Proceso INIT → lee /etc/inittab

                              • Establece nivel de arranque

                              0 → half (apagar el sistema)

                              1 → modo monousuario

                              2-5 → modo multiusuario

                              6 → reboot (reiniciar el sistema)

                              • Ejecuta todos los ficheros de /etc/rcSd por orden alfabético y por número.

                              Cargar mapas de teclado

                              Comprobar el sistema de ficheros

                              Establecer el reloj del sistema

                              Establecer variables de entorno

                              Iniciar los puertos series

                              Configurar el protocolo TCP/IP

                              Cargar demonios de red

                              Leer /etc/fstab

                              • Ejecuta ficheros /etc/rc2.d que cargan el entorno gráfico en F7

                              • Comportamiento ante fallos de energía

                              • Acciones al pulsar determinadas teclas (Ctrl. + Alt + Supr)

                              • Carga seis consolas modo texto (F1 a F6)

                                • Presentación al sistema

                              • Modo texto → /etc/profile

                              $Home/.bash_profile

                              $Home/.bashrc

                              • Modo gráfico → $Home/.bashrc

                              /etc/fstab

                              Dispositivo físico

                              Punto de montaje

                              Tipo

                              Opciones

                              Campo 5

                              Campo 6

                              /dev/hda1

                              /

                              ext3

                              defaults

                              0

                              1

                              Tipo → auto, iso 9660, ext2, ext3, vfat

                              Opciones → exec, no exec, auto, no auto, user, no user, ro, rw

                              Defaults → rw, exec, auto, no user

                              /etc/passwd

                              Login: Password: Id. Usuario: Id. Grupo: Directorio personal: Shell

                              /etc/group

                              Grupo: Password: Id. Grupo: Lista usuarios (separados por una coma)

                              /etc/shadow

                              Login: Password: Últ. cambio contraseña: Mín. cambio contraseña: Máx. días válida

                            • Órdenes

                                • Login → Nombre de usuario

                                • Passwd → Cambiar de contraseña

                                • Exit → Abandonar la sesión

                                • Shutdown / half → Apagar el servidor

                                • Reboot → Reiniciar el servidor

                                • Clear → Limpiar la pantalla

                                • Logname → Muestra el nombre de usuario

                                • Uname → Características del servidor

                                • Hostname → Nombre del servidor o de la máquina

                                • Touch → Actualiza la fecha de último acceso y última modificación

                                • Df → Espacio libre de disco

                                • Du → Espacio usado de disco

                                • Ulimit → Muestra o cambia el tamaño máximo de un fichero

                                • Tty → Muestra el terminal que estamos utilizando

                                • Stty → Características del terminal

                                • Bunner → Muestra caracteres grandes

                                • Cal → Muestra un calendario

                                • Who → Saca una lista de los usuarios que están actualmente conectados

                                • Uptime → Información referente a usuarios y el sistema

                                • Date → Muestra la fecha y la hora actual

                                • Id → Muestra el número de identificación del usuario y el grupo al que pertenece

                                • Echo / print → Muestra en pantalla lo que pongamos después

                                • Calendar → Buscar un fichero llamado calendar en el directorio personal de usuario y muestra las líneas del fichero que pertenezcan al día de hoy. Es una especie de agenda.

                                • Mkdir → Crear un directorio

                                • Rmdir → Borrar un directorio

                                • Cd → Cambiar de directorio

                                • Pwd → Muestra el directorio en el que estamos en ese momento

                                • Dirname → Muestra la parte directorio de toda la trayectoria

                                • Basename → Muestra la parte fichero de toda la trayectoria

                                • Type → Me dice en que directorio está una orden

                                • Ls → Me da una lista con el contenido de un directorio

                                • Cat → Visualizar el contenido de un fichero

                                • Rm → Borrar ficheros

                                • Cp → Copiar ficheros

                                • Mv → Mover o renombrar ficheros y directorios

                                • Ln → Crear accesos directos a ficheros (enlaces)

                                • Tail → Muestra las 10 últimas líneas de un fichero

                                • Head → Muestra las 10 primeras líneas de un fichero

                                • More / pg /less → Mostrar el contenido de un fichero pantalla a pantalla

                                • File → Muestra el tipo de datos que contiene un fichero

                                • Grep → Busaca cadenas de texto y el número de línea

                                • Find → Busca ficheros que cumplan una determinada condición

                                • Nl → Muestra el contenido de un fichero numerando las líneas

                                • Wc → Cuenta el número de líneas, palabras y caracteres de un fichero

                                • Sort → Ordenar un fichero

                                • Cpio / tar → Empaquetar ficheros (copias de seguridad)

                                • Chmod → Cambia el modo de acceso a un fichero

                                • Umask → Muestra la máscara de usuario

                                • Chown → Cambia el propietario de un fichero

                                • Chgrp → Cambia la propiedad del fichero a otro grupo

                                • Newgrp → Si pertenecemos a más de un grupo, para cambiar de uno a otro.

                                • Tr → Reemplazar caracteres

                                • Sed → Reemplazar unas cadenas por otras

                                • Man → Muestra una ayuda sobre la orden que sea

                                • Orden -- help → Muestra una ayuda más corta

                                • Cut → Cortar un fichero en diferentes campos

                                • Od → Muestra el contenido de un fichero en modo octal

                                • Ps → Información sobre los procesos que hay en ejecución

                                • Tee → Muestra el resultado en pantalla de una orden y la guarda en un fichero

                                • Nohup → El resultado de ejecutar un proceso en segundo plano lo va a guardar en mi directorio personal.

                                • Kill → Matar un proceso

                                • Nice → El administrador puede cambiar la prioridad de los procesos

                                • Time → Ejecuta una orden y me dice cuanto tiempo ha tardado en ejecutarla

                                • Sleep → Retrasa la orden siguiente

                                • Sh, ksh, csh, bash → Intérpretes de comando. Si pones cualquiera de estos se te cubre una pantalla. Podemos tener varios intérpretes de comandos abiertos.

                                • Jobs → Examina el estado de los trabajos

                                • Bg → Background. Pasa a segundo plano

                                • Fg → Foreground. Pasa a primer plano

                                • History → Muestra una lista de las últimas órdenes que he dado

                                • Cmp → Compara el contenido de dos ficheros y nos muestra el número de bytes y el número de línea en el que aparece la primera diferencia.

                                • Diff → Sirve para compara archivos de texto

                                • Sdiff → Compara dos archivos de texto y nos dice en qué líneas difieren uno del otro

                                • Diffs → Compara tres ficheros

                                • Uniq → Si en un fichero tenemos dos líneas consecutivas que son iguales, la muestra sólo una vez

                                • Comm → Actúa sobre ficheros ordenados y muestra líneas que son comunes a otros ficheros

                                • Paste → Une las líneas de dos ficheros (el mismo número de línea)

                                • Sum → Ver si hay dos ficheros iguales (el contenido)

                                • Join → Une las líneas de dos ficheros, pero tiene más potencia que paste y nos va a permitir hacer más cosas

                                • Vi → Editor de textos

                                • Set → Muestra una lista con las variables y asigna un valor a las variables

                                • Unset → Elimina una varible

                                • Read → Lee una variable desde teclado

                                • Env → Muestra una lista con las variables de entorno

                                • Export → Exporta una variable de entorno

                                • Expr → Realiza operaciones matemáticas sencillas

                                • Su → Abre sesión como otro usuario

                                • Test → Evaluar condiciones

                                • Break → Romper un bucle

                                • Continue → Interrumpe el bucle una sola vez y vuelve a ejecutarlo

                                • Alias → Crea un alias

                                • Unalias → Deshace un alias ya hecho

                                • Split → Divide un fichero en otros más pequeños (por tamaño)

                                • Csplit → Divide un fichero en secciones (por una palabra común)

                                • Lp → Manda un fichero a imprimir

                                • Pr → Dar formato a los ficheros antes de imprimirlos

                                • Lpstat → Estado de los trabajos de impresión

                                • Cancel → Elimina un trabajo de la cola de impresión

                                • Lpmove → Cambia un trabajo de una impresora a otra

                                • At → Tarea programada. Ejecución diferida de órdenes

                                • Batch → Igual que at pero en esta el sistema decide cuando ejecutar el trabajo

                                • Finger → Muestra una lista de usuarios conectados y su última vez que entró

                                • Last → Muestra una lista con los últimos usuarios que se han conectado

                                • W → Muestra una lista de los usuarios conectados y qué están haciendo

                                • Awk → Es otro lenguaje de programación

                                • Mesg → Habilita o deshabilita la posibilidad de recibir mensajes

                                • Bc → Calculadora programable

                                • Write → Facilita la comunicación directa entre dos usuarios

                                • Wall → Mandar un mensaje a todos los usuarios conectados

                                • News → Permite a un usuario leer mensajes publicados por el administrador del sistema

                                • Mail → Correo electrónico

                                • Sintaxis de las órdenes

                                  • Halt (shutdown) → Para apagar el servidor

                                  • Logname → Muestra el nombre de usuario

                                  • Uname → Características del servidor

                                  -m: Tipo de CPU que tenemos

                                  -v: Versión del sistema operativo

                                  -s: Nombre del sistema

                                  -r: Release del sistema operativo

                                  -a: Todo lo anterior

                                  • Hostname → Muestra el nombre del servidor

                                  • Hwconfig → Muestra la configuración del hardware. Esta orden sólo la puede ejecutar el administrador o root

                                  • Touch → Actualiza la fecha de último acceso y última modificación

                                  • Du → Resumen del uso del disco o directorio que queramos en bloques físicos (512 k)

                                  -k: Informe en bloques lógicos (1024 b = 1kb)

                                  -s: Bloques usados

                                  -a: Muestra los ficheros y su tamaño

                                  • Df → Da un informe de bloques libres de disco duro medidos en bloques físicos (512 k)

                                  -k: Informe en bloques lógicos (1024 b = 1kb)

                                  • Banner → Pone caracteres o un texto a grandes rasgos

                                  • Ulimit → Muestra el tamaño máximo que van a tener los ficheros. Éste se puede establecer en /etc/default/login

                                  • Tty → Muestra la ruta del Terminal que estamos usando

                                  • Stty → Muestra o cambia las opciones de entrada/salida del Terminal

                                  -a: Muestra todas las opciones que hay

                                  • Cal [mes] [año] → Muestra el calendario. Sin nada nos muestra el mes y año actual

                                  • Who → Muestra una lista con el nombre de usuario conectado, el terminal que está usando y la hora de conexión.

                                  -b: Muestra la hora y la fecha a la que se arrancó el sistema por última vez

                                  -u: Proporciona una información detallada

                                  -T: Pone un + o un - al lado de cada Terminal de la lista, pudiendo recibir mensajes si tiene un + y no puede recibir si tiene un -

                                  -m: Who am I

                                  -q: Muestra el nombre y el número total de usuarios

                                  -H: Muestra cabeceras

                                  • Who am I → Muestra una sola línea con mi usuario

                                  • Uptime → Muestra la hora actual, el tiempo que lleva conectado un usuario, el número de usuarios conectados y la carga del sistema.

                                  • Date → Muestra la fecha y la hora actual

                                  -u [MMDDhhmm[yy]]

                                  -t [cc]YYMMDDhhmm[ss]

                                  Date `[+ formato]'

                                  %m: Muestra el mes del año (1-12)

                                  %d: Muestra el día del mes (1-31)

                                  %y: Muestra el año con 2 dígitos

                                  %Y: Muestra el año con 4 dígitos

                                  %j: Muestra el día del año

                                  %a: Muestra el día de la semana abreviado

                                  %h: Muestra el nombre del mes abreviado

                                  %D: Muestra la fecha en mes, día, año (MM | DD | YY)

                                  %H: Muestra la hora (0-239

                                  %M: Muestra los minutos (0-59)

                                  %S: Muestra los segundos (0-59)

                                  %T: Muestra la hora con el formato hh:mm:ss

                                  %r: Muestra la hora en formato de 12 horas

                                  %R: Muestra la hora en formato de 24 horas

                                  %n: Inserta una línea en blanco

                                  %t: Inserta un salto de tabulación

                                  %A: Muestra el nombre del día de la semana completo

                                  %B: Muestra el nombre del mes completo

                                  %C: Muestra el siglo (0-99)

                                  %I: Muestra la hora en formato de 12 horas

                                  %u: Muestra el día de la semana (1-7)

                                  %V: Muestra el número de la semana del año (1-53)

                                  • Id → Devuelve el número de identificación de usuario y grupo

                                  -G: Número de los otros grupos a los que pertenezco

                                  -Gn: Nombre de los grupos a los que pertenezco en lugar del número

                                  • Calendar → Busca un fichero de nombre calendar en el directorio personal de usuario y muestra las líneas que contengan la fecha de hoy y/o de mañana.

                                  • Echo → Muestra un texto en pantalla

                                  -e: Antes de escribir el texto hace un salto de tabulación

                                  -n: Inserta una línea en blanco

                                  /c: Escribe el texto y el cursor se quedará en la misma línea

                                  • Mkdir → Crea uno o más directorios

                                  -p: Crea una rama de directorios

                                  -m modo: Modo de acceso para crear un directorio

                                  • Cd → Cambia al directorio personal

                                  • Cd .. → Cambia al directorio anterior

                                  • Cd/ → Cambia al directorio raíz

                                  • Cd - → Cambia al último directorio visitado

                                  • Rmdir → Borrar uno o más directorios

                                  -p: Borra una rama entera de directorios vacíos

                                  • Pwd → Muestra el directorio en el cual nos encontramos en este momento

                                  • Dirname → Devuelve la parte directorio

                                  • Basename → Devuelve la parte fichero

                                  • Type → Me dice en qué directorio se encuentra la orden que yo quiera

                                  • Ls → Muestra el contenido de un directorio

                                  -C: Saca una lista ordenada en sentido vertical

                                  -F: Pone \ delante de los nombres que sean de directorios y * delante de los nombres que sean ficheros ejecutables

                                  -R: Listado recursivo

                                  -a: Muestra los ficheros ocultos

                                  -c. Lista por última modificación

                                  -d nombre: Visualiza un directorio

                                  -i: Muestra el número de i-nodo que tiene cada fichero

                                  -l: Listado largo detallado

                                  -m: Saca todos los ficheros en una línea separados por una coma

                                  -n: Actúa igual que -l pero aparece el número de identificación de usuario.

                                  -r: Ordena en sentido inverso

                                  -s: Muestra el nombre y el tamaño de los ficheros

                                  -S: Ordena los ficheros por tamaño

                                  -t: Ordena por fecha de última modificación

                                  -u: Ordena por fecha de último acceso

                                  -lt: Modo de acceso

                                  -: Fichero convencional

                                  d: Directorio

                                  l: Enlace

                                  b: Bloques

                                  c: Caracteres

                                  • Cat → Ve el contenido de uno o más ficheros: cat fichero fich1 fich2

                                  Crea ficheros desde la consola: cat > fichero y para terminar ctrol + D

                                  Concatena ficheros: cat fich1 fich2 fich3 > resultado

                                  • Cp → Copia uno o más ficheros

                                  -i: Pide confirmación para copiar un fichero

                                  -R: Copia un directorio completo en otro directorio

                                  • Rm → Borra uno o más ficheros

                                  -i: Pide confirmación al borrar un fichero

                                  -f: Fuerza el borrado sin pedir confirmación

                                  -r: Borra un directorio y todo lo que contiene

                                  • Mv → Mueve ficheros y renombra ficheros y directorios

                                  -i: Pide confirmación al mover o renombrar un fichero

                                  -f: No pide confirmación al mover o renombrar un fichero

                                  -u: Mueve un fichero sólo si el fichero origen es más nuevo que el fichero destino

                                  • Ln → Crea enlaces entre ficheros

                                  -f: Fuerza la creación del enlace sin pedir confirmación. Por defecto crea un enlace físico

                                  -s: Crea un enlace lógico o simbólico

                                  • File → Nos dice qe qué tipo son los datos de un fichero

                                  -f nombre_fichero: Nos dice de qué tipo son los datos de todos los ficheros que haya en nombre_fichero.

                                  • Head → Muestra las 10 primeras líneas de un fichero

                                  -n número: Muestra el número de líneas que yo quiera

                                  • Tail → Muestra las 10 últimas líneas de un fichero

                                  -n número: Muestra las últimas líneas que yo quiera

                                  -n -número: Muestra las últimas líneas que yo quiera

                                  -n +número: Muestra desde la línea que yo quiera hasta el final del fichero.

                                  • Pg → Muestra pantalla a pantalla el contenido de un fichero.

                                  -c: Limpia la pantalla antes de empezar a paginar

                                  -e: No se hace una pausa entre fichero y fichero

                                  -número: Número de líneas de cada página

                                  +número: Empieza a paginar desde el número de línea que digamos

                                  +/patrón/: Empieza a paginar desde la primera vez que encuentre ese patrón

                                  Prompt:

                                  $: Muestra la última pantalla de información

                                  ∙: Refresca la pantalla y nos muestra de nuevo la página

                                  /patrón/: Busca la primera vez que aparece el patrón.

                                  número/patrón/: Busca a partir del número de veces encontrado el patrón.

                                  ?patrón: Búsqueda hacia atrás

                                  q: Salir de la orden

                                  • More → Muestra el contenido de uno o más ficheros pantalla a pantalla

                                  -c: Limpia la pantalla antes de empezar a paginar

                                  -número: Número de líneas de cada página

                                  +número: Empieza a paginar desde el número de línea que digamos

                                  -i: Realiza búsquedas tanto en mayúsculas como en minúsculas

                                  -/patrón: Empieza a paginar desde ese patrón

                                  Prompt:

                                  intro: Línea siguiente

                                  espacio: Página siguiente

                                  =: Número de línea actual

                                  númerob: Se mueve ese número de líneas hacia delante

                                  númerod: Se mueve ese número de líneas hacia atrás

                                  g: Principio del fichero

                                  G: Final del fichero

                                  h o ?: Pantalla de ayuda

                                  v: Llama al editor de textos vi

                                  /patrón: Búsqueda hacia delante

                                  q: Salir de la orden

                                  • Less → Sirve para paginar uno o más ficheros

                                  Prompt:

                                  intro: Línea siguiente

                                  espacio: Página siguiente

                                  :n: Examina el fichero siguiente

                                  :p: Examina el fichero anterior

                                  :d: Elimina el fichero que estoy viendo en ese momento

                                  = ctrol + g: Muestra el nombre del fichero, el número de líneas que tiene y el porcentaje de fichero leído

                                  /comando: Ejecuta el comando que yo quiera de UNIX

                                  /patrón: Búsqueda hacia delante

                                  ?patrón: Búsqueda hacia atrás

                                  h: Ayuda de la orden

                                  q: Salir de la ayuda o de la orden

                                  • Find → Busca ficheros que cumplan una o más condiciones

                                  Espacio en blanco o -a: Se tienen que cumplir las dos condiciones

                                  -c o OR: Se cumple una condición o la otra

                                  Path !condición: Busca ficheros que no cumplan esa condición

                                  \(cond1 cond2\) -o cond3: Agrupa condiciones

                                  -name “[a-u]*”: Muestra los ficheros cuyo nombre empiecen por una vocal

                                  -perm: Muestra los ficheros que tengan los permisos que yo quiero

                                  -type: Muestra ficheros del tipo que yo quiera

                                  f: Ficheros convencionales

                                  d: Directorios

                                  l: Enlaces

                                  b: Bloques

                                  c: Caracteres

                                  -user usuario: Muestra todos los ficheros que pertenezcan a ese usuario

                                  -group grupo: Muestra todos los ficheros que pertenezcan a ese grupo

                                  -links número: Muestra todos los ficheros que tienen ese número de enlace

                                  número: Igual número de enlaces

                                  +número: Más número de enlaces

                                  -número: Menos número de enlaces

                                  -size número [c]: Muestran los ficheros que tengan ese número de bloques.

                                  -atime número: Muestra los ficheros a los que se ha accedido por última vez hace el número de días indicado

                                  -amin número: Muestra los ficheros a los que se ha accedido por última vez hace el número de minutos indicado

                                  -mtime número: Muestra los ficheros a los que se han hecho modificaciones desde el número de días indicado.

                                  -ctime número: Muestra los ficheros cuyo modo de acceso ha cambiado hace tantos días

                                  -cmin número: Muestra los ficheros cuyo modo de acceso ha cambiado hace tantos minutos

                                  -exec comando: Ejecuta el comando indicado para cada uno de los ficheros que cumplan las condiciones anteriores.

                                  -ok comando: Hace lo mismo que -exec comando pero pide conformidad.

                                  -print: Muestra en pantalla los ficheros que encuentre

                                  -newer fichero: Muestra los ficheros más nuevos que el que yo le indico

                                  -nouser: Muestra los ficheros que no tienen usuario

                                  -nogroup: Muestra los ficheros que no tienen grupo

                                  -maxdepth número: Poner los niveles de profundidad que nosotros queramos

                                  -empty: Muestra ficheros o directorios vacíos

                                  Find . -size +1000c → Busca todos los ficheros cuyo tamaño sea mayor que 1000 caracteres

                                  Find . -name “[0-9]*” → Busca todos los ficheros cuyo nombre empiece por un número

                                  Find . -type f -exec mv {} {}.old \; → Busca todos los ficheros convencionales dejándolos con el mismo nombre pero poniéndole la extensión .old

                                  Find . -user Luis -size 2000c → Busca todos los ficheros que pertenezcan a Luis y que tengan 2000 caracteres de tamaño.

                                  Find . -name “hola*” -exec cat {} → Buscatodos los ficheros que empiecen por hola y muestra su contenido.

                                  Find . -name “hola*” | xargs cat → Hace lo mismo que la anterior pero es más r

                                  • Grep → Busca cadenas de texto dentro de un fichero o ficheros.

                                  -c: Muestra el número total de líneas que tiene el patrón que busco

                                  -i: No distingue entre mayúsculas y minúsculas

                                  -l: Muestra el nombre del fichero en el que aparece el patrón

                                  -n: Muestra el número de línea y la línea completa donde aparece el patrón

                                  -s: Suprime los mensajes de error cuando un fichero no existe o cuando no tenemos permiso de lectura sobre él.

                                  -v: Muestra las líneas que no contienen el patrón

                                  -f fichero: Se crea un fichero con los patrones a buscar y coge los patrones de dicho fichero.

                                  Grep “hola” fichero → Busca hola en el fichero que le indiquemos

                                  Grep “Peter” [`s]*” fichero → Busca Meter seguido de ` o s

                                  Grep “[Hh] enr (y | etita)” fichero → Busca que el primer carácter sea H o h

                                  Grep “^hola” fichero → Busca hola al principio de la línea

                                  Grep “hola$” fichero → Busca hola al final de la línea

                                  Grep “^$” fichero → Busca las líneas en blanco de un fichero

                                  Grep “hola.adiós” fichero → Busca las líneas que tienen hola, un carácter cualquiera y adiós.

                                  Grep “[A-Z]” fichero → Muestra las líneas de un fichero que empiecen por una letra en mayúsculas

                                  Grep “A[0-9] \ {3, 5\}” fichero → Busca las líneas de un fichero que tengan una A seguida de entre 3 y 5 números del 0 al 9.

                                  • Nl → Muestra un fichero poniendo el número de líneas a la izquierda

                                  -i número: El incremento de las líneas será el indicado

                                  -v número: Establecemos el valor inicial de línea

                                  -s carácter: Pone uno o más caracteres cualquiera para separar la línea del número de línea

                                  -w número: Establece el número de dígitos para el número de línea

                                  -n formato: Ln: ajusta el número de línea a la izquierda y suprime los ceros

                                  Rn: Ajusta el número de línea a la derecha y suprime los ceros

                                  Rz: Justifica el número de línea a la derecha sin suprimir los ceros

                                  • Wc → Muestra el número de líneas, palabras y caracteres que tiene un fichero.

                                  -c: Muestra sólo el número de caracteres

                                  -w: Muestra sólo el número de palabras

                                  -l: Muestra sólo el número de líneas

                                  • Sort → Sirve para ordenar un fichero

                                  -m: Ordena y fusiona dos ficheros previamente ordenados y si no están ordenados solamente los fusiona.

                                  -f: Ignora entre mayúsculas y minúsculas

                                  -r: Ordena en sentido inverso

                                  -o fichero: Muestra el resultado en el fichero indicado

                                  -u: Muestra solo una vez las líneas iguales y consecutivas

                                  -M (con -b): Ordena por meses del año

                                  -b: Ignora espacios en blanco

                                  -t carácter: Carácter separador entre un campo y el otro

                                  -n: Ordena los números por magnitud

                                  -k campo: Ordena por un campo determinado

                                  Sort -t “:” -k2 fichero → Ordena un fichero pr el segundo campo de información

                                  Sort -k 1.4, 1.10 fichero → Ordena un fichero desde el cuarto carácter hasta el décimo

                                  Sort -t “:” -k3 -k6 fichero → Ordena un fichero por el tercer y sexto campo de información

                                  • Cpio (copy in/out) → Coge un conjunto de ficheros y genera un único archivo de salida

                                  -o: Crea el archivo de copia

                                  -c: Genera las cabeceras en modo texto

                                  -B: Copia en bloques de datos

                                  -a: Reinicializa las fechas de los ficheros al momento actual

                                  -v: Aparecen en pantalla los nombres de los ficheros que va copiando

                                  -i: Restaura la copia que hayamos creado

                                  -c: Genera las cabeceras en modo texto

                                  -B: Restaura en bloques de datos

                                  -d: Genera los directorios que hagan falta

                                  -u: Si encuentra dos ficheros con el mismo nombre renombra el fichero

                                  -r: Si encuentra dos ficheros con el mismo nombre renombra el fichero

                                  -m: Mantiene las fechas de modificación que tienen los ficheros

                                  -t: Muestra el contenido de la copia y no la restaura

                                  -tv: Muestra el contenido de la copia de una manera más detallada

                                  -p: Copia todos los ficheros del origen al destino

                                  -a: Reinicia las fechas de los ficheros

                                  -d: Crea directorios que hagan falta

                                  -u: Sobrescribe los ficheros si ya existen

                                  -v: Muestra el nombre de los ficheros que va copiando

                                  -m: Respeta las fechas de los ficheros

                                  • Mount → Sirve para montar dispositivos.

                                  • Tar (type archive) → Coge un conjunto de ficheros y genera un único archivo de salida.

                                  /dev/rfd0 135 ds /8 → Identifica un disquete 3 ½ de 1,44 MB

                                  Para copiar dos disquetes existen dos órdenes distintas: dd y diskcp

                                  tar opciones destino origen [formato]

                                  c: Realizar la copia

                                  t: Mostrar el contenido de la copia

                                  x: Restaurar la copia

                                  v: Muestra los nombres de los archivos a la vez que se copian o restauran

                                  f: Especifica el destino

                                  k número: Especifica el tamaño que tiene el dispositivo destino

                                  r: Añade ficheros nuevos a la copia

                                  tar cvf /dev/rfd0 135 ds /8 → Muestra el contenido que está copiando y especifica el destino

                                  tar tvf /dev/rfd0 135 ds /8 → Muestra el contenido que ya ha copiado y especifica el destino

                                  tar xvf /dev/rfd0 135 ds /8 → Restaura una copia que hayamos hecho y especifica el destino

                                  tar -cvk 1440 -f /dev/rfd0 135 ds /8 → Muestra el contenido que está copiando y especifica el tamaño del dispositivo destino

                                  • Chmod → Cambia el modo de acceso a los ficheros

                                  chmod [-R] modo fichero

                                  u: Usuario (propietario) +: Añadir permiso

                                  g: Grupo -: Retirar permiso

                                  a: Público =: Asignar permisos

                                  r: Lectura

                                  w: Escritura

                                  x: Ejecución

                                  chmod u+x g+wx a+w fichero → Añade al usuario el permiso de ejecución, al grupo los permisos de lectura y escritura y al público el permiso de escritura.

                                  chmod u-x g-x a-w fichero → Retira al usuario el permiso de ejecución, al grupo el permiso de ejecución y al público el permiso de escritura

                                  chmod u=rx g=w a=w fichero → Asigna al usuario los permisos de lectura y ejecución, al grupo el permiso de escritura y al público el permiso de escritura

                                  • Umask → Visualiza la máscara de un fichero

                                  Por defecto los ficheros convencionales se crean con el modo 666 y los directorios con el modo 777. Sin parámetros, aparecería la máscara, por defecto, del usuario (022) y habría que restárselo al permiso:

                                  Ficheros convencionales → 666 - 022 = 644

                                  Directorios → 777 - 022 = 755

                                  • Chown [-R] nuevo_propietario fichero → Traspasa la propiedad de un fichero a otro usuario

                                  [-R]: Hace la operación de manera recursiva

                                  • Chgrp [-R] nuevo_grupo ficehro → Traspasa la propiedad de un fichero a otro grupo

                                  [-R]: Hace la operación de manera recursiva

                                  • Newgrp → Sirve crear un grupo nuevo o para cambiar de grupo. Éstos deben tener establecida una contraseña sino el único que puede cambiarse de grupo es el root o administrador.

                                  • Su → Sirve para iniciar sesión como otro usuario sin cerrar la anterior

                                  su usuario: Intenta entrar como ese usuario pidiéndonos la contraseña de ese usuario

                                  su -usuario: Al entrar como ese usuario nos sitúa en el directorio personal de ese usuario

                                  su usuario -c “comando”: Pide la contraseña del usuario y ejecuta el comando como si fuese ese usuario.

                                  • Tr [opciones] cadena1 cadena2 → Reemplaza cadenas de caracteres o clases de caracteres.

                                  Clases:

                                  Alnum: Caracteres alfanuméricos

                                  Alphc: Caracteres alfabéticos

                                  Blank: Espacios en blanco y tabulaciones

                                  Cntrl: Caracteres de control

                                  Digit: Números

                                  Lower: Minúsculas

                                  Upper: Mayúsculas

                                  Space: Espacios en blanco

                                  Punct: Caracteres de puntuación

                                  Opciones:

                                  -s: Si hay caracteres repetidos seguidos los muestra una vez

                                  -d: Elimina el carácter o secuencia de caracteres que le indiquemos

                                  tr “[a-z]” “[A-Z]” < fichero → Sustituye un fichero en minúsculas por el mismo en mayúsculas

                                  tr “[a-z]” “[A-Z]” < fichero > fichero2 → Sustituye un fichero en minúsculas por el mismo en mayúsculas y lo guarda en el fichero2

                                  tr “[:lower:]” “[:upper:]” < fichero → Sustituye un fichero en minúsculas por el mismo en mayúsculas

                                  tr -s “[:space:]” < fichero → Si hay varios caracteres en blanco los sustituye por uno solo

                                  • Sed → Sustituye cadenas muy grandes de caracteres.

                                  sed `s /cadena1/cadena2/' fichero → Sustituye cadena1 por cadena2 pero sólo la primera vez que aparece cadena1 en cada línea

                                  sed `s /cadena1/cadena2/g' fichero → Sustituye cadena1 por cadena2 todas las veces que aparezca cadena1

                                  sed `s /cadena1//g' fichero → Elimina la cadena1 todas las veces que aparezca.

                                  sed -n `4, 8p' fichero → Muestra en pantalla de la línea 4 hasta la 8

                                  sed `4, 6d' fichero → Elimina desde la línea 4 hasta la 6

                                  sed `/Cuenca/d' fichero → Elimina todas las líneas que contengan el patrón indicado

                                  sed `1, 6w temporal' fichero → Escribe en ese fichero desde la línea 1 hasta la 6

                                  sed -f ficheropatrones fichero:

                                  s/^[ ]* // → Elimina todos los espacios en blanco y tabulaciones al principio de cada línea

                                  /\.$/a\ → Inserta una línea en blanco cada vez que encuentre un punto al final de línea

                                  s/^./\t&/ → Inserta un salto de tabulación a principio de cada línea

                                  sed '14, 86s /cadena1/cadena2/g' fichero → Sustituye la cadena1 por la cadena2 pero sólo en la franja entre las líneas 14 y 86

                                  sed `/capitulo1/ , /capitulo2/ s /cadena1/cadena2/g' fichero → Sustituye la cadena1 por la cadena2 desde el capitulo1 hasta el capitulo2.

                                  • Man → Manual de ayuda de la orden que queramos

                                  -k tema: Equivale a la orden apropost tema

                                  • Cut → Corta o selecciona partes de un fichero

                                  -c caracteres: Corta por el número de caracteres

                                  -f campos: Selecciona el campo que quiero

                                  -d carácter_separador_campo: Indica el carácter separador del campo

                                  -s: No muestra las líneas que no tengan separador de campos

                                  cut -c2, 6-9 fichero → Muestra el segundo carácter de cada línea y luego otro carácter entre el rango 6-9

                                  cut -d “;” -f3 fichero → Muestra el campo número 3 de un fichero

                                  • Ps → Muestra información sobre el estado de los procesos

                                  -e: Muestra todos los procesos

                                  -f: Muestra todos los procesos de una forma detallada

                                  -fe: Lista detallada para solucionar errores.

                                  VID → Número de identificación de usuario

                                  PID → Número de identificación del proceso

                                  PPID → Número de identificación del proceso padre

                                  C → Uso del procesador

                                  STIME → Fecha y hora en la que se lanza el proceso

                                  TTY → Terminal

                                  CMD → Nombre del proceso

                                  PRI → Prioridad del proceso

                                  ADOR → Dirección de memoria donde se encuentra el proceso

                                  SZ → Tamaño del proceso

                                  F → Parámetros asociados al proceso

                                  S → Estado del proceso

                                  -t terminal: Muestra los procesos asociados a ese terminal

                                  -a: Muestra todos los procesos de todos los usuarios del sistema

                                  -u usuario: Muestra los procesos relacionados con ese usuario

                                  • Nice → Modifica la prioridad de un proceso (0-39)

                                  Nice = 20 para todos los procesos

                                  Nice = 24 para procesos que se ejecuten en segundo plano

                                  nice -14 proceso → Aumenta el valor en 14 unidades para que su prioridad sea menor

                                  nice --14 proceso → Disminuye en 14 unidades el valor y aumenta la prioridad

                                  proceso& → Ejecuta un proceso en segundo plano

                                  nohup proceso& → El proceso sigue ejecutándose aunque se abandone el sistema. Se guarda en el directorio personal (nohup.out)

                                  • Jobs → Muestra todos los procesos que tengo en segundo plano

                                  fg % ID Proceso → Para pasar un programa que está en segundo plano a primer plano.

                                  bg % ID Proceso → Continúa con la ejecución del proceso en segundo plano

                                  • Kill → Sirve para matar un proceso

                                  -9: Elimina incondicionalmente el proceso

                                  • Tee fichero → Sale el resultado de la orden a la que acompaña por pantalla y el resultado lo almacena en un fichero.

                                  -a fichero: Si el fichero existe y contiene información, añade la información al final.

                                  • Time orden o proceso → Dice el tiempo que tarda en ejecutar una orden o proceso.

                                  • Sleep → Ejecuta la siguiente orden tras el tiempo indicado.

                                  • History → Muestra un listado de las últimas órdenes que he dado.

                                  • Fc → Junto con la orden history muestra el número de órdenes que indiquemos.

                                  • R número orden → Nos lleva al número de orden indicado.

                                  • Cmp [opciones] fichero1 fichero2 → Compara dos ficheros y nos dice en qué líneas son distintos los ficheros y se para.

                                  -l: No se para en la primera línea y continúa comparando.

                                  -s: Nos devuelve un valor del código de retorno:

                                  0 → Iguales

                                  1 → Diferentes

                                  2 → No hay permiso para alguno de los ficheros.

                                  • Diff [opciones] fichero1 fichero2 → Trabaja sólo con ficheros de texto y muestra una lista de los cambios necesarios para hacer los dos ficheros iguales.

                                  -r: Compara el contenido de directorios.

                                  -h: Menos riguroso. Más rápido.

                                  -w: No compara espacios en blanco ni tabulaciones.

                                  • Comm [opciones] fichero1 fichero2 → Compara ficheros, pero tienen que estar ordenados.

                                  -1: Muestra tres columnas menos la indicada, que en este caso sería la primera.

                                  -2: No aparece la segunda columna.

                                  -3: No aparece la tercera columna.

                                  • Uniq fichero → Si en un fichero hay varias líneas repetidas consecutivas, las muestra sólo una vez.

                                  • Sdiff [opciones] fichero1 fichero2 → Compara dos ficheros y nos dice qué líneas son distintas.

                                  -o fichero: Almacena las líneas que son iguales en ambos ficheros.

                                  -s: Nos muestra las líneas iguales.

                                  • Diff3 → Sirve para comparar tres ficheros.

                                  • Sum → Sirve para comparar muchos ficheros.

                                  sum*: Saca información sobre todos los ficheros de un directorio.

                                  sum -r*: Hace lo mismo que lo anterior pero es más exhaustivo.

                                  1º ejecuto sum*

                                  2º ejecuto sum -r*

                                  Muestra nombre tamaño cheksum si los ficheros tienen el mismo tamaño y cheksum si los ficheros son iguales.

                                  • Paste fichero1 fichero2 → Lee las líneas de dos o más ficheros y las une en la salida. También sirve para sacar la información en varias columnas.

                                  paste ls ---: Saca la información de ls en tres columnas.

                                  • Join [opciones] fichero1 fichero2 → Hace lo mismo que paste pero con dos ficheros ordenados.

                                  -a1: Muestra todas las líneas del fichero1.

                                  -a2: Muestra todas las líneas del fichero2.

                                  -t: Carácter separados de campos.

                                  -j1: Campo de unión del primer fichero.

                                  -j2: Campo de unión del segundo fichero.

                                  -o: Selecciona los campos de información que quiero obtener.

                                  Join -a1 -a2 file01 file02 → Muestra todas las líneas del fichero1 y del fichero2.

                                  Join -a1 -a2 file01 file02 | join -a1 -a2 - file03 → Une los tres ficheros.

                                  Join -t “;” -j1 3 -j2 4 -o 1.1 2.3 2.4 archivo1 archivo2 → Une por número de campo y muestra del primer fichero el primer campo y del segundo fichero el tercer y cuarto campo.

                                  • Alias → Sirve para dar un nombre a una orden.

                                  • Unalias → Sirve para borrar un alias que haya hecho con anterioridad.

                                  • Split → Sirve para dividir ficheros en otros más pequeños.

                                  -l número: Número de líneas de cada fichero resultante

                                  -b número: Número de bytes de cada fichero resultante.

                                  -b númerok: Número de KBytes de cada fichero resultante.

                                  -b númerom: Número de MBytes de cada fiero resultante.

                                  • Csplit → Sirve para dividir ficheros en otros más pequeños por palabras claves.

                                  csplit -k fichero `/capítulo/' `{99} → Divide el fichero hasta la palabra capítulo. Cada vez que aparece capítulo dividirá el fichero.

                                  csplit -k fichero `/Instrucciones/' `/avisos/' `/apéndices/' → Divide el fichero en cuatro archivos.

                                  • Lp → Manda un fichero a la impresora.

                                  -m: Manda una notificación mediante e-mail para indicar que la impresión ha finalizado.

                                  -n número: Número de copias que queramos.

                                  -d impresora: Impresora que queramos que imprima el trabajo.

                                  -t título: Pone título de impresión.

                                  -w: Manda una notificación mediante mensajería interna para indicar que la impresión ha finalizado.

                                  • Cancel pid → Cancela una impresora.

                                  • Cancel impresora → Cancela un trabajo sin quitarlo de la cola de impresión.

                                  • Lpstat → Muestra el estado de la impresora

                                  -u usuario: Muestra una lista de los trabajos que ha mandado dicho usuario.

                                  -d: Muestra cual es la impresora por defecto.

                                  -r: Nos dice si la impresora está disponible o no.

                                  -t: Informe completo sobre el sistema de impresión.

                                  -p impresora: Muestra los trabajos asociados a esa impresora.

                                  • Pr → Prepara un trabajo antes de imprimirlo.

                                  -o: Deja un margen de 5 espacios a la izquierda.

                                  -h “encabezado”: Pone el encabezado que nosotros queramos.

                                  -d: Imprimir a doble espacio.

                                  -n: Enumera las líneas.

                                  • Lpmove → Cambia los trabajos de impresora.

                                  Lpshed: Arranca el sistema de impresión.

                                  Spshut: Detiene el sistema de impresión.

                                  Enable: Habilita una impresora concreta

                                  Dissable: Deshabilita una impresora concreta.

                                  Accept: Permite que una impresora acepte trabajos.

                                  Rejet: La impresora rechaza los trabajos.

                                  • Passwd → Sirve para cambiar o crear una contraseña

                                  -d: Borra la contraseña.

                                  -f: La próxima vez que entre el usuario le obliga a cambiar la contraseña.

                                  -l: Bloquea la cuente de usuario.

                                  -s: Muestra los atributos de la contraseña:

                                  Login

                                  Estado contraseña

                                  Fecha último cambio de contraseña

                                  Nº máximo de días entre dos cambios

                                  Nº máximo de días para expirar

                                  -a: Muestra información sobre las contraseñas de todos los usuarios.

                                  • At → Realiza una o varias tareas en una fecha determinada.

                                  -r número: Borra un trabajo de la lista.

                                  -l: Lista de todos los trabajos diferidos.

                                  • Batch → Realiza lo mismo que la orden at pero la fecha la pone el sistema y realiza las tareas cuando no tiene trabajo.

                                  • Finger → Saca información de los usuarios conectados.

                                  -l: Formato detallado

                                  • W → Hace lo mismo que finger y también nos dice que están haciendo los usuarios.

                                  -l: Formato largo

                                  -s: Formato corto

                                  • Last: Lista de los últimos usuarios que han entrado en el sistema.

                                  -n número: Número de usuarios que se han conectado.

                                  -t terminal: Últimas conexiones desde ese terminal.

                                  -usuario: Últimas conexiones de ese usuario en concreto

                                  • Gzip → Comprime un fichero y genera otro que se llama fichero.gz

                                  • Gunzip → Descomprime un fichero y elimina fichero.gz

                                  • Zcat → Visualiza un fichero comprimido sin necesidad de descomprimirlo.

                                  • Zless → Edita un fichero comprimido.

                                  • Bzip2 → Comprime un fichero y genera otro que se llama fichero.bz2

                                  • Bunzip2 → Descomprime un fichero y elimina fichero.bz2

                                  • Zip → Comprime un fichero y genera otro que se llama fichero.zip

                                  • Unzip → Descomprime un fichero y elimina fichero.zip

                                • Editor de textos (Vi)

                                • vi archivo → Abre el editor y asigna el nombre que le indiquemos

                                  vi -R archivo → Abre el archivo en modo sólo lectura

                                  vi +45 archivo → Abre el archivo y nos sitúa en la línea 45

                                  vi +/patrón → Abre el archivo por la primera aparición de ese patrón

                                • Entrada de texto

                                • i → Empieza a escribir antes del cursor

                                  a → Empieza a escribir una posición después del cursor

                                  I → Empieza a escribir a principio de línea

                                  A → Empieza a escribir a final de línea

                                  o → Inserta una línea en blanco por debajo del cursor

                                  O → Inserta una línea en blanco por encima del cursor

                                • Movimiento

                                • $ → Te lleva al final de la línea

                                  ^ → Te lleva al principio de la línea

                                  w → Te lleva a la palabra siguiente

                                  e → Te lleva al final de la palabra

                                  Ctrl. + F → Pantalla siguiente

                                  Ctrl. + B → Pantalla anterior

                                  Ctrl. + L → Refresca la pantalla

                                • Eliminar

                                • dw → Elimina la palabra en la que estamos

                                  dd → Elimina la línea en la que estamos

                                  D → Elimina desde la posición del cursor hasta el final de la línea

                                  x → Elimina el carácter donde está el cursor

                                • Otras funciones

                                • u → Deshacer el último cambio

                                  /palabra → Busca la palabra desde donde está el cursor hacia adelante

                                  ?palabra → Busca la palabra desde donde está el cursor hacia atrás

                                  n → Busca la siguiente vez que aparezca la palabra concreta

                                  . → Repetir la última acción

                                  p → Pega lo que se haya cortado por debajo del cursor

                                  P → Pega lo que se haya cortado por encima del cursor

                                  J → Une dos líneas consecutivas

                                • Modo última línea

                                • :w → Guardar sin salir

                                  :w fichero → Guardar como

                                  :n → Salta de un fichero a otro

                                  :! → Salida temporal al shell

                                  :31, 47w fichero → Guardar como solo la parte del fichero que le indiquemos

                                  :f → Información sobre el fichero

                                  :f nombre → Renombrar un fichero

                                  :r fichero → Inserta ese fichero a partir de donde se encuentra el cursor

                                  :q! → Salir del editor sin guardar cambios

                                  :wq → Guardar el fichero y salir del editor

                                  :set number → Inserta el número de línea en todas las líneas del fichero

                                  :set nonumber → Quita el número de línea en todas las líneas del fichero

                                  :set autoindent → Inserta una sangría

                                  :set noautoindent → Quita una sangría

                                  :set showmode → Muestra el modo de inserción

                                  :set noshowmode → Quita el modo de inserción

                                  :set list → Cuando encuentre un intro pone un $ y por cada tabulación pone un ^I

                                  :set all → Muestra todas las formas que puede adoptar el editor

                                  :1, $s/hola/adiós/g → Sustituye desde la primera línea hasta la última la palabra hola por la palabra adiós. Para que la sustituya en todos los casos hay que poner una g al final.

                                  :1, 5t 10 → Copia desde la línea 1 hasta la 5 y lo pone detrás de la línea 10

                                  :5, 9m 16 → Mueve desde la línea 5 a la 9 y lo pone detrás de la línea 16

                                  :5, 8d → Elimina desde la línea 5 hasta la línea 8

                                  :!comando → Ejecuta un comando cualquiera de unix desde el editor.

                                  :!!comando → Ejecuta un comando unix y el resultado lo inserta en el fichero en la posición del cursor

                                  :set ignorecase → No distingue entre mayúsculas y minúsculas

                                  .exrc (crear directorio personal): Establecemos todas las órdenes set que queramos.

                                • Shell script

                                • Bash < fichero (direccionamiento de entrada)

                                  Bash fichero (paso como parámetros) Ejecutar ficheros

                                  Fichero (dar permiso de ejecución al fichero)

                                  PATH = :$PATH → Sirve para que busque un archivo primero en el directorio actual y luego en todos los que haya en la variable.

                                  # → No ejecuta la orden, interpreta que es un comentario

                                  Variable = valor → Asigna un valor a la variable

                                  Echo $variable → Visualiza el contenido de una variable

                                  Variable = → Elimina el valor de una variable

                                  Local:

                                  Export variable → Convierte una variable local en global

                                  Export → Muestra una lista de variables exportadas

                                  Global: algunas variables asignadas de forma automática son las siguientes:

                                  $? → Código de retorno que vale 0 si la orden anterior se ha ejecutado con éxito y distinto de 0 si ha fracasado.

                                  $$ → Número de identificación del proceso

                                  $! → Número de identificación del último proceso ejecutado en background

                                  $# → Número de parámetros posicionales que le paso a un fichero o shell script

                                  $* → Devuelve una cadena con todos los parámetros que tenemos

                                  Shift → Desplaza todos los parámetros un valor hacia la izquierda. Podemos utilizar más de 9 parámetros y cuando tengan dos dígitos los tengo que escribir entre llaves: ${10}

                                  ` ' → No se produce sustitución de variables. Todo aparece tal y como está

                                  “ ” → Las variables se sustituyen por su valor

                                  ` ` → Ejecuta un comando de Linux

                                  \ → Anula el carácter al que se antepone

                                  D.O = `pwd` → Ejecuta la orden pwd y el resultado lo mete en la variable D.O

                                  Set `date` → Ejecuta la orden date y el resultado lo mete en $1, $2,…

                                  Print = echo → Saca cosas por pantalla

                                  Comando1 && comando2 → Ejecuta comando2 solo si comando1 ha tenido éxito

                                  Comando1 || comando2 → Ejecuta comando2 solo si comando1 fracasa

                                  Comando1;comando2;comando3 → Pone varias órdenes en una sola línea

                                  (comando1;comando2) → Agrupa órdenes

                                  Vector (valor1, valor2,…valorN) → Crea un vector con información

                                  Declare → Crear vectores

                                  -a: Declara array sin información

                                  -f: Muestra una lista con funciones creadas

                                  -i: Declara variable entera

                                  -r: Sólo lectura

                                  -x: Declara variable y la exporta

                                  Declare vector (valor1, valor2,…valorN) → Crea un vector y al mismo tiempo le damos valores

                                  Vector [1] = hola → Asigna un valor a una posición del vector

                                  Unset vector [1] → Elimina un valor del vector

                                  Echo ${vector[1]} → Visualiza el contenido de una posición del vector

                                  Echo ${vector[*]}→ Visualiza el contenido de todo el vector

                                  Echo ${# vector[1]}→ Devuelve el número de elementos que tiene el vector

                                  Otra ventaja de Linux respecto a Windows es que podemos crear funciones, la forma de hacerlo es la siguiente:

                                  Nombre_función ()

                                  {

                                  Orden1

                                  Orden2

                                  OrdenN

                                  }

                                  Para ejecutar la función solamente tenemos que poner el nombre de la función.

                                • Estructuras de control

                                • if comando case variable in while comando until comando

                                  then 1) orden1 do do

                                  orden1 orden2 orden1 orden1

                                  orden2 ordenN ;; orden2 orden2

                                  orden 2) orden1 ordenN ordenN

                                  else orden2 done done

                                  orden1 ordenN ;;

                                  orden2 *) orden1

                                  ordenN orden2 for variable in valor1, valor2,…,valorN

                                  fi orden do

                                  esac orden1

                                  orden2

                                  ordenN

                                  done

                                  • Dentro de los bucles podemos utilizar una de estas tres órdenes:

                                  Exit → Se sale del proceso y volvemos al prompt.

                                  Break → Se interrumpe el bucle y sigue por la orden siguiente al mismo.

                                  Continue → Ignora las órdenes que hay después y vuelve a ejecutar el bucle.

                                  • Read variable → Lee una variable desde teclado

                                  Echo dame un número

                                  Read num read -p “Dame un número:” num

                                  • Seq inicio incremento fin → Devuelve los números comprendidos entre inicio y fin con el incremento que hayamos puesto.

                                  • Test → Evalúa condiciones. Trabajaremos con tres aspectos:

                                  Números: -eq → igual

                                  -ne → no igual

                                  -lt → menor

                                  -le → menor o igual

                                  -gt → mayor

                                  -ge → mayor o igual

                                  Cadenas: Hay que poner entre comillas la variable

                                  = → igual

                                  != → diferente

                                  Ficheros: -s → existe y no está vacío

                                  -e → existe

                                  -f → fichero

                                  -d → directorio

                                  -r → permiso de lectura

                                  -w → permiso de escritura

                                  -x → permiso de ejecución

                                  • If test -f fichero -a -r fichero } → Para preguntar por más de una condición

                                  • Expr → Para hacer operaciones aritméticas sencillas y para cadenas

                                  Expr length variable → Devuelve la longitud de la cadena o variable

                                  Expr substr variable posición longitud → Devuelve una subcadena de la longitud que le indique y en la posición que yo quiera.

                                  Expr index variable subcadena → Devuelve la posición en la que aparece la subcadena dentro de la cadena o variable.

                                  • Let → Realiza operaciones aritméticas (es como expr).

                                • La utilidad AWK

                                • Lee las líneas de entrada de un fichero y para cada línea comprueba si hay algún patrón que yo desee, y cada patrón que coincida hará lo que desee.

                                  En la misma línea podemos poner más de una opción separadas por un punto y coma (;).

                                  /patrón! {acción} → Por cada patrón se realiza esa acción

                                  /patrón! → Se imprime toda la línea

                                  {acción} → La acción se ejecuta para todas las líneas del fichero

                                  awk -f programa fichero_datos → Los campos de separación son espacios en blanco. Si usas uno diferente con -F “;” indicas el separador.

                                  Algunas variables que podemos utilizar son:

                                  $0 → línea completa

                                  $1, $2, $3,... → primer campo, segundo campo, tercer campo,...

                                  NR → número de línea

                                  NF → número de campos de una línea

                                  $NF → contenido del último campo

                                  Para mostrar el contenido de estas variables utilizo la orden print.

                                  Existen dos patrones especiales que son opcionales:

                                  BEGIN → Establecemos las cosas que queramos que se hagan antes de leer el fichero de datos.

                                  END → Se ejecuta después de haber leído el fichero de datos.

                                  who awk `{print $1, $3}' → Muestra de la orden who (terminales conectados) el campo 1 y 3.

                                  Ls -1 awk `/^d/ {d=d+1}' → Cuenta los directorios

                                  /^-/ {suma=suma+$5} → Tamaño de los ficheros convencionales

                                  END {print “Total directorios”, d, “tamaño ficheros”, suma} fichero

                                  Europa:Francia:50:600

                                  Ámca:Senegal:30:200

                                  Europa:España:40:550

                                  África:Marruecos:45:700

                                  Europa:Portugal: 12:140

                                  América:Venezuela:35:750

                                  Ej.: awk 'BEGIN {FS=";"}

                                  {print $2, $3, $4

                                  área=área+$4

                                  pob=pob+$3}

                                  END {print “Total área”, área, ”total población”, pob} fichero

                                  ! → NOT → lo que no tenga el patrón → !/hola!

                                  || → OR → que cumpla un solo patrón o todos → /hola/||/HOLA/

                                  && → AND → que cumpla los dos patrones → /hola/&&/HOLA/

                                  Length → devuelve la longitud de todo lo que queramos

                                  length ($0) → número de caracteres que tiene la línea.

                                  Dentro de las acciones podemos incluir sentencias:

                                  • if condiciones acciones

                                  = = → igual

                                  = → asignación

                                  < → menor

                                  > → mayor

                                  <= → menor o igual

                                  >= → mayor o igual

                                  != → diferente

                                  ~ → contiene

                                  !~ → no contiene

                                  • while condición acciones

                                  • for (valor_inicial; condición; actualización)

                                  break → se interrumpe el bucle y sigue por la orden siguiente al mismo

                                  continue → ignora las órdenes que hay después y vuelve a ejecutar el bucle

                                  next → lee la siguiente línea del fichero

                                  exit → se sale del proceso y volvemos al prompt

                                  Print → salida con formato

                                  %d: decimal

                                  %s: cadenas

                                  %f: número con coma flotante

                                  \: salto tabulación

                                  \n: salto de línea

                                  awk `$1 = = “Asia”&& $3 > 50 {print $2, $3}' fichero → comparación con un Y lógico

                                  awk `$3 > máximo {máximo = $3

                                  país = $2}

                                  END `{print “País de mayor población”, $2, “población”, máximo}' fichero

                                  awk `NR = = 1, NR= = 3 {print $O}' fichero → imprime las líneas de la 1 a la 3

                                  awk `/patrónl/, /patrón2/ {print $O}' fichero → imprime las líneas que haya entre patrónl y patrón2

                                  awk `{print NR “\t” $O}' fichero → imprime el n° de línea, tabulación y línea completa

                                  awk -F “:” `BEGIN {print “Informe de resultados”}

                                  NR = = 1 {previo = $1}

                                  $1 = = {pob = pob+$3}

                                  $1 != previo {print previo, pob; total = total+pob

                                  pob= $3

                                  previo = $1}

                                  END {print previo, pob

                                  print “total población mundial”, total}' fichero

                                • Arrays asociativos

                                • Awk `{array [NR] = $2}' fichero → array [1] = Francia

                                  array [2] = Senegal

                                  array [3] = España

                                  awk `{continente [$1] = continente [$1]+1}

                                  END {for (i in continente) {

                                  print i, continente [i]}' fichero

                                • Gestión de grupos y usuarios

                                • Normales

                                  De sistema → ejecutan algunos servidores (demonios)

                                  Tipos de usuarios Root

                                  Con login

                                  Sin login → usuarios de sistema o de archivos remotos

                                  • Adduser → Sirve para añadir usuarios. Asigna el shell /bin/bash a ese usuario y copia todos los ficheros y directorios que haya en /etc/skel al directorio personal del usuario (/home/usuario).

                                  • Adduser.com → Configuración establecida para crear usuarios

                                  DSHELL = /bin/bash: variables que establecen el shell del usuario

                                  DHOME =/home: directorio donde se van a crear los directorios personales de los usuarios

                                  SKEL = /etc/skel: configuración básica para los usuarios

                                  FIRST VID = 1000: establece el número mínimo de usuarios

                                  LAST VID = 29999: establece el número máximo de usuarios

                                  DIR MODE = 755: modo de acceso a los directorios

                                  • /etc/login.defs → hay 3 variables a definir obligatoriamente:

                                  MAN_DIR: establece un directorio para el correo electrónico

                                  ENV_SUPATH: establece la ruta de búsqueda de archivo para el root

                                  ENV PATH: establece la ruta de búsqueda de archivo para los usuarios normales

                                  Opcionales:

                                  FAIL_DELAY: establecemos el tiempo que va a tardar en volver a conectarse.

                                  UMASK 022: establece la máscara de usuario

                                  PASS_MAX_DAYS: máximo número de días para los que la contraseña es válida

                                  PASS- MIN-DAYS: mínimo número de días entre cambios de contraseña

                                  PASS_WARN_AGE: número de días para que nos avise antes de que la contraseña caduque.

                                  LOGIN_RETRIES: posibilidades de hacer login antes de bloquear la cuenta

                                  LOGIN_TIMEOUT: tiempo para hacer el login

                                  • Useradd -g grupo -G grupos _complementarios -d directorio_personal -s shell -m -k directorio usuario

                                  -g grupo: grupo principal al que va a pertenecer el usuario. Debe existir con anterioridad

                                  -G grupos _complementarios: grupos complementarios a los que quiero que pertenezca ese usuario

                                  -d directorio_personal: nombre del directorio personal del usuario

                                  -s shell: shell que va a cargar ese usuario por defecto

                                  -m: si el directorio personal del usuario no existe, lo crea en ese momento.

                                  -k directorio: directorio en el que se encuentra la configuración predeterminada

                                  usuario: nombre que le ponemos al usuario

                                  Para activar la cuenta hay que meterle una contraseña.

                                  • Passwd nombre_usuario → tiene unos valores por defecto que se encuentran en el fichero /etc/default/useradd. Estos valores podemos modificarlos ejecutando /usr/sbin/useradd -D

                                  • Usermod → modificar usuarios y el directorio personal de usuario

                                  -d directorio [-m]: mueve todo el contenido del directorio viejo al nuevo

                                  • Chsh -s shell usuario → cambiar el Shell

                                  • Deluser → borrar usuarios. Forma en la que va a borrar los usuarios: /etc/deluser.conf

                                  • Userdel → hace lo mismo que deluser

                                  -r: elimina el contenido del directorio personal de usuario

                                  • /etc/group

                                  • /etc/gshadow ficheros principales para la gestión de los grupos

                                  • Groupadd grupo → añadir grupos

                                  • Groupmod -n nombre_grupo grupo → modificar grupos

                                  • Groupdel → eliminar grupos

                                  • Gpasswd → gestionar grupos. Administra los ficheros /etc/group y /etc/gshadow

                                  gpasswd group: pide contraseña para el grupo

                                  -a: añade un usuario a un grupo

                                  -d: elimina un usuario de un grupo

                                  -A: administradores de grupo

                                • Ejecutar órdenes como si fuésemos administradores

                                • # parte alias: establece las cosas que quiero que haga un usuario

                                  /etc/sudoers

                                  # parte reglas: actúo con las cosas que he dado antes

                                  Sudo comando → para ejecutar órdenes

                                  Ej.: # parte alias

                                  Comando_alias → APAGAR = /sbin/halt

                                  user_alias → APAGADORES = user1, user2, Paco

                                  # parte reglas

                                  apagadores → ALL = NOPASSWD:APAGAR

                                • Permisos especiales

                                • SVID - 4

                                  SGID - 2

                                  Sticky bit - 1

                                  chmod 4 755 fichero → para que unos usuarios ejecuten el fichero con los permisos del que lo ha creado

                                  chmod 2 755 fichero → nivel de ejecución para el grupo

                                  chmod 1 755 directorio → los datos del directorio pueden ser borrados por los propietarios o por el root

                                  Tema 4: “Entorno gráfico de LINEX 2006”

                                  Usuario: root

                                  Contraseña: iesagora

                                • Configuración de vídeo y de la red

                                • Configuración de vídeo

                                • Para configurar todo lo que tiene que ver en el vídeo, imagen, etc.

                                  /etc/x11/XF86 Config -4

                                  vmware

                                  vesa

                                  dpkg -reconfigure xserver_xfree86 → para configurar ratón, teclado, etc,...

                                  El entorno gráfico es un proceso demonio (se carga en F7). Podemos detener el entorno gráfico en cualquier otro demonio:

                                  /etc/init.d/gdm start → para iniciar el entorno gráfico

                                  /etc/init.d/gdm stop → para detener el entorno gráfico

                                  /etc/init.d/gdm restart → para reiniciar el entorno gráfico

                                • Configuración de la red

                                • Pestaña de conexiones → después de añadir la tarjeta Ethernet con dhcp, la seleccionamos activar y aplicar.

                                  En modo consola → ifconfig para ver la tarjeta de red

                                  ifup: para activar la tarjeta de red

                                  ifdown: para desactivar la tarjeta de red

                                  /etc/network/interfaces: para la configuración de las órdenes ifup e ifdown

                                  En el navegador: http://127.0.0.1:631 para gestionar las opciones de impresión. Instalar y configurar impresoras, ver las colas de impresión, modificarlas, etc.

                                • Conexión remota a otra máquina

                                • ssh (nombre de usuario)@dirección de la máquina a la que queremos comunicarnos

                                  Nos pide la contraseña: diurno_04

                                  Salimos: exit

                                  Volvemos a entrar: ssh -X smmdia04@172.16.0.8

                                  Contraseña: diurno_04

                                  Nautilus

                                  Entramos en modo gráfico

                                • Transferencia remota de archivos

                                  • wget

                                  wget www.unilaboral.es/apuntes.zip → nos baja ese fichero

                                  wget www.unilaboral.es → nos baja sólo el índice de la página

                                  wget .r -k www.unilaboral.es → nos baja todo a mi PC, la página con todo lo que contiene

                                  • ftp

                                  ftp IP de la máquina a la que queremos conectarnos

                                  get fichero → para bajarme el fichero que yo quiera

                                  put fichero → para subir el fichero que quiera

                                  • scp

                                  scp fichero usuario@IP:// directorio destino → para copiar desde mi máquina a la máquina destino un fichero

                                  scp usuario@IP:// directorio | fichero | directorio destino

                                • Escritorio

                                • Carpeta de inicio: /boot/grub/menú.lst

                                  • Si instalamos Linex sobre Windows se pierde el gestor de arranque, para recuperarlo:

                                  Crear un disco de inicio (en Linex disquete de emergencia) → arranco → login: root →

                                  Grub_install/dev/hda

                                  • Si tenemos Windows y Linex y elimino Linex desaparece el gestor de arranque y no arranca Windows, para recuperarlo:

                                  Disco de arranque de Windows:

                                  fdisk /mbr

                                  fdisk (establecer la partición activa)

                                  Arrancar con el CD de Windows XP:

                                  Reparar

                                  Consola de recuperación del sistema:

                                  Fixboot (para regenerar el sector de arranque)

                                  Fixmbr

                                  Exit

                                • Ejecución diferida

                                • Fichero → /etc/crontab

                                  Minuto

                                  Hora

                                  Día

                                  Mes

                                  Día semana

                                  Usuario

                                  Comando

                                  30

                                  14

                                  *

                                  *

                                  *

                                  root

                                  halt

                                  Todos los días a las 14:30 se apaguen las máquinas

                                  30

                                  14

                                  *

                                  1-6

                                  9-12

                                  root

                                  halt

                                  Igual que antes pero del mes 1 al 6 y del 9 al 12

                                  0

                                  17

                                  15

                                  *

                                  *

                                  -

                                  -

                                  Todos los días 15 a las 17

                                  0/10

                                  *

                                  *

                                  *

                                  *

                                  root

                                  orden

                                  A partir de las en punto y cada 10 minutos

                                  0

                                  3/2

                                  *

                                  *

                                  *

                                  root

                                  orden

                                  Todos los días a partir de las 3 y cada 2 horas

                                • Órdenes para la consola

                                • pstree → nos dice los procesos que hay activos pero en forma de árbol

                                  free → memoria libre y usada

                                  top → como una orden ps pero interactiva

                                  fdisk → para preparar el disco

                                  fsck → como un scandisk

                                • Instalar o desinstalar paquetes

                                • Una de las aplicaciones esenciales del sistema es dkpg, la cual instala o desinstala paquetes en formato .deb (distribuciones basadas en Debian) directamente en la línea de comandos de una consola de texto o en una ventana del emulador de terminal de GNOME.

                                  • dpkg -i paquete → instala paquetes

                                  • dpkg -r paquete → desinstala paquetes preservando los ficheros de configuración por si son necesarios posteriormente.

                                  • dpkg -p paquete → desinstala paquetes eliminando todos los ficheros que componen la aplicación

                                  • dpkg -info paquete → proporciona información sobre un paquete

                                  • dpkg -contents paquete → informa sobre qué ficheros componen el paquete

                                  Podemos instalar y actualizar paquetes automáticamente a través de Internet mediante la herramienta apt-get. Su mayor ventaja es poder trabajar con diversas fuentes (disquetes, CD-ROM, fuentes remotas vía http y FTP).

                                  Para su funcionamiento, apt utiliza un archivo que informa de dónde se van a obtener los paquetes que queramos instalar, (/etc/apt/sources.list) y es esencial para que la utilidad funcione. En él se definen las distintas entradas en las que se buscarán los paquetes, por ejemplo:

                                  deb http://www.es.debian.org …

                                  deb cdrom: [Debian - GNU/Linux …]

                                  ftp://[usuario] [:contraseña] @host [:puerto]/

                                  Más información → man sources.list

                                  El fichero sources.list se configura en el proceso de instalación, si queremos añadir nuevos CD-ROM que contengan paquetes actualizados podemos introducir cada nuevo CD en el lector y teclear:

                                  apt-cdrom add

                                  Si queremos añadir otras fuentes, además de las de Cd, podemos teclear:

                                  apt-setup

                                  Conviene actualizar con frecuencia la lista de paquetes disponibles:

                                  apt-get update

                                  Una vez definidas las fuentes y construida la lista de paquetes disponibles, ya es posible instalar una aplicación que figura en dicha lista. Para ello tecleamos:

                                  apt-get aplicación

                                  24




    Descargar
    Enviado por:Valentín
    Idioma: castellano
    País: España

    Te va a interesar