Está en la página 1de 53

1

IDENTIFICANDO LA COMUNIDAD LINUX


Universidad Nacional Abierta Y A Distancia – UNAD

Escuela de ciencias básicas, tecnología e ingeniería - ECBTI

Curso: Diplomado de profundización en administración de sistemas operativos

Open Source con certificación en Linux

Paso 2 - Identificando la comunidad Linux

Presentado por: Yony Ortega Solarte


Código: 1061698385
Grupo: 35

Tutor (a): Edgar Roberto Dulce

Universidad Nacional Abierta Y A Distancia – UNAD


Programa: Ingeniería de sistemas

CEAD CENTRO SUR_POPAYAN


Septiembre del 2023
2
IDENTIFICANDO LA COMUNIDAD LINUX
Introducción

En la siguiente actividad se va a reconocer los conceptos básicos de la línea de comandos,

crear, mover, eliminar y permisos de archivos en el sistema operativo.

Como estudiante antes de iniciar el desarrollo debo realizar el procedimiento de registro a

la plataforma CISCO y posteriormente realizar el CP Linux Unhatched 16-02 2023 y una vez lo

tenga aprobado realizaría CP Linux Essentials 16-02 2023.


3
IDENTIFICANDO LA COMUNIDAD LINUX
Objetivo general

Apropiarse del concepto de la comunidad de Linux y dar solución a los cursos de

inscritos en la academia de cisco

Objetivos específicos

 Reconocer los conceptos básicos de la línea de comandos

 crear, mover, eliminar y permisos de archivos en el sistema operativo


4
IDENTIFICANDO LA COMUNIDAD LINUX
Actividad individual

1. El estudiante ingresará al material educativo Linux Essentials del Linux

Professional Institute (LPI) donde revisará, analizará y practicará las temáticas tema 1,

tema 2, tema 3, donde deberá en un documento en formato PDF registrar los ejercidos

guiados y exploratorios de cada una de las lecciones de los temas mencionados para esta

actividad.

Tema 1: La Comunidad Linux y una carrera en el mundo del código abierto

1.1 Los sistemas operativos populares y la evolución de Linux

Ejercicios guiados

 ¿En qué se diferencia Debian GNU/Linux de Ubuntu? Nombre dos aspectos.

La principal diferencia entre ambos. Ubuntu es un sistema operativo tanto para

principiantes como para usuarios experimentados, mientras Debian es mejor para usuarios

profesionales, pues su instalación y configuración son mucho más complejas.

Debian es una buena opción, solo se instala por defecto software de código abierto. el

software comercial no suele contar con soporte, incluso en el caso de programas utilizados por

normal general por muchos usuarios. Aunque la gama de paquetes de software es enorme, no

encontrarás muchos programas conocidos, al software, mientras que Ubuntu apuesta por la

facilidad de uso. permite la compatibilidad con los programas informáticos de empresas

privadas. Ubuntu se presenta como una buena alternativa a otros sistemas operativos que son

igualmente fáciles de usar y tienen muy pocas restricciones.


5
IDENTIFICANDO LA COMUNIDAD LINUX
 ¿Cuáles son los entornos/plataformas más comunes para los que se utiliza Linux?

Nombre tres entornos/plataformas diferentes y nombre una distribución que pueda

utilizarse para cada uno.

Los servidores Linux son los más implementados de todos los sistemas operativos de uso

general. Además, Linux es el SO más utilizado en los servidores, se destaca en el ámbito de las

computadoras centrales y es el único que se emplea en las supercomputadoras.

El sistema operativo debe ser integral y flexible para implementarlo en los entornos

físicos, virtuales y de nube. Red Hat Enterprise Linux Server organiza los recursos de hardware y

se ejecuta en los sistemas físicos, en la nube o como guest de un hipervisor. Funciona como la

base para la infraestructura de TI y es compatible con las plataformas de hardware más

importantes.

Las familias de distribuciones más populares. Debian: El proyecto Debian es uno de los

sistemas operativos basados en Linux más tradicionales y extendidos. Tiene la ventaja de ser uno

de los más estables. A partir de él se crearon decenas de otras distribuciones como Ubuntu, Mint,

Raspbian, Lubuntu y muchas más.

Red Hat: es una de las distribuciones que tienen versiones orientadas al sector

empresarial y que se ofrecen por la misma empresa Red Hat, bajo pago de licencia, pero con

soporte. A partir de Red Hat encontramos otra de las principales familias de sistemas operativos

que son totalmente gratuitos, como CentOS, Fedora o Alma Linux.

SUSE: Otra familia de sistemas operativos basados en Linux. Tiene en SUSE su proyecto

principal, orientado al sector de los negocios y en OpenSUSE su versión gratuita, orientada para

cualquier otro tipo de usuario que no desee pagar soporte empresarial.


6
IDENTIFICANDO LA COMUNIDAD LINUX
los de los entornos/plataformas comunes de uso son los tv y teléfonos inteligentes,

computadoras y pc y servidores. En teléfonos inteligentes.

 Se planea instalar una distribución de Linux en un nuevo entorno. Nombre cuatro

aspectos que deban ser considerados al elegir una distribución.

Los aspectos a tener en cuenta son:

 Facilidad de uso: La facilidad de uso es un factor importante para considerar al elegir

una distribución de Linux. Si usted es nuevo en el mundo de Linux, es probable que

desee una distribución que tenga una interfaz gráfica de usuario fácil de usar y un proceso

de instalación simple. Ubuntu y Linux Mint son dos opciones populares que son

conocidas por ser amigables para los principiantes.

 Seguridad: La seguridad es una preocupación importante en el mundo de la tecnología y

Linux no es una excepción. Es importante elegir una distribución de Linux que tenga una

buena reputación de seguridad y que ofrezca actualizaciones de seguridad regulares. Las

distribuciones de Linux que se utilizan con mayor frecuencia en servidores, como

CentOS, Red Hat Enterprise Linux y Alma Linux, tienen una sólida reputación de

seguridad.

 Precio: Finalmente, el precio es un factor para considerar. Aunque muchas distribuciones

de Linux son gratuitas, algunas distribuciones empresariales pueden tener un coste

asociado. Red Hat Enterprise Linux, por ejemplo, tiene una versión gratuita y una versión

empresarial con un precio asociado.

 Hardware y compatibilidad de software: Otro factor importante a considerar es la

compatibilidad de hardware y software. Es importante asegurarse de que la distribución

de Linux que elijas sea compatible con el hardware y software que planeas utilizar.
7
IDENTIFICANDO LA COMUNIDAD LINUX
Además, es importante verificar si la distribución de Linux tiene un buen soporte para los

controladores necesarios. Por ejemplo, si planeas utilizar hardware de gráficos Nvidia, es

posible que desee elegir una distribución de Linux que tenga un buen soporte para este

tipo de controladores.

 Nombre tres dispositivos en los que se pueda ejecutar el sistema operativo Android,

que no sean teléfonos inteligentes.

Fuera de los teléfonos inteligentes los dispositivos que se ejecutan con el S.O Android

son:

 Tablets: No tienen el mismo éxito con Android, pero también son otro dispositivo en el

que Android lleva mucho tiempo, e incluso han disfrutado de versiones específicas.

 Televisores Smart: Android TV llegó prácticamente a la vez que Android Wear, y su

