0% encontró este documento útil (0 votos)
51 vistas34 páginas

Informe Curso Linux - Unhatched

Este documento cubre los objetivos y la introducción de un curso sobre Linux. Los objetivos incluyen aprender comandos básicos, navegar directorios, crear y eliminar archivos, y comprender conceptos como usuarios, permisos y red. La introducción explica la ubicuidad e importancia de Linux en TI y diferentes carreras.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas34 páginas

Informe Curso Linux - Unhatched

Este documento cubre los objetivos y la introducción de un curso sobre Linux. Los objetivos incluyen aprender comandos básicos, navegar directorios, crear y eliminar archivos, y comprender conceptos como usuarios, permisos y red. La introducción explica la ubicuidad e importancia de Linux en TI y diferentes carreras.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

1

UNIVERSIDAD TECNICA DEL NORTE

FACULTAD DE INGENIERIA EN CIENCIAS APLICADAS

Sistemas Operativos

INFORME CURSO LINUX UNHATCHED

DOCENTE:
ING. LUIS SUÁREZ

AUTOR:

Patrick Alexander Guachamín Alcocer

ENERO - 2024
2

Contenido
1. Abstract ...................................................................................................................................................... 3
2. Objetivos .................................................................................................................................................... 3
3. Introducción ............................................................................................................................................... 5
4. Desarrollo .................................................................................................................................................. 7
4. 1. Comandos Básicos de la Línea de Comandos: ....................................................................................... 7
Comandos Básicos ......................................................................................................................................... 7
Comandos de Navegación: ............................................................................................................................. 7
Comandos de Archivos: ................................................................................................................................. 8
Comandos de Directorios: .............................................................................................................................. 8
Comandos de Visualización de Contenido:.................................................................................................... 8
Comandos de Búsqueda y Filtrado:................................................................................................................ 9
Comandos de Usuarios y Permisos: ............................................................................................................... 9
Comandos de Procesos: .................................................................................................................................. 9
Comandos de Red:.......................................................................................................................................... 9
Comandos de Compresión y Descompresión:.............................................................................................. 10
Comandos de Información del Sistema: ....................................................................................................... 10
4.2 Uso de Directorios y Listado de Archivos ............................................................................................. 14
4.3 Creación, Movimiento y Eliminación de Archivos ................................................................................ 18
4.4 Encontrar un carácter único usando [].................................................................................................... 23
Eliminación de paquetes ............................................................................................................................... 31
Conclusiones ................................................................................................................................................ 32
Recomendaciones ......................................................................................................................................... 33
Referencias ................................................................................................................................................... 34
3

1. Abstract

This report is about the course "Fundamentals of Python 1", after having completed each of
the modules and obtained the certificate of Python 1, we can give a brief summary of the
points covered in this course. In module 1 of the course we started with an introduction to
programming and its functionality, the definition of a programming language and how we
can access programs that help us with this language, the installation of Python and all its
packages and how the console and the code works. In module 2 we create our first program
we can address basic topics that are fundamental pillars in programming such as data types,
variables and basic input and output operations, which we must know very well and master
these points as it will serve us to be able to continue in the progress of the course. In module
3 we can see definitions and how to use Boolean values, conditional execution, loops and
lists, as well as logical operations, and how to correctly use these topics in the Python
program. About module 4 we can see very interesting topics such as functions, tuples,
dictionaries, exceptions, with which we can program a little more complete with basic
operations and logical operations, as well as delve a little deeper into data processing. It
should be noted that in each module the corresponding test of the topics covered in it was
performed. Finally, we have a final project which is about making a game called
"TicTacToe", in which we will apply the knowledge we acquired in the course, then we will
take a final test and a final exam to be able to pass the Python course completely and receive
our certificate.

2. Objetivos

Los objetivos principales del curso "NDG Linux Unhatched" según los
contenidos son:

• Comandos Básicos de la Línea de Comandos:

Comprender la sintaxis de la línea de comandos en Linux.


4

• Uso de Directorios y Listado de Archivos:

Navegar por directorios de inicio y del sistema.

Listar archivos en diversas ubicaciones.

Conocer las rutas absolutas y relativas.

• Creación, Movimiento y Eliminación de Archivos:

Crear, mover y eliminar archivos y directorios dentro del directorio de inicio.

• Búsqueda y Extracción de Datos de Archivos:

Utilizar expresiones regulares básicas para buscar y extraer datos de archivos en el


directorio de inicio.

• Convertir Comandos en Scripts:

Convertir comandos repetitivos en scripts mediante el conocimiento de editores de


texto comunes.

• Dónde se Almacenan los Datos:

Entender dónde se almacenan diferentes tipos de información en un sistema Linux,


incluyendo procesos.

• Tu Computadora en la Red:

Consultar configuraciones vitales de red.

Determinar los requisitos básicos para una computadora en una Red de Área Local
(LAN).
5

• Seguridad Básica e Identificación de Tipos de Usuarios:

Reconocer y entender los diferentes tipos de usuarios en un sistema Linux,


