Está en la página 1de 23

LINUX UNHATCHED

1. ¡Bienvenido/a!
¡Bienvenidos al módulo NDG Linux Unhatched! Estamos muy contentos de ofrecerles esta breve
introducción al mundo de Linux. Antes de empezar, nos gustaría aprovechar esta oportunidad para
explicarle cuál es el objetivo y alcance de este módulo.
No se preocupe si tiene poca o ninguna experiencia con Linux. Este módulo está diseñado para
servir de introducción para estudiantes principiantes sin formación previa en Linux. Si este material
le resulta útil, tiene la opción de continuar y obtener conocimientos adicionales con nuestros cursos
NDG Linux Essentials o NDG Introduction to Linux. Encontrará más información sobre estos cursos
al final de este módulo.
Como ya debe saber, el kernel o núcleo Linux se utiliza en un gran número de sistemas. Se puede
encontrar en todas partes, desde automóviles a cohetes, de relojes a televisores, o desde
ordenadores portátiles a supercomputadoras de las más rápidas. Linux solo representa un
porcentaje relativamente pequeño de los sistemas operativos que se encuentran en computadoras
de escritorio, pero ha ganado uso generalizado en servidores, dispositivos de internet en objetos
(Internet of Things, IoT), equipos de redes, smartphones (o teléfonos móviles inteligentes) y
muchos otros dispositivos que ni siquiera se consideran computadoras. Desde el router doméstico
que le proporciona conexión a Internet al servidor en el que está alojado este curso, es probable
que varios dispositivos estén usando tecnología Linux para permitirle leer esta página.

Esperamos que el módulo NDG Linux Unhatched le resulte útil. ¡Felicitaciones por dar sus primeros
pasos en el mundo de Linux!

¡Linux está en todas partes! Houston, hemos despegado.


«¡Linux está en todas partes!»

1.1. ¿Por qué aprender Linux?


El campo de la Tecnología de la Información (TI) está lleno de oportunidades. Para las personas
que desean seguir una carrera en TI, uno de los mayores desafíos puede ser decidir dónde y cómo
comenzar. A menudo, las personas están motivadas para adquirir nuevos conocimientos y
aprender nuevas técnicas que les permitan acceder a mejores oportunidades tanto en su vida
personal como profesional. Aprender una nueva habilidad requiere tiempo y disciplina, pero con la
motivación correcta, esto no tiene por qué ser doloroso. En esta sección vamos a discutir por qué el
tiempo y el esfuerzo invertido en aprender Linux le puede ser beneficioso; y recuerde, todos los que
trabajan en TI tuvieron que empezar en algún lugar.
Aprender Linux es una gran manera de empezar. ¿Por qué es importante aprender Linux en un
mundo impulsado por la tecnología como el actual?
¿Qué es Linux?

1
LINUX UNHATCHED
Antes de determinar qué hace que Linux sea una gran adición a su repertorio de habilidades y
conocimientos, definámoslo. Linux es un sistema operativo que se ejecuta en un sistema
informático o hardware (ordenador). Un sistema operativo es un software que permite instalar y
ejecutar otros programas como procesadores de texto o navegadores web en un ordenador.
Su teléfono celular, tableta, portátil y computadora de escritorio necesitan un sistema operativo
para ejecutar el software (a menudo llamado aplicaciones) que desea utilizar. Esto significa que
Linux no está limitado sólo a computadoras de escritorio y portátiles. Ampliaremos este punto a
medida que avancemos con nuestra discusión.
¡La razón principal por la que aprender Linux es útil es que Linux se utiliza en casi todas partes!
Linux se utiliza en computadoras de escritorio y portátiles, servidores web, dispositivos móviles
(Android), tecnología de nube pública (i.e., Google, Amazon, etc.), Chromebooks y redes (i.e.,
redes Cisco). Aunque es posible que nunca haya utilizado Linux en un ordenador de escritorio o
portátil, es probable que esté utilizando otra tecnología que funciona con Linux, por ejemplo
un teléfono móvil Android, una tableta o páginas web populares como Facebook, Twitter o Amazon.
De hecho, se estima que más de la mitad de las páginas web en Internet se generan a partir de
servidores Linux.
¿Quién puede usar Linux?
Puede que usted haya oído hablar de Linux y piense que sólo individuos expertos en tecnología lo
están usando para programación y desarrollo. ¡O, tal vez incluso para hackear! Aunque es cierto
que muchos de los expertos usan Linux, esto no significa que Linux sea demasiado difícil para
aprender o que no sea útil para principiantes.
De hecho, entender Linux, especialmente la interfaz de su línea de comandos, le ayudará a
entender mejor la informática y le proporcionará conocimientos informáticos básicos que puede
utilizar en carreras futuras.
Para entender por qué Linux ofrece competencias únicas, examinemos la interfaz gráfica de
usuario (GUI, graphic user interface). Esta es la interfaz que probablemente usted está usando en
su smartphone, tableta o computadora hoy mismo. La GUI muestra iconos e imágenes que usted
puede seleccionar para indicar a su dispositivo lo que desea hacer o utilizar. Detrás de la GUI,
existe un código desarrollado por un programador. Cuando usted hace clic sobre un icono o
carpeta en la GUI, se envía un comando al código que indica al sistema qué debe hacer.
Los ordenadores Linux utilizan una GUI, pero también poseen una herramienta más eficiente para
llevar a cabo las mismas acciones que una GUI, la interfaz de línea de comandos (CLI, command
line interface).