objetivo es que podamos disfrutar de todo lo que amamos de Android en un pantallon de

55 pulgadas.

 Ordenadores portátiles: Android Studio te permite crear dispositivos virtuales que

emulan móviles, smartwatch, Android Auto y más, pero no ha sido hasta la versión

Android Studio Electric Eel (por ahora en versión Canary) que la aplicación te permite

crear un dispositivo emulado con características de PC.

 Explique tres ventajas importantes de la computación en la nube.

Tres ventajas de la computación en la nube:


8
IDENTIFICANDO LA COMUNIDAD LINUX
 Fomenta una implementación rápida y con menos riesgos en el contexto de la

ciberseguridad.

 Permite acceder a los servicios desde cualquier lugar y cualquier hora, siempre que se

cuente con un dispositivo electrónico y conexión a Internet.

 Minimiza los costos a las empresas debido a que no deben invertir en hardware y

software, su mantenimiento o la gestión de licencias.

Ejercicios exploratorios

 Teniendo en cuenta el costo y el rendimiento, ¿Qué distribuciones son más

adecuadas para una empresa que tiene como objetivo reducir los costos de licencias,

manteniendo el rendimiento al máximo? Explique por qué.

Las 3 principales distribuciones que piensan en el sector empresarial son:

 Red Hat Enterprise Linux: Una de las distribuciones más conocidas, con versiones para

ordenadores de trabajo (Red Hat Enterprise Desktop) pero centrado para servidores y

administración de grandes centros de datos o supercomputadoras. Su modelo de negocio

se basa en la suscripción por servicios de mantenimiento y asistencia técnica.

 SUSE Linux: SUSE es también bastante conocida usada para la gestión de servidores,

virtualización de entornos y administración de centros de almacenamiento de datos. Sus

mismos responsables la indican para banca, servicios sanitarios o incluso para

instituciones gubernamentales.

 CentOS: Abreviado de Community Enterprise Operación System, CentOS es una

distribución derivada de Red Hat Enterprise Linux con tal dedicación que se merece ser
9
IDENTIFICANDO LA COMUNIDAD LINUX
mencionada aparte. La gran diferencia es que es completamente gratuito, siendo su

soporte técnico oficial los mensajes de la propia comunidad de desarrolladores y usuarios

en los foros de la web.

 ¿Cuáles son las principales ventajas de Raspberry Pi y qué funciones pueden tener

en los negocios?

Las ventajas y función de negocio del Raspberry Pi son las siguientes:

 Las computadoras se usan comúnmente para realizar actividades diarias livianas,

como ver películas en alta definición, procesar textos, escuchar música y otras

actividades.

 Se puede conectar con varios sensores, como sensores de luz, sensores de

temperatura, sensores de movimiento y otros.

 Se puede hacer un servidor web.

 Se puede utilizar como servidor NAS (almacenamiento conectado a la red) en

casa.

 Se puede combinar con Arduino.

 Para gestionar descargas, en este caso Raspberry se puede usar como una

computadora que descarga archivos de películas que se pueden dejar sin

preocuparse por el consumo de electricidad.

 Servidor de impresora, que es un dispositivo que está conectado a la impresora

para que la esta se pueda usar en conjunto en una red LAN.


10
IDENTIFICANDO LA COMUNIDAD LINUX
 Wifi Internet Radio Player donde se usa Raspberry Pi para reproducir música

transmitida desde la radio por Internet, puede ajustar el volumen y administrar

listas de reproducción desde teléfonos móviles.

 Se puede utilizar para ser un servidor de alojamiento de sitios web, basado en

HTML, php y mysql.

 Automatización del hogar para controlar luces, regar plantas, ventiladores, aires

acondicionados y más desde pantallas LCD o teléfonos celulares.

 ¿Qué gama de distribuciones ofrecen Amazon Cloud Services y Google Cloud?

Nombre al menos tres comunes y dos diferentes.

 Amazon EC2 es compatible con una amplia gama de sistemas operativos entre los

que se incluyen los siguientes: Amazon Linux, Ubuntu, Windows Server, Red Hat

Enterprise Linux.

 Google Cloud Platform se basa en Linux y funciona con varias distribuciones del

SO, como CentOS, Ubuntu y Red Hat Enterprise Linux.

1.2 Principales aplicaciones de código abierto

Ejercicios guiados

 Para cada uno de los siguientes comandos, identifique si está asociado con el sistema

de empaquetado Debian (Debian packaging system) o con el sistema de

empaquetado Red Hat (Red Hat packaging system):


11
IDENTIFICANDO LA COMUNIDAD LINUX

Tabla 1

Comandos de selección de la terminal de Ubuntu

dpkg Comando está asociado con el

sistema de empaquetado Debian

rpm Comando está asociado con el

sistema de empaquetado Red Hat.

Apt-get Comando está asociado con el

sistema de empaquetado Debian.

yum Comando está asociado con el

sistema de empaquetado Red Hat.

dnf Comando está asociado con el


Nota. Se
sistema de empaquetado Red Hat.

identifica los comandos si estan asociados con el sistema de empaquetado Debian (Debian

packaging system) o con el sistema de empaquetado Red Hat (Red Hat packaging system)

 ¿Qué comando se puede usar para instalar Blender en Ubuntu? Después de la

instalación, ¿Cómo se puede ejecutar el programa?

Se debe especificar en letras minúsculas el comando Apt-get install Blender

directamente desde el símbolo del sistema Blender.

 ¿Qué aplicación del paquete LibreOffice se puede utilizar para trabajar con hojas

de cálculo?
12
IDENTIFICANDO LA COMUNIDAD LINUX
LibreOffice Calc incorpora funciones, incluidas funciones estadísticas y financieras,

que se pueden utilizar para crear fórmulas que realicen cálculos complejos sobre los datos.

También pueden utilizarse los Asistente para funciones como ayuda para la creación de

fórmulas.

 ¿Qué navegador web de código abierto se utiliza como base para el desarrollo de

Google Chrome?

Chromium es una versión de código abierto de Google Chrome, pero sin todos los

códecs exclusivos y otros elementos con los que Google pretende diferenciar Chrome de

otros navegadores. Así pues, Chrome es la suma de Chromium y una serie de plugins

propietarios, un mantenimiento dedicado, y opciones diseñadas por los desarrolladores de

Google para hacerlo único.

 SVG es un estándar abierto para gráficos vectoriales. ¿Cuál es la aplicación más

popular para editar archivos SVG en sistemas Linux?

Inkscape es una herramienta de software libre de escritorio para Windows, Mac y

Linux y con la que podrás crear y editar archivos SVG de manera bastante intuitiva

 Para cada uno de los siguientes formatos de archivo, escriba el nombre de una

aplicación capaz de abrir y editar el archivo correspondiente:

Tabla 2

Nombre de archivos

png viu
13
IDENTIFICANDO LA COMUNIDAD LINUX

doc LibreOffice Writer

xls LibreOffice Calc

ppt LibreOffice Impress

wav Adobe Audition

Nota. Se describe nombre de app para abrir y editar cada archivo

 ¿Qué paquete de software permite compartir archivos entre máquinas Linux y

Windows a través de la red local?