incluyendo usuarios del sistema y usuarios root.

• Gestión de Permisos y Propietarios de Archivos:

Comprender y manipular los permisos de archivo y la configuración de propiedad


en Linux.

3. Introducción

Aprender Linux es esencial en el campo de la Tecnología de la Información (TI),

ofreciendo numerosas oportunidades de desarrollo profesional y personal. En este contexto,

exploraremos por qué dedicar tiempo y esfuerzo a aprender Linux puede ser beneficioso,

considerando su ubicuidad en el actual panorama tecnológico.

Linux es un sistema operativo omnipresente, utilizado en una amplia variedad de

dispositivos, desde computadoras de escritorio y portátiles hasta servidores web, dispositivos

móviles (como Android), tecnología de nube pública (Google, Amazon, etc.), Chromebooks y

redes (por ejemplo, Cisco). Más del 50% de las páginas web en Internet se generan desde

servidores Linux, subrayando su relevancia en la actualidad.

Aunque algunas personas podrían pensar que Linux es exclusivo para expertos en

tecnología, es accesible para principiantes y ofrece beneficios significativos. Comprender la

interfaz de línea de comandos de Linux proporciona conocimientos informáticos


6

fundamentales, siendo una herramienta eficiente para la administración del sistema y la

resolución de problemas.

La expansión continua del uso de Linux en diversas áreas tecnológicas lo convierte en

una opción valiosa para aquellos considerando carreras en TI. Empresas destacadas como

NASA, McDonald's, New York Stock Exchange (NYSE), DreamWorks Animation y el

Departamento de Defensa de los Estados Unidos confían en Linux.

Profesiones de TI, como ingeniería de redes, ciberseguridad, desarrollo/programación y

análisis de datos, requieren conocimientos de Linux. Por ejemplo, los ingenieros de redes

gestionan servidores basados en Linux, los profesionales de ciberseguridad realizan pruebas de

penetración utilizando Linux, y los desarrolladores aprovechan la línea de comandos para

ejecutar secuencias de comandos complejas.

Los sistemas operativos Linux ofrecen diversas distribuciones adaptadas a las

necesidades específicas de distintos sectores de TI, como Linux Kali para ciberseguridad,

Linux Ubuntu para programadores y diseñadores, Linux Mint para usuarios habituales, y Red

Hat Enterprise Linux para servidores empresariales.

En resumen, aprender Linux es una inversión valiosa para aquellos que buscan

destacarse en el campo de la TI, ya que proporciona habilidades esenciales en un mundo

tecnológico en constante evolución.


7

4. Desarrollo

4. 1. Comandos Básicos de la Línea de Comandos:

Un comando en Linux es un programa de software que, al ejecutarse en la interfaz de

línea de comandos (CLI), lleva a cabo una acción específica en el ordenador. Al escribir un

comando, el sistema operativo inicia un proceso para interpretar la entrada, manipular datos y

generar resultados. En esencia, un comando activa un proceso en el sistema operativo,

provocando que la computadora realice una tarea determinada.

Configuración de Entornos Virtuales:

Los entornos virtuales ofrecen a los estudiantes la oportunidad de llevar a cabo prácticas realistas

en un entorno seguro. En este contexto, configuran máquinas virtuales, exploran configuraciones

del sistema y aplican comandos aprendidos en un entorno simulado.

Comandos Básicos

Comandos de Navegación:

- pwd: Muestra el directorio actual.

- ls: Lista los archivos y directorios en el directorio actual.

- cd directorio: Cambia al directorio especificado.


8

Comandos de Archivos:

- touch archivo.txt: Crea un nuevo archivo.

- cp origen destino: Copia un archivo o directorio.

- mv origen destino: Mueve o renombra un archivo o directorio.

- rm archivo: Elimina un archivo.

Comandos de Directorios:

- mkdir carpeta: Crea un nuevo directorio.

- rmdir carpeta: Elimina un directorio vacío.

- rm -r carpeta: Elimina un directorio y su contenido.

Comandos de Visualización de Contenido:

- cat archivo: Muestra el contenido completo de un archivo.

- head archivo: Muestra las primeras líneas de un archivo.

- tail archivo: Muestra las últimas líneas de un archivo.

- more archivo o less archivo: Permite desplazarse por el contenido de un archivo.


9

Comandos de Búsqueda y Filtrado:

- grep patrón archivo: Busca líneas que contengan un patrón en un archivo.

- find -name "nombre": Busca archivos y directorios por nombre.

Comandos de Usuarios y Permisos:

- whoami: Muestra el nombre de usuario actual.

- passwd: Cambia la contraseña del usuario actual.

- chmod permisos archivo: Cambia los permisos de un archivo o directorio.

Comandos de Procesos:

- ps: Muestra los procesos en ejecución.

- kill PID: Detiene un proceso mediante su identificador de proceso (PID).

Comandos de Red:

- ping host: Verifica la conectividad con un host.

- ifconfig o ip a: Muestra información de red y configuración de interfaz.

