T2: CONCEPTOS BÁSICOS
LINUX
Características generales
de Linux
• Linux es un sistema operativo muy empleado en la
actualidad y de gran difusión, debido principalmente a
que es de libre distribución.
• Este sistema operativo multiusuario incorpora programas
de configuración, además de los básicos. Es más fácil
de instalar y no necesita un hardware especial.
Características generales
de Linux
COMPONENTES DE LINUX
• ¿Qué es el Kernel?
• Es la capa más interna del S.O. Entre otras funciones el núcleo tiene que:
• Secuenciar los procesos
• Atender la petición de servicios que realicen los procesos existentes
• Reservar espacio de memoria y disco
• Supervisar la transmisión de datos entre los periféricos y la memoria
principal.
• Cada programa se relaciona con la máquina a través del núcleo. Un
programa realiza sobre el núcleo las denominadas llamadas al sistema.
• El núcleo del sistema operativo Linux o Kernel, actúa directamente con
los elementos físicos del ordenador, se carga en memoria al arrancar la
máquina, y permanece en ella hasta que ésta se apaga.
EL KERNEL NUNCA
TRABAJA
DIRECTAMENTE
PARA EL USUARIO
COMPONENTES DE LINUX
• ¿Qué son los módulos?
• Los módulos son partes del kernel que no son
compiladas dentro del bloque que éste supone y que
no están cargados constantemente en memoria, sino
sólo cuando se van a utilizar. Estos pueden ser
código de red, drivers diversos…
Para poder configurar un dispositivo
controlado por un módulo se puede utilizar
modconf o emplear las herramientas del
paquete modutils
COMPONENTES DE LINUX
• ¿Qué es la Shell?
• Es el intérprete de comandos, por tanto es la interfaz entre el usuario y el
sistema operativo. La función del Shell es:
• RECIBIR LA ORDENES DEL USUARIO A TRAVES DE LA LINEA DE
COMANDO, INTERPRETARLAS, EJECUTARLAS Y MOSTRAR SU
RESULTADO.
• Cuando se inicia el sistema aparecerá un terminal para hacer login,
posteriormente se mostrará un prompt con un aspecto parecido a:
• usuario@nombrequipo: símbolo $(usuario normal) o #(usuario administrador)
• Cuando el usuario se conecta al sistema Linux, se inicia automáticamente un
programa de shell. Éste es el denominado shell de presentación. Este shell
se carga de forma automática cuando se accede al fichero /etc/passwd.
Este archivo contiene la información que el sistema necesita conocer de cada
usuario. En cuanto se inicia el shell de presentación, se busca el
fichero .profile dentro del directorio activo. Este fichero contiene órdenes
que sirven para personalizar el entorno de trabajo
Componentes de linux
Funciones del shell
• En general, todas las órdenes de Linux son programas que están almacenados
en el sistema de archivos. La sintaxis de las órdenes es la siguiente:
• Orden: Indica al intérprete de comandos, o shell, la acción a realizar.
• Modificadores u opciones: Las opciones se introducen precedidas del carácter
-.
• Argumentos: Caracteres que se utilizan como entrada del comando. El
argumento puede ser un archivo o un directorio.
$orden [-modificadores] [argumentos]
1.¿Qué tipos de SHELL HAY?
2.¿Cuál es la más utilizada?
3.¿Hay diferencias entre ellas?
4.¿Es posible ver qué Shell hay
instaladas?
TAREA 1_1
COMPONENTES DE LINUX
• Lo normal es que con cualquier
sistema Linux se incluyan distintos
tipos de Shell para poder elegir
aquella que más se adapte a
nuestras necesidades:
• Bourne Shell
• C-Shell
• Bourne Again Shell (bash) es el
interprete de comandos más utilizado
prompt
Se dice prompt al carácter o
conjunto de caracteres que
se muestran en una línea de
comandos para indicar que
el sistema está a la espera
de órdenes. El prompt
puede variar dependiendo
del intérprete de comandos
y suele ser configurable.
Para indicar que espera una instrucción, el shell presenta un prompt al
principio de la línea.
distribuciones
• El kernel del sistema operativo Linux fue desarrollado por Linus
Torwards y licenciado bajo GPL. Pero un sistema GNU/Linux no es
sólo su núcleo ya que existen hoy en día un gran número de
aplicaciones desarrolladas también bajo licencias libres que
permiten que los sistemas GNU/Linux tengan una gran
versatibilidad y funcionalidad
• Existen muchas aplicaciones desarrolladas bajo licencia libre pero,
sin duda alguna, las más importantes son:
• OpenOffice http://www.openoffice.org/
• Apache http://www.apache.org/
• Firefox http://www.mozilla.org/es-ES/firefox/new/
Distribuciones
• Existen muchas iniciativas tanto empresariales como
gubernamentales para crear su propia distribución. Un claro
ejemplo lo puedes encontrar en las distribuciones Guadalinex (de
la Junta de Andalucía), gnuLinex (de Extremadura), tripxbox
(distribución empresarial de telefonía IP), etcétera.
• A partir de la libertad de los usuarios, empresas y organismos
para personalizar su propia distribución han surgido una gran
cantidad de distribuciones que nacen, evolucionan, derivan en
otras distribuciones y como no, algunas mueren.
Algunas distribuciones Linux
https://es.digitaltrends.com/computadoras/
distribuciones-linux/
https://computerhoy.com/listas/
software/mejores-distribuciones-linux-
2018-75139
Generalidades de Linux
• El sistema operativo Linux es un sistema operativo multiusuario.
Por otro lado, es multitarea, es decir, el sistema permite que los
usuarios estén ejecutando varias aplicaciones simultáneamente
utilizando la técnica de tiempo compartido. Dispone de otras
características, como:
• Algoritmo por prioridades o multinivel. Es uno de
los más complejos y eficaces. Asigna los tiempos de
ejecución de la CPU según una lista de prioridades.
• Memoria virtual. Usando esta técnica permite a los
usuarios del sistema ejecutar programas de tal forma
que éstos tienen la sensación de que toda la memoria
RAM es para ellos.
Generalidades de Linux
• Sistema de archivos jerárquico. Utiliza, de forma similar al DOS, un sistema de
archivos en forma de árbol invertido. Linux gestiona los dispositivos como si fueran
directorios
• Comunicación con otros ordenadores. Un sistema Linux permite no sólo
trabajar con él en una máquina, sino que permite conectar varios ordenadores
centrales Linux entre sí para que cada usuario tenga acceso a la información
contenida en todos ellos.
• Sistemas de seguridad. El administrador del sistema operativo, a través de
palabras clave (para archivos empaquetados o comprimidos) o mediante la
asignación de derechos a los usuarios, hace que la información contenida en un
servidor Linux esté totalmente protegida de piratas informáticos o usuarios no
deseados.
• Interfaz de texto/gráfica. Lo normal es que la interfaz utilizada por Linux sea de
tipo texto. Poco a poco se han ido incorporando mejoras que permiten gestionar el
sistema operativo de modo gráfico.
¿Sabías que?
El entorno de escritorio de cada distribución Linux influye en
el consumo de recursos
Hay distribuciones que tienen una versión con varios de ellos,
como Ubuntu y Linux Mint. Algunos de los entornos más
famosos son:
•Gnome
•KDE
•Unity
•Cinnamon
•Mate
•KFCE
•LXDE
•Budgie
•Pantheon
https://victorhckinthefreeworld.com/2020/02/28/38-gestores-de-
ventanas-o-entornos-de-escritorio-para-linux/
Introduccion: la instalacion
• Durante la instalación de Linux se van a crear tres particiones:
• Partición de intercambio (swap) la utiliza el sistema como memoria virtual, el
tamaño de esta partición será, como mínimo, equivalente al de la memoria RAM del
equipo. Como norma general se establece que sea el doble de tamaño que la
memoria RAM disponible, si alguien se pregunta si es o no necesaria esta partición,
la respuesta es: sí, es necesaria, aunque tengamos mucha RAM.
• Partición raíz (/) para el sistema operativo y las aplicaciones, el tamaño para esta
partición con un uso normal perfectamente puede ser de 10GB. Si vamos a instalar
más programas es recomendable darle un poco más de espacio.
• Partición home (/home) donde se guardarán todos los datos personales del
usuario, así como los archivos y carpetas de todos los usuarios que tengan cuenta
en nuestro equipo. La ventaja de tener una partición independiente para /home es
que si en algún momento queremos reinstalar Ubuntu, no perderemos la nuestra
carpeta personal.
Ubuntu
• En Ubuntu existen tres versiones: Desktop (para
equipos de escritorio), Netbook (para portátiles) y
Server (para servidores). Además, para cada tipo
puedes utilizar la versión de 32 bits y de 64 bits.
• En la página oficial de ubuntu puedes descargar
la versión Ubuntu Desktop:
http://www.ubuntu.com/
• También en https://distrowatch.com/
INTRODUCCION: LA INTERFAZ DE UBUNTU
• Los sistemas GNU/Linux tienen diversos entornos gráficos, muy
potentes, que permiten utilizar el sistema fácilmente.
• X-Windows proporciona una interfaz gráfica (GUI) al mundo de Linux. X-
Windows, al igual que el sistema operativo Windows de Microsoft, ofrece
una forma de manejo de algunos de los elementos de interacción más
comunes como ventanas, cuadros de diálogo, botones y menús.
• En el caso de Ubuntu permite utilizar los tres principales entornos de
escritorio GUI(Graphical User Interfaces o Interfaces Gráficas de
Usuario). GNOME está orientado a la simplicidad, KDE ofrece un mayor
conjunto de aplicaciones así como posibilidades de caracterización por
defecto, o Xfce está optimizado para su uso con requisitos hardware
bajos. Aparte de los citados, es posible utilizar otros entornos de escritorio
Por defecto Ubuntu Desktop utiliza el entorno gráfico GNOME.
Las actualizaciones
• Igual que cualquier otro sistema operativo es importante que
Ubuntu esté actualizado, desde el escritorio podemos tener
activada la opción “Software y actualizaciones”. En la pestaña de
Actualizaciones es posible dejar “marcado” las opciones que
permita tanto recibir todas las actualizaciones como buscar
nuevas actualizaciones todos los días por defecto. En caso de que
haya actualizaciones de seguridad, estas se bajarán e instalarán
automáticamente; las demás actualizaciones (de paquetes,
programas, calidad, etc) suelen mostrase de forma semanal
• También podemos actualizar desde terminal con sudo apt update
• Es posible también configurar que se desea hacer con las nuevas
versiones de Ubuntu.
Webmin
• Webmin es una interfaz web que permite administrar el sistema de una
forma cómoda y sencilla a través de cualquier equipo utilizando un
navegador web. Por ejemplo, webmin permite administrar los usuarios del
sistema, rendimiento del equipo, copias de seguridad, etc.
• La página web de webmin es : http://www.webmin.com/
• El proceso de instalación es muy sencillo
• Una vez finalizado el proceso de instalación el sistema indica que hay que
acceder a webmin a través de la
dirección https://localhost:10000.
• Al acceder a webmin debes autentificarse en el sistema como root
Tarea 1_2
1. ¿Qué es Unity?
2. ¿Qué es livepatch?
2. Instala hardinfo en tu máquina con sistema operativo Ubuntu.
3. Ejecuta el software y observa la información que proporciona. ¿Qué
conclusiones obtienes de ellas? Redacta un documento en el que
incluyas las características del procesador, la memoria así como los
dispositivos instalados.
El sistema de archivos en Linux
• Al contrario que en Windows el sistema de archivos en
cualquier sistema Unix no está ligado de una forma
directa con la estructura del hardware, o sea es
independiente del número de discos duros del ordenador
y no se crean unidades c:, d: o m:.
• Todos el sistema de archivos tiene un origen único la
raíz o root representada por /.
• Bajo este directorio se encuentran todos los ficheros a
los que puede acceder el sistema operativo.
El sistema de archivos en Linux
El sistema de archivos en Linux
• /dev Contiene ficheros del sistema representando los dispositivos
que estén físicamente
instalados en el ordenador.
• /etc Este directorio esta reservado para los ficheros de
configuración del sistema.
• /lib Contiene las librerías necesarias para que se ejecuten los
programas que residen en /bin (no las librerías de los programas
de los usuarios).
• /proc Contiene ficheros especiales que o bien reciben o envían
información al kernel del sistema (Se recomienda no modificar el
contenido de este directorio y sus ficheros).
El sistema de archivos en Linux
• /sbin Contiene programas que son únicamente
accesibles al superusuario o root.
• /usr Este es uno de los directorios más
importantes del sistema puesto que contiene los
programas de uso común para todos los usuarios.
El sistema de archivos : resumen
El sistema de archivos en linux
• Para visualizar todas las carpetas del sistema que cuelgan de la raíz
“ / ”, podemos hacerlo desde Archivos, es el Administrador de
Archivos de Ubuntu, la aplicación se llama Nautilus, la ventana del
gestor de archivos es nuestra Carpeta personal.
EL SISTEMA DE ARCHIVOS EN LINUX
• Recuerda que al pulsar sobre el icono de Archivos, nos aparece la
Carpeta personal, que está situada dentro de la carpeta home.
• En la parte izquierda de la ventana de la carpeta personal
encontramos Equipo, si pulsamos en Equipo vemos que nos
dirigimos al directorio raíz “ / ”
El sistema de archivos en linux
 El directorio raíz, como hemos visto, se simboliza por una barra