Samba permite la integración de Windows con sistemas Linux/Unix en una

misma red, de tal forma que se puedan intercambiar archivos o se puedan utilizar

diferentes impresoras independientemente del sistema operativo de los ordenadores de

una red.

Ejercicios exploratorios

 Usted sabe que los archivos de configuración se mantienen incluso si el paquete

asociado se elimina del sistema. ¿Cómo puede eliminar automáticamente el paquete

llamado cups y sus archivos de configuración de un sistema basado en DEB?

Apt-get purge {package}: este apt es un comando remueve por completo un

programa o paquete, incluyendo también, sus archivos de configuración asociados.


14
IDENTIFICANDO LA COMUNIDAD LINUX
 Suponga que tiene muchos archivos de imagen TIFF y desea convertirlos a JPEG.

¿Qué paquete de software podría utilizarse para convertir esos archivos

directamente en la línea de comandos?

ImageMagick: programa gratuito de código abierto para crear y manipular

imágenes en más de 68 formatos (incluidos GIF, JPEG, TIFF, PhotoCD, PDF y PNG). Se

ejecuta en muchos sistemas operativos populares, incluidos Linux, Unix, Windows,

Macintosh, VMS y OS2.

 ¿Qué paquete de software necesita instalar para poder abrir documentos de

Microsoft Word enviados por un usuario de Windows?

OpenOffice a LibreOffice también se refleja en el alcance de los dos paquetes en

cuanto a los programas principales. Los productos son muy similares y en ambos casos

están disponibles para usuarios de Windows, macOS y Linux. Ambos productos ofrecen

un paquete global de aplicaciones con su suite ofimática, como es habitual en otros

proveedores, por ejemplo, Microsoft con Word y Excel.

 Cada año, linuxquestions.org promueve una encuesta sobre las aplicaciones Linux

más populares. Visite https://www.linuxquestions.org/questions/2018-

linuxquestions-org-members-choice-awards-128/

y descubra qué aplicaciones de escritorio son las más populares entre los

usuarios experimentados de Linux.


15
IDENTIFICANDO LA COMUNIDAD LINUX

Distribución de escritorio del año: Antergos, antiX y Arch

Juego de código abierto del año: 0 A.D., Battle for Wesnoth y Chromium B.S.U

Lenguaje de programación del año: Ada, Assembly, AWK

1.3 Software de Código Abierto y las licencias

Ejercicios guiados

 ¿Cuáles son, en pocas palabras, las "cuatro libertades" definidas por Richard

Stallman y la Free Software Foundation?

Tabla 3

4 libertades definidas por Richard Stallman y la Free Software Foundation?

libertad Libertad de ejecutar el programa como se desee, no puede


0 prescribirse ni restringirse
Libertad de estudiar cómo funciona el programa y de modificarlo,
libertad
Cualquier persona puede cambiar el software en función de sus ideas y
1
necesidades
libertad Libertad de redistribuir copias, cada usuario puede compartir el
2 software con los demás
libertad de distribuir copias de sus versiones modificadas a otros,
liberta
distribuir las modificaciones que se realizan.
d3
Nota. Se definen las 4 libertades

 ¿Qué significa la abreviatura FLOSS?


16
IDENTIFICANDO LA COMUNIDAD LINUX
Software libre y de código abierto, FLOSS por sus siglas en inglés (Free/Libre

Open Source Software). Aunque estos dos tipos de desarrollo comparten algunas

características básicas, el software libre se enfoca en las libertades y derechos de las

personas usuarias de software mientras que el software de código abierto se centra más en

las ventajas técnicas.

 Ha desarrollado software libre y desea asegurar el software en sí, pero que también

todos los trabajos futuros basados en este permanezcan libres. ¿Qué licencia eliges?

Tabla 4

Elección de licencia

CC BY
GPL versión 3 Elijo esta licencia
2-Clause BSD License
LGPL
Nota. Se elije la licencia para asegurar el software

 ¿A cuál de las siguientes licencias llamaría permisiva, cuál llamaría copyleft?

Tabla 5

Licencias de elección

Simplified BSD License Permisiva


GPL versión 3 copyleft
CC BY Permisiva
CC BY-SA copyleft
Nota. Se describe cada licencia si es permisiva o copyleft
17
IDENTIFICANDO LA COMUNIDAD LINUX
 Ha escrito una aplicación web y la ha publicado con una licencia gratuita. ¿Cómo

puedes ganar dinero con tu producto? Nombra tres posibilidades.

 Desarrollar divulgaciones del sitio web según las necesidades de los clientes.

 El sitio web debe tener una distribución comercial

 Dar un soporte técnico eficiente

Ejercicios exploratorios

 ¿Bajo qué licencia (incluida la versión) están disponibles las siguientes aplicaciones?

Tabla 6

Elección de licencia

Apache HTTP Server Apache License 2.0


MySQL Community
GPL 2.0
Server
Creative Commons Attribution Share-Alike license (CC-
Wikipedia articles
BY-SA)
Mozilla Firefox Mozilla Public License 2.0
GIMP LGPL 3
Nota. Descripción de licencia para cada app

 Desea lanzar su software bajo la GNU GPL v3. ¿Qué pasos debes seguir?

 Añadir también un archivo COPYING: LESSER que contenga una copia de la

LGPL de GNU, en caso de que utilice esta licencia.


18
IDENTIFICANDO LA COMUNIDAD LINUX
 Incluya una nota de licencia en cada archivo.

 (Opcionalmente) haga que el programa muestre un aviso al inicio.

 (Si utiliza la AGPL) haga que el programa ofrezca copias del código fuente.

 Usted ha un escrito software propietario y desea combinarlo con software libre bajo

GPL versión 3. ¿Se le permite hacer esto o qué debe considerar?

Siempre que su software propietario y el software libre permanezcan separados

entre sí, la combinación es posible.

 ¿Por qué la Free Software Foundation lanzó la GNU Affero General Public License

(GNU AGPL) como complemento a la GNU GPL?

El propósito de la GPL Affero de GNU es evitar un problema que afecta a los

desarrolladores de programas libres que se usan con frecuencia en servidores.

Tanto la GPL de GNU, versión 3, como la GPL Affero de GNU, incluyen en su

texto la posibilidad de vincular en un único programa módulos que estén bajo estas dos

licencias.

 Nombre tres ejemplos de software libre, que también se ofrecen como “Business

Edition”, es decir, en una versión de pago.


19
IDENTIFICANDO LA COMUNIDAD LINUX
 Silhouette Studio Designer

 Silhouette Studio Designer Plus

 Silhouette Studio Business

1.4 Destrezas TIC y el trabajo con Linux

Ejercicios guiados

 Debe usar una “ventana privada” en su navegador si desea:

Tabla 7

Elección de ventana para navegar

Para navegar completamente anónimo en Internet


Impide que guarde tu actividad de
navegación en tu historial local. Sin
embargo, tu actividad y ubicación
Para no dejar rastro en la computadora que está
podrían ser visibles para: Los sitios web
utilizando
que visites, incluidos los anuncios y los
recursos que se utilicen en dichos sitios.
Los sitios web en los que inicies sesión
Para activar TLS y evitar el seguimiento de
cookies
Para usar DNT
Para utilizar la criptografía durante la transmisión
de datos
Nota. Elección de opción de ventana para no dejar rastro en el pc a utilizar

 ¿Qué es OpenStack?