- traceroute host: Muestra la ruta que toma un paquete hasta llegar a un host.
10

Comandos de Compresión y Descompresión:

- tar opciones archivo.tar: Crea o extrae archivos comprimidos en formato tar.

- gzip archivo: Comprime un archivo.

- gunzip archivo.gz: Descomprime un archivo comprimido con gzip.

Comandos de Información del Sistema:

- uname -a: Muestra información sobre el sistema operativo.

- df -h: Muestra el espacio en disco disponible.

- free -m: Muestra información sobre la memoria RAM.

Para ejecutar un comando, el primer paso es escribir su nombre. Por ejemplo, al ingresar "ls" en

el terminal y presionar Enter, se obtendrá un resultado similar al siguiente:

Usualmente, el nombre del comando refleja la tarea que realiza o la función que el programador

considera que mejor describe su propósito. Por ejemplo, el comando "ls" muestra información

sobre archivos. Asociar el nombre del comando con algo mnemotécnico relacionado con su

función facilita su recuerdo.

Es importante tener en cuenta que los comandos en Linux son sensibles a mayúsculas y

minúsculas. Por ejemplo, "LS" generará un mensaje de error, mientras que "ls" se ejecutará
11

correctamente. La mayoría de los comandos siguen una sintaxis simple: "comando [opciones…]

[argumentos…]". Las opciones modifican el comportamiento del comando, y los argumentos son

elementos sobre los cuales el comando actúa.

En el ejemplo anterior, el comando "ls" se ejecutó sin opciones ni argumentos, devolviendo una

lista de archivos en el directorio actual. Sin embargo, los argumentos se utilizan para especificar

sobre qué debe actuar el comando. Si proporcionamos un directorio como argumento al comando

"ls", obtendremos una lista del contenido de ese directorio, como se muestra en el siguiente

ejemplo con el directorio "Documents".

Además, en el contexto del sistema operativo Linux, debido a su naturaleza de código abierto, se

encuentran funciones curiosas. Por ejemplo, el comando "aptitude" utilizado con "moo" como

argumento devuelve un mensaje humorístico indicando que no hay "Easter Eggs" en el

programa.

La mayoría de los comandos siguen un patrón de sintaxis simple:

comando [opciones…] [argumentos…]

Un argumento se emplea para definir el objeto sobre el cual un comando debe operar. En el caso

del comando "ls", proporcionar el nombre de un directorio como argumento resultará en la

generación de una lista que muestra el contenido específico de ese directorio. En el ejemplo

siguiente, el directorio "Documents" se utiliza como argumento al ejecutar el comando "ls".


12

sysadmin@localhost:~$ ls Documents
School alpha-second.txt food.txt linux.txt os.csv
Work alpha-third.txt hello.sh longfile.txt people.c
sv
adjectives.txt alpha.txt hidden.txt newhome.txt profile.
txt
alpha-first.txt animals.txt letters.txt numbers.txt red.txt

Las opciones son herramientas que permiten ajustar el comportamiento de un comando. En la

página anterior, el comando "ls" se utilizó para listar el contenido de un directorio. En el ejemplo

siguiente, la opción "-l" se añade al comando "ls" con el propósito de obtener un resultado de

"pantalla larga", proporcionando información adicional sobre cada uno de los archivos

enlistados:

sysadmin@localhost:~$ ls -l
total 32
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Desktop
drwx------ 4 sysadmin sysadmin 4096 Dec 20 2017 Documents
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Downloads
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Music
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Pictures
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Public
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Templates
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Videos

Es importante notar que, en el comando anterior, "-l" corresponde a la letra "L" en minúscula.

Frecuentemente, el carácter seleccionado para representar una opción tiene un sentido


13

mnemotécnico relacionado con su propósito en inglés. Por ejemplo, la letra "l" puede ser

utilizada para indicar "largo" (long), mientras que "r" puede representar "invertir" (reverse en

inglés). De manera predeterminada, el comando "ls" muestra los resultados en orden alfabético;

sin embargo, al agregar la opción "-r", los resultados se imprimirán en orden alfabético inverso.

sysadmin@localhost:~$ ls -r
Videos Templates Public Pictures Music Downloads Documents Desk
top

Se pueden usar varias opciones a la vez, ya sea como opciones separadas como en -l -r o

combinadas como -lr . El resultado de los siguientes ejemplos sería el mismo:

ls -l -r
ls -rl
ls -lr

Como se mencionó anteriormente, la opción "-l" proporciona un formato de listado largo y "-r"

invierte el orden del listado. El resultado de utilizar ambas opciones será una lista detallada en

orden alfabético inverso:


14

sysadmin@localhost:~$ ls -l -r
total 32
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Videos
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Templates
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Public
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Pictures
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Music
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Downloads
drwx------ 4 sysadmin sysadmin 4096 Dec 20 2017 Documents
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Desktop
sysadmin@localhost:~$ ls -rl
total 32
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Videos
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Templates
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Public
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Pictures
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Music
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Downloads
drwx------ 4 sysadmin sysadmin 4096 Dec 20 2017 Documents
drwx------ 2 sysadmin sysadmin 4096 Dec 20 2017 Desktop

