Resumen de Etapas en UNIX
Al iniciar UNIX, el sistema sigue estos pasos:
- Informa la versión instalada.
- Solicita el login o nombre de usuario.
- Pide la password o contraseña.
- Muestra el prompt o símbolo del sistema.
- Ejecuta el archivo
.profile
.
Tipos de Shell y Ejecución
Tipos de Shell
Existen varias shells como Bourne shell, Korn shell, C shell, y Bash.
¿Qué es una Shell?
Es un archivo de texto con órdenes, programas y estructuras de control. Es ejecutable.
Ejecución de una Shell Script
- Llamando a la shell:
sh programa
obash programa
- Con el comando punto:
. programa
- Haciéndolo ejecutable:
chmod +x programa
y luego./programa
Metacaracteres en UNIX
Los metacaracteres tienen funciones especiales:
?
Sustituye un carácter.*
Sustituye uno o más caracteres.>
Redirecciona la salida.<
Redirecciona la entrada.>>
Añade salida al final del archivo.<<
Recibe entrada hasta una marca especificada.!
Negación lógica.[...]
Alternativa de caracteres.&
Ejecución en segundo plano.|
Redirecciona la salida de un comando a la entrada de otro (tubería).;
Separador de comandos.#
Comentario.
Procesos en Background y Separadores
Proceso en Background
Un proceso en background se ejecuta sin bloquear la terminal.
Separador de Órdenes
El ;
permite ejecutar múltiples comandos en una línea.
Ejemplo de [...]
ls -l b[aiou]rra
lista archivos que comienzan con ‘b’, seguido de ‘a’, ‘i’, ‘o’ o ‘u’, y terminan en ‘rra’.
Utilidades del Comando cat
El comando cat
tiene tres usos principales:
- Visualizar contenido:
cat texto.txt
- Escribir en un archivo:
cat texto.txt > nuevo.txt
- Añadir contenido:
cat texto.txt >> nuevo.txt
Para concatenar archivos: cat fichero1 fichero2 fichero3 > nuevo
Comandos Útiles en UNIX
cp
: Copiar archivos.rm
: Borrar archivos.mv
: Mover o renombrar archivos.grep
: Buscar patrones en archivos.find
: Buscar archivos.find -type
: Por tipo.find -ctime
: Por fecha de modificación.find -newer
: Más nuevos que un archivo.find -name
: Por nombre.
wc
: Contar líneas, palabras y caracteres.sort
: Ordenar líneas de texto.diff
: Comparar archivos.tar
: Empaquetar archivos.
Modos de vi
vi
tiene dos modos: comando y edición.
Entrar y Salir de vi
Entrar: vi
o vi texto.txt
. Modo por defecto: comando.
Salir: :q
(si no hay cambios), :q!
(sin guardar), :wq
(guardar y salir).
Streams Estándar
Hay tres streams estándar: entrada (0), salida (1) y errores (2).
Redirigir errores: cp texto.txt /tmp 2> errores.log
Comandos Adicionales
df
: Espacio libre en disco.du
: Espacio usado por archivos.head
: Primeras líneas de un archivo.passwd
: Cambiar contraseña.sed
: Editor de líneas.tail
: Últimas líneas de un archivo.ls
: Listar directorio.find
: Buscar archivos.lp
: Imprimir.
Diferencias entre UNIX y DOS
- UNIX es multiusuario y multitarea; DOS es monousuario y monotarea.
- UNIX prioriza la seguridad; DOS no.
- UNIX es potente en comunicaciones; DOS no.
- UNIX distingue mayúsculas y minúsculas; DOS no.
Normas en la Línea de Comandos
- Distinción entre mayúsculas y minúsculas.
- Espacio entre comando y opciones, precedidas por
-
. - Espacio entre opciones y argumentos.
- Separar comandos con
;
.
Directorios Importantes
/
: Directorio raíz./bin
: Binarios esenciales./dev
: Archivos de dispositivos./etc
: Archivos de configuración./lib
: Librerías./tmp
: Archivos temporales./home
: Directorios de usuarios.
Comandos de Directorios
pwd
: Ruta del directorio actual.cd
: Cambiar directorio.cd
(Enter): Ir al directorio personal.cd -
: Volver al directorio anterior.
mkdir
: Crear directorio.rmdir
: Borrar directorio.ls
: Listar contenido.ls -a
: Mostrar todos los archivos.ls -l
: Listado largo.
Comandos de vi
- Borrar línea:
cc
- Borrar 7 líneas:
7cc
- Deshacer:
u
- Insertar línea en blanco:
o
- Borrar carácter:
x
- Insertar desde cursor:
i
- Insertar después del cursor:
a
- Buscar hacia adelante:
/una
- Repetir búsqueda:
/
- Buscar hacia atrás:
?una
- Repetir búsqueda hacia atrás:
?
- Borrar palabra:
dw
- Borrar palabra hacia atrás:
db
- Borrar hasta fin de línea:
d$
- Borrar hasta patrón:
d/cadena/
- Salir de inserción:
ESC
- Guardar:
:w
- Salir y guardar:
:q
- Salir sin guardar:
:q!
Historial de Comandos
history
muestra el historial. .bash_history
guarda el historial. !n
ejecuta el comando n del historial.
Otros Comandos Útiles
alias
: Crear atajos de comandos.break
: Salir de bucles.read
: Leer entrada del usuario.set
: Mostrar o establecer variables.shift
: Desplazar parámetros.unalias
: Eliminar alias.
Archivo password
y Variables
El archivo /etc/passwd
contiene información de usuarios. Las contraseñas cifradas están en /etc/shadow
.
Hay un profile
global en /etc
y uno personal en el directorio del usuario.
Variables Importantes
PS1
: Prompt primario.PS2
: Prompt secundario.PATH
: Rutas de ejecutables.HOME
: Directorio personal.PWD
: Directorio actual.HISTFILE
: Archivo del historial.HISTSIZE
: Tamaño del historial.
Para usar una variable: $nombre_variable
Componentes de UNIX
- Hardware: Componentes físicos.
- Kernel: Núcleo del sistema.
- Shell: Intérprete de comandos.
- Área de usuario: Aplicaciones.
Funciones de la
shell. Diferentes shells existentes.
La shell se puede estudiar desde dos puntos de vista:
1. Como intérprete de comandos, es el encargado de analizar, interpretar y ejecutar todas aquellas órdenes o comandos introducidos por el usuario.
2. Como lenguaje de programación, el Shell permite la escritura de programas utilizando estructuras de control, variables e instrucciones. Los ficheros contenedores de estos programas se denominan Shell scripts o procedimientos Shell.
Bourne shell, Korn shell, C shell, Bash, etc
21. Explicar la utilidad de las órdenes: date, who, who am I, tty, echo, banner, id, cal.
date muestra la fecha
who muestra el listado de usuarios conectados en el sistema informático
who am i muestra el nombre del usuario
tty muestra el nombre del Terminal en el que se está trabajando
echo muestra un mensaje en pantalla
banner muestra un mensaje en pantalla
id muestra el identificador del usuario
cal muestra el calendario
22. Explicar lo que es el inodo del fichero.
El inodo del fichero es una tabla donde se almacena información relativa al fichero, como, por ejemplo, el tipo de fichero, los bits de protección (que determinan los permisos de acceso al fichero), el ID del propietario (número que indica quién o quiénes son los propietarios del fichero), el ID del grupo (número que indica el grupo de usuarios al que pertenece el fichero), tamaño del fichero, fecha y hora (del último acceso, de la última modificación, etc.), etc.
Cada inodo queda identificado por un número entero, único dentro del sistema de ficheros, y los directorios recogen una lista de parejas formadas por un número de inodo y nombre identificativo que permite acceder al archivo en cuestión: cada archivo tiene un único inodo, pero puede tener más de un nombre en distintos o incluso en el mismo directorio para facilitar su localización.
23. Explicar los tipos de ficheros existentes en UNIX.
1. Ordinarios: contienen programas y datos.
2. Directorios: Contienen listas de ficheros.
Cada entrada en el directorio consta de:
· El nombre de un fichero.
· Un número que informa sobre el descriptor (inodo) del fichero.
En UNIX un directorio tiene la consideración de fichero.
3. Especiales: Son aquellos ficheros encargados del control de dispositivos periféricos, como, por ejemplo, la memoria interna, los dispositivos de entrada/salida, etc.
24. Explicar los campos de cada una de las líneas que aparecen en pantalla al ejecutar el comando ls -l.
Un carácter que indica el tipo del archivo (si es ordinario, directorio, enlace, de bloques, etc)
Permisos de lectura, escritura y ejecución del propietario
Permisos de lectura, escritura y ejecución del grupo al que pertenece el propietario
Permisos de lectura, escritura y ejecución del resto del mundo
Número de enlaces
Nombre de login del propietario
Nombre del grupo del propietario
Tamaño en bytes
Fecha y hora de creación o de la última modificación
Nombre del fichero o directorio
25. Permisos de acceso.
La gestión de los permisos en UNIX se hace dando a cada fichero tres permisos: de lectura (r), de escritura (w), y de ejecución (x). En el caso de un directorio el permiso de ejecución se refiere a la posibilidad de entrar en él, es decir, de poder establecerlo como directorio activo.
Además, respecto a los permisos, UNIX considera tres tipos de usuarios: el propietario del archivo (u), usuarios que pertenezcan al mismo grupo que el propietario (g) y el resto del mundo (o).
26. Utilidades de las órdenes umask y chmod.
umask permite establecer los permisos por defecto que tendrán al crearse los ficheros y directorios
chmod permite cambiar los permisos de un fichero o directorio
27. Redirección, tuberías y filtros.
Su principal objetivo es la interconexión de procesos, de manera que la salida o la entrada estándar de una orden pueda ser redirigida a cualquier otro dispositivo o fichero.
Existen cuatro operadores para redireccionar la salida o entrada estándar de una orden o comando: , >.
Las tuberías, o pipes, permiten tomar la salida de un comando como entrada de otro. Estos comandos se enlazan entre sí a través del operador «|» (barra vertical).
Los filtros son programas que manipulan la salida de un comando antes de que ésta sea mostrada o volcada sobre el dispositivo correspondiente o utilizada por un segundo comando.
28. Explicar cómo se crea una variable de usuario y cómo se le asigna un valor. Explicar qué hay que hacer para visualizar el nombre de la variable y su valor por la pantalla.
Para crear una variable se debe definir su contenido mediante una simple asignación.
Nombre_variable = valor
Para recuperar su contenido es suficiente con poner el símbolo dólar (‘$’) delante del nombre de la variable.
Así, Para visualizar el nombre de la variable ejecutaríamos:
echo Nombre_variable
Y para visualizar en la pantalla su contenido, deberíamos ejecutar:
echo $Nombre_variable
29. ¿Qué es el shell?¿Qué importancia tiene en el sistema operativo UNIX?
Una vez que hemos accedido o nos hemos conectado con existo, se inicializa el intérprete de comandos,llamado Shell, que a su vez se encarga de ejecutar los comandos que se encuentran en el fichero .profile
Finalmente, se muestra en pantalla el símbolo indicador del sistema, que es el dólar ($). A partir de este momento, cada vez que el usuario introduce una orden o nombre de programa, el Shell verifica la sintaxis del comando, lo busca y una vez localizado lo pone en ejecución, suspendiéndose a si mismo hasta que el programa finaliza.
El Shell es también un lenguaje de programación interpretado, es decir, un lenguaje de alto nivel que nos ofrece estructuras de control, variables, instrucciones, etc.
El Shell es la parte del sistema operativo UNIX que se hace visible al usuario, es decir, que es el intermediario entre el sistema operativo básico (kernel) y el usuario.
30. ¿Qué es y para qué se utiliza el fichero .profile?
Es un fichero que contiene distinto tipo de personalizaciones que se efectúan cada vez que se abre una shell. Hay un archivo .profile global, que está en /etc y se ejecuta para todas las shelles y otro personal, que está en el subdirectorio del usuario. El usuario puede personalizar este último de acuerdo a sus necesidades, pues es fácilmente modificable con cualquier procesador de textos, ya que es un fichero ASCII.
31. Enumerar las capas en las que se estructura el sistema operativo UNIX y explicar la relación que se establece entre ellas.
Hardware: son los componentes físicos que forman parte del sistema
Núcleo o Kernel: Es la parte más interna y más unida al hardware.
Shell: El Shell o intérprete de comandos es el que permite establecer la comunicación entre usuario y sistema. Actúa de intermediario entre el Núcleo y el Área de usuario.
Área de usuario: Es la capa más exterior del sistema informático. En ella se ejecutan los programas de aplicación y es con la que se relaciona directamente el usuario
32. ¿Qué es el núcleo o Kernel?
Es la parte más interna y más unida al hardware. Reside permanentemente en memoria y se encarga de realizar la funciones de bajo nivel, la asignación y planificación de los recursos del sistema, la gestión de los servicios de la Shell, el manejo de los procesos y las interrupciones, la gestión de memoria, la supervisión de los periféricos, el control de las comunicaciones, etc.
33. Determinar si los siguientes permisos corresponden a ficheros o a directorios y explicar el significado que tiene cada uno de ellos:
a) -rwx—r –
b) dr-xr-xr-x
c) -rwxr-xr-
d) drwxrwxrwx
34. ¿Qué resultado produce la ejecución de las siguientes órdenes?
$ls
$ls -l
$ls -l /lib > librerias
$ls -a
$ls /bin
$ls -al /etc
$rm -i /usr/ntl/alu*
$rm -r /usr/quero/*.*
$rm fich1 fich2 fich3
$mv fich1 fich2 fich3
$mv fich1 fich2 fich3 directorio
$mkdir texto1
$cd texto1
$mkdir texto1A
$ls
$ls ..
$cd ..
$grep totales usr/ntl/facturas
$grep Juan usr/quero/agenda
$grep ‘Juan’ usr/quero/agenda
35. ¿Qué resultado produce la ejecución de las siguientes órdenes?
$chmod g-r carta
$chmod o+rwx carta
$chmod o-r, g+w carta
$chmod go+w documento
$chmod +x notas
36. Escribir la orden capaz de:
a) crear una salida para visualizar el contenido del fichero carta
b) redireccionar la salida de la orden al fichero carta2
c) además de redireccionar la salida de la orden al fichero carta2, redireccionar los errores producidos al fichero error2
cat carta
cat carta > carta2
cat carta > carta2 2> error2
37. Explicar la utilidad de los comandos: ln, write, ftp (explicar los dos tipos de conexiones posibles, cómo se puede bajar un archivo desde el ordenador remoto al local, cómo se puede bajar varios archivos usando comodines desde el ordenador remoto al local, cómo se puede subir un archivo desde el ordenador local al remoto, y cómo se pueden subir varios archivos desde el ordenador local al remoto usando comodines), telnet, ps, kill.
ln creación de enlaces, tanto duros como simbólicos
write permite enviar mensajes a otros usuarios conectados al mismo sistema informático
ftp permite el intercambio de archivos en red
conexión anónima y conexión con login
get fichero
mget archivo*.txt
put fichero
mput archivo*.txt
telnet abrir sesiones remotas en un ordenador
ps listar los procesos que se están ejecutando
kill obligar a finalizar un proceso
38. Dar los tres comandos que se utilizan para visualizar el contenido de un archivo y explicar lo característico de cada uno de ellos.
cat, more y less
cat archivo vuelca a pantalla el contenido del archivo, todo seguido, de tal manera que si dicho contenido tiene una extensión mayor que la de una pantalla sólo se puede leer con comodidad la última pantalla
more archivo vuelca a pantalla el contenido de archivo pero por pantallas, es decir, llena una pantalla y se queda esperando a que pulsemos una tecla para mostrar la siguiente pantalla. Permite avanzar de línea en línea o de pantalla en pantalla, pero no permite retroceder
less archivo es equivalente a more, pero además permite retroceder, es decir volver a mostrar líneas y pantallas que ya habían sido sobrepasadas (que ya habían salida por arriba fuera de la pantalla)
39. Explicar qué es un enlace, los tipos de enlaces que existen en Linux y comando para crear enlaces.
El significado de la palabra enlace depende del tipo de enlace de que se trate.
En Linux hay dos tipos de enlaces:
1. Enlaces duros: es otro nombre para un fichero dado
2. Enlaces blandos o enlaces simbólicos: es un pequeño fichero que contiene información del camino que conduce al archivo enlazado (viene a ser un enlace directo)
El comando ln origen enlace crea un enlace duro
El comando ln -s origen enlace crea un enlace simbólico