La línea de comandos de Linux es una interfaz basada en texto que acepta comandos que se
escriben en ella. Estos comandos hacen que una acción se ejecute en el sistema operativo del
equipo. Por supuesto, las ventanas y los iconos son fáciles de usar, sin embargo, la línea de
comandos es a menudo el héroe cuando se trata de la administración del sistema y la solución de
problemas, ya que proporciona una imagen clara de lo que el sistema está haciendo en cualquier
momento dado.
2
LINUX UNHATCHED
Teniendo en cuenta todo esto, ¿por qué aprender Linux es un buen comienzo para alguien que
está considerando una carrera en TI? Como se ha dicho anteriormente, el uso de Linux está muy
extendido y continúa creciendo en todas las áreas de la tecnología. ¿Qué tienen en común
empresas y organizaciones como NASA, McDonald's, New York Stock Exchange (NYSE),
DreamWorks Animation y el Departamento de Defensa de los Estados Unidos? Sí, lo adivinó
correctamente, todos usan Linux.
Estas empresas tienen algo más en común porque reconocen que invertir en tecnología es
importante en un mundo que está ansioso para adoptar nuevas tecnologías para innovar y resolver
problemas. La proliferación de tecnología en casi todos los aspectos de nuestra vida ha resuelto
muchos problemas pero también ha creado nuevos retos. Por ejemplo, ahora que casi todo se
puede hacer en línea, estamos creando datos digitales a un ritmo muy rápido, lo cual está creando
una demanda para esos datos. Por lo tanto, el conocimiento y las capacidades técnicas para
analizar, procesar, proteger y transmitir estos datos también está en alta demanda. Aprender
Linux puede ayudarle a avanzar en el camino hacia la adquisición de estos conocimientos y
capacidades. Los siguientes son ejemplos de algunas profesiones de TI que requieren
conocimientos de Linux:
 Ingeniería de redes: los ingenieros de redes son responsables de administrar los equipos
de red que se utilizan para transmitir datos. El conocimiento de Linux es fundamental para
los ingenieros de red, ya que más de la mitad de los servidores del mundo están basados en
Linux. La mayoría de los sistemas operativos de red se basan en una variación de Linux.
 Ciberseguridad: los profesionales de la ciberseguridad supervisan e investigan las
amenazas a la seguridad de los datos de los sistemas. Linux se utiliza en ciberseguridad
para llevar a cabo pruebas de penetración del sistema y evaluar la vulnerabilidad de un
sistema.
 Desarrollo/Programación: los diseñadores y programadores crean aplicaciones
informáticas. La línea de comandos de Linux permite a los diseñadores y programadores
ejecutar secuencias de comandos; una función que permite al usuario unir comandos para
ejecutar acciones complejas en un ordenador. Linux también se utiliza en este campo
porque sólo Linux permite a los usuarios acceder a su código fuente (o código  source),
dándoles la oportunidad de experimentar con el código y aprender mientras lo hacen.
 Análisis de datos: los científicos y los analistas de datos clasifican y analizan conjuntos de
datos para encontrar patrones con el fin de informar y predecir tendencias y
comportamientos. Los analistas de datos utilizan Linux debido a la amplia gama de
herramientas y comandos disponibles para el análisis de datos, como MySQL y más.
Los sistemas operativos Linux vienen en muchas formas. Hay una variedad de distribuciones
disponibles para adaptarse a las necesidades y demandas de muchos sectores de TI. Por ejemplo,
los profesionales de la ciberseguridad pueden usar Linux Kali, los programadores y diseñadores
pueden usar Linux Ubuntu, los usuarios habituales pueden usar Linux Mint y los servidores
empresariales pueden funcionar con Red Hat Enterprise Linux.
A tener en cuenta

3
LINUX UNHATCHED
Conocimientos de Linux son necesarios para muchas trayectorias profesionales de TI. Por ejemplo,
conocer los comandos básicos de Linux es un requisito previo para programas de certificación de
TI como la popular certificación Cisco Certified CyberOps Associate. Para obtener más información
sobre cómo Linux se aplica a CCNA Cyber Ops, visite la sección al final de este curso
titulada Linux for CCNA Cyber Ops.
Otras importantes razones para usar y aprender Linux incluyen que, en muchos casos, es gratis,
fácil de instalar, de código abierto, y la presencia de una comunidad Linux activa y
disponible para asistencia y apoyo. Esto permite que aquellos que desean empezar a adquirir
competencias en TI puedan empezar a usar Linux de manera fácil.
Como puede ver, ¡hay muchas razones para aprender y explorar Linux!
1.2. Antes de empezar
Visita virtual
Si nunca ha utilizado un curso NDG Online, familiarícese con nuestra interfaz haciendo un recorrido
virtual. Puede acceder a este recorrido en cualquier momento utilizando el menú Ayuda (Help)
situado en la esquina superior derecha.