inclinada “ / ”. De este directorio, es desde donde sale todo el resto de
directorios. Es el único directorio en el nivel superior del árbol
jerárquico de archivos, el nivel más alto dentro de la jerarquía de
directorios. Cualquier dirección de archivo o carpeta en Ubuntu,
empieza por el directorio raíz “ / ”, seguido de todos los directorios y
subdirectorios que lo contienen.
• Del directorio raíz “ / ” cuelga el resto de carpetas, particiones y otros
dispositivos,
El sistema de archivos en linux
 El directorio /bin es donde se almacenan todos los binarios
necesarios para garantizar las funciones básicas a nivel de usuario.
Aplicaciones binarias de comando, esenciales y disponibles para que
cualquier usuario pueda ejecutarlos, así como los ejecutables de los
programas propios del sistema operativo.
• Los binarios son los ejecutables de Linux, los preinstala el sistema.
No deben de haber subdirectorios en
• /bin
• En el directorio /bin se incluye también los binarios que permiten la
ejecución de varias utilidades estándar de la terminal de Linux.
El sistema de archivos en linux
 En el directorio /boot nos encontramos los archivos necesarios
para el inicio del sistema, desde los archivos de configuración del
Grub, hasta el propio kernel del sistema.
• En el directorio /boot se encuentran los archivos utilizados por el
gestor de arranque Grub, y son utilizados antes de que el kernel
empiece a dar las órdenes de ejecución de los diferentes módulos
del sistema.
• El directorio /boot puede estar en una partición o disco aparte del
directorio /raíz, en ese caso es importante tener previsto el espacio
que le vayamos a dar a la partición, porque debido a las futuras
actualizaciones del Kernel nos podemos quedar sin espacio, en
esa situación, tendremos que hacer limpieza de las versiones
antiguas.
Consolas Virtuales
• Linux ofrece varios terminales virtuales en un mismo
terminal físico: usando la combinación de teclas
siguiente:
• CTRL + ALT + F1 hasta F5 desde modo
gráfico.
• ALT + F1 hasta F5 desde modo texto.
• Normalmente en Unix se podrían configurar hasta 12
consolas correspondientes a las 12 teclas de función.
Estructura del Sistema Linux
• La estructura es jerárquica, en forma de árbol invertido. Se parte de un directorio
principal root, representado por el carácter /.
Archivos y Directorios
• Se puede utilizar cualquier carácter para nombrar a los archivos, a excepción del
carácter /, ya que tiene un significado concreto. Es conveniente no utilizar
caracteres especiales, acentos, etc. No se pueden incluir espacios en blanco ni
es conveniente incluir caracteres como los siguientes en los nombres de archivo:
• Lo más importante es destacar que en Linux los nombres de archivo son
diferentes en mayúsculas y en minúsculas. Se recomienda utilizar siempre
minúsculas.
! # & ( ) ‘ “ ; | > < @ $ { } * ?  Tab Espacio
Retroceso + -
Tipos de archivos en Linux
• En Linux existen los siguientes tipos de archivo:
• Archivos ordinarios. Contienen la información con
la que trabaja cada usuario. Normalmente son
archivos que contienen texto, programas escritos por
el usuario en lenguaje C, etcétera.
• Enlaces físicos (Vínculos físicos). No es
específicamente una clase de archivo, sino un
segundo nombre asignado a un archivo.
Tipos de archivos en Linux
• Enlaces simbólicos (Vínculos simbólicos). Se utilizan para
asignar más de un nombre a un archivo. No sirven para
directorios. Un vínculo simbólico es un archivo que contiene el
nombre de otro archivo.
• Directorios. Son archivos especiales que contienen
referencias a otros archivos. Contienen información sobre
archivos ordinarios, subdirectorios, vínculos, vínculos
simbólicos, etcétera.
• Archivos especiales. Suelen representar dispositivos físicos
como unidades de almacenamiento, impresoras, terminales,
etc. Linux trata los archivos especiales como archivos
ordinarios.
Ficheros en Linux/Unix - Permisos
• En sistemas operativos multiusuario es importante tener medios para proteger los
ficheros de cada usuario. Los ficheros de sistema requieren una protección especial
para garantizar la seguridad del sistema. Cada fichero conlleva, además del nombre
información sobre:
• Quién es el dueño del fichero.
• Qué pueden hacer los demás usuarios con este fichero: leer (read),
escribir(write), ejecutar(execute).
• Llamaremos a toda esta información “derechos de acceso”. En Linux se pueden
especificar los siguientes derechos de acceso:
400 200 100 40 20 10 4 2 1
En la representación octal sumamos los números que representan cada
permiso y obtenemos el número adecuado para pasárselo como parámetro al
comando chmod.
User Group Other
r w x r w x r w x
Ejemplos del Permiso
El Directorio conferencia si se observan los derechos de grupo y otros,
estos pueden leer y ejecutar los directorios contenidos …. es decir pueden
ver nuestra informacion y hemos decidido quitarle todos los derechos
El Comando chmod (change Mode) indica que al grupo y otros (go)
le vamos a quitar los derechos de lectura ( r ) y ejecucion ( x ) y
luego el comando ls vuelve a mostrar los cambios en el directorio
Permisos y derechos
en Linux
Permisos y derechos
en Linux
Resumen Permisos y derechos
en Linux
Tipos de permisos en Linux
• Según los permisos se asignen a archivos ordinarios o
directorios, su significado no es exactamente el mismo.
• A los diez caracteres que acompañan a cada archivo y
directorio Linux, se le suele denominar máscara.
• La orden chmod permite modificar esta máscara para
que se puedan realizar más o menos operaciones sobre
archivos o directorios. Esta orden es fácil de utilizar, si
tenemos claro que los bloques de tres caracteres a partir
del segundo de la máscara corresponden,
respectivamente, a su propietario, al grupo y al resto de
usuarios.
Resumen información permisos y derechos
Permisos y derechos
en Linux
• La orden chmod permite modificar esta máscara para que se puedan
realizar más o menos operaciones sobre archivos o directorios. Esta
orden es fácil de utilizar, si tenemos claro que los bloques de tres
caracteres a partir del segundo de la máscara corresponden,
respectivamente, a su propietario, al grupo y al resto de usuarios.
Permisos y derechos
en Linux
Tipos de permisos en Linux
• Si no se especifica el tipo de
usuario al que le queremos quitar,
poner o asignar privilegios, lo que
haremos será realizar la
operación sobre todos los
usuarios simultáneamente.
• La sintaxis de esta orden es muy
similar a la orden ATTRIB del
DOS. Se especifica la orden,
seguida del tipo de usuario sobre
el que queremos actuar, el
carácter +, - o =, el tipo de
permiso y el archivo o directorio
(Tabla 15.24).
Comandos: Trabajar con ficheros y directorios
• ls Mostrar el contenido de directorios
ls [opciones] [directorio]
-a todos los ficheros, incluyendo los ocultos.
-l formato largo información detallada.
-S ordenado respecto al tamaño.
-F clasifica los tipos de ficheros.
-R recursivo  todos los subdirectorios.
-1 una columna.
Ejemplos
En el presente ejemplo el comando ls muestra directorios pero por defecto la salida
(la data) siempre se muestra por la pantalla
Ejemplos
En el presente ejemplo el comando ls no muestra directorios por pantalla porque la
salida (>) la esta enviando al archivo carta
En la segunda linea el comando cal muestra el calendario del año indicado pero no
se muestra en pantalla porque lo esta adicionando (>>) al archivo carta
Esa es la forma de como se manejan los redireccionamientos en unix
Redirección y Tuberías
• Linux ofrece la posibilidad de cambiar la fuente de
entrada (por defecto el teclado) y el destino de salida
(por defecto la pantalla) de los comandos. Un comando
normalmente comunica con nosotros a través de los
siguientes tres canales:
• Standard Input – Teclado.
• Standard Output – Pantalla.
• Standard Error – Pantalla.
Redirecciones
• Por defecto, tanto la entrada como la salidas estándar de los
comandos son la propia terminal, a no ser que por la propia
naturaleza del comando se den en él los nombres de algunos
ficheros que hagan el papel de entrada y de salida.
• Por ejemplo, en el comando cp file1 file2; file1 es la
entrada y file2 es la salida; aquí no intervienen las entradas y
salidas estándar. Sin embargo, cuando utilizamos por ejemplo el
comando ls (listado de directorio), la salida de este comando se
dirige hacia la terminal. Si queremos que la salida de este
comando se dirija a un fichero llamado file, podríamos escribir,
ls >file el (>) es uno de los llamados operadores de
redirección y dirige la salida estándar hacia el fichero indicado a
continuación; si este fichero no existe, se crea en ese momento.
Redirecciones
• Otros operadores de redirección son el operador (<) que
redirige la entrada estándar desde un determinado fichero, y el
operador (>>) que redirige la salida estándar hacia otro
fichero, pero añadiendo dicha salida al final de ese fichero, sin
sobrescribir el contenido original. Por ejemplo, si cada vez que
entramos en el sistema ejecutamos el comando, date
>>archivo tendremos un fichero llamado archivo que contiene
información sobre todas las veces que hemos entrado en el
sistema.
Sintaxis Redirecciones / Tuberías
• Mandar la salida de un comando a un fichero:
• Comando > fichero.out
• Mandar solamente los mensajes de error a un fichero:
• Comando 2> fichero.err
• Mandar la salida y los mensajes de error de un comando a un fichero:
• Comando >& fichero.err
• Añadir la salida de un comando a un fichero:
• Comando >> fichero.out
• Especificar a un comando que lea los datos de entrada de un fichero en lugar de hacerlo
desde el terminal:
• Comando < fichero.in
• Usar la salida de un comando como datos de entrada para otro comando:
• Comando1 | Comando2
• Combinar varias posibilidades:
• Comando1 < fichero.in | Comando2 > fichero.out
Ejemplos
En el presente ejemplo el comando ls no muestra directorios por pantalla porque la
salida (>) la esta enviando al archivo carta
En la segunda linea el comando cal muestra el calendario del año indicado pero no
se muestra en pantalla porque lo esta adicionando (>>) al archivo carta
Esa es la forma de como se manejan los redireccionamientos en unix
Ejemplos
Otra de las ideas de los redireccionamientos es el uso de los PIPES o filtros que no
son mas que interconexiones de INPUT / OUTPUT
……??????? Es decir la ejecucion de un comando de entrada lo emplea un
comando de salida
Comandos: Trabajar con ficheros y directorios
• pwd Imprimir el nombre del directorio actual
pwd
$pwd
/home/org/compras/material
Comandos: Trabajar con ficheros y directorios
• cd Cambiar el directorio actual
cd [directorio]
Comandos: Trabajar con ficheros y directorios
• mkdir Crear un nuevo directorio
mkdir [opciones] directorio
ejemplo
¿Jugamos?
• https://cmdchallenge.com/
Comandos: Trabajar con ficheros y directorios
• rmdir Borrar un directorio vacío
rmdir [opciones] directorio
NOTA: El directorio debe estar vacío. Para poder
borrar completamente un sistema de ficheros con
directorios y subdirectorios se utiliza rm –r que
es el borrado recursivo.
Comandos: Trabajar con ficheros y directorios
• cp Copiar fichero(s) a fichero/directorio
cp [opciones] fichero otro_fichero
cp [opciones] fichero directorio
-v verbose, explica lo que va haciendo.
-i interactivo, pregunta si otro fichero con el mismo nombre
existe.
-r recursivo, copia subdirectorios y ficheros.
Comandos: Trabajar con ficheros y directorios
• mv Mover ficheros/directorios
mv [opciones] nombre_antiguo nombre_nuevo
mv [opciones] fichero directorio
-v verbose, explica lo que va haciendo.
-i interactivo, pregunta si otro fichero con el mismo nombre
existe.
Comandos: Trabajar con ficheros y directorios
• rm borrar un fichero/directorio completo
rm [opciones] fichero/directorio
rm [opciones] –fichero
-v verbose, explica lo que va haciendo.
-i interactivo, pregunta si otro fichero con el mismo nombre existe.
-r borrar directorios recursivamente (mucho cuidado, funciona como el DELTREE
de DOS).
Ejemplo: $rm /usr/contable/doc1
LOS ENLACES:DURO Y SIMBÓLICO
• ENLACES DUROS.
• ln rutaOrigen/Nombre rutaDestino/NombreEnlaceDuro
• Crea un enlace duro. Es decir le da un nuevo nombre al mismo fichero físico.
• Una vez creado, el enlace duro y el archivo origen se convierten en nombres distintos
para el mismo archivo físico, y no hay prioridad entre ellos.
• Representación en la Tabla de inodos.
• El enlace duro no ocupa espacio físico.
• Visualizar el enlace duro:
• ls –i: Muestra el nº de inodo. Este es el mismo para el archivo y para el enlace.
• ls –l: Nº de inodos está incrementado. Por lo demás, se muestra como un archivo normal.
• Eliminar un archivo con más de un enlace duro:
• El archivo físico sólo se elimina si no tiene más enlaces duros.
• Si los tuviese, únicamente se elimina el nombre y no el archivo físico.
LOS ENLACES:DURO Y SIMBÓLICO
• ENLACES SIMBÓLICOS.
• ln -s rutaOrigen/Nombre rutaDestino/NombreEnlaceSimbólico
• Crea un enlace simbólico. Es decir, crea un nuevo archivo, cuyo contenido permite acceder al
objeto enlazado
• El concepto es similar al acceso directo.
• Representación en la Tabla de inodos.
• Ocupa espacio en disco.
• Visualizar el enlace simbólico: ls -l
• Se identifica con la letra l.
• Los permisos son rwxrwxrwx (los permisos reales son los del objeto enlazado).
• Muestra el nombre apuntando al objeto enlazado.
• Color: Azul claro.
• Si el objeto enlazado es eliminado antes que el enlace, entonces el enlace queda roto (rojo parpadeante)
Comandos: Trabajar con ficheros y directorios
• more Visualizar un fichero de texto
more [opciones] fichero
Comandos: Trabajar con ficheros y directorios
• less Visualizar un fichero de texto
less [opciones] fichero
+num empieza con línea num.
Comandos: Trabajar con ficheros y directorios
• cat Transmitir varios ficheros a la salida estándar / Visualizar un fichero
de texto
cat [opciones] lista_de_ficheros
NOTA: Cat manda la salida por defecto a stdout, por esta razón, hay que usar la
redirección para la concatenación de ficheros:
cat lista_de_ficheros > fichero_salida
Podemos usar cat > fichero para crear un fichero sin usar un editor. CTRL + D
señala el fin del fichero.
Comandos: Compresión y Archivador
• gzip Comprimir un fichero
gzip [opciones] fichero
-d Descomprime.
NOTA: El fichero comprimido generado tiene
extensión .gz.
Comandos: Compresión y Archivador
• gunzip Descomprimir un fichero .gz
gunzip [opciones] fichero.gz
NOTA: La descompresión quita la extensión .gz.
Comandos: Compresión y Archivador
• tar Archivador
tar [opciones] –f fichero.tar directorio
-x extract, sacar el archivo.
-c create, crear archivo nuevo.
-r append, añadir al archivo.
-t type, mostrar el contenido del archivo.
-v verbose, explica lo que va haciendo.
-z se descomprime al momento (quita tar.gz).
NOTA: Hay muchas más opciones pero las tres formas más comunes de
utilización son las siguientes:
tar –cvf tarfile.tar crear archivo del directorio actual y de
todos los subdirectorios
tar –tf tarfile.tar mostrar el contenido del archivo
tar –xvf tarfile.tar extraer ficheros del archivo al directorio actual
Comandos: Información y Entorno
• date Mostrar o cambiar fecha y hora del sistema
date [opciones] [fecha/hora]
-s Set, cambiar fecha y/u hora (sólo root)
Ejemplos:
# date –s 5/10/2003 Para la fecha
# date –s 15:00 Para la hora
Comandos: Información y Entorno
• df Mostrar espacio disponible en discos duros
df [opciones] [directorio]
NOTA: Con la opción –k solicita la información medida en Kbytes,
en lugar de en número de bloques de disco.
Comandos: Información y Entorno
• du Mostrar información del sitio ocupado en un directorio
du [opciones] [directorio]
Comandos: Información y Entorno
• who Mostrar información sobre usuarios activos
who [opciones] [am i]
NOTA: En esta orden, si no se especifican parámetros,
permite conocer los usuarios conectados a este sistema
en el momento en que se ejecuta, y desde que máquinas
acceden al sistema.
Comandos: Información y Entorno
• passwd Permite cambiar password del usuario que ejecuta el
comando
passwd [usuario]
NOTA: Solo root podrá cambiar el password de otros usuarios.
Comandos: Información y Entorno
• finger Mostrar usuarios conectados en este momento en el
sistema local o en cualquier sistema remoto
finger [opciones] [nombre_cuenta]
NOTA: finger @nombre_maquina nos indica los usuarios conectados a
la máquina nombre_maquina. Sin ningún parámetro se refiere al
sistema local. Finger nombre_cuenta nos indica si existe esa
cuenta en la máquina indicada o en la local.
Comandos: Shell Scripts
• echo Mostrar una cadena de texto o el contenido de una
variable de entorno
echo [opciones] [texto o $VARIABLE]
Ejemplo: echo $PATH
Comandos: Shell Scripts
• alias Asignar una equivalencia a un nombre o comando
alias nombre = equivalencia
NOTA: Alias se puede usar para redefinir comandos, por
ejemplo: alias ls = ‘ls –F’
Algunos comandos
• login  Usuario con el que vamos a trabajar.
• SuperUsuario root: Adminsitración, configuración, instalación.
• Otros usuarios.
• passwd Contraseña del usuario con el que nos hemos logado.
• logoutSalir de la consola donde nos hemos logado.
• whoami¿Quién soy? Muestra en nombre del usuario con el que estamos
trabajando
• pwd¿Dónde estoy? Muestra el directorio en el que estamos situados.
RECUERDA QUE EN LINUX TU PROMPT
TIENE ESTE ASPECTO:
PROMPT  [Usuario@Máquina dirActual]
$ Usuario NORMAL
# root (PRIVILEGIOS
ADMINISTRADOR)
Algunos comandos
• clear: Borra pantalla.
• date: Muestra fecha y hora
• cal: Muestra el calendario del mes en el que estamos.
• arch: Arquitectura del procesador.
• bc: Calculadora. Se sale con quit
• echo $?
• Status de salida.
• Muestra si la ejecución de un comando ha sido correcta.
• Si devuelve 0: Ha sido correcta.
• Si devuelve un valor positivo, mayor que 0: Ha sido errónea.
• El valor depende del error y del comando.
Algunos comandos
• history
• Muestra la lista de los comandos introducidos por el usuario al sistemas
• Teclas de dirección. !primeras letras. !Nº de instrucción
• consolas
• De texto  f1,f2,f3,f4, f5 y f6
• Gráfica  f7 (Muestra el entorno gráfico).
• Alt + F(1,2,3,4,5,6,7)
• Desde el entorno de texto, me lleva a la consola seleccionada.
• Ctrol + Alt + F(1,2,3,4,5,6)
• Desde el entorno gráfico me lleva a la consola seleccionada.
Algunos comandos
• Enlazar comandos.
• Comando1 ; Comando2
• Se ejecutan las instrucciones secuencialmente (La segunda a continuación de la primera)
• exit
• Salir del usuario al que hemos accedido mediante su.
• man comando
• Muestra la ayuda referente a ese comando
• El visor de las páginas del man es el less.
• Para buscar una palabra:
• (mayúsculas+ tecla /
7) y escribimos la palabra. (Ej: /file)
• Tecla n para las siguientes apariciones (next).
• Para salir (Esc  :q).
• shutdown –h now
• Apaga la máquina.
• shutdown –r now
• Reinicia la máquina.
Algunos comandos
• who
• Muestra todos los usuarios logados en la máquina.
• su nombreUsuario
• Cambia de usuario especificado. Si no aparece nombre de
Usuario, se cambia al usuario Root. Con – carga la
configuración del usuario
• Cuando se pasa del usuario al root o a otro usuario, se pedirá
la contraseña del nuevo usuario
• Cuando se pasa de root a otro usuario la contraseña no será
requerida.