Tabla 8
OpenStack
20
IDENTIFICANDO LA COMUNIDAD LINUX

Está diseñada para ofrecer nubes


Un proyecto que permite la creación de IaaS públicas o privadas orientadas a ofrecer
privadas infraestructuras como servicio a los
usuarios (IaaS).
Un proyecto que permite la creación de PaaS
privadas
Un proyecto que permite la creación de SaaS
privadas
Un hipervisor
Un administrador de contraseñas de código abierto
Nota. Definición de OpenStack

 ¿Cuál de las siguientes opciones son softwares válidos de cifrado de disco?

Tabla 9
Opciones de software validos de cifrado de disco
RevealJS, EncFS y dm-crypt
dm-crypt y KeePass
EncFS y Bitwarden
EncFS es un sistema de archivos
criptográfico apilable ejecutado en el
EncFS y dm-crypt espacio de usuario similar a eCryptfs, y
tiene como objetivo asegurar los datos
con las mínimas complicaciones
TLS y dm-crypt
Nota. Se elije los softwares de cifrado de disco

 Seleccione verdadero o falso para el cifrado de dispositivo dm-crypt:

Tabal 10
Selección verdadero o falso para cifrado de dispositivo dm-crypt

Los archivos se cifran antes de escribirse en el


V
disco
Todo el sistema de archivos es un blob cifrado V
Solo los archivos y directorios están encriptados,
F
no los enlaces simbólicos
No requiere acceso root V
Es un cifrado de dispositivo de bloque V
Nota, se define falso o verdadero de los archivos que son cifrados de dispositivo dm-
crypt
21
IDENTIFICANDO LA COMUNIDAD LINUX

 Beamer es:

Beamer es una clase de LaTeX para la creación de presentaciones. Funciona con

pdflatex, dvips y LyX. El nombre viene del vocablo alemán "Beamer", un pseudo-

anglicismo que significa videoproyector.

Ejercicios exploratorios

 La mayoría de las distribuciones vienen con Firefox instalado por defecto (si el tuyo

no, tendrás que instalarlo primero).Vamos a instalar una extensión de Firefox

llamada Lightbeam.Puede hacerlo pulsando Ctrl+Shift+A y buscando “Lightbeam”

en el campo de búsqueda que se mostrará en la pestaña abierta, o visitando la

página de extensión con Firefox y haciendo clic en el botón “Instalar”:

https://addons.mozilla.org/en-GB/firefox/addon/lightbeam-3-0/ Después de hacer

esto, inicie la extensión haciendo clic en su icono y comience a visitar algunas

páginas web en otras pestañas para ver qué sucede.

Ghtbeam es un experimento de Mozilla que intenta revelar los sitios de primera y

tercera parte con los que interactúa al visitar una sola URL

 ¿Qué es lo más importante cuando se usa un administrador de contraseñas?


22
IDENTIFICANDO LA COMUNIDAD LINUX
Un administrador de contraseñas te ayuda a gestionar la seguridad digital creando,

almacenando y recuperando contraseñas únicas para las cuentas en línea.

La mayor ventaja de los gestores de contraseñas es no tener que recordar

constantemente nuevas contraseñas, además de poder tener una para cada cuenta e ir

cambiándolas cada cierto tiempo sin volvernos locos.

 Use su navegador web para navegar a https://haveibeenpwned.com/. Descubra el

propósito del sitio web y verifique si su dirección de correo electrónico se incluyó en

algunas filtraciones de datos.

El propósito del sitio web, es un servicio al que recurren quienes desean verificar

si la contraseña que utilizan o su dirección de correo fue expuesta como consecuencia de

un incidente de seguridad que sufrió algún servicio online en el que han creado una

cuenta.

Imagen 2

Sitio web https://haveibeenpwned.com/.


23
IDENTIFICANDO LA COMUNIDAD LINUX
Nota. Al ingresar mi correo electrónico y dar clic no se evidencia filtraciones de

datos.

Tema 2: Encontrando el camino en un sistema Linux

2.1 Aspectos básicos de la línea de comandos lección 1

Ejercicios guiados

 Divida las líneas a continuación en comando, opción(s)/parámetro(s) y


argumento(s):

Ejemplo:

cat -n /etc/passwd

Comando: cat
Opción: -n
Argumento: /etc/passwd

ls -l /etc

Comando: ls
Opción: -l
Argumento: /etc

ls -l -a

Comando: ls
Opción: -l-a
Argumento: No tiene argumento

cd /home/user

Comando: cd
Opción: No posee opción
Argumento: /home/user
 Encuentre de que tipo son los siguientes comandos:
24
IDENTIFICANDO LA COMUNIDAD LINUX
Ejemplo:
pwd Shell builtin
cdmv External command
Shell builtin
cat Comando externo
exit Shell builtin

 Resuelva los siguientes comandos que usan comillas:


Example:
echo "$HOME is my home directory" echo /home/user is my home directory

touch "$USER" "new file"


touch 'touch' '$TWOWORDS'

Ejercicios exploratorios
 Con un comando y usando brace expansion en Bash (revise la página del
manual para Bash), cree 5 archivos numerados del 1 al 5 con el
prefijo game (game1, game2, …).

Imagen 2
Uso del comando brace de expamsion en Bash
25
IDENTIFICANDO LA COMUNIDAD LINUX

Nota. Creacion de 5 archivos del 1- 5

 Elimine los 5 archivos que acaba de crear con un solo comando,

utilizando un carácter especial diferente (revise Pathname Expansion en

las páginas del manual de Bash).

Iamgen 3

Eliminacion de los 5 archivos anteriormente creados


26
IDENTIFICANDO LA COMUNIDAD LINUX
Nota. Al utilizar el comando de eliminacion la orden no es encontrada

 ¿Hay alguna otra forma de hacer que dos comandos interactúen entre sí?

¿Cuáles son?

Linux también puede recopilar la salida de un comando y usarlo como

entrada para otro comando. Esto se llama piping

2.1 Aspectos básicos de la línea de comandos lección 2

Ejercicios guiados

 Cree una variable local number.

number=3

 Cree una variable de entorno ORDER, utilizando uno de los métodos anteriores.

echo ORDER=desc

 Muestre los nombres de las variables y sus contenidos.

$ echo number

number
27
IDENTIFICANDO LA COMUNIDAD LINUX
$ echo ORDER

ORDER

$ echo $number

$ echo $ORDER

desc

 ¿Cuáles son los ámbitos de las variables creadas previamente?

number es sólo el shell reciente

ORDER es el shell actual y todos los sub-shells generados dentro de este

Ejercicios exploratorios

 Cree una variable local nr_files y asignele el número de líneas encontradas en el

archivo /etc/passwd. Sugerencia: mire el comando wc y la sustitución de comandos,

tampoco se olvide de las comillas.

nr_files=`wc -l /etc/passwd`

 Crea una variable de entorno ME. Asigna el valor de la variable USER a la misma.

export ME=$USER

 Agregue el valor de la variable HOME a ME usando el delimitador: Luego muestre

el contenido de la variable ME.