Objetivos
Este contenido se alinea con varios objetivos del LPI Linux Essentials Exam 010-160. Tenga en
cuenta que Linux Unhatched está diseñado para ser un módulo exploratorio para principiantes que
se alinea con varios objetivos de LPI Linux Essentials, pero no está diseñado para ser un módulo
de preparación de exámenes completo. Para más información, haga clic en la pestaña Objetivos:

Máquinas virtuales

4
LINUX UNHATCHED
A la derecha del contenido se le ha proporcionado una máquina virtual Linux para practicar. Todos
los ejemplos en este curso fueron creados con nuestros equipos y le animamos a probarlos. Tenga
en cuenta que el resultado o output que ve en la interfaz de línea de comandos no siempre
coincidirá exactamente con el ejemplo en el contenido.

2. Sintaxis de comandos básicos


Este módulo se ocupa exclusivamente de la CLI o interfaz de línea de comandos, en lugar de la
GUI o interfaz gráfica de usuario con la que quizás esté más familiarizado. El terminal CLI es una
poderosa herramienta y a menudo es el método principal utilizado para administrar dispositivos
pequeños de bajo consumo, servidores de computación de gran capacidad en la nube, y mucho
más. Una comprensión básica del terminal es esencial para diagnosticar y reparar la mayoría de
los sistemas basados en Linux. Puesto que Linux se ha vuelto tan omnipresente, incluso aquellos
que planean trabajar con sistemas que no utilizan el núcleo Linux pueden beneficiarse de tener una
comprensión básica del terminal.
¿Qué es un comando? Un comando es un programa de software que, cuando se ejecuta en la CLI
(interfaz de línea de comandos), realiza una acción en el ordenador. Cuando usted escribe un
comando, el sistema operativo ejecuta un proceso para leer su entrada, manipular datos y producir
resultados. Un comando ejecuta un proceso en el sistema operativo, que luego hace que el
ordenador realice una tarea determinada.
Para ejecutar un comando, el primer paso es escribir el nombre del comando. Haga clic en el
terminal de la derecha. Escriba ls y pulse Enter. Obtendrá un resultado parecido al del siguiente
ejemplo:

sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos

Generalmente, el nombre del comando se basa en la tarea que hace o en lo que el programador
que creó el comando cree que mejor describe la función del comando. Por ejemplo, el comando ls

5
LINUX UNHATCHED
muestra una lista de información sobre archivos. Asociar el nombre del comando con algo
mnemotécnico sobre lo que hace puede ayudarle a recordar los comandos más fácilmente.
A tener en cuenta
Generalmente, los comandos distinguen entre mayúsculas y minúsculas. Por ejemplo, LS es
incorrecto y generará un mensaje de error, pero ls es correcto y se ejecutará normalmente.

sysadmin@localhost:~$ LS
-bash: LS: command not found

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

comando [opciones…] [argumentos…]

En otras palabras, escriba un comando, seguido de las opciones y/o argumentos antes de


presionar la tecla Enter. Generalmente, las opciones (options) alteran el comportamiento del
comando y los argumentos (arguments) son elementos o valores sobre los que debe actuar el
comando. Aunque hay algunos comandos en Linux que no son completamente consistentes con
estas normas de sintaxis, la mayoría de los comandos usan esta sintaxis o alguna similar.

En el ejemplo anterior, el comando ls se ejecutó sin opciones ni argumentos. Cuando este es el


caso, su comportamiento predeterminado es el de devolver una lista de los archivos contenidos en
el directorio actual.

sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos

2.1. Argumentos

comando [opciones…] [argumentos…]

Un argumento (argument) se puede usar para especificar algo sobre lo que el comando debe
actuar. Si al comando ls se le da el nombre de un directorio como argumento, obtendremos como
resultado una lista del contenido de ese directorio. En el siguiente ejemplo, el
directorio Documents se utilizará como argumento:

sysadmin@localhost:~$ ls Documents
School alpha-second.txt food.txt linux.txt os.csv

6
LINUX UNHATCHED

Work alpha-third.txt hello.sh longfile.txt people.csv


adjectives.txt alpha.txt hidden.txt newhome.txt profile.txt
alpha-first.txt animals.txt letters.txt numbers.txt red.txt

El resultado es una lista de los archivos incluidos en el directorio Documents.


Debido a que Linux es de código abierto, contiene algunas funciones curiosas que han ido siendo
agregadas por sus programadores y usuarios. Por ejemplo, el comando aptitude es una función de
gestión de paquetes disponible en algunas versiones de Linux. Este comando acepta moo como
argumento:

sysadmin@localhost:~$ aptitude moo


There are no Easter Eggs in this program.

Este comando no solamente es lo que parece. ¡Siga leyendo para saber qué más hay detrás de
este truco!