733397850-2-CONCEPTOS-BASICOS-LINUX.pptx

  • 1.
  • 2.
    Características generales de Linux •Linux es un sistema operativo muy empleado en la actualidad y de gran difusión, debido principalmente a que es de libre distribución. • Este sistema operativo multiusuario incorpora programas de configuración, además de los básicos. Es más fácil de instalar y no necesita un hardware especial.
  • 3.
  • 4.
    COMPONENTES DE LINUX •¿Qué es el Kernel? • Es la capa más interna del S.O. Entre otras funciones el núcleo tiene que: • Secuenciar los procesos • Atender la petición de servicios que realicen los procesos existentes • Reservar espacio de memoria y disco • Supervisar la transmisión de datos entre los periféricos y la memoria principal. • Cada programa se relaciona con la máquina a través del núcleo. Un programa realiza sobre el núcleo las denominadas llamadas al sistema. • El núcleo del sistema operativo Linux o Kernel, actúa directamente con los elementos físicos del ordenador, se carga en memoria al arrancar la máquina, y permanece en ella hasta que ésta se apaga. EL KERNEL NUNCA TRABAJA DIRECTAMENTE PARA EL USUARIO
  • 5.
    COMPONENTES DE LINUX •¿Qué son los módulos? • Los módulos son partes del kernel que no son compiladas dentro del bloque que éste supone y que no están cargados constantemente en memoria, sino sólo cuando se van a utilizar. Estos pueden ser código de red, drivers diversos… Para poder configurar un dispositivo controlado por un módulo se puede utilizar modconf o emplear las herramientas del paquete modutils
  • 6.
    COMPONENTES DE LINUX •¿Qué es la Shell? • Es el intérprete de comandos, por tanto es la interfaz entre el usuario y el sistema operativo. La función del Shell es: • RECIBIR LA ORDENES DEL USUARIO A TRAVES DE LA LINEA DE COMANDO, INTERPRETARLAS, EJECUTARLAS Y MOSTRAR SU RESULTADO. • Cuando se inicia el sistema aparecerá un terminal para hacer login, posteriormente se mostrará un prompt con un aspecto parecido a: • usuario@nombrequipo: símbolo $(usuario normal) o #(usuario administrador) • Cuando el usuario se conecta al sistema Linux, se inicia automáticamente un programa de shell. Éste es el denominado shell de presentación. Este shell se carga de forma automática cuando se accede al fichero /etc/passwd. Este archivo contiene la información que el sistema necesita conocer de cada usuario. En cuanto se inicia el shell de presentación, se busca el fichero .profile dentro del directorio activo. Este fichero contiene órdenes que sirven para personalizar el entorno de trabajo
  • 7.
    Componentes de linux Funcionesdel shell • En general, todas las órdenes de Linux son programas que están almacenados en el sistema de archivos. La sintaxis de las órdenes es la siguiente: • Orden: Indica al intérprete de comandos, o shell, la acción a realizar. • Modificadores u opciones: Las opciones se introducen precedidas del carácter -. • Argumentos: Caracteres que se utilizan como entrada del comando. El argumento puede ser un archivo o un directorio. $orden [-modificadores] [argumentos]
  • 8.
    1.¿Qué tipos deSHELL HAY? 2.¿Cuál es la más utilizada? 3.¿Hay diferencias entre ellas? 4.¿Es posible ver qué Shell hay instaladas? TAREA 1_1
  • 9.
    COMPONENTES DE LINUX •Lo normal es que con cualquier sistema Linux se incluyan distintos tipos de Shell para poder elegir aquella que más se adapte a nuestras necesidades: • Bourne Shell • C-Shell • Bourne Again Shell (bash) es el interprete de comandos más utilizado prompt Se dice prompt al carácter o conjunto de caracteres que se muestran en una línea de comandos para indicar que el sistema está a la espera de órdenes. El prompt puede variar dependiendo del intérprete de comandos y suele ser configurable. Para indicar que espera una instrucción, el shell presenta un prompt al principio de la línea.
  • 10.
    distribuciones • El kerneldel sistema operativo Linux fue desarrollado por Linus Torwards y licenciado bajo GPL. Pero un sistema GNU/Linux no es sólo su núcleo ya que existen hoy en día un gran número de aplicaciones desarrolladas también bajo licencias libres que permiten que los sistemas GNU/Linux tengan una gran versatibilidad y funcionalidad • Existen muchas aplicaciones desarrolladas bajo licencia libre pero, sin duda alguna, las más importantes son: • OpenOffice http://www.openoffice.org/ • Apache http://www.apache.org/ • Firefox http://www.mozilla.org/es-ES/firefox/new/
  • 11.
    Distribuciones • Existen muchasiniciativas tanto empresariales como gubernamentales para crear su propia distribución. Un claro ejemplo lo puedes encontrar en las distribuciones Guadalinex (de la Junta de Andalucía), gnuLinex (de Extremadura), tripxbox (distribución empresarial de telefonía IP), etcétera. • A partir de la libertad de los usuarios, empresas y organismos para personalizar su propia distribución han surgido una gran cantidad de distribuciones que nacen, evolucionan, derivan en otras distribuciones y como no, algunas mueren.
  • 12.
  • 13.
    Generalidades de Linux •El sistema operativo Linux es un sistema operativo multiusuario. Por otro lado, es multitarea, es decir, el sistema permite que los usuarios estén ejecutando varias aplicaciones simultáneamente utilizando la técnica de tiempo compartido. Dispone de otras características, como: • Algoritmo por prioridades o multinivel. Es uno de los más complejos y eficaces. Asigna los tiempos de ejecución de la CPU según una lista de prioridades. • Memoria virtual. Usando esta técnica permite a los usuarios del sistema ejecutar programas de tal forma que éstos tienen la sensación de que toda la memoria RAM es para ellos.
  • 14.
    Generalidades de Linux •Sistema de archivos jerárquico. Utiliza, de forma similar al DOS, un sistema de archivos en forma de árbol invertido. Linux gestiona los dispositivos como si fueran directorios • Comunicación con otros ordenadores. Un sistema Linux permite no sólo trabajar con él en una máquina, sino que permite conectar varios ordenadores centrales Linux entre sí para que cada usuario tenga acceso a la información contenida en todos ellos. • Sistemas de seguridad. El administrador del sistema operativo, a través de palabras clave (para archivos empaquetados o comprimidos) o mediante la asignación de derechos a los usuarios, hace que la información contenida en un servidor Linux esté totalmente protegida de piratas informáticos o usuarios no deseados. • Interfaz de texto/gráfica. Lo normal es que la interfaz utilizada por Linux sea de tipo texto. Poco a poco se han ido incorporando mejoras que permiten gestionar el sistema operativo de modo gráfico.
  • 15.
    ¿Sabías que? El entornode escritorio de cada distribución Linux influye en el consumo de recursos Hay distribuciones que tienen una versión con varios de ellos, como Ubuntu y Linux Mint. Algunos de los entornos más famosos son: •Gnome •KDE •Unity •Cinnamon •Mate •KFCE •LXDE •Budgie •Pantheon https://victorhckinthefreeworld.com/2020/02/28/38-gestores-de- ventanas-o-entornos-de-escritorio-para-linux/
  • 16.
    Introduccion: la instalacion •Durante la instalación de Linux se van a crear tres particiones: • Partición de intercambio (swap) la utiliza el sistema como memoria virtual, el tamaño de esta partición será, como mínimo, equivalente al de la memoria RAM del equipo. Como norma general se establece que sea el doble de tamaño que la memoria RAM disponible, si alguien se pregunta si es o no necesaria esta partición, la respuesta es: sí, es necesaria, aunque tengamos mucha RAM. • Partición raíz (/) para el sistema operativo y las aplicaciones, el tamaño para esta partición con un uso normal perfectamente puede ser de 10GB. Si vamos a instalar más programas es recomendable darle un poco más de espacio. • Partición home (/home) donde se guardarán todos los datos personales del usuario, así como los archivos y carpetas de todos los usuarios que tengan cuenta en nuestro equipo. La ventaja de tener una partición independiente para /home es que si en algún momento queremos reinstalar Ubuntu, no perderemos la nuestra carpeta personal.
  • 17.
    Ubuntu • En Ubuntuexisten tres versiones: Desktop (para equipos de escritorio), Netbook (para portátiles) y Server (para servidores). Además, para cada tipo puedes utilizar la versión de 32 bits y de 64 bits. • En la página oficial de ubuntu puedes descargar la versión Ubuntu Desktop: http://www.ubuntu.com/ • También en https://distrowatch.com/
  • 18.
    INTRODUCCION: LA INTERFAZDE UBUNTU • Los sistemas GNU/Linux tienen diversos entornos gráficos, muy potentes, que permiten utilizar el sistema fácilmente. • X-Windows proporciona una interfaz gráfica (GUI) al mundo de Linux. X- Windows, al igual que el sistema operativo Windows de Microsoft, ofrece una forma de manejo de algunos de los elementos de interacción más comunes como ventanas, cuadros de diálogo, botones y menús. • En el caso de Ubuntu permite utilizar los tres principales entornos de escritorio GUI(Graphical User Interfaces o Interfaces Gráficas de Usuario). GNOME está orientado a la simplicidad, KDE ofrece un mayor conjunto de aplicaciones así como posibilidades de caracterización por defecto, o Xfce está optimizado para su uso con requisitos hardware bajos. Aparte de los citados, es posible utilizar otros entornos de escritorio Por defecto Ubuntu Desktop utiliza el entorno gráfico GNOME.
  • 19.
    Las actualizaciones • Igualque cualquier otro sistema operativo es importante que Ubuntu esté actualizado, desde el escritorio podemos tener activada la opción “Software y actualizaciones”. En la pestaña de Actualizaciones es posible dejar “marcado” las opciones que permita tanto recibir todas las actualizaciones como buscar nuevas actualizaciones todos los días por defecto. En caso de que haya actualizaciones de seguridad, estas se bajarán e instalarán automáticamente; las demás actualizaciones (de paquetes, programas, calidad, etc) suelen mostrase de forma semanal • También podemos actualizar desde terminal con sudo apt update • Es posible también configurar que se desea hacer con las nuevas versiones de Ubuntu.
  • 20.
    Webmin • Webmin esuna interfaz web que permite administrar el sistema de una forma cómoda y sencilla a través de cualquier equipo utilizando un navegador web. Por ejemplo, webmin permite administrar los usuarios del sistema, rendimiento del equipo, copias de seguridad, etc. • La página web de webmin es : http://www.webmin.com/ • El proceso de instalación es muy sencillo • Una vez finalizado el proceso de instalación el sistema indica que hay que acceder a webmin a través de la dirección https://localhost:10000. • Al acceder a webmin debes autentificarse en el sistema como root
  • 21.
    Tarea 1_2 1. ¿Quées Unity? 2. ¿Qué es livepatch? 2. Instala hardinfo en tu máquina con sistema operativo Ubuntu. 3. Ejecuta el software y observa la información que proporciona. ¿Qué conclusiones obtienes de ellas? Redacta un documento en el que incluyas las características del procesador, la memoria así como los dispositivos instalados.
  • 22.
    El sistema dearchivos en Linux • Al contrario que en Windows el sistema de archivos en cualquier sistema Unix no está ligado de una forma directa con la estructura del hardware, o sea es independiente del número de discos duros del ordenador y no se crean unidades c:, d: o m:. • Todos el sistema de archivos tiene un origen único la raíz o root representada por /. • Bajo este directorio se encuentran todos los ficheros a los que puede acceder el sistema operativo.
  • 23.
    El sistema dearchivos en Linux
  • 24.
    El sistema dearchivos en Linux • /dev Contiene ficheros del sistema representando los dispositivos que estén físicamente instalados en el ordenador. • /etc Este directorio esta reservado para los ficheros de configuración del sistema. • /lib Contiene las librerías necesarias para que se ejecuten los programas que residen en /bin (no las librerías de los programas de los usuarios). • /proc Contiene ficheros especiales que o bien reciben o envían información al kernel del sistema (Se recomienda no modificar el contenido de este directorio y sus ficheros).
  • 25.
    El sistema dearchivos en Linux • /sbin Contiene programas que son únicamente accesibles al superusuario o root. • /usr Este es uno de los directorios más importantes del sistema puesto que contiene los programas de uso común para todos los usuarios.
  • 26.
    El sistema dearchivos : resumen
  • 27.
    El sistema dearchivos en linux • Para visualizar todas las carpetas del sistema que cuelgan de la raíz “ / ”, podemos hacerlo desde Archivos, es el Administrador de Archivos de Ubuntu, la aplicación se llama Nautilus, la ventana del gestor de archivos es nuestra Carpeta personal.
  • 28.
    EL SISTEMA DEARCHIVOS EN LINUX • Recuerda que al pulsar sobre el icono de Archivos, nos aparece la Carpeta personal, que está situada dentro de la carpeta home. • En la parte izquierda de la ventana de la carpeta personal encontramos Equipo, si pulsamos en Equipo vemos que nos dirigimos al directorio raíz “ / ”
  • 29.
    El sistema dearchivos en linux  El directorio raíz, como hemos visto, se simboliza por una barra inclinada “ / ”. De este directorio, es desde donde sale todo el resto de directorios. Es el único directorio en el nivel superior del árbol jerárquico de archivos, el nivel más alto dentro de la jerarquía de directorios. Cualquier dirección de archivo o carpeta en Ubuntu, empieza por el directorio raíz “ / ”, seguido de todos los directorios y subdirectorios que lo contienen. • Del directorio raíz “ / ” cuelga el resto de carpetas, particiones y otros dispositivos,
  • 30.
    El sistema dearchivos en linux  El directorio /bin es donde se almacenan todos los binarios necesarios para garantizar las funciones básicas a nivel de usuario. Aplicaciones binarias de comando, esenciales y disponibles para que cualquier usuario pueda ejecutarlos, así como los ejecutables de los programas propios del sistema operativo. • Los binarios son los ejecutables de Linux, los preinstala el sistema. No deben de haber subdirectorios en • /bin • En el directorio /bin se incluye también los binarios que permiten la ejecución de varias utilidades estándar de la terminal de Linux.
  • 31.
    El sistema dearchivos en linux  En el directorio /boot nos encontramos los archivos necesarios para el inicio del sistema, desde los archivos de configuración del Grub, hasta el propio kernel del sistema. • En el directorio /boot se encuentran los archivos utilizados por el gestor de arranque Grub, y son utilizados antes de que el kernel empiece a dar las órdenes de ejecución de los diferentes módulos del sistema. • El directorio /boot puede estar en una partición o disco aparte del directorio /raíz, en ese caso es importante tener previsto el espacio que le vayamos a dar a la partición, porque debido a las futuras actualizaciones del Kernel nos podemos quedar sin espacio, en esa situación, tendremos que hacer limpieza de las versiones antiguas.
  • 32.
    Consolas Virtuales • Linuxofrece varios terminales virtuales en un mismo terminal físico: usando la combinación de teclas siguiente: • CTRL + ALT + F1 hasta F5 desde modo gráfico. • ALT + F1 hasta F5 desde modo texto. • Normalmente en Unix se podrían configurar hasta 12 consolas correspondientes a las 12 teclas de función.
  • 33.
    Estructura del SistemaLinux • La estructura es jerárquica, en forma de árbol invertido. Se parte de un directorio principal root, representado por el carácter /. Archivos y Directorios • Se puede utilizar cualquier carácter para nombrar a los archivos, a excepción del carácter /, ya que tiene un significado concreto. Es conveniente no utilizar caracteres especiales, acentos, etc. No se pueden incluir espacios en blanco ni es conveniente incluir caracteres como los siguientes en los nombres de archivo: • Lo más importante es destacar que en Linux los nombres de archivo son diferentes en mayúsculas y en minúsculas. Se recomienda utilizar siempre minúsculas. ! # & ( ) ‘ “ ; | > < @ $ { } * ? Tab Espacio Retroceso + -
  • 34.
    Tipos de archivosen Linux • En Linux existen los siguientes tipos de archivo: • Archivos ordinarios. Contienen la información con la que trabaja cada usuario. Normalmente son archivos que contienen texto, programas escritos por el usuario en lenguaje C, etcétera. • Enlaces físicos (Vínculos físicos). No es específicamente una clase de archivo, sino un segundo nombre asignado a un archivo.
  • 35.
    Tipos de archivosen Linux • Enlaces simbólicos (Vínculos simbólicos). Se utilizan para asignar más de un nombre a un archivo. No sirven para directorios. Un vínculo simbólico es un archivo que contiene el nombre de otro archivo. • Directorios. Son archivos especiales que contienen referencias a otros archivos. Contienen información sobre archivos ordinarios, subdirectorios, vínculos, vínculos simbólicos, etcétera. • Archivos especiales. Suelen representar dispositivos físicos como unidades de almacenamiento, impresoras, terminales, etc. Linux trata los archivos especiales como archivos ordinarios.
  • 36.
    Ficheros en Linux/Unix- Permisos • En sistemas operativos multiusuario es importante tener medios para proteger los ficheros de cada usuario. Los ficheros de sistema requieren una protección especial para garantizar la seguridad del sistema. Cada fichero conlleva, además del nombre información sobre: • Quién es el dueño del fichero. • Qué pueden hacer los demás usuarios con este fichero: leer (read), escribir(write), ejecutar(execute). • Llamaremos a toda esta información “derechos de acceso”. En Linux se pueden especificar los siguientes derechos de acceso: 400 200 100 40 20 10 4 2 1 En la representación octal sumamos los números que representan cada permiso y obtenemos el número adecuado para pasárselo como parámetro al comando chmod. User Group Other r w x r w x r w x
  • 37.
    Ejemplos del Permiso ElDirectorio conferencia si se observan los derechos de grupo y otros, estos pueden leer y ejecutar los directorios contenidos …. es decir pueden ver nuestra informacion y hemos decidido quitarle todos los derechos El Comando chmod (change Mode) indica que al grupo y otros (go) le vamos a quitar los derechos de lectura ( r ) y ejecucion ( x ) y luego el comando ls vuelve a mostrar los cambios en el directorio
  • 38.
  • 39.
  • 40.
    Resumen Permisos yderechos en Linux Tipos de permisos en Linux • Según los permisos se asignen a archivos ordinarios o directorios, su significado no es exactamente el mismo. • A los diez caracteres que acompañan a cada archivo y directorio Linux, se le suele denominar máscara. • La orden chmod permite modificar esta máscara para que se puedan realizar más o menos operaciones sobre archivos o directorios. Esta orden es fácil de utilizar, si tenemos claro que los bloques de tres caracteres a partir del segundo de la máscara corresponden, respectivamente, a su propietario, al grupo y al resto de usuarios.
  • 41.
  • 42.
    Permisos y derechos enLinux • La orden chmod permite modificar esta máscara para que se puedan realizar más o menos operaciones sobre archivos o directorios. Esta orden es fácil de utilizar, si tenemos claro que los bloques de tres caracteres a partir del segundo de la máscara corresponden, respectivamente, a su propietario, al grupo y al resto de usuarios.
  • 43.
    Permisos y derechos enLinux Tipos de permisos en Linux • Si no se especifica el tipo de usuario al que le queremos quitar, poner o asignar privilegios, lo que haremos será realizar la operación sobre todos los usuarios simultáneamente. • La sintaxis de esta orden es muy similar a la orden ATTRIB del DOS. Se especifica la orden, seguida del tipo de usuario sobre el que queremos actuar, el carácter +, - o =, el tipo de permiso y el archivo o directorio (Tabla 15.24).
  • 44.
    Comandos: Trabajar conficheros y directorios • ls Mostrar el contenido de directorios ls [opciones] [directorio] -a todos los ficheros, incluyendo los ocultos. -l formato largo información detallada. -S ordenado respecto al tamaño. -F clasifica los tipos de ficheros. -R recursivo  todos los subdirectorios. -1 una columna.
  • 45.
    Ejemplos En el presenteejemplo el comando ls muestra directorios pero por defecto la salida (la data) siempre se muestra por la pantalla
  • 46.
    Ejemplos En el presenteejemplo el comando ls no muestra directorios por pantalla porque la salida (>) la esta enviando al archivo carta En la segunda linea el comando cal muestra el calendario del año indicado pero no se muestra en pantalla porque lo esta adicionando (>>) al archivo carta Esa es la forma de como se manejan los redireccionamientos en unix
  • 47.
    Redirección y Tuberías •Linux ofrece la posibilidad de cambiar la fuente de entrada (por defecto el teclado) y el destino de salida (por defecto la pantalla) de los comandos. Un comando normalmente comunica con nosotros a través de los siguientes tres canales: • Standard Input – Teclado. • Standard Output – Pantalla. • Standard Error – Pantalla.
  • 48.
    Redirecciones • Por defecto,tanto la entrada como la salidas estándar de los comandos son la propia terminal, a no ser que por la propia naturaleza del comando se den en él los nombres de algunos ficheros que hagan el papel de entrada y de salida. • Por ejemplo, en el comando cp file1 file2; file1 es la entrada y file2 es la salida; aquí no intervienen las entradas y salidas estándar. Sin embargo, cuando utilizamos por ejemplo el comando ls (listado de directorio), la salida de este comando se dirige hacia la terminal. Si queremos que la salida de este comando se dirija a un fichero llamado file, podríamos escribir, ls >file el (>) es uno de los llamados operadores de redirección y dirige la salida estándar hacia el fichero indicado a continuación; si este fichero no existe, se crea en ese momento.
  • 49.
    Redirecciones • Otros operadoresde redirección son el operador (<) que redirige la entrada estándar desde un determinado fichero, y el operador (>>) que redirige la salida estándar hacia otro fichero, pero añadiendo dicha salida al final de ese fichero, sin sobrescribir el contenido original. Por ejemplo, si cada vez que entramos en el sistema ejecutamos el comando, date >>archivo tendremos un fichero llamado archivo que contiene información sobre todas las veces que hemos entrado en el sistema.
  • 50.
    Sintaxis Redirecciones /Tuberías • Mandar la salida de un comando a un fichero: • Comando > fichero.out • Mandar solamente los mensajes de error a un fichero: • Comando 2> fichero.err • Mandar la salida y los mensajes de error de un comando a un fichero: • Comando >& fichero.err • Añadir la salida de un comando a un fichero: • Comando >> fichero.out • Especificar a un comando que lea los datos de entrada de un fichero en lugar de hacerlo desde el terminal: • Comando < fichero.in • Usar la salida de un comando como datos de entrada para otro comando: • Comando1 | Comando2 • Combinar varias posibilidades: • Comando1 < fichero.in | Comando2 > fichero.out
  • 51.
    Ejemplos En el presenteejemplo el comando ls no muestra directorios por pantalla porque la salida (>) la esta enviando al archivo carta En la segunda linea el comando cal muestra el calendario del año indicado pero no se muestra en pantalla porque lo esta adicionando (>>) al archivo carta Esa es la forma de como se manejan los redireccionamientos en unix
  • 52.
    Ejemplos Otra de lasideas de los redireccionamientos es el uso de los PIPES o filtros que no son mas que interconexiones de INPUT / OUTPUT ……??????? Es decir la ejecucion de un comando de entrada lo emplea un comando de salida
  • 53.
    Comandos: Trabajar conficheros y directorios • pwd Imprimir el nombre del directorio actual pwd $pwd /home/org/compras/material
  • 54.
    Comandos: Trabajar conficheros y directorios • cd Cambiar el directorio actual cd [directorio]
  • 55.
    Comandos: Trabajar conficheros y directorios • mkdir Crear un nuevo directorio mkdir [opciones] directorio
  • 56.
  • 57.
  • 58.
    Comandos: Trabajar conficheros y directorios • rmdir Borrar un directorio vacío rmdir [opciones] directorio NOTA: El directorio debe estar vacío. Para poder borrar completamente un sistema de ficheros con directorios y subdirectorios se utiliza rm –r que es el borrado recursivo.
  • 59.
    Comandos: Trabajar conficheros y directorios • cp Copiar fichero(s) a fichero/directorio cp [opciones] fichero otro_fichero cp [opciones] fichero directorio -v verbose, explica lo que va haciendo. -i interactivo, pregunta si otro fichero con el mismo nombre existe. -r recursivo, copia subdirectorios y ficheros.
  • 60.
    Comandos: Trabajar conficheros y directorios • mv Mover ficheros/directorios mv [opciones] nombre_antiguo nombre_nuevo mv [opciones] fichero directorio -v verbose, explica lo que va haciendo. -i interactivo, pregunta si otro fichero con el mismo nombre existe.
  • 61.
    Comandos: Trabajar conficheros y directorios • rm borrar un fichero/directorio completo rm [opciones] fichero/directorio rm [opciones] –fichero -v verbose, explica lo que va haciendo. -i interactivo, pregunta si otro fichero con el mismo nombre existe. -r borrar directorios recursivamente (mucho cuidado, funciona como el DELTREE de DOS). Ejemplo: $rm /usr/contable/doc1
  • 62.
    LOS ENLACES:DURO YSIMBÓLICO • ENLACES DUROS. • ln rutaOrigen/Nombre rutaDestino/NombreEnlaceDuro • Crea un enlace duro. Es decir le da un nuevo nombre al mismo fichero físico. • Una vez creado, el enlace duro y el archivo origen se convierten en nombres distintos para el mismo archivo físico, y no hay prioridad entre ellos. • Representación en la Tabla de inodos. • El enlace duro no ocupa espacio físico. • Visualizar el enlace duro: • ls –i: Muestra el nº de inodo. Este es el mismo para el archivo y para el enlace. • ls –l: Nº de inodos está incrementado. Por lo demás, se muestra como un archivo normal. • Eliminar un archivo con más de un enlace duro: • El archivo físico sólo se elimina si no tiene más enlaces duros. • Si los tuviese, únicamente se elimina el nombre y no el archivo físico.
  • 63.
    LOS ENLACES:DURO YSIMBÓLICO • ENLACES SIMBÓLICOS. • ln -s rutaOrigen/Nombre rutaDestino/NombreEnlaceSimbólico • Crea un enlace simbólico. Es decir, crea un nuevo archivo, cuyo contenido permite acceder al objeto enlazado • El concepto es similar al acceso directo. • Representación en la Tabla de inodos. • Ocupa espacio en disco. • Visualizar el enlace simbólico: ls -l • Se identifica con la letra l. • Los permisos son rwxrwxrwx (los permisos reales son los del objeto enlazado). • Muestra el nombre apuntando al objeto enlazado. • Color: Azul claro. • Si el objeto enlazado es eliminado antes que el enlace, entonces el enlace queda roto (rojo parpadeante)
  • 64.
    Comandos: Trabajar conficheros y directorios • more Visualizar un fichero de texto more [opciones] fichero
  • 65.
    Comandos: Trabajar conficheros y directorios • less Visualizar un fichero de texto less [opciones] fichero +num empieza con línea num.
  • 66.
    Comandos: Trabajar conficheros y directorios • cat Transmitir varios ficheros a la salida estándar / Visualizar un fichero de texto cat [opciones] lista_de_ficheros NOTA: Cat manda la salida por defecto a stdout, por esta razón, hay que usar la redirección para la concatenación de ficheros: cat lista_de_ficheros > fichero_salida Podemos usar cat > fichero para crear un fichero sin usar un editor. CTRL + D señala el fin del fichero.
  • 67.
    Comandos: Compresión yArchivador • gzip Comprimir un fichero gzip [opciones] fichero -d Descomprime. NOTA: El fichero comprimido generado tiene extensión .gz.
  • 68.
    Comandos: Compresión yArchivador • gunzip Descomprimir un fichero .gz gunzip [opciones] fichero.gz NOTA: La descompresión quita la extensión .gz.
  • 69.
    Comandos: Compresión yArchivador • tar Archivador tar [opciones] –f fichero.tar directorio -x extract, sacar el archivo. -c create, crear archivo nuevo. -r append, añadir al archivo. -t type, mostrar el contenido del archivo. -v verbose, explica lo que va haciendo. -z se descomprime al momento (quita tar.gz). NOTA: Hay muchas más opciones pero las tres formas más comunes de utilización son las siguientes: tar –cvf tarfile.tar crear archivo del directorio actual y de todos los subdirectorios tar –tf tarfile.tar mostrar el contenido del archivo tar –xvf tarfile.tar extraer ficheros del archivo al directorio actual
  • 70.
    Comandos: Información yEntorno • date Mostrar o cambiar fecha y hora del sistema date [opciones] [fecha/hora] -s Set, cambiar fecha y/u hora (sólo root) Ejemplos: # date –s 5/10/2003 Para la fecha # date –s 15:00 Para la hora
  • 71.
    Comandos: Información yEntorno • df Mostrar espacio disponible en discos duros df [opciones] [directorio] NOTA: Con la opción –k solicita la información medida en Kbytes, en lugar de en número de bloques de disco.
  • 72.
    Comandos: Información yEntorno • du Mostrar información del sitio ocupado en un directorio du [opciones] [directorio]
  • 73.
    Comandos: Información yEntorno • who Mostrar información sobre usuarios activos who [opciones] [am i] NOTA: En esta orden, si no se especifican parámetros, permite conocer los usuarios conectados a este sistema en el momento en que se ejecuta, y desde que máquinas acceden al sistema.
  • 74.
    Comandos: Información yEntorno • passwd Permite cambiar password del usuario que ejecuta el comando passwd [usuario] NOTA: Solo root podrá cambiar el password de otros usuarios.
  • 75.
    Comandos: Información yEntorno • finger Mostrar usuarios conectados en este momento en el sistema local o en cualquier sistema remoto finger [opciones] [nombre_cuenta] NOTA: finger @nombre_maquina nos indica los usuarios conectados a la máquina nombre_maquina. Sin ningún parámetro se refiere al sistema local. Finger nombre_cuenta nos indica si existe esa cuenta en la máquina indicada o en la local.
  • 76.
    Comandos: Shell Scripts •echo Mostrar una cadena de texto o el contenido de una variable de entorno echo [opciones] [texto o $VARIABLE] Ejemplo: echo $PATH
  • 77.
    Comandos: Shell Scripts •alias Asignar una equivalencia a un nombre o comando alias nombre = equivalencia NOTA: Alias se puede usar para redefinir comandos, por ejemplo: alias ls = ‘ls –F’
  • 78.
    Algunos comandos • login Usuario con el que vamos a trabajar. • SuperUsuario root: Adminsitración, configuración, instalación. • Otros usuarios. • passwd Contraseña del usuario con el que nos hemos logado. • logoutSalir de la consola donde nos hemos logado. • whoami¿Quién soy? Muestra en nombre del usuario con el que estamos trabajando • pwd¿Dónde estoy? Muestra el directorio en el que estamos situados. RECUERDA QUE EN LINUX TU PROMPT TIENE ESTE ASPECTO: PROMPT  [Usuario@Máquina dirActual] $ Usuario NORMAL # root (PRIVILEGIOS ADMINISTRADOR)
  • 79.
    Algunos comandos • clear:Borra pantalla. • date: Muestra fecha y hora • cal: Muestra el calendario del mes en el que estamos. • arch: Arquitectura del procesador. • bc: Calculadora. Se sale con quit • echo $? • Status de salida. • Muestra si la ejecución de un comando ha sido correcta. • Si devuelve 0: Ha sido correcta. • Si devuelve un valor positivo, mayor que 0: Ha sido errónea. • El valor depende del error y del comando.
  • 80.
    Algunos comandos • history •Muestra la lista de los comandos introducidos por el usuario al sistemas • Teclas de dirección. !primeras letras. !Nº de instrucción • consolas • De texto  f1,f2,f3,f4, f5 y f6 • Gráfica  f7 (Muestra el entorno gráfico). • Alt + F(1,2,3,4,5,6,7) • Desde el entorno de texto, me lleva a la consola seleccionada. • Ctrol + Alt + F(1,2,3,4,5,6) • Desde el entorno gráfico me lleva a la consola seleccionada.
  • 81.
    Algunos comandos • Enlazarcomandos. • Comando1 ; Comando2 • Se ejecutan las instrucciones secuencialmente (La segunda a continuación de la primera) • exit • Salir del usuario al que hemos accedido mediante su. • man comando • Muestra la ayuda referente a ese comando • El visor de las páginas del man es el less. • Para buscar una palabra: • (mayúsculas+ tecla / 7) y escribimos la palabra. (Ej: /file) • Tecla n para las siguientes apariciones (next). • Para salir (Esc  :q). • shutdown –h now • Apaga la máquina. • shutdown –r now • Reinicia la máquina.
  • 82.
    Algunos comandos • who •Muestra todos los usuarios logados en la máquina. • su nombreUsuario • Cambia de usuario especificado. Si no aparece nombre de Usuario, se cambia al usuario Root. Con – carga la configuración del usuario • Cuando se pasa del usuario al root o a otro usuario, se pedirá la contraseña del nuevo usuario • Cuando se pasa de root a otro usuario la contraseña no será requerida.