4.2 Uso de Directorios y Listado de Archivos

Imprimir el directorio de trabajo es posible utilizando el comando "pwd". Este comando muestra

la ubicación actual del usuario dentro del sistema de archivos. Al ejecutar el comando "pwd"

seguido de opciones, si las hay, se obtiene el directorio de trabajo actual. Aunque el término

"imprimir" hace referencia históricamente a enviar resultados a impresoras físicas, en la

actualidad, la información se visualiza en pantallas de vídeo. En el ejemplo, al escribir "pwd", se

muestra que el usuario se encuentra en su carpeta de inicio, que es /home/sysadmin.


15

Cuando se cambia de directorio utilizando el comando "cd", el indicador refleja la nueva

ubicación. Por ejemplo, después de navegar al directorio "Documents" mediante "cd

Documents", el indicador muestra "~/Documents$". Es importante destacar que los directorios

en Linux se asemejan a carpetas en otros sistemas operativos y están organizados

jerárquicamente. La raíz del sistema de archivos se representa con el carácter "/" y se puede

acceder al directorio raíz utilizando "cd /".


16

Las rutas son esenciales en Linux y se dividen en rutas absolutas y relativas. Las rutas absolutas,

que inician en el directorio raíz, se utilizan para especificar ubicaciones exactas. Por ejemplo,

"/home/sysadmin" es una ruta absoluta al directorio de inicio del usuario. Por otro lado, las rutas

relativas se basan en la ubicación actual del usuario. Para regresar al directorio principal desde

cualquier ubicación, se puede utilizar "cd /home/sysadmin". Al emplear "pwd" se confirma el

cambio de directorio.

Adicionalmente, las rutas relativas pueden ser útiles, como se muestra en el ejemplo "cd

Documents", que lleva al usuario al directorio "Documents" desde su ubicación actual. El uso de

".." representa el directorio superior, mientras que "." representa el directorio actual. Estos atajos

facilitan la navegación. En el comando "cd ..", el usuario se traslada al directorio superior, y con

"cd School/Art", se desplaza a un directorio específico utilizando una ruta relativa.


17

Para obtener detalles exhaustivos acerca de los archivos, como el tipo de archivo, los permisos,

las propiedades o la marca de tiempo, realice un listado detallado mediante la opción -l junto con

el comando ls. En la instancia siguiente, se emplea un listado para el directorio /var/log,

seleccionado debido a la diversidad de información que ofrece.

sysadmin@localhost:~$ ls -l /var/log/
total 844
-rw-r--r-- 1 root root 18047 Dec 20 2017 alternatives.log
drwxr-x--- 2 root adm 4096 Dec 20 2017 apache2
drwxr-xr-x 1 root root 4096 Dec 20 2017 apt
-rw-r----- 1 syslog adm 1346 Oct 2 22:17 auth.log
-rw-r--r-- 1 root root 47816 Dec 7 2017 bootstrap.log
-rw-rw---- 1 root utmp 0 Dec 7 2017 btmp
-rw-r----- 1 syslog adm 547 Oct 2 22:17 cron.log
-rw-r----- 1 root adm 85083 Dec 20 2017 dmesg
-rw-r--r-- 1 root root 325238 Dec 20 2017 dpkg.log
-rw-r--r-- 1 root root 32064 Dec 20 2017 faillog

drwxr-xr-x 2 root root 4096 Dec 7 2017 fsck

• Permisos

Los permisos indican cómo determinados usuarios pueden acceder a un archivo. Siga leyendo

para obtener más información sobre los permisos.

• Número de enlaces directos

Este número indica cuántos enlaces directos apuntan a este archivo. Los enlaces directos están

fuera del alcance de este módulo, pero están cubiertos en el curso

• Propietario del archivo


18

El usuario syslog posee este archivo. Cada vez que se crea un archivo, la propiedad se asigna

automáticamente al usuario que lo creó.

• Grupo propietario del archivo

Indica qué grupo posee este archivo.

• Tamaño del archivo

Los directorios y archivos más grandes pueden mostrarse en kilobytes ya que mostrar su tamaño

en bytes resultaría en un número demasiado grande. Por lo tanto, en el caso de un directorio, este

número podría ser un múltiplo del tamaño de bloque utilizado por el sistema de archivos. El

tamaño de bloque es el tamaño de una serie de datos almacenados en el sistema de archivos.

• Sello horario o de tiempo

• Nombre del archivo

4.3 Creación, Movimiento y Eliminación de Archivos

Se necesitan al menos dos argumentos para ejecutar el comando "mv". El primer argumento

corresponde a la fuente u origen, es decir, la ruta al archivo que se va a trasladar. El segundo

argumento se refiere al destino, indicando la ruta al lugar donde se desea mover el archivo.

Comúnmente, se designa como origen al archivo que se va a mover, mientras que se denomina