«Linux se basa en código abierto (open source). Linux está diseñado y desarrollado en comunidad. ¡Usted puede
acceder y contribuir a su código fuente (source code)!»

2.2. Opciones
comando [opciones…] [argumentos…]

Las opciones (options) se pueden utilizar para modificar el comportamiento de un comando. En la


página anterior, el comando ls se utilizó para enumerar el contenido de un directorio. En el ejemplo
siguiente, la opción -l se agrega al comando ls para obtener un resultado de “pantalla larga”, y
proporcionar más información sobre cada uno de los archivos enumerados :

sysadmin@localhost:~$ ls -l
total 32
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Desktop
drwxr-xr-x 4 sysadmin sysadmin 4096 Aug 4 20:58 Documents
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Downloads
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Music
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Pictures

7
LINUX UNHATCHED

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Public


drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Templates
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Videos

A menudo, el carácter elegido para el comando es mnemotécnico de su propósito en inglés. Por


ejemplo, la letra l para indicar largo (long) o r para invertir (reverse en inglés). De forma
predeterminada, el comando ls imprime los resultados en orden alfabético, al agregar la opción -
r se imprimirán los resultados en orden alfabético inverso.

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

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 ha explicado anteriormente, -l proporciona un formato de listado largo y -r invierte el


listado. El resultado de usar ambas opciones será un listado largo en orden alfabético inverso:

sysadmin@localhost:~$ ls -l -r
total 32
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Videos
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Templates
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Public
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Pictures
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Music
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Downloads
drwxr-xr-x 4 sysadmin sysadmin 4096 Aug 4 20:58 Documents
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Desktop
sysadmin@localhost:~$ ls -rl
total 32
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Videos
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Templates
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Public
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Pictures
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Music

8
LINUX UNHATCHED

drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Downloads


drwxr-xr-x 4 sysadmin sysadmin 4096 Aug 4 20:58 Documents
drwxr-xr-x 2 sysadmin sysadmin 4096 Aug 4 20:58 Desktop

Los comandos pueden utilizar muchas combinaciones de opciones y argumentos. Las posibilidades para cada
comando serán únicas. ¿Recuerda los huevos de Pascua (Easter Eggs) del comando aptitude?

sysadmin@localhost:~$ aptitude moo


There are no Easter Eggs in this program.

Es posible modificar el comportamiento de este comando usando opciones. Vea lo que sucede cuando se agrega
la opción -v (verbose):

sysadmin@localhost:~$ aptitude -v moo


There really are no Easter Eggs in this program.

Mediante la combinación de múltiples opciones -v, podemos obtener una variedad de respuestas:

sysadmin@localhost:~$ aptitude -vv moo


Didn't I already tell you that there are no Easter Eggs in this program?
sysadmin@localhost:~$ aptitude -vvv moo
Stop it!

Recuerde que las varias opciones se pueden denotar por separado o combinadas:

aptitude -v -v moo
aptitude -vv moo

¡Siga añadiendo opciones -v para ver cuántas respuestas únicas puede obtener!

3. Imprimir el directorio de trabajo


Para descubrir dónde se encuentra actualmente dentro del sistema de archivos, puede utilizar el
comando pwd. El comando pwd imprime el directorio de trabajo (print working directory), su
ubicación actual dentro del sistema de archivos:

pwd [OPCIONES]

A tener en cuenta
¡No encienda su impresora todavía! En los inicios de la computación, el resultado de un comando
se enviaba directamente a impresoras físicas. Este método ha sido reemplazado por pantallas de
vídeo que muestran información más rápidamente. Aun así, actualmente seguimos utilizando la
palabra imprimir (print) aunque el resultado se esté mostrando en una pantalla.

9
LINUX UNHATCHED

sysadmin@localhost:~$ pwd
/home/sysadmin

El resultado del comando anterior indica que el usuario está actualmente en su carpeta de inicio, tal
y como muestra el sistema de archivos siguiente.

Considere esto
Observe que nuestras máquinas virtuales emplean un indicador para mostrar el directorio de
trabajo actual, resaltado en color azul. En el primer mensaje, el carácter ~ azul es equivalente
a /home/sysadmin, y representa el directorio de inicio del usuario.

sysadmin@localhost:~$

Después de cambiar de directorio (aprenderemos cómo hacerlo en la siguiente sección), la nueva


ubicación también se puede confirmar en el nuevo indicador, que nuevamente se muestra en azul.
sysadmin@localhost:/etc/calendar$

4. Cambio de Directorios
Los archivos se utilizan para almacenar datos como texto, gráficos y programas. Los directorios son un tipo de
archivo utilizado para almacenar otros archivos: proporcionan una estructura organizativa jerárquica. La siguiente
imagen muestra una versión abreviada de la estructura del sistema de archivos de nuestras máquinas virtuales.

10
LINUX UNHATCHED

Al iniciar una máquina virtual nueva, ya sea abriendo el curso o después de usar el botón de reinicio, usted inicia
una sesión como usuario sysadmin en su directorio principal, resaltado en azul a continuación:

Utilice el comando cd (change directory) para cambiar de directorio y navegar por la estructura del sistema de
archivos.

cd [opciones] [ruta]

Si examina el gráfico anterior, notará que el directorio Documents se encuentra dentro del directorio de
inicio home, donde usted se encuentra actualmente. Para desplazarse al directorio Documents, utilícelo como
argumento para el comando cd:

sysadmin@localhost:~$ cd Documents
sysadmin@localhost:~/Documents$

Los directorios son equivalentes a las carpetas en Windows y Mac OS. Al igual que estos sistemas operativos
más populares, una estructura de directorios Linux también tiene un nivel superior. No se llama “Mi PC”, sino
directorio raíz (root) y está representado por el carácter /.

Para desplazarse al directorio root, utilice el carácter / como argumento del comando cd.

sysadmin@localhost:~$ cd /

11
LINUX UNHATCHED

El argumento para el comando cd es más que el nombre de un directorio, en realidad es una ruta (path). Una ruta
es una lista de directorios separados por el carácter /. Por ejemplo, /home/sysadmin es la ruta a su directorio de

inicio:

Imagine que el sistema de archivos es un mapa, las rutas son las instrucciones que indican paso a paso la
ubicación de cualquier archivo dentro del sistema de archivos. Hay dos tipos de rutas: absolutas y relativas. Las
rutas absolutas comienzan en la raíz del sistema de archivos, las rutas relativas comienzan en su ubicación
actual.

4.1. Rutas absolutas


Una ruta absoluta le permite especificar la ubicación exacta de un directorio. Siempre comienza en el
directorio root, por lo tanto siempre comienza con el carácter /. La ruta al directorio de inicio
(home) /home/sysadmin es una ruta absoluta. La ruta comienza en el directorio root /, se mueve al directorio de
inicio home y, a continuación, al directorio sysadmin. Esta ruta en una interfaz gráfica de usuario (GUI) como la
de su ordenador personal aparecería así:

Utilice esta ruta como argumento para el comando cd para volver al directorio


principal del usuario sysadmin.

sysadmin@localhost:/$ cd /home/sysadmin
sysadmin@localhost:~$

Que no aparezca un resultado en la línea de comandos significa que el comando se ha ejecutado correctamente.
Continúe y confirme que es así usando el comando pwd:

sysadmin@localhost:~$ pwd
/home/sysadmin

12
LINUX UNHATCHED
4.2. Rutas relativas
Una ruta relativa ubica un archivo en relación con la ubicación actual del usuario en el sistema de archivos. Las
rutas relativas no comienzan con el carácter /, comienzan con el nombre de un directorio. Eche otro vistazo al
primer ejemplo de comando cd. En este caso, el argumento es un ejemplo de la ruta relativa más simple: el
nombre de un directorio en su ubicación actual.

sysadmin@localhost:~$ cd Documents
sysadmin@localhost:~/Documents$

La siguiente imagen muestra un mapa de los archivos contenidos en el directorio sysadmin. Actualmente se


encuentra en el directorio Documents y desea desplazarse al directorio Art:

13
LINUX UNHATCHED
Una ruta relativa comienza con el directorio actual, sin embargo, éste no se incluye en la ruta. El primer paso
sería pasar al directorio School y, a continuación, pasar al directorio Art. Utilice el carácter / para separar los
nombres de directorio. El resultado School/Art es una ruta relativa desde el directorio Documents hasta el
directorio Art:

Utilice la ruta relativa como argumento para el comando cd para desplazarse al directorio Art.

sysadmin@localhost:~/Documents/$ cd School/Art
sysadmin@localhost:~/Documents/School/Art$

Utilice el comando pwd para confirmar que el cambio ha ocurrido:

sysadmin@localhost:~/Documents/School/Art$ pwd
/home/sysadmin/Documents/School/Art

A tener en cuenta
El resultado del comando pwd es la ruta absoluta al directorio Art.

14
LINUX UNHATCHED
A tener en cuenta
En el ejemplo anterior, el comando cd siguió la ruta School/Art:
cd School/Art

Una ruta también se puede dividir en varios comandos cd. El siguiente conjunto de comandos lograría los mismos
resultados:
cd School
cd Art

4.3. Accesos Directos o Atajos


Dos puntos ..
Independientemente del directorio en el que se encuentre, el carácter .. siempre representa un directorio superior
en relación al directorio actual, a veces denominado directorio padre. Por ejemplo, para pasar del directorio Art al
directorio School:

sysadmin@localhost:~/Documents/School/Art$ cd ..
sysadmin@localhost:~/Documents/School$

Un punto .
Independientemente del directorio en el que se encuentre, el carácter . siempre representa su directorio actual.
Para el comando cd, este atajo no es muy útil, pero será útil para los comandos que estudiaremos en las
secciones siguientes.
El símbolo ~
El directorio principal del usuario actual está representado por el carácter ~ . Como se indicó anteriormente,
siempre comienza su sesión como usuario sysadmin, cuyo directorio de inicio se encuentra en /home/sysadmin.
Para volver a su directorio de inicio en cualquier momento, puede ejecutar el siguiente comando:

