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
-
KERNELL → Núcleo del Sistema Operativo. Se encarga de:
-
SHELL → Intérprete de comandos. Se encarga de:
-
MANDATOS
-
Procesos
-
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
-
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:
-
Directorios que se cargan al iniciar UNIX
-
/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
-
Leer
-
Escribir
-
Ejecutar
-
Propietario
-
Grupo
-
Público
-
Redireccionamientos, caracteres comodín y variables de entorno
-
Redireccionamientos
-
Caracteres comodín
-
? → 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
-
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.
-
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
-
Ejecuta todos los ficheros de /etc/rcSd por orden alfabético y por número.
-
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
-
Modo gráfico → $Home/.bashrc
-
Ó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
-
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)
-
Df → Da un informe de bloques libres de disco duro medidos en bloques físicos (512 k)
-
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
-
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.
-
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
-
Id → Devuelve el número de identificación de usuario y grupo
-
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
-
Mkdir → Crea uno o más directorios
-
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
-
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
-
Cat → Ve el contenido de uno o más ficheros: cat fichero fich1 fich2
-
Cp → Copia uno o más ficheros
-
Rm → Borra uno o más ficheros
-
Mv → Mueve ficheros y renombra ficheros y directorios
-
Ln → Crea enlaces entre ficheros
-
File → Nos dice qe qué tipo son los datos de un fichero
-
Head → Muestra las 10 primeras líneas de un fichero
-
Tail → Muestra las 10 últimas líneas de un fichero
-
Pg → Muestra pantalla a pantalla el contenido de un fichero.
-
More → Muestra el contenido de uno o más ficheros pantalla a pantalla
-
Less → Sirve para paginar uno o más ficheros
-
Find → Busca ficheros que cumplan una o más condiciones
-
Grep → Busca cadenas de texto dentro de un fichero o ficheros.
-
Nl → Muestra un fichero poniendo el número de líneas a la izquierda
-
Wc → Muestra el número de líneas, palabras y caracteres que tiene un fichero.
-
Sort → Sirve para ordenar un fichero
-
Cpio (copy in/out) → Coge un conjunto de ficheros y genera un único archivo de salida
-
Mount → Sirve para montar dispositivos.
-
Tar (type archive) → Coge un conjunto de ficheros y genera un único archivo de salida.
-
Chmod → Cambia el modo de acceso a los ficheros
-
Umask → Visualiza la máscara de un fichero
-
Chown [-R] nuevo_propietario fichero → Traspasa la propiedad de un fichero a otro usuario
-
Chgrp [-R] nuevo_grupo ficehro → Traspasa la propiedad de un fichero a otro grupo
-
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
-
Tr [opciones] cadena1 cadena2 → Reemplaza cadenas de caracteres o clases de caracteres.
-
Sed → Sustituye cadenas muy grandes de caracteres.
-
Man → Manual de ayuda de la orden que queramos
-
Cut → Corta o selecciona partes de un fichero
-
Ps → Muestra información sobre el estado de los procesos
-
Nice → Modifica la prioridad de un proceso (0-39)
-
Jobs → Muestra todos los procesos que tengo en segundo plano
-
Kill → Sirve para matar un proceso
-
Tee fichero → Sale el resultado de la orden a la que acompaña por pantalla y el resultado lo almacena en un fichero.
-
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.
-
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.
-
Comm [opciones] fichero1 fichero2 → Compara ficheros, pero tienen que estar ordenados.
-
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.
-
Diff3 → Sirve para comparar tres ficheros.
-
Sum → Sirve para comparar muchos ficheros.
-
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.
-
Join [opciones] fichero1 fichero2 → Hace lo mismo que paste pero con dos ficheros ordenados.
-
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.
-
Csplit → Sirve para dividir ficheros en otros más pequeños por palabras claves.
-
Lp → Manda un fichero a la impresora.
-
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
-
Pr → Prepara un trabajo antes de imprimirlo.
-
Lpmove → Cambia los trabajos de impresora.
-
Passwd → Sirve para cambiar o crear una contraseña
-
At → Realiza una o varias tareas en una fecha determinada.
-
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.
-
W → Hace lo mismo que finger y también nos dice que están haciendo los usuarios.
-
Last: Lista de los últimos usuarios que han entrado en el sistema.
-
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)
-
Entrada de texto
-
Movimiento
-
Eliminar
-
Otras funciones
-
Modo última línea
-
Shell script
-
Estructuras de control
-
Dentro de los bucles podemos utilizar una de estas tres órdenes:
-
Read variable → Lee una variable desde teclado
-
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:
-
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
-
Let → Realiza operaciones aritméticas (es como expr).
-
La utilidad AWK
-
if condiciones acciones
-
while condición acciones
-
for (valor_inicial; condición; actualización)
-
Arrays asociativos
-
Gestión de grupos y usuarios
-
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
-
/etc/login.defs → hay 3 variables a definir obligatoriamente:
-
Useradd -g grupo -G grupos _complementarios -d directorio_personal -s shell -m -k directorio usuario
-
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
-
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
-
/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
-
Ejecutar órdenes como si fuésemos administradores
-
Permisos especiales
-
Configuración de vídeo y de la red
-
Configuración de vídeo
-
Configuración de la red
-
Conexión remota a otra máquina
-
Transferencia remota de archivos
-
wget
-
ftp
-
scp
-
Escritorio
-
Si instalamos Linex sobre Windows se pierde el gestor de arranque, para recuperarlo:
-
Si tenemos Windows y Linex y elimino Linex desaparece el gestor de arranque y no arranca Windows, para recuperarlo:
-
Ejecución diferida
-
Órdenes para la consola
-
Instalar o desinstalar paquetes
-
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
UNIX está compuesto por:
Planificar recursos (procesos)
Asignar recursos a dichos procesos
Asignar memoria
Supervisar la transmisión de datos
Controlar el acceso a los periféricos
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
Comando [opciones] [expresión] [fichero]
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”.
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.
/dev/console → consola
/dev/hda → unidad de disco duro
/dev/lp0 → impresora
/dev/fd0 → disquetera
/dev/tty → terminales
/dev/null → nulo
Algunos de los directorios que se cargan al iniciar UNIX son:
Podemos realizar tres operaciones sobre los ficheros:
También nos podemos encontrar con tres tipos de usuarios:
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.
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)
Algunos de los caracteres comodines son:
Algunas de las variables de entorno que existen son:
Para ver el contenido de estas variables utilizo la orden ECHO y la variable entre $.
0 → half (apagar el sistema)
1 → modo monousuario
2-5 → modo multiusuario
6 → reboot (reiniciar el sistema)
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
$Home/.bash_profile
$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
-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
-k: Informe en bloques lógicos (1024 b = 1kb)
-s: Bloques usados
-a: Muestra los ficheros y su tamaño
-k: Informe en bloques lógicos (1024 b = 1kb)
-a: Muestra todas las opciones que hay
-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
-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)
-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
-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
-p: Crea una rama de directorios
-m modo: Modo de acceso para crear un directorio
-p: Borra una rama entera de directorios vacíos
-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
Crea ficheros desde la consola: cat > fichero y para terminar ctrol + D
Concatena ficheros: cat fich1 fich2 fich3 > resultado
-i: Pide confirmación para copiar un fichero
-R: Copia un directorio completo en otro directorio
-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
-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
-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
-f nombre_fichero: Nos dice de qué tipo son los datos de todos los ficheros que haya en nombre_fichero.
-n número: Muestra el número de líneas que yo quiera
-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.
-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
-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
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
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
-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.
-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
-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
-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
-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
/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 [-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
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
[-R]: Hace la operación de manera recursiva
[-R]: Hace la operación de manera recursiva
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.
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 `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.
-k tema: Equivale a la orden apropost tema
-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
-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 = 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)
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
-9: Elimina incondicionalmente el proceso
-a fichero: Si el fichero existe y contiene información, añade la información al final.
-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.
-r: Compara el contenido de directorios.
-h: Menos riguroso. Más rápido.
-w: No compara espacios en blanco ni tabulaciones.
-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.
-o fichero: Almacena las líneas que son iguales en ambos ficheros.
-s: Nos muestra las líneas iguales.
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 ls ---: Saca la información de ls en tres columnas.
-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.
-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 -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.
-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.
-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.
-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.
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.
-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.
-r número: Borra un trabajo de la lista.
-l: Lista de todos los trabajos diferidos.
-l: Formato detallado
-l: Formato largo
-s: Formato corto
-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
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
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
$ → 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
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
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
: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.
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.
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
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.
Echo dame un número
Read num read -p “Dame un número:” num
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
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.
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:
= = → igual
= → asignación
< → menor
> → mayor
<= → menor o igual
>= → mayor o igual
!= → diferente
~ → contiene
!~ → no contiene
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
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
Normales
De sistema → ejecutan algunos servidores (demonios)
Tipos de usuarios Root
Con login
Sin login → usuarios de sistema o de archivos remotos
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
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
-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.
-d directorio [-m]: mueve todo el contenido del directorio viejo al nuevo
-r: elimina el contenido del directorio personal de usuario
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
# 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
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
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
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.
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
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 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 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
Carpeta de inicio: /boot/grub/menú.lst
Crear un disco de inicio (en Linex disquete de emergencia) → arranco → login: root →
Grub_install/dev/hda
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
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 |
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
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.
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 |