destino al lugar de destino del traslado.


19

Utilice el siguiente comando para cambiar al directorio Documents:

sysadmin@localhost:~$ cd ~/Documents

Para mover el archivo people.csv al directorio Work, utilice el nombre del archivo como origen y

el nombre del directorio como destino:

sysadmin@localhost:~/Documents$ mv people.csv Work

Si un archivo se mueve de un directorio a otro sin especificar un nuevo nombre para el archivo,

éste conservará su nombre original. El movimiento anterior se puede confirmar mediante el

comando ls en el directorio Work:

sysadmin@localhost:~/Documents$ ls Work

people.csv

El comando mv puede utilizarse para mover varios archivos, siempre y cuando el argumento

final proporcionado al comando sea el destino. Por ejemplo, para mover tres archivos al

directorio School:

sysadmin@localhost:~/Documents$ mv numbers.txt letters.txt alpha.tx


t School
sysadmin@localhost:~/Documents$ ls School

Art Engineering Math alpha.txt letters.txt numbers.txt


20

Mover un archivo dentro del mismo directorio es una forma eficaz de cambiarlo de nombre. Por

ejemplo, en el ejemplo siguiente, el archivo animals.txt recibe un nuevo nombre zoo.txt:

mv animals.txt zoo.txt
sysadmin@localhost:~/Documents$ ls

School alpha-second.txt hello.sh newhome.txt red.t


xt
Work alpha-third.txt hidden.txt os.csv

adjectives.txt animals.txt linux.txt passwd

alpha-first.txt food.txt longfile.txt profile.txt


sysadmin@localhost:~/Documents$ mv animals.txt zoo.txt

sysadmin@localhost:~/Documents$ ls

School alpha-second.txt hidden.txt os.csv zoo.t


xt
Work alpha-third.txt linux.txt passwd

adjectives.txt food.txt longfile.txt profile.txt

alpha-first.txt hello.sh newhome.txt red.txt

El comando "rm" (remove) se emplea para suprimir archivos y directorios. Es crucial destacar

que, a diferencia de los sistemas operativos de escritorio que suelen disponer de una papelera, los

archivos y directorios eliminados con el comando "rm" tienden a desaparecer de manera

definitiva, sin posibilidad de recuperación.

sysadmin@localhost:~$ cd ~/Documents
21

Sin ninguna opción, el comando rm normalmente se utiliza para eliminar archivos ordinarios:

sysadmin@localhost:~/Documents$ rm linux.txt
sysadmin@localhost:~/Documents$ ls linux.txt
ls: cannot access linux.txt: No such file or directory

El comando rm ignorará los directorios que se le pida eliminar. Para eliminar un directorio,

utilice una opción recursiva, por ejemplo, las opciones -r o -R. Tenga cuidado ya que estas

opciones son “recursivas”, y eliminarán todos los archivos y todos los subdirectorios:

sysadmin@localhost:~/Documents$ rm Work
rm: cannot remove 'Work': Is a directory
sysadmin@localhost:~/Documents$ rm -r Work
sysadmin@localhost:~/Documents$ ls Work
ls: cannot access Work: No such file or directory

El comando grep es un filtro de texto que busca líneas en una entrada y devolverá aquellas que

coincidan con un patrón determinado.

sysadmin@localhost:~$ cd ~/Documents

Tomando como ejemplo el archivo passwd que previamente copiamos al directorio Documents,

el cual alberga detalles sobre cuentas especiales y de usuarios en el sistema, podemos

encontrarnos con un archivo de considerable tamaño. No obstante, es posible emplear el

comando grep para filtrar y obtener información específica sobre un usuario, como el caso del
22

usuario sysadmin. Basta con utilizar "sysadmin" como patrón de búsqueda y "passwd" como

argumento de archivo.

sysadmin@localhost:~/Documents$ grep sysadmin passwd


sysadmin:x:1001:1001:System Administrator,,,,:/home/sysadmin:/bin/bash

Las expresiones regulares se presentan en dos formas comunes: la forma básica y la forma

extendida. La mayoría de los comandos que emplean expresiones regulares pueden entender la

versión básica. No obstante, las expresiones regulares extendidas no son compatibles con todos

los comandos y, por lo general, necesitan una opción específica del comando para ejecutarse de

manera adecuada.

Las expresiones regulares son patrones que únicamente algunos comandos pueden interpretar.

Estos patrones pueden ser ampliados para identificar secuencias específicas de caracteres en un

texto. Los ejemplos presentados en esta página ilustrarán el uso de expresiones regulares en

conjunto con el comando grep para destacar su eficacia. Además, estos ejemplos ofrecen una

demostración visual de cómo operan las expresiones regulares; el texto resultante de estas

expresiones se exhibirá en color rojo en la salida obtenida.

La más simple de todas las expresiones regulares solo usa caracteres de significado literal, como

el ejemplo de la página anterior:

sysadmin@localhost:~/Documents$ grep sysadmin passwd