Imagen 4
28
IDENTIFICANDO LA COMUNIDAD LINUX
Se usa la variable HOME a ME

Nota. Resultado de la variable ME

 Usando el ejemplo de fecha anterior, cree una variable llamada today y asignele la

fecha para una de las zonas horarias.

Imagen 5

Variable para la fecha

Nota. Fecha de horario de diferente al sistema


29
IDENTIFICANDO LA COMUNIDAD LINUX
Or

Imagen 6

Variable de fecha

Nota. Fecha real dada por el sistema

 Cree otra variable llamada today1 y asígnele la fecha del sistema.

Imagen 7

Creacion de nueva variable

Nota. Asignación de la fecha del sistema


30
IDENTIFICANDO LA COMUNIDAD LINUX
2.2 Uso de la línea de comandos para obtener ayuda

Ejercicios guiados

 Use el comando man para averiguar qué hace cada comando

Tabal 10

Comando man

Comando Descripción
ls Muestra el contenido de un directorio.
cat Concatena o ve archivos de texto.
cut Elimina secciones de un archivo de texto.
cd Cambia a un directorio diferente.
cp Copia un archivo.
mv Mueve un archivo (también se puede usar para cambiar el nombre).
mkdir Crea un nuevo directorio.
Crea un archivo o modifica la fecha y hora de la última modificación
touch
de un archivo existente.
wc Cuenta el número de palabras, líneas o bytes de un archivo.
passwd Cambia la contraseña de un usuario.
rm Elimina un archivo.
rmdir Elimina un directorio.
more Visualiza archivos de texto una pantalla a la vez.
Visualiza archivos de texto, permite desplazarse hacia arriba y hacia
less
abajo una línea o página a la vez.
Muestra la ruta del archivo de un programa específico y de manuales
whereis
relacionados.
head Muestra las primeras líneas de un archivo.
tail Muestra las últimas líneas de un archivo.
sort Ordena un archivo de manera numérica o alfabéticamente.
tr Traduce o elimina caracteres de un archivo.
chmod Cambia los permisos de un archivo.
grep Búsquedas dentro de un archivo.
Nota. Se describe que realiza cada comando
31
IDENTIFICANDO LA COMUNIDAD LINUX
 Abra la página de información ls e identifique el MENU.

- ¿Qué opciones tienes?

Ordenar la salida

Detalles sobre el ordenamiento de versiones

Formato de salida general

Formateando marcas de tiempo de archivo

Formateando los nombres de archivo

- Encuentre la opción que le permite ordenar la salida por tiempo de modificación.

-t or --sort=time

 Muestre la ruta de los primeros 3 archivos README. Use el comando man para

identificar la opción correcta para locate.

locate -l 3 README

/etc/alternatives/README

/etc/init. d/README

/etc/rc0.d/README

 Cree un archivo llamada prueba en su directorio de inicio. Encuentre su ruta

absoluta con el comando locate.


32
IDENTIFICANDO LA COMUNIDAD LINUX

touch test

locate test

/home/user/test

 ¿Lo encontraste de inmediato? ¿Qué tuvo que hacer para que locate lo encontrara?

sudo updatedb

 Busque el archivo de prueba que creó anteriormente, utilizando el comando find.

¿Qué sintaxis uso y cuál es la ruta absoluta?

find. -name test

/home/user/test

Ejercicios exploratorios

 Hay un comando en la tabla anterior que no tiene una página man. ¿Cuál es y por

qué cree que el comando no tiene una página de manual?

CD No tiene una página de manual porque es un comando interno de shell.


33
IDENTIFICANDO LA COMUNIDAD LINUX
 Usando los comandos de la tabla anterior, cree el siguiente árbol de archivos. Los

nombres que comienzan con mayúscula son directorios y los que están en

minúsculas son archivos.

User
├── Documents
| ├──Hello
| | ├──hey2
| | ├──helloa
| | └──ola5
| └──World
| └──earth9
├── Downloads
| ├──Music
| └──Songs
| ├──collection1
| └──collection2
├── Test
| └── passa
└── test

comandos mkdir y touch

 Muestre en la pantalla el directorio de trabajo actual, incluidas las subcarpetas.

ls -R

 Busque dentro del árbol todos los archivos que terminen con un número.

find ~ -name "*[0-9]"

locate "*[0-9]"
34
IDENTIFICANDO LA COMUNIDAD LINUX

 Elimine todo el árbol de directorios con un solo comando.

rm -r Documents Downloads Test test

2.3 Uso de directorios y listado de archivos lección 1

Ejercicios guiados
 Para cada una de las siguientes rutas, identifique si es absoluta o relativa:

/home/user/ absolut
Downloads a
../Reports relativa
absolut
/var
a
docs relativa
absolut
/
a

 Observe la siguiente estructura de archivos. Nota: Los directorios terminan


con una barra inclinada (/) cuando se ejecuta tree con la opción -F.
Necesitará privilegios elevados para ejecutarlo en el directorio principal root
(/). El siguiente es un resultado de ejemplo y no es indicativo de una
estructura de directorio completa. Úselo para responder las siguientes
preguntas:

1. $ sudo tree -F /
2.
3. /
4. ├── etc/
5. │ ├── network/
6. │ │ └── interfaces
7. │ ├── systemd/
8. │ │ ├── resolved.conf
9. │ │ ├── system/
10. │ │ ├── system.conf
35
IDENTIFICANDO LA COMUNIDAD LINUX
11. │ │ ├── user/
12. │ │ └── user.conf
13. │ └── udev/
14. │ ├── rules. d/
15. │ └── udev.conf
16. └── home/
17. ├── lost+found/
18. └── user/
19. └── Documents/
20.
12 directorios, 5 archivos

Use esta estructura para responder las siguientes preguntas.


 Un usuario ingresa los siguientes comandos:

$ cd /etc/udev
$ ls -a

¿Cuál será la salida del comando ls -a?


. .. hwbd.d. d rules. d udev.conf
 Ingrese el comando más corto posible para cada una de las siguientes
situaciones:

o Su ubicación actual es root (/). Ingrese el comando para navegar


a lost+found dentro del directorio home (ejemplo):

$ cd home/lost+found

o Su ubicación actual es root (/). Ingrese el comando para navegar al directorio


llamado /etc/network/.
$ cd etc/network
o Su ubicación actual es /home/user/Documents/. Navegue al directorio
llamado /etc/.
$ cd /etc
o Su ubicación actual es /etc/systemd/system/. Navegue al directorio
llamado /home/user/.
$ cd /home/user
 Considere los siguientes comandos:

$ pwd
/etc/udev/rules. d
36
IDENTIFICANDO LA COMUNIDAD LINUX
$ cd. /. /systemd/user
$ cd ..
$ pwd

¿Cuál es el resultado del comando final pwd?


En mi terminal termino en resultado /etc

Ejercicios exploratorios
 Supongamos que un usuario ha ingresado los siguientes comandos:

$ mkdir "this is a test"


$ ls
this is a test

¿Qué comando cd le permitiría ingresar a este directorio?


$ cd this\ is\ a\ test
 Intente esto nuevamente, pero después de escribir cd this, presione la tecla
TAB. ¿Qué se muestra ahora en la solicitud?
En mi terminal no me permite hacer esa acción o activar ese comando