Notas del editor

  • #42 (COMANDOS PARA MANIPULAR FICHEROS Y DIRECTORIOS) COMANDO CHMOD DESCRIPCIÓN: Se utiliza para cambiar los permisos de un recurso. SINTAXIS: chmod [opciones] <permisos> <ficheros> Las formas de expresar los nuevos permisos son diversas, se puede emplear la representación numérica o utilizando caracteres. EJEMPLOS: $ chmod u+x clase.txt # añade el permiso de ejecución al dueño. $ chmod g=rx program.sh # asigna exactamente los permisos de lectura y ejecución al grupo. $ chmod go-w profile # elimina el permiso de escritura en el grupo y en otros. $ chmod a+r,o-x *.ts # adiciona el permiso de lectura para todos los usuarios y elimina el de ejecución para otros. $ chmod +t tmp/ # adiciona el permiso especial t. $ chmod 755 /home/pepe/doc/ # asigna los permisos con representación octal 755 (rwxr-xr-x). $ chmod -R o+r apps/ # adiciona el permiso de lectura a otros para un directorio de forma recursiva (incluyendo todo su contenido). $ chmod +x ./bin/* # adiciona el permiso de ejecución a todos los usuarios que les corresponde por defecto. # chmod 4511 /usr/bin/passwd # asigna los permisos con representación octal 4511 (r-s--x--x) Para determinar cuales permisos se asocian por defecto a los ficheros o directorios creados, cada usuario posee una máscara de permisos. Esta se expresa en el formato numérico octal o sea posee tres dígitos entre cero y siete (Ej. 166). La máscara indica que permisos no se desea que tenga el recurso creado. Por defecto esta máscara es 002 para los usuarios comunes y 022 para root (Realmente es así para todos los usuarios con identificador menor o igual que 14). La máscara realmente se asocia al shell y se hereda por los subshells (un subshell es un shell ejecutado dentro de otro). Para calcular los permisos finales dado que se tiene la máscara 022, se hace la siguiente operación por parte del sistema: Ficheros = totales_para_ficheros - máscara = 666 - 022 = 644 = -rw-r--r-- Directorios = totales_para_directorios - máscara = 777 - 022 = 755 = drwxr-xr-x
  • #43 (COMANDOS PARA MANIPULAR FICHEROS Y DIRECTORIOS) COMANDO UMASK DESCRIPCIÓN: Se puede emplear para colocar u observar la máscara. SINTAXIS: umask [opciones] [máscara] EJEMPLOS: $ umask # sin argumentos muestra la máscara actual en formato numérico 022. $ umask -S # muestra el complemento de la máscara en formato de caracteres u=rwx,g=r,o=r. $ umask -S 037 # asigna la máscara 037 (niega permisos de ejecución y de escritura para el grupo, u=rwx,g=r,o= y todos los permisos para el resto de los usuarios). Se muestra el resultado en formato de caracteres. $ umask g=rx,o= # especifica el complemento la máscara utilizando el formato de caracteres. Para ser bien restrictivos se recomienda hacer: $ umask 077 Los nuevos directorios tendrán el permiso: 700 = drwx------ Los nuevos ficheros tendrán el permiso: 600 = -rw-------