sysadmin@localhost:~/Documents/School$ cd ~

5. Listados de archivos
El comando ls se utiliza para enumerar el contenido de un directorio. Ha visto cómo se utiliza en varios ejemplos
anteriores. Esta página le ayudará a sentirse más cómodo con su uso.

ls [OPCIONES] [ARCHIVO]

De forma predeterminada, el comando ls usado sin opciones o argumentos mostrará los archivos contenidos en
el directorio actual:

sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos

Para obtener información detallada sobre los archivos, como el tipo de archivo, los permisos, las propiedades o el
sello horario, ejecute una lista larga utilizando la opción -l con el comando ls. En el ejemplo siguiente, se utiliza
una lista del directorio /var/log, ya que proporciona una variedad de resultados:

15
LINUX UNHATCHED

sysadmin@localhost:~$ ls -l /var/log/
total 832
-rw-r--r-- 1 root root 17869 Mar 14 17:48 alternatives.log
drwxr-x--- 2 root adm 4096 Mar 14 17:48 apache2
drwxr-xr-x 2 root root 4096 Mar 14 17:45 apt
-rw-r----- 1 syslog adm 380 Jul 28 03:45 auth.log
-rw-r--r-- 5 root root 47816 Mar 2 23:10 bootstrap.log
-rw-rw---- 5 root utmp 0 Mar 2 23:10 btmp
-rw-r----- 1 syslog adm 324 Jul 28 03:45 cron.log
-rw-r----- 1 root adm 85083 Mar 14 17:48 dmesg
-rw-r--r-- 1 root root 315196 Mar 14 17:48 dpkg.log
-rw-r--r-- 1 root root 32064 Mar 14 17:48 faillog
drwxr-xr-x 2 root root 4096 Jun 30 06:53 fsck
-rw-r----- 1 syslog adm 106 Jul 28 03:45 kern.log
-rw-rw-r-- 1 root utmp 292584 Jul 28 03:45 lastlog
-rw-r----- 1 syslog adm 18703 Jul 28 03:46 syslog
drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart
-rw-rw-r-- 1 root utmp 384 Jul 28 03:45 wtmp

Cada línea corresponde a un archivo contenido en el directorio. La información sobre cada archivo se puede
dividir en campos separados por espacios. Los campos son los siguientes:
 Tipo de archivo

 - rw-r--r-- 1 root root 17869 Mar 14 17:48 alternatives.log

d rwxr-x--- 2 root adm 4096 Mar 14 17:48 apache2

El primer campo contiene en realidad diez caracteres. El primer carácter indica el tipo de archivo y los
nueve siguientes especifican permisos. Los tipos de archivo son:

16
LINUX UNHATCHED
El primer archivo alternatives.log es un archivo normal -, mientras que el segundo

 Permisos

d rwxr-xr-x 1 root root 0 Apr 11 21:58 upstart

Los permisos indican cómo determinados usuarios pueden acceder a un archivo. Siga leyendo para
Símbolo Tipo de archivo Descripción

d directorio Un archivo usado para contener otros archivos.

Incluye archivos leíbles, imágenes, archivos


- archivo ordinario
binarios, y archivos comprimidos.

l enlaces simbólicos Apunta a otro archivo.

s socket Permite la comunicación entre procesos.

p tubería (pipe) Permite la comunicación entre procesos.

Usado para comunicaciones con el equipo


b archivo bloque
(hardware).

Usado para comunicaciones con el equipo


c archivo carácter
(hardware).

obtener más información sobre los permisos.


 Número de enlaces directos

-rw-r----- 1 syslog adm 23621 Aug 23 15:17 auth.log

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 NDG Linux Essentials.
 Propietario del archivo

-rw-r----- 1 syslog adm 416 Aug 22 15:43 kern.log

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

-rw-rw-r-- 1 root utmp 292584 Aug 20 18:44 lastlog

17
LINUX UNHATCHED
Indica qué grupo posee este archivo.
 Tamaño del archivo

-rw-r----- 1 syslog adm 1087150 Aug 23 15:17 syslog.1

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

drwxr-xr-x 1 root root 32 Jul 17 03:36 fsck

Indica la fecha y hora en que el contenido del archivo se modificó por última vez.
 Nombre del archivo

-rw-r--r-- 1 root root 47816 Jul 17 03:36 bootstrap.log

El campo final contiene el nombre del archivo o directorio.


 A tener en cuenta

En el caso de enlaces simbólicos, un archivo que apunta a otro archivo, el nombre del enlace se mostrará
junto a una flecha y el nombre de la ruta del archivo original.

lrwxrwxrwx. 1 root root 22 Nov 6 2012 /etc/grub.conf -> ../boot/grub/grub.conf

Los enlaces simbólicos están fuera del alcance de este módulo, pero están cubiertos en el curso NDG
Linux Essentials.
5.1. Ordenar archivos