Este es un ejemplo de _ autocompletado_, la cual es una herramienta invaluable


no solo para ahorrar tiempo, sino también para evitar errores ortográficos.

 Intente crear un directorio cuyo nombre contenga un carácter \. Visualice el


nombre del directorio con ls y elimine el directorio.

$ tree my\\tre
$ ls
'my\tre'
$ tree 'my\tre'

2.3 Uso de directorios y listado de archivos lección 2

Ejercicios guiados
 Use la siguiente estructura de archivos para responder las siguientes tres
preguntas:

1. /
37
IDENTIFICANDO LA COMUNIDAD LINUX
2. ├── etc/
3. │ ├── network/
4. │ │ └── interfaces/
5. │ ├── systemd/
6. │ │ ├── resolved.conf
7. │ │ ├── system/
8. │ │ ├── system.conf
9. │ │ ├── user/
10. │ │ └── user.conf
11. │ └── udev/
12. │ ├── rules. d
13. │ └── udev.conf
14. └── home/
15. ├── lost+found/
16. ├── user/
17. │ └── Documents/
18. └── michael/
└── Music/

o ¿Qué comando navegará en el directorio network independientemente de su


ubicación actual?
cd /etc/network
o ¿Qué comando puede ingresar user para navegar en su
directorio Documents desde /etc/udev? Use el camino más corto posible.
cd ~/Documents
o ¿Qué comando puede ingresar user para navegar en el
directorio Music de michael? Use el camino más corto posible.
cd ~michael/Music

 Considere la siguiente salida de ls -lh para responder las siguientes dos


preguntas. Tenga en cuenta que los directorios se indican con una d al
comienzo de la línea.

19. drwxrwxrwx 5 eric eric 4.0K Apr 26 2011 China/


20. -rwxrwxrwx 1 eric eric 1.5M Jul 18 2011 img_0066.jpg
21. -rwxrwxrwx 1 eric eric 1.5M Jul 18 2011 img_0067.jpg
22. -rwxrwxrwx 1 eric eric 1.6M Jul 18 2011 img_0074.jpg
23. -rwxrwxrwx 1 eric eric 1.8M Jul 18 2011 img_0075.jpg
24. -rwxrwxrwx 1 eric eric 46K Jul 18 2011 scary.jpg
25. -rwxrwxrwx 1 eric eric 469K Jan 29 2018 Screenshot from 2017-08-13 21-22-24.png
26. -rwxrwxrwx 1 eric eric 498K Jan 29 2018 Screenshot from 2017-08-14 21-18-07.png
27. -rwxrwxrwx 1 eric eric 211K Jan 29 2018 Screenshot from 2018-01-06 23-29-30.png
28. -rwxrwxrwx 1 eric eric 150K Jul 18 2011 tobermory.jpg
29. drwxrwxrwx 6 eric eric 4.0K Apr 26 2011 Tokyo/
30. -rwxrwxrwx 1 eric eric 1.4M Jul 18 2011 Toronto 081.jpg
38
IDENTIFICANDO LA COMUNIDAD LINUX
31. -rwxrwxrwx 1 eric eric 1.4M Jul 18 2011 Toronto 085.jpg
32. -rwxrwxrwx 1 eric eric 944K Jul 18 2011 Toronto 152.jpg
33. -rwxrwxrwx 1 eric eric 728K Jul 18 2011 Toronto 173.jpg
drwxrwxrwx 2 eric eric 4.0K Jun 5 2016 Wallpapers/

o Cuando ejecutas el comando ls -lrS. ¿Qué archivo estará al principio?


Llama las carpetas de menor tamaño por lo cual será llamada sacry.jpn

o Describa lo que espera ver al ejecutar ls -ad */.

Se muestra todos los subdirectorios, hasta los ocultos

Ejercicios exploratorios
 Ejecute el comando ls -lh en un directorio que contenga subdirectorios.
Tenga en cuenta el tamaño indicado de estos directorios. ¿Te parecen
correctos estos tamaños de archivo? ¿Representan con precisión el contenido
de todos los archivos dentro de ese directorio?

Imagen 8
Ejecución del comando ls -lh

Nota. Contenido de archivos cada uno con un tamaño diferente

 Aquí hay un nuevo comando para probar: du -h. Ejecute este comando y
describa el resultado que le proporciona.

Imagen 9
Ejecución del comando du -h
39
IDENTIFICANDO LA COMUNIDAD LINUX

Nota. generará una lista de todos los archivos y directorios e indicará el


tamaño de cada uno
 En muchos sistemas Linux, puedes escribir ll y obtener el mismo resultado
como si escribieras ls -l. Sin embargo, tenga en cuenta que ll no es un
comando. Por ejemplo, man ll le dará el mensaje de que no existe un manual
para esto. Este es un ejemplo de un alias. ¿Por qué los alias podrían ser útiles
para un usuario?

Imagen 10
Ejecución de ll

Nota. Uso de un alias para simplificar los comandos de uso común


2.4 Crear, mover y borrar archivos

Ejercicios guiados

 Dado lo siguiente, seleccione los directorios que podría crear el comando mkdir -p
/tmp/outfiles/text/today /tmp/infiles/text/today
40
IDENTIFICANDO LA COMUNIDAD LINUX

$ pwd
/tmp
$ find
.
. /outfiles
. /outfiles/text

/tmp
/tmp/outfiles
/tmp/outfiles/text
/tmp/outfiles/text/today Aceptable
/tmp/infiles Aceptable
/tmp/infiles/text Aceptable
/tmp/infiles/text/today Aceptable

 ¿Qué hace -v para mkdir, rm y cp?

(-v) Hace que los programas se muestren más detalladamente

 ¿Qué sucede si accidentalmente intenta copiar tres archivos en la misma línea de


comando a un archivo que ya existe en lugar de un directorio?

Se genera un error en la terminal y cp no hará la operación para tal fin

 ¿Qué sucede cuando usa mv para mover un directorio dentro de sí mismo?

Se recibe un mensaje de error, no se podrá ejecutar la solicitud

 ¿Cómo eliminaría todos los archivos en su directorio actual que comienzan con old?

Se usa la siguiente línea de comando $ rm old*

 ¿Cuál de los siguientes archivos log_[a-z]_201? _*_01.txt coinciden?

log_3_2017_Jan_01.txt
log_+_2017_Feb_01.txt
log_b_2007_Mar_01.txt
log_f_201A_Wednesday_01.txt Coincide
41
IDENTIFICANDO LA COMUNIDAD LINUX
 Cree algunos globs para que coincidan con la siguiente lista de nombres de archivo:

doc100
doc200
doc301
doc401

doc*
doc [1-4]*
doc?0?
doc [1-4]0?

Ejercicios exploratorios
 Utilice la página del manual cp para descubrir cómo hacer una copia de un archivo
y hacer que los permisos y la hora de modificación coincidan con el original.

man cp
-p same as --preserve=mode, ownership, timestamps
--preserve[=ATTR_LIST]
preserve the specified attributes (default: mode, ownership, time‐
stamps), if possible additional attributes: context, links,
xattr, all
 ¿Qué hace el comando rmdir -p? Pruébelo y explique cómo difiere de rm -r.