sysadmin:x:1001:1001:System Administrator,,,,:/home/sysadmin:/bin/bash

Los caracteres de anclaje son una de las formas con que se pueden utilizar expresiones regulares

para limitar los resultados de una búsqueda.


23

Para el siguiente ejemplo, examine primero el archivo alpha-first.txt. El comando cat se puede

utilizar para mostrar el contenido del archivo:

sysadmin@localhost:~/Documents$ cat alpha-first.txt


A is for Animal
B is for Bear
C is for Cat
D is for Dog
E is for Elephant
F is for Flower

Por ejemplo, el patrón root aparece muchas veces en el archivo /etc/passwd:

sysadmin@localhost:~/Documents$ grep 'root' passwd


root:x:0:0:root:/root:/bin/bash
operator:x:1000:37::/root:

4.4 Encontrar un carácter único usando []

Los corchetes [ ] se utilizan para indicar caracteres únicos o rangos de caracteres


posibles en una lista.

Por ejemplo, dado el archivo profile.txt:

sysadmin@localhost:~/Documents$ cat profile.txt


Hello my name is Joe.
I am 37 years old.
3121991
My favorite food is avocados.
I have 2 dogs.
24

Para encontrar todas las líneas en el archivo profile.txt que contienen un número,
utilice el patrón [0123456789] o [0-9]:

sysadmin@localhost:~/Documents$ grep '[0-9]' profile.txt


I am 37 years old.
3121991
I have 2 dogs.
123456789101112

El carácter de expresión regular * se utiliza para indicar la ausencia o la presencia


una o más veces del carácter o patrón que lo precede. Por ejemplo, e* indicaría la
ausencia (cero) o la presencia, una o más veces, de la letra e:

sysadmin@localhost:~/Documents$ cat red.txt


red
reef
rot
reeed
rd
rod
roof
reed
root
reel
read
sysadmin@localhost:~/Documents$ grep 're*d' red.txt
red
reeed
25

El comando ping se emplea para verificar la conectividad entre dos equipos al


enviar paquetes a través de la red. La recepción de una respuesta por parte del
destinatario indica la posibilidad de establecer conexión con dicho equipo.

La información se transmite mediante "paquetes", que son unidades encapsuladas


de datos enviadas a través de una red. Estos paquetes requieren una dirección para
localizar la otra computadora, y el comando ping utiliza direcciones IP para
identificar el equipo en la red al que se desea conectar.

Por defecto, el comando ping seguirá enviando paquetes hasta que se ingrese el
comando break (CTL +C) en la consola. Para limitar la cantidad de pings enviados,
se puede utilizar la opción -c seguida del número deseado. En el siguiente ejemplo,
se muestra un ping limitado a 4 iteraciones utilizando -c 4.

En caso de que el comando ping funcione correctamente, se obtendrá un resultado


similar al siguiente:

root@localhost:~# ping -c 4 192.168.1.2


PING 192.168.1.2 (192.168.1.2) 56(84) bytes of data.
64 bytes from 192.168.1.2: icmp_req=1 ttl=64 time=0.051 ms
64 bytes from 192.168.1.2: icmp_req=2 ttl=64 time=0.064 ms
64 bytes from 192.168.1.2: icmp_req=3 ttl=64 time=0.050 ms
64 bytes from 192.168.1.2: icmp_req=4 ttl=64 time=0.043 ms

--- 192.168.1.2 ping statistics ---


4 packets transmitted, 4 received, 0% packet loss, time 2999ms
rtt min/avg/max/mdev = 0.043/0.052/0.064/0.007 ms

root@localhost:~#
26

Si el comando ping falla, recibirá un mensaje indicando que no se encontró el


ordenador de destino o máquina remota (Destination Host Unreachable):

root@localhost:~# ping -c 4 192.168.1.3


PING 192.168.1.3 (192.168.1.3) 56(84) bytes of data.
From 192.168.1.2 icmp_seq=1 Destination Host Unreachable
From 192.168.1.2 icmp_seq=2 Destination Host Unreachable
From 192.168.1.2 icmp_seq=3 Destination Host Unreachable
From 192.168.1.2 icmp_seq=4 Destination Host Unreachable

--- 192.168.1.3 ping statistics ---


4 packets transmitted, 0 received, +4 errors, 100% packet loss, time 3065ms
pipe 4
root@localhost:~#

El comando ping puede fallar aunque la máquina remota esté conectada a la red.
Esto se debe a que, como medida de seguridad, algunos administradores configuran
sus equipos, o incluso redes enteras, para que no respondan a solicitudes ping. El
comando ping también funciona con un nombre de host, o con un nombre de dominio
como yahoo.com. Usar ésto primero puede ahorrar tiempo, ya que si ese
comando ping tiene éxito, indica que hay una resolución de nombre adecuada Y que
la dirección IP también funciona correctamente.
Siga leyendo
Salga de la cuenta root mediante el comando exit:
root@localhost:~# exit
logout

Ejecutar un comando da como resultado algo llamado proceso. En el sistema