Por defecto, el resultado del comando ls está ordenado alfabéticamente según el nombre del archivo. Pero
también se puede ordenar usando otros métodos.
Siga leyendo
Las opciones en los siguientes ejemplos se combinarán con la opción -l para mostrar los detalles relevantes de
cada archivo. Preste atención a los campos correspondientes a la opción de búsqueda.
La opción -t ordenará los archivos por su sello de tiempo (timestamp):

sysadmin@localhost:~$ ls -lt /var/log


total 840

18
LINUX UNHATCHED

-rw-r----- 1 syslog adm 27014 Jul 28 00:10 syslog


-rw-r----- 1 syslog adm 380 Jul 27 23:10 auth.log
-rw-rw-r-- 1 root utmp 292584 Jul 27 23:10 lastlog
-rw-rw-r-- 1 root utmp 384 Jul 27 23:10 wtmp
-rw-r----- 1 syslog adm 324 Jul 27 23:10 cron.log
-rw-r----- 1 syslog adm 106 Jul 27 23:10 kern.log
drwxr-xr-x 2 root root 4096 Jun 30 06:56 fsck
-rw-r--r-- 1 root root 17869 Mar 14 17:48 alternatives.log
-rw-r----- 1 root adm 85083 Mar 14 17:48 dmesg
-rw-r--r-- 1 root root 32064 Mar 14 17:48 faillog
-rw-r--r-- 1 root root 315196 Mar 14 17:48 dpkg.log
drwxr-x--- 2 root adm 4096 Mar 14 17:48 apache2
drwxr-xr-x 2 root root 4096 Mar 14 17:45 apt
-rw-r--r-- 5 root root 47816 Mar 2 23:10 bootstrap.log
-rw-rw---- 5 root utmp 0 Mar 2 23:10 btmp
drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart

La opción -S (size) ordenará los archivos por tamaño de archivo:

sysadmin@localhost:~$ ls -l -S /var/log
total 840
-rw-r--r-- 1 root root 315196 Mar 14 17:48 dpkg.log
-rw-rw-r-- 1 root utmp 292584 Jul 27 23:10 lastlog
-rw-r----- 1 root adm 85083 Mar 14 17:48 dmesg
-rw-r--r-- 5 root root 47816 Mar 2 23:10 bootstrap.log
-rw-r--r-- 1 root root 32064 Mar 14 17:48 faillog
-rw-r----- 1 syslog adm 27014 Jul 28 00:10 syslog
-rw-r--r-- 1 root root 17869 Mar 14 17:48 alternatives.log
drwxr-x--- 2 root adm 4096 Mar 14 17:48 apache2
drwxr-xr-x 2 root root 4096 Mar 14 17:45 apt
drwxr-xr-x 2 root root 4096 Jun 30 06:56 fsck
drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart
-rw-rw-r-- 1 root utmp 384 Jul 27 23:10 wtmp
-rw-r----- 1 syslog adm 380 Jul 27 23:10 auth.log
-rw-r----- 1 syslog adm 324 Jul 27 23:10 cron.log
-rw-r----- 1 syslog adm 106 Jul 27 23:10 kern.log

19
LINUX UNHATCHED

-rw-rw---- 5 root utmp 0 Mar 2 23:10 btmp

La opción -r (reverse) invertirá el orden de cualquier tipo de ordenación. Observe la diferencia cuando se agrega
al ejemplo anterior:

sysadmin@localhost:~$ ls -lSr /var/log


total 840
-rw-rw---- 5 root utmp 0 Mar 2 23:10 btmp
-rw-r----- 1 syslog adm 106 Jul 27 23:10 kern.log
-rw-r----- 1 syslog adm 324 Jul 27 23:10 cron.log
-rw-r----- 1 syslog adm 380 Jul 27 23:10 auth.log
-rw-rw-r-- 1 root utmp 384 Jul 27 23:10 wtmp
drwxr-xr-x 2 root root 4096 Apr 11 2014 upstart
drwxr-xr-x 2 root root 4096 Jun 30 06:56 fsck
drwxr-xr-x 2 root root 4096 Mar 14 17:45 apt
drwxr-x--- 2 root adm 4096 Mar 14 17:48 apache2
-rw-r--r-- 1 root root 17869 Mar 14 17:48 alternatives.log
-rw-r----- 1 syslog adm 27014 Jul 28 00:10 syslog
-rw-r--r-- 1 root root 32064 Mar 14 17:48 faillog
-rw-r--r-- 5 root root 47816 Mar 2 23:10 bootstrap.log
-rw-r----- 1 root adm 85083 Mar 14 17:48 dmesg
-rw-rw-r-- 1 root utmp 292584 Jul 27 23:10 lastlog
-rw-r--r-- 1 root root 315196 Mar 14 17:48 dpkg.log

Los números en el campo del tamaño de archivo cambian de descendente a ascendente.


Utilizando solo la opción -r con la lista de los archivos en orden alfabético inverso:
sysadmin@localhost:~$ ls -r /var/log
wtmp lastlog faillog cron.log auth.log alternatives.log
upstart kern.log dpkg.log btmp apt
syslog fsck dmesg bootstrap.log apache2