find
.
./a
./a/b
./a/b/c
$ rmdir -p a/b/c
$ ls
 NO EJECUTE REALMENTE ESTE COMANDO: ¿Qué cree que hará rm -ri /*?
(Honestamente, ¡no intentes hacer esto!)

Se eliminarán todos los archivos por tal razón no se debe ejecutar


 Además de usar -i. ¿Es posible evitar que mv sobrescriba los archivos de destino?

cat a
a
$ cat b
b
$ mv -n a b
$ cat b
42
IDENTIFICANDO LA COMUNIDAD LINUX
b
 Explique el comando cp -u.

El comando cp copia un archivo a otro. También puede copiar varios ficheros en


un directorio determinado y -u hace que cp copie un archivo si el destino no existe.

Tema 3: El poder de la línea de comandos

3.1 Archivar ficheros desde la línea de comandos

Ejercicios guiados

 ¿Cuáles de las siguientes herramientas se usaron para crear estos archivos?

Nomb gzi bzi


tar xz
re de archivo p p2
archiv Ac
e.tar eptable
archiv Ac Ac
e.tgz eptable eptable
archiv Ac Ac
e.tar. xz eptable eptable

 ¿Cuáles de estos ficheros son archivos y cuáles son comprimidos?

Nomb Archiv Compri


re de archivo ado mido
Acepta
file.tar
ble
file.tar. Acepta Aceptabl
bz2 ble e
Acepta Aceptabl
file.zip
ble e
Aceptabl
file. Xz
e

 ¿Cómo se añadiría un fichero a un archivo tar comprimido con gzip?


43
IDENTIFICANDO LA COMUNIDAD LINUX
El archivo se descomprime con gunzip, se añade el fichero con tar uf y se
comprime con gzip

 ¿Qué opción de tar permite incluir el / inicial en rutas absolutas?

De la página de man, la opción -p

 ¿La herramienta zip soporta diferentes niveles de compresión?

Si, cifran la información en unos pocos bits, de manera que se reduce el tamaño
del archivo o de los archivos. Este proceso es conocido como compresión de datos sin
pérdida, puesto que estos mantienen la misma calidad que los datos originales.

Ejercicios exploratorios
 ¿Es posible utilizar comodines utilizando tar al extraer archivos?

El comando tar archiva y recupera archivos en y a partir de un solo


archivo denominado tarfile. Un tarfile suele ser una cinta, pero puede tratarse de
un archivo cualquiera. Por lo tanto, si utilizando la opción --wildcards. --
wildcards debe especificarse a continuación del archivo tar cuando no se utilice -
en las opciones.
 ¿De qué forma se asegura que un fichero descomprimido sea idéntico al
fichero antes de ser comprimido?

Se incluyen checksums en el formato de archivo los cuales son verificados


en el proceso de descompresión.
 ¿Qué sucede si se intenta extraer un fichero de un archivo tar que ya existe
en el sistema de ficheros?

Se sobrescribe con la versión incluída en el archivo tar.


 ¿Cómo es posible extraer el archivo archive.tgz sin utiliza la opción z de tar?

Se descomprime con gunzip.

3.2 Buscar y extraer datos de los ficheros lección 1

Ejercicios guiados
 Liste el contenido del directorio actual, incluyendo la propiedad y los
permisos, y redirija la salida a un fichero llamado contents.txt dentro del
directorio home del usuario.

$ ls -l > contents.txt
44
IDENTIFICANDO LA COMUNIDAD LINUX

 Ordene el contenido del archivo contents.txt de su directorio actual y añádalo


al final de un nuevo archivo llamado contents-sorted.txt.

$ sort contents.txt >> contents-sorted.txt

 Muestre las últimas 10 líneas del fichero /etc/passwd y rediríjalas a un nuevo


fichero en el directorio Documents de su usuario.

$ tail /etc/passwd > Documents/newfile

 Cuente el número de palabras dentro del fichero contents.txt y agregue la


salida al final del fichero field2.txt en su directorio home. Deberá utilizar la
redirección de entrada y salida.

$ wc < contents.txt >> field2.txt

 Muestre las primeras 5 líneas del fichero /etc/passwd y ordene la salida en


orden alfabético.

$ head -n 5 /etc/passwd | sort -r


 Usando el fichero contents.txt creado anteriormente, cuente el número de
caracteres de las últimas 9 líneas.

$ tail -n 9 contents.txt | wc -c

 Cuente la cantidad de ficheros llamados test dentro del


directorio /usr/share y sus subdirectorios. Nota: cada salida de línea del
comando find representa un fichero.

$ find /usr/share -name test | wc -l

Ejercicios exploratorios
 Seleccione el segundo campo del fichero contents.txt y redirija la salida
estándar y la salida de error a otro fichero llamado field1.txt.

$ cut -f 2 -d " " contents.txt &> field1.txt

 Usando el operador de redirección de entrada y el comando tr, elimine los


guiones (-) del fichero contents.txt.

$ tr -d "-" < contents.txt


45
IDENTIFICANDO LA COMUNIDAD LINUX
 ¿Cuál es la mayor ventaja de solo redirigir errores a un fichero?

Las redirecciones nos permiten en Linux redirigir la entrada o salida


estándar desde o hacia un fichero, respectivamente.
 Reemplace todos los espacios recurrentes por un solo espacio dentro del
fichero contenidos.txt ordenado alfabéticamente.

$ sort contents.txt | tr -s " "

 En una sola línea de comandos, elimine los espacios recurrentes (de la misma
forma que en el ejercicio anterior), seleccione el noveno campo y ordénelo
alfabéticamente sin distinción entre mayúsculas y minúsculas. ¿Cuántos
pipes necesitó?

$ cat contents.txt | tr -s " " | cut -f 9 -d " " | sort -fr

3.2 Buscar y extraer datos de los ficheros lección 2

Ejercicios guiados
Usando grep y el fichero /usr/share/hunspell/en_US.dic, busque las líneas que coincidan
con los siguientes criterios:
 Todas las líneas que contengan la palabra cat en cualquier parte de la línea

grep "cat" /usr/share/hunspell/en_US.dic

 Todas las líneas que no contengan ninguno de los siguientes


caracteres: sawgtfixkgts.

grep -v "[sawgtfixk]" /usr/share/hunspell/en_US.dic


 Todas las líneas que comiencen con 3 letras cualquieras y la palabra dig.

grep "^...dig" /usr/share/hunspell/en_US.dic


 Todas las líneas que terminen al menos en una e.

grep -E "e+$" /usr/share/hunspell/en_US.dic

 Todas las líneas que contengan una de las siguientes


palabras: org, kay o tuna.

grep -E "org|kay|tuna" /usr/share/hunspell/en_US.dic


46
IDENTIFICANDO LA COMUNIDAD LINUX
 Cantidad de líneas que comiencen con una o ninguna c seguida de la
cadena ati.

grep -cE "^c? ati" /usr/share/hunspell/en_US.dic

Ejercicios exploratorios
1. Construya una expresión regular que encuentre las palabras que coincidan con las
de la línea “Include” y que no coincidan con las de la línea “Exclude”:
 Include: pot, spot, apot
Exclude: potic, spots, potatoe
Rta: pot$
 Include: arp99, apple, zipper
Exclude: zoo, arive, attack
Rta: p+
 Include: arcane, capper, zoology
Exclude: air, coper, zoloc
Rta: arc|cap|zoo
 Include: 0th/pt, 3th/tc, 9th/pt
Exclude: 0/nm, 3/nm, 9/nm
Rta: [0-9]th. +
 Include: Hawaii, Dario, Ramiro
Exclude: hawaii, Ian, Alice
Rta: ^[A-Z]a.*i+
2. ¿Qué otro comando puede utilizarse para hacer búsquelas en ficheros? ¿Qué otras
funcionalidades incluyen?

sed puede buscar y reemplazar caracteres o conjuntos de caracteres dentro de un


fichero.

3. Utilizando lo aprendido en lecciones anteriores, utilice uno de los ejemplos e intente


buscar un patrón específico dentro de la salida del comando con la ayuda de grep.

cat contents.txt | tr -s " " | grep "^…rwx"

3.3 Crear un script a partir de una serie de comandos lección 1

Ejercicios guiados
47
IDENTIFICANDO LA COMUNIDAD LINUX
 El usuario escribe lo siguiente en su shell:

$ PATH=~/scripts
$ ls
Command 'ls' is available in '/bin/ls'
The command could not be located because '/bin' is not
included in the PATH environment variable.
ls: command not found

¿Qué ha hecho el usuario?

Ha sobrescrito los contenidos de PATH con el directorio ~/scripts

¿Qué comando combinará el valor actual de PATH con el nuevo directorio


~/scripts?

PATH=$PATH: ~/scripts

 Considere el siguiente script. Observe que está usando elif para verificar una
segunda condición:

> /! bin/Bash

> fruit1 = Apples


> fruit2 = Oranges

if [ $1 -lt $#]
then
echo "This is like comparing $fruit1 and $fruit2!"
> elif [$1 -gt $2]
then
> echo '$fruit1 win!'
else
> echo "Fruit2 win!"
> done

Las líneas marcadas con un > contienen errores. Arregle los errores.

#! /bin/Bash

fruit1=Apples
fruit2=Oranges
48
IDENTIFICANDO LA COMUNIDAD LINUX

if [ $1 -lt $#]
then
echo "This is like comparing $fruit1 and $fruit2!"
elif [ $1 -gt $2]
then
echo "$fruit1 win!"
else
echo "$fruit2 win!"
fi

 ¿Cuál será la salida en las siguientes situaciones?

$ ./guided1.sh 3 0 Apples win!


$ ./guided1.sh 2 4 Oranges win!
$ ./guided1.sh 0 1 This is like comparing Apples and Oranges!

Ejercicios exploratorios
1. Escriba un script simple que verifique si se pasan exactamente dos argumentos. Si es
así, imprima los argumentos en orden inverso. Considere este ejemplo (nota: su
código puede verse diferente a esto, pero debería conducir a la misma salida):

if [ $1 == $number]
then
echo "True!"
fi

#! /bin/bash

if [ $# -ne 2]
then
echo "Error"
else
echo "$2 $1"
fi

2. Este código es correcto, pero no es una comparación de números. Use una búsqueda
en Internet para descubrir cómo este código es diferente de usar -eq.
49
IDENTIFICANDO LA COMUNIDAD LINUX
Si los caracteres de ambas variables coinciden exactamente, entonces la condición
es verdadera.

3. Hay una variable de entorno que imprimirá el directorio actual. Use env para
descubrir el nombre de esta variable.

La variable es PWD

4. Usando lo que has aprendido en las preguntas 2 y 3, escribe un guión corto que
acepte un argumento. Si se pasa un argumento, verifique si este coincide con el
nombre del directorio actual. Si es así, escriba sí. De lo contrario, imprima no.

#! /bin/bash
if [ "$1" == "$PWD”]
then
echo "yes"

3.3 Crear un script a partir de una serie de comandos lección 2

Ejercicios guiados
1. Lea el contenido de script1.sh a continuación:

#! /bin/bash

if [ $# -lt 1]
then
echo "This script requires at least 1 argument."
exit 1
fi

echo $1 | grep "^[A-Z]*$" > /dev/null


if [ $? -ne 0]
then
echo "no cake for you!"
exit 2
fi

echo "here's your cake!"


exit 0

¿Cuál es el resultado de estos comandos?


50
IDENTIFICANDO LA COMUNIDAD LINUX

 ./script1.sh

Salida: This script requires at least 1 argument.

 echo $?

Salida: 1

 ./script1.sh cake

Salida: ¡no cake for you!

 echo $?

Salida: 2

 ./script1.sh CAKE

Salida: ¡here’s your cake!

 echo $?

Salida: 0

2. Lea el contenido del archivo script2.sh:

for filename in $1/*.txt


do
cp $filename $filename.bak
done

Describa el propósito de este script tal como lo entiende.


El script hace copias de archivos terminados en txt
Ejercicios exploratorios
 Cree una secuencia de comandos que tome cualquier número de argumentos
del usuario e imprima solo aquellos argumentos que sean números mayores a
10.
#! /bin/bash
for i in $@
do
echo $i | grep "^ [0-9]*$" > /dev/null
51
IDENTIFICANDO LA COMUNIDAD LINUX
if [ $? -eq 0]
then
if [ $i -gt 10]
then
echo -n "$i "
fi
fi
done
echo ""

2. En esta actividad deberá presentar el único examen NDG Linux Unhatched del
curso CP Linux Unhatched 16-02 2023, el examen se aprobará con mínimo 90 puntos y
tendrá dos intentos.
Imagen 11
Captura de pantalla del resultado del examen

Nota. Resultado del examen del curso NDG Linux Unhatched

3. Una vez aprobado el examen del primero curso, el estudiante deberá acceder e
iniciar el siguiente curso CP Linux Essentials 16-02 2023, donde presentar los
exámenes de los módulos 2 al 9, ejemplo: Examen capítulo 2.

Imagen 12
Captura de pantalla del resultado del examen
52
IDENTIFICANDO LA COMUNIDAD LINUX

Nota. Verificación de realización del curso CP Linux Essentials del módulo 2 al 9

Conclusion

A través de esta actividad se determinó que las distribuciones y el trabajar desde la


terminal de Ubuntu de Linux es unas herramientas que nos permite administrar, modificar e
implementar comandos para realizar tareas, además de ser opciones flexibles de software simple.
Y a través de esta actividad pudimos comprobar la enorme accesibilidad que tienen las
distribuciones GNU/Linux en el campo diferente a los demas sistemas operativos.
53
IDENTIFICANDO LA COMUNIDAD LINUX

Referencias bibliográficas

LPI Linux Essentials. (2022). Tema 1: La Comunidad Linux y una carrera en el mundo
del código abierto. https://learning.lpi.org/es/learning-materials/010-160/1/

LPI Linux Essentials. (2022). Tema 2: Encontrando el camino en un sistema Linux.


https://learning.lpi.org/es/learning-materials/010-160/2/

LPI Linux Essentials. (2022). Tema 3: El poder de la línea de comandos.


https://learning.lpi.org/es/learning-materials/010-160/3/

Free Software Foundation (2016). Software Libre y educación. El sistema operativo


GNU. http://www.gnu.org/education/education.html

También podría gustarte