operativo Linux, los procesos se ejecutan en función de los privilegios del usuario que
ejecuta el comando. Esto permite que los procesos se limiten a ciertas funciones
dependiendo de la identidad del usuario.
Aunque hay excepciones, generalmente el sistema operativo diferenciará entre los
usuarios en función de si son o no el administrador. Normalmente, los usuarios
habituales, como el usuario sysadmin, no pueden controlar los procesos de otro
usuario. Los usuarios que tienen privilegios administrativos, como la cuenta root,
pueden controlar cualquier proceso de cualquier usuario, incluyendo la detención de
cualquier proceso.
El comando ps se puede utilizar para enumerar los procesos.

ps [OPCIONES]
sysadmin@localhost:~$ ps
27

PID TTY TIME CMD


80 pts/0 00:00:00 bash
94 pts/0 00:00:00 ps

Por defecto, el comando ps mostrará los procesos que se están ejecutando en la


terminal actual. En el ejemplo anterior, la última línea corresponde al proceso
generado al ejecutar el comando ps. La salida incluye las siguientes columnas de
información:
• PID: El identificador para el proceso (process identifier), el cual es único para cada proceso. Esta
información es útil cuando necesitamos controlar los procesos según su número identificador (ID).
• TTY: El nombre de la terminal en la que está funcionando el proceso. Esta información es útil para
distinguir entre diferentes procesos que tienen el mismo nombre.
• TIME: La cantidad total de tiempo de procesado que utiliza un proceso determinado. Normalmente, los
usuarios normales no utilizan esta información.
• CMD: El comando que inició el proceso.
En lugar de ver sólo los procesos que se están ejecutando en la terminal actual, los
usuarios pueden querer ver todos los procesos que se están ejecutando en el
sistema. La opción -e muestra todos estos procesos:

sysadmin@localhost:~$ ps -e
PID TTY TIME CMD

1 pts/0 00:00:00 init

33 ? 00:00:00 rsyslogd

37 ? 00:00:00 cron

39 ? 00:00:00 sshd

56 ? 00:00:00 named

69 pts/0 00:00:00 login

79 pts/0 00:00:00 bash

94 pts/0 00:00:00 ps

Muchas veces se puede utilizar la opción -f para proporcionar un resultado más


detallado que incluya las opciones y los argumentos de cada proceso. Localice el
comando ps en la última línea, la columna CMD ahora incluye las opciones utilizadas
con el comando:
28

sysadmin@localhost:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD

root 1 0 0 19:16 pts/0 00:00:00 /sbin??? /init

syslog 33 1 0 19:16 ? 00:00:00 /usr/sbin/rsysl


ogd
root 37 1 0 19:16 ? 00:00:00 /usr/sbin/cron

root 39 1 0 19:16 ? 00:00:00 /usr/sbin/sshd

bind 56 1 0 19:16 ? 00:00:00 /usr/sbin/named


-u bind
root 69 1 0 19:16 pts/0 00:00:00 /bin/login -f

sysadmin 79 69 0 19:16 pts/0 00:00:00 -bash

sysadmin 95 79 0 19:43 pts/0 00:00:00 ps -ef

Administración de paquetes

La administración de paquetes es un sistema que facilita la instalación,


actualización, consulta o eliminación de software en un sistema de archivos. En el
ámbito de Linux, existen varios sistemas de gestión de paquetes, siendo Debian y
Red Hat los más populares. Las máquinas virtuales de este curso utilizan Ubuntu,
un derivado de Debian.

En el nivel más básico del sistema de administración de paquetes Debian,


encontramos el comando dpkg, el cual puede resultar complejo para usuarios
menos familiarizados con Linux. Una herramienta que simplifica la gestión de
paquetes es Advanced Package Tool, conocida como apt-get, la cual actúa como un
programa front-end para dpkg.
29

Nota: Un programa front-end es una interfaz que los usuarios pueden visualizar e
interactuar.

Muchos de los comandos de administración de paquetes requieren privilegios


administrativos, por lo que se precederán con el comando sudo. Utilice "netlab123"
como contraseña cuando se le solicite.

Instalación de paquetes

Los archivos de paquetes suelen instalarse mediante descarga directa desde


repositorios alojados en servidores de Internet. Los repositorios Debian albergan
más de 65,000 paquetes de software diversos. Antes de instalar un paquete, es
recomendable actualizar la lista de paquetes disponibles mediante el comando apt-
get update.

Para buscar palabras clave dentro de estos paquetes, puede emplear el comando apt-
cache search seguido de la palabra clave. La palabra clave debe coincidir con parte
del nombre o descripción del paquete que se desea localizar. Se pueden utilizar
varias palabras clave para refinar la búsqueda.

Ejemplo de búsqueda de paquetes asociados con la palabra clave "cow":

Una vez encontrado el paquete que desea instalar, utilice el comando apt-get install
seguido del nombre del paquete.

A tener en cuenta: ¡El comando "cowsay" es una utilidad que genera una
representación gráfica de una vaca parlante! Puede utilizar una palabra o frase
como argumento.
30