«¿Sabía que puede encontrar Linux en...?»


sysadmin@localhost:~$ ls -r /var/log
wtmp lastlog faillog cron.log auth.log alternatives.log
upstart kern.log dpkg.log btmp apt
syslog fsck dmesg bootstrap.log apache2

20
LINUX UNHATCHED

6. Acceso administrativo
Hay muchos comandos de Linux que tratan con información confidencial como contraseñas, hardware del
sistema, u otros que operan bajo circunstancias excepcionales. Evitar que usuarios ordinarios ejecuten estos
comandos ayuda a proteger el sistema. Iniciar una sesión como usuario root proporciona acceso administrativo, y
permite la ejecución de algunos de los comandos privilegiados.

6.1. El comando su
su OPCIONES NOMBRE-DE-USUARIO

El comando su le permite actuar temporalmente como un usuario diferente. Lo hace creando un nuevo shell. El
shell es simplemente una consola de entrada de texto que le permite escribir comandos. De forma
predeterminada, si no se especifica una cuenta de usuario, el comando su abrirá un nuevo shell como
usuario root, proporcionando privilegios administrativos.
Siga leyendo
Se recomienda utilizar la opción shell para iniciar la sesión, ya que el shell de inicio de sesión configura
completamente el nuevo shell con la configuración del nuevo usuario. Esta opción se puede especificar de tres
maneras:
su -
su -l
su --login

Después de ejecutar el comando su, se requiere una contraseña. En nuestras máquinas virtuales, la contraseña
para las cuentas root y sysadmin es netlab123 . Si alguna vez olvida la contraseña, ésta se muestra cada vez que
se inicia una nueva máquina virtual. Como medida de seguridad, la contraseña no será visible mientras la
escribe.

sysadmin@localhost:~$ su -
Password:
root@localhost:~#

Tenga en cuenta que el símbolo del sistema ha cambiado para reflejar que ahora ha iniciado sesión como
usuario root. Para cerrar la sesión y volver a la cuenta sysadmin, use el comando exit. Note como el símbolo
vuelve a cambiar

root@localhost:~# exit
Exit
sysadmin@localhost:~$

Para evitar ejecutar comandos sensibles o privilegiados, hemos configurado el comando steam locomotive, sl,
para que requiera acceso administrativo. Si el comando se ejecuta como sysadmin, aparece un mensaje de error:

sysadmin@localhost:~$ sl
sl: Permission denied

Utilice el comando su para cambiar a la cuenta root y ejecute el comando sl con acceso administrativo:

21
LINUX UNHATCHED
Vuelva a utilizar el comando exit para volver a la cuenta sysadmin.

sysadmin@localhost:~$ su -
Password:
root@localhost:~# sl

(@@) ( ) (@) ( ) @@ () @ O @
( )
(@@@@)
( )
(@@@)
==== ________ ___________
_D _| |_______/ \__I_I_____===__|_________|
|(_)--- | H\________/ | | =|___ ___|
_________________
/ || H|| | | ||_| |_|| _|
| | | H |__--------------------| [___] | =|
| ________|___H__/__|_____/[][]~\_______| | -|
|/ | |-----------I_____I [][] [] D |=======|____|__________________
__/ =| o |=-~~\ /~~\ /~~\ /~~\ ____Y___________|__|____________________
|/-=|___|= || || || |_____/~\___/ |_D__D__D_| |_D__
\_/ \_O=====O=====O=====O/ \_/ \_/ \_/ \_/

root@localhost:~# exit
Exit
sysadmin@localhost:~$

6.2. El comando sudo
sudo [OPCIONES] COMANDO

El comando sudo permite a un usuario ejecutar un comando como otro usuario sin tener que crear un nuevo shell.
Para ejecutar un comando con privilegios administrativos utilice el comando como argumento para el
comando sudo. Al igual que pasa con el comando su, el comando sudo asume por defecto que la cuenta de
usuario root debe usarse para ejecutar comandos.
A tener en cuenta
El comando sudo también puede usarse para cambiar a otras cuentas de usuario. Para especificar una cuenta de
usuario diferente, utilice la opción -u. Ejecute el comando sl como usuario root poniendo sudo delante de él:
sysadmin@localhost:~$ sudo sl
Password:

Nota
Recuerde que la contraseña es netlab123. La solicitud de contraseña no aparecerá de nuevo mientras el usuario
continúe ejecutando comandos sudo a intervalos inferiores a cinco minutos. Una vez completado el comando,
observe que el símbolo del sistema no ha cambiado, usted continua bajo la cuenta de inicio sysadmin. El
comando sudo sólo proporciona acceso administrativo para la ejecución del comando especificado. Esto es una
ventaja ya que reduce el riesgo de que un usuario ejecute accidentalmente un comando como usuario root. La
intención de ejecutar un comando es clara; el comando se ejecuta como root si se prefija con el comando  sudo.
De lo contrario, el comando se ejecuta

22
LINUX UNHATCHED

23

También podría gustarte