Recomendamos incluir el argumento entre comillas simples para evitar que el shell
interprete caracteres especiales.

Actualización de paquetes

El comando apt-get install también puede actualizar un paquete si ya está instalado


y existe una versión más reciente disponible. Si el paquete aún no está en el
sistema, se instalará; si ya está en el sistema, se actualizará.

La actualización de todos los paquetes del sistema debe realizarse en dos pasos.
Primero, actualice la caché de todos los paquetes disponibles utilizando apt-get
update. En segundo lugar, ejecute el comando apt-get upgrade para actualizar todos
los paquetes y sus dependencias.

sudo apt-get install [package]


sysadmin@localhost:~$ sudo apt-get install cowsay
[sudo] password for sysadmin:
Reading package lists... Done
Building dependency tree
Reading state information... Done
Suggested packages:
filters
The following NEW packages will be installed:
cowsay
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/18.5 kB of archives.
After this operation, 90.1 kB of additional disk space will be used.

Selecting previously unselected package cowsay.


(Reading database ... 24313 files and directories currently installed.)

Preparing to unpack .../cowsay_3.03+dfsg1-6_all.deb ...


31

Eliminación de paquetes

Puede usar el comando "apt-get" para eliminar o purgar un paquete en un sistema


Linux. La diferencia radica en que "purge" elimina completamente todos los
archivos del paquete, mientras que "remove" mantiene los archivos de
configuración del paquete.

Para eliminar un paquete:

- Utilice `apt-get remove [nombre_del_paquete]`

Para purgar completamente un paquete:

- Utilice `apt-get purge [nombre_del_paquete]`

Por ejemplo, para purgar completamente "cowsay", responda "Y" cuando se le


pregunte.

Actualización de contraseñas de usuario

El comando "passwd" se utiliza para actualizar la contraseña de un usuario en un


sistema Linux. Los usuarios solo pueden cambiar sus propias contraseñas, mientras
que el usuario root puede actualizar la contraseña de cualquier usuario.

Para cambiar la contraseña del usuario actual:

- Utilice `passwd`

Luego, siga las instrucciones para ingresar la contraseña actual y la nueva


contraseña.

Si desea ver información sobre su contraseña, puede utilizar la opción -S:

- Utilice `passwd -S [nombre_del_usuario]`


32

Conclusiones

1. Importancia de los Entornos Virtuales: La configuración de entornos virtuales ofrece a los

estudiantes la posibilidad de realizar prácticas realistas en un ambiente seguro, donde pueden

explorar configuraciones del sistema y aplicar comandos en un entorno simulado sin afectar

sistemas operativos reales.

2. Amplio Repertorio de Comandos Aprendidos: Se ha proporcionado una variedad de

comandos útiles para la administración y manipulación de archivos, directorios, visualización de

contenido, búsqueda y filtrado, gestión de usuarios y permisos, control de procesos,

configuración de red, compresión y descompresión, así como información del sistema.

3. Enfoque Práctico en la Administración de Sistemas: Los comandos presentados abarcan

aspectos esenciales de la administración de sistemas, desde la navegación y manipulación de

archivos hasta la gestión de procesos, configuración de red y obtención de información del

sistema. Estos comandos son fundamentales para realizar tareas cotidianas en sistemas Linux.

4. Simulación de Escenarios Realistas: La simulación de escenarios realistas en entornos

virtuales permite a los estudiantes practicar y familiarizarse con comandos clave de Linux. Este

enfoque proporciona una experiencia práctica y segura, facilitando el aprendizaje y la

comprensión de la administración de sistemas operativos basados en Linux.


33

Recomendaciones

1. Práctica Continua en Entornos Virtuales: Se recomienda realizar prácticas frecuentes en

entornos virtuales para reforzar la comprensión de los comandos presentados. La repetición de

tareas ayuda a afianzar el conocimiento y la destreza en la administración de sistemas Linux.

2. Exploración Activa de Comandos: Anima a los estudiantes a explorar activamente cada

comando en entornos virtuales, experimentando con diferentes opciones y parámetros. Esta

exploración activa contribuye a una comprensión más profunda y a la adaptación a escenarios

variados.

3. Creación de Escenarios Prácticos: Fomenta la creación de escenarios prácticos y desafiantes

que involucren varios comandos en conjunto. Esta práctica ayuda a los estudiantes a integrar su

conocimiento y a enfrentarse a situaciones más complejas, simulando problemas del mundo real.

4. Colaboración y Compartir Conocimientos: Motiva la colaboración entre estudiantes para

intercambiar conocimientos y resolver problemas en conjunto. Crear un entorno colaborativo

donde se comparten experiencias y soluciones contribuye a un aprendizaje más rico y a la

resolución eficiente de desafíos.


34

Referencias

(S/f). Netdevgroup.com. Recuperado el 1 de febrero de 2024,


de

https://content.netdevgroup.com/contents/unhatched/bCdL9YLvTR/

También podría gustarte