You are on page 1of 66

¡Bienvenido!

¡Hola y bienvenido al Módulo Elemental de NDG Linux! Estamos muy entusiasmados de ofrecerte
esta breve introducción al mundo de Linux. Antes de comenzar, nos gustaría aprovechar la
oportunidad para explicar la intención y el alcance de este módulo.
No te preocupe si tienes poca o ninguna experiencia en Linux. Este módulo está diseñado como una
introducción para los estudiantes principiantes sin formación previa en Linux. Si te parece útil este
material, puedes pensar en continuar con nuestros cursos de NDG Linux Essentials o Introducción
al Linux de NDG para adquirir conocimientos más avanzados. La información adicional sobre estos
cursos está al final de este módulo.
Como probablemente ya sabes, el kernel de Linux ha encontrado su camino hacia un increíble
número de diversos sistemas. Hoy en día lo puedes encontrar en todo, desde automóviles a cohetes,
desde relojes a televisores y desde netbooks a los superordenadores más rápidos. Linux sólo
representa un porcentaje relativamente pequeño de los sistemas operativos encontrados en
computadoras de escritorio, pero ha ganado un uso extenso en los servidores, dispositivos de IoT
(Internet de las Cosas o «Internet of Things» en inglés), equipos de red, teléfonos inteligentes y
muchos otros dispositivos de los que imaginas que pueden ser computadoras. Desde un enrutador
(«router» en inglés) casero que te conecta a Internet hasta el servidor en el está alojado este curso,
es probable que múltiples dispositivos alimentados por Linux te permiten leer esta página en este
momento.
Esperamos que encuentres útil el Módulo Elemental de NDG Linux. ¡Te felicitamos por dar tus
primeros pasos hacia el mundo de Linux!

¡ Linux está en Todas Partes !


Antes de Empezar
Objectives
Este contenido está alineado con CompTIA A+: Dominio 220-902 Objetivo 2.1. Para más
información, haz clic en la pestaña objetivos.

Sintaxis Básica de Comando


Este módulo aborda exclusivamente la CLI o Command Line Interface (o «Interfaz de la Línea de
Comandos»), en lugar de la GUI o Graphical User Interface (o «Interfaz Gráfica de Usuario) con la
que probablemente estás familiarizado. La terminal CLI es una poderosa herramienta que suele ser
el método primario usado para administrar los pequeños dispositivos de baja potencia, servidores de
cómputo extremadamente potentes, y todo lo demás. Un entendimiento básico del terminal es
esencial para diagnosticar y corregir la mayoría de los sistemas basados en Linux. Puesto que Linux
se ha convertido en un sistema que está en todas partes, incluso aquellos que trabajan
principalmente con sistemas que no utilizan el kernel de Linux, pueden beneficiarse de tener un
conocimiento básico de la terminal.
¿Qué es un comando? Un comando es un programa de software que al ejecutarlo en la CLI
(«interfaz de línea de comandos» en español) realiza una acción en la computadora. Cuando se
escribe un comando, el sistema operativo ejecuta un proceso que puede leer una entrada, manipular
datos y producir la salida. Un comando ejecuta un proceso en el sistema operativo, y entonces causa
que la computadora realice un trabajo.
Para ejecutar un comando, el primer paso es introducir el nombre del comando. Haz clic en la
terminal de la derecha. Introduce ls y presiona Entrar. El resultado debe parecerse al siguiente
ejemplo:
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos

El nombre del comando se basa frecuentemente en lo que hace o en lo que el desarrollador que creó
el comando piensa que va a describir mejor la función del comando. Por ejemplo, el comando ls
muestra una lista de información acerca de los archivos. Asociando el nombre del comando con
algo mnemotécnico para lo que hace puede ayudar a recordar más fácilmente los comandos.
Para considerar
Cada parte del comando es normalmente sensible a mayúsculas y minúsculas, así que LS es
incorrecto y se producirá un error, pero ls es correcto y se ejecutará.
sysadmin@localhost:~$ LS
-bash: LS: command not found

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


comando [opciones…] [argumentos…]

Típicamente, las opciones alteran el comportamiento del comando y los argumentos son elementos
o valores para el comando a actuar. Aunque haya algunos comandos en Linux que no son
completamente consistentes con esta sintaxis, la mayoría de los comandos usa esta sintaxis o algo
similar.
En el ejemplo anterior, el comando ls fue ejecutado sin opciones ni argumentos, cuando este es el
caso, su comportamiento por defecto es devolver una lista de archivos contenidos dentro del
directorio actual.
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos

Los Argumentos
comando [opciones…] [argumentos…]

Un argumento se puede utilizar para especificarle al comando sobre qué actuar. Al comando ls
puede dársele el nombre de un directorio como argumento, y mostrará el contenido de ese
directorio. En el siguiente ejemplo, el directorio Documents (o «documentos» en espaňol) se
utilizará como argumento:
sysadmin@localhost:~$ ls Documents
School alpha-second.txt food.txt linux.txt os.csv
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

La salida resultante es una lista de archivos que están en el directorio Documents.

Ya que Linux es un sistema de código abierto (o «open source» en inglés), hay algunos secretos
interesantes que los desarrolladores le han añadido. Por ejemplo, el comando aptitude es una
herramienta de gestión de paquetes disponible en algunas distribuciones de Linux. Este comando
acepta moo como argumento:
sysadmin@localhost:~$ aptitude moo
There are no Easter Eggs in this program.
o en espaňol:

sysadmin@localhost:~$ aptitude moo


No hay sorpresas en este programa.

Hay más trucos de los que se ven a simple vista. ¡Sigue leyendo!

Linux es de código abierto! Linux es desarrollado por una comunidad, usted ve y contribuye al
código fuente!
Las Opciones
comando [opciones…] [argumentos…]

Las opciones se pueden utilizar para modificar el comportamiento de un comando. En la página


anterior, se utilizó el comando ls para listar el contenido de un directorio. En el ejemplo siguiente,
vamos a utilizar la opción -l para el comando ls, que resulta en una salida «Visualización larga»,
lo que significa que la salida da más información sobre cada uno de los archivos listados
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
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 se elige un carácter mnemotécnico (tecla de acceso) para su propósito, tal como
eligiendo la letra l para largo o r para el reverso. Por defecto el comando ls imprime los resultados
en orden alfabético, así que añadiendo la opción -r imprimirá los resultados en el orden alfabético
inverso.
sysadmin@localhost:~$ ls -r
Videos Templates Public Pictures Music Downloads Documents Desktop

Las opciones múltiples pueden utilizarse a la vez, o bien como opciones separadas como la -l -
r o combinadas -lr. La salida de todos estos ejemplos sería la misma:
ls -l -r
ls -rl
ls -lr

Como se explicó anteriormente, la opción -l da salida a un formato de listado largo mientras que la
-r invierte la lista. El resultado del uso de ambas opciones es un listado largo dado en orden
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
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

En definitiva, los comandos pueden utilizar muchas combinaciones de opciones y argumentos, así
pues las posibilidades para cada comando serán únicas. ¿Recuerdas la sorpresa de la de la opción
aptitude?
sysadmin@localhost:~$ aptitude moo
There are no Easter Eggs in this program.

Es posible alterar el comportamiento de este comando utilizando las opciones. Observa lo que
sucede cuando se agrega la opción -v (verbose o «salida detallada» en español):
sysadmin@localhost:~$ aptitude -v moo
There really are no Easter Eggs in this program.

sysadmin@localhost:~$ aptitude -v moo


Realmente no hay sorpresas en este programa.

Combinando las 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!

sysadmin@localhost:~$ aptitude -vv moo


¿No te dije que no hay sorpresas en este programa?
sysadmin@localhost:~$ aptitude -vvv moo
¡Para!

Recuerda que las opciones múltiples pueden ser introducidas por separado o combinadas:
aptitude -v -v moo
aptitude -vv moo

¡Sigue añadiendo las opciones -v para que veas cuántas respuestas únicas puedes obtener!

Imprimiendo un Directorio de Trabajo


Para descubrir dónde estás ubicado actualmente en el sistema de archivos, puedes utilizar el
comando pwd. El comando pwd imprime el directorio de trabajo, tu ubicación actual en el sistema
de archivos:
pwd [OPCIONES]

Para considerar
¡Aún no enciendas tu impresora! En los inicios de la informática la salida de línea de comandos
sería enviada a las impresoras físicas. Este método fue reemplazado por pantallas de video que
pueden mostrar la información más rápidamente. Todavía usamos la palabra imprimir (o «print» en
inglés) a pesar de que la salida sólo se está visualizando en la pantalla.
sysadmin@localhost:~$ pwd
/home/sysadmin
La salida del comando anterior indica que el usuario está actualmente en su carpeta de inicio, que se
muestra en el sistema de archivos a continuación.

Para considerar
Observa que nuestras máquinas virtuales emplean un prompt que muestra el directorio actual de
trabajo, acentuado con el color azul. En el primer prompt abajo, el ~ azul es equivalente a
/home/sysadmin, que representa el directorio de inicio del usuario.
sysadmin@localhost:~$

Después de cambiar de directorios, también puede confirmarse la nueva ubicación en el nuevo


prompt, que de nuevo aparece en azul.
sysadmin@localhost:/etc/calendar$

Argumentos
La mayoría de los comandos siguen una sintaxis muy simple:
comando [opciones…] [argumentos…]

En otras palabras, cuando tecleas un comando, lo haces seguido de opciones (que no siempre son
requeridas) y después argumentos antes de presionar la tecla Intro o Enter. Aunque existen algunos
comandos en Linux que no la siguen, la mayoría de ellos utilizan esta sintaxis o algo similar.
Después de teclear un comando y cualquiera de sus opciones, la mayoría de ellos aceptará uno o
más argumentos. En general, los comandos que usan argumentos pueden requerir uno o más de
ellos. Por ejemplo, el comando touch es utilizado para crear un archivo. Este comando requiere
que especifiques al menos un argumento para definir el nombre del archivo sobre el que tiene que
operar. Si ejecutas este comando sin ningún argumento, recibirás un mensaje de error como el
siguiente:
sysadmin@localhost:~$ touch
touch: missing file operand
Try 'touch --help' for more information.

Por el contrario, si proporcionas un nombre de archivo como argumento, entonces el comando se


ejecuta de manera exitosa sin producir ningún mensaje (como se dice coloquialmente, si no hay
noticias, entonces ¡son buenas noticias!) Asi que al teclear el comando touch seguido del mínimo
argumento requerido (en este caso 'newfile'), obtenemos como resultado un archivo sin ningún
contenido llamado newfile.
sysadmin@localhost:~$ touch newfile

A diferencia del comando touch, el comando ls permite que el nombre del archivo sea opcional y
no genera un mensaje de error si no lo incluyes. Si no se incluye un argumento, el comando ls
despliega por defecto el contenido del directorio actual:
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos

Pero si especificas el nombre de un directorio como argumento, entonces el comando ls desplegará


el contenido de ese directorio. El siguiente ejemplo lista el contenido del directorio llamado
"test":

sysadmin@localhost:~$ ls test
adjectives.txt alpha.txt linux.txt people.csv
alpha-first.txt animals.txt longfile.txt profile.txt
alpha-first.txt.original food.txt newhome.txt red.txt
alpha-second.txt hidden.txt numbers.txt
alpha-third.txt letters.txt os.csv

Algunos comandos como por ejemplo el comando cp (copiar archivo) y el comando mv (mover
archivo), requieren al menos dos argumentos: el nombre del archivo de origen y el nombre del
archivo para el destino. Observa el siguiente ejemplo donde se incluyen dos argumentos:
"/etc/services" y "test". Esto significa que el archivo "services" ubicado en el
directorio "etc" es copiado al directorio llamado "test":
sysadmin@localhost:~$ cp /etc/services test

De nuevo, si no hay noticias, entonces ¡son buenas noticias!

Opciones
Si es necesario añadir opciones a un commando, estas deben ser tecleadas después del nombre del
comando. Existen opciones cortas y opciones largas. Las opciones cortas son especificadas
mediante un guión seguido por un solo carácter y son las que se utilizan de manera frecuente.
Comúnmenteel símbolo o carácter utilizado en una opción corta, es la representación mnemónica de
su propósito. Por ejemplo, la elección de la letra "l” para significar “largo”.
En el siguiente ejemplo, la opción -l utilizada con el comando ls, da como resultado un listado
“largo” o extendido. Esto significa que se despliega más información de cada archivo listado en la
pantalla:
sysadmin@localhost:~$ ls -l
total 0
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Desktop
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Documents
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Downloads
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Music
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Pictures
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Public
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Templates
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Videos

Múltiples opciones individuales se pueden dar de manera separada como -l -r o combinadas


como -lr. Según lo indicado antes, -l producirá una lista extendida, mientras que -r invertirá la
lista de resultados. Al final, el resultado de todos estos ejemplos será el mismo:
1. ls -l -r
2. ls -rl
3. ls -lr
sysadmin@localhost:~$ ls -l -r
total 0
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Videos
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Templates
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Public
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Pictures
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Music
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Downloads
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Documents
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Desktop
sysadmin@localhost:~$ ls -lr
total 0
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Videos
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Templates
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Public
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Pictures
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Music
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Downloads
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Documents
drwxr-xr-x 1 sysadmin sysadmin 0 Jan 29 2015 Desktop

Si observas detenidamente los dos últimos ejemplos, notarás que los archivos son listados al revés
de como fueron listados en el primer ejemplo de esta página. Esto se debe a que en los dos últimos
ejemplos, ¡añadimos la opción -r! Prueba tú ahora ambos ejemplos en la terminal.

Generalmente, las opciones cortas se pueden combinar con otra opciones cortas en cualquier orden.
La excepción a esta regla es cuando la opción requiere un argumento.
Por ejemplo, la opción -w para el comando ls especifica el ancho deseado para desplegar el
resultado de la ejecución del commando y por lo tanto requiere de un argumento.
Mira que pasa si tratamos de ejecutar el comando ls -w sin ningún argumento o valor para la
opción -w:
sysadmin@localhost:~$ ls -w
ls: option requires an argument -- 'w'
Try 'ls --help' for more information.
Como puedes ver, el sistema envía un mensaje de error. Asi que este comando no será exitoso a
menos que se especifique un valor para la opción -w. Por ejemplo, si deseamos que el resultado del
comando únicamente despliegue 10 caracteres, podemos lograrlo utilizando el número 10 como
argumento de la opción -w:
sysadmin@localhost:~$ ls -w 10
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos
test

Nota: El comportamiento de las opciones depende del comando con el que se está utilizando.
Si se combina con otras opciones, la opción -w debe ser especificada al último, seguida de su
argumento y seguirá siendo válida, como por ejemplo ls -RW 40 que especifica un ancho de
salida de 40 caracteres. De otra manera, la opción -w no puede ser combinada con otras opciones y
debe ser ejecutada por separado.
sysadmin@localhost:~$ ls -rw 40
Videos Pictures Documents
Templates Music Desktop
Public Downloads

Cuando utilices múltiples opciones que requieren argumentos, no las combines. Por ejemplo, la
opción -T requiere también un argumento. Para poder aceptar los argumentos de cada opción estas
deben registrarse de manera individual.
sysadmin@localhost:~$ ls -w 40 -T 12
Desktop Music Templates
Documents Pictures Videos
Downloads Public

Nota: La opción -T especifica un tamaño de tabulación diferente.

Algunas comandos soportan opciones adicionales que son más largas que un solo carácter. Estas
opciones se conocen como opciones largas. Las opciones largas de un comando están precedidas
por un guión doble -- y, usualmente, el nombre de la opción indica el resultado que se busca. Por
ejemplo, la opción larga --all sirve para incluir los archivos ocultos en el resultado:
sysadmin@localhost:~$ ls --all
. .bashrc .selected_editor Downloads Public
.. .cache Desktop Music Templates
.bash_logout .profile Documents Pictures Videos

En los comandos que aceptan ambas opciones (largas y cortas), es permitido ejecutar el comando
usando ambas al mismo tiempo. Observa que la opción corta -a obtiene el mismo resultado que su
contraparte larga -all. En el siguiente ejemplo, hemos añadido la opción --reverse para
invertir el orden de la lista:
sysadmin@localhost:~$ ls -a --reverse
Videos Pictures Documents .profile .bash_logout
Templates Music Desktop .cache ..
Public Downloads .selected_editor .bashrc .

Los comandos que soportan las opciones largas frecuentemente soportan argumentos que pueden
ser especificados con o sin un signo de igual. Para ordenar el resultado por tiempo (fecha/hora) en
lugar de los nombres de los archivos, utiliza uno de los siguientes comandos. (el resultado de ambos
comandos es el mismo).
1. ls --sort time
2. ls --sort=time


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

Existe una opción especial conocida como el doble guión "solitario” --. Esta opción puede utilizarse
para indicar que no hay más opciones para el comando. Esto puede ser útil en algunos casos en los
que es difícil saber si el texto que sigue a las opciones debe ser interpretado como una opción
adicional o como un argumento para el comando.
Por ejemplo, si quisiéramos utilizar el comando touch para actualizar la marca de tiempo de un
archivo llamado --badname, obtendríamos el siguiente resultado:
sysadmin@localhost:~$ touch --badname
touch: unrecognized option '--badname'
Try 'touch --help' for more information.

Considera Esto:
El ejemplo anterior utiliza el comando touch. El objetivo de este comando es actualizar las marcas
de tiempo en los archivos. En caso de que el archivo no exista entonces el comando crea un nuevo
archivo vacío con ese nombre. En el ejemplo de arriba dado que el archivo llamado “--badname” no
existe, el comando creó un nuevo archivo con ese mismo nombre (--badname). En la siguiente
imagen de la terminal, observa que el archivo “--badname” es listado al ejecutar el comando ls.

Ya te habrás dado cuenta que en el ejemplo que pusimos, el resultado es un mensaje de error. Esto
es así porque el comando touch intenta interpretar --badname como una opción en lugar de un
argumento. Por el contrario, si colocamos el doble guión solitario -- delante del nombre del
archivo, entonces el comando encuentra una señal que le indica que ya no hay más opciones y el
nombre del archivo es interpretado de manera exitosa como un argumento:
sysadmin@localhost:~$ touch -- --badname
sysadmin@localhost:~$ ls
--badname Documents Music Public Videos
Desktop Downloads Pictures Templates

Nota: El nombre del archivo en el ejemplo anterior (--badname) se considera “malo” porque
aunque es permitido colocar un guión al inicio del nombre, esto puede causar problemas cuando se
trata de acceder al archivo.
Considera Esto:
Existe una tercera opción para ciertos comandos. Esta sintaxis “sin guión” es poco común en la
mayoría de las distribuciones de Linux pero hay algunos comandos importantes que apoyan esta
sintaxis. Estos commandos son ps y tar; ambos también soportan las opciones de uno solo o
doble guión.
En la imagen de la terminal debajo de este texto, hay dos comandos similares, el primer comando se
ejecuta usando opciones bajo el estilo de UNIX tradicional (con un guión sencillo) y el segundo
comando se ejecuta usando una opción usando el estilo BSD (sin guión).
sysadmin@localhost:~$ ps -u sysadmin
PID TTY TIME CMD
79 ? 00:00:00 bash
122 ? 00:00:00 ps
sysadmin@localhost:~$ ps u
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
sysadmin 79 0.0 0.0 18176 3428 ? S 20:23 0:00 -bash
sysadmin 120 0.0 0.0 15568 2040 ? R+ 21:26 0:00 ps u

El propósito de estos comandos está más allá del alcance de este módulo, para más información
acude al curso NDG Linux Essentials (Fundamentos de Linux de NDG).

Cambiando Directorios
Los archivos se utilizan para almacenar datos tales como texto, gráficos y programas. Los
directorios se utilizan para guardar archivos y proporcionar una estructura de organización
jerárquica. La imagen de abajo muestra una versión abreviada de la estructura del sistema de
archivos en las máquinas virtuales.

Al iniciar una máquina virtual nueva, abriendo el curso o después usando el botón reiniciar, estás
registrado como usuario sysadmin en tu directorio de inicio:
Para navegar por la estructura del sistema de archivos, utiliza el comando de cd (change directory o
«cambiar directorio» en español) para cambiar directorios.
cd [opciones] [ruta]

Si nos fijamos en el gráfico anterior, el directorio Documents está ubicado en el directorio home,
donde se encuentra actualmente. Para moverte a un directorio desde tu ubicación actual, utilizalo
como argumento para el comando cd:
sysadmin@localhost:~$ cd Documents
sysadmin@localhost:~/Documents$

Los directorios equivalen a las carpetas en Windows y Mac OS. Al igual que estos sistemas
operativos más populares, una estructura de directorios de Linux tiene un nivel superior. No se
llama «Mi PC», sino más bien el directorio root (o «raíz» en español) y está representado por el
carácter /. Para moverse al directorio raíz, utiliza el carácter / como argumento para el comando
cd.
sysadmin@localhost:~$ cd /
El argumento para el comando cd es más que sólo el nombre de un directorio, en realidad es una
ruta de acceso (o «path» en inglés). Una ruta de acceso es una lista de directorios separados por el
carácter /. Por ejemplo, /home/sysadmin es la ruta de acceso a tu directorio de inicio:

Si piensas en el sistema de archivos como un mapa, las rutas de acceso son las indicaciones paso a
paso; pueden ser utilizadas para indicar la ubicación de cualquier archivo dentro del sistema de
archivos. Hay dos tipos de rutas de acceso: absoluta y relativa. Las rutas absolutas comienzan con
el directorio raíz del sistema de archivos, las rutas relativas se consideran a partir de tu ubicación
actual en el sistema de archivos.

Las Rutas Absolutas


Una ruta absoluta te permite especificar la ubicación exacta de un directorio. Siempre empieza en el
directorio raíz, por lo tanto siempre comienza con el carácter /. La ruta al directorio de inicio
/home/sysadmin es una ruta absoluta. La ruta comienza en el directorio raíz /, pasa al
directorio home y luego al directorio sysadmin. Siguiendo este camino en una interfaz gráfica de
usuario (GUI) como tu computadora de casa, se vería algo como esto:

Utiliza esta ruta como el argumento para el comando cd para retroceder al directorio de inicio del
usuario sysadmin.
sysadmin@localhost:/$ cd /home/sysadmin
sysadmin@localhost:~$

Si no hay salida, esto significa que el comando tuvo éxito. Sigue adelante y confírmalo mediante el
comando pwd:
sysadmin@localhost:~$ pwd
/home/sysadmin

Las Rutas Relativas


Una ruta de acceso relativa da instrucciones a un archivo con respecto a tu ubicación actual en el
sistema de archivos. Las rutas relativas no empiezan con el carácter /, empiezan con el nombre de
un directorio. Observa de nuevo el primer ejemplo del comando cd. El argumento es un ejemplo de
la ruta de acceso relativa más simple: el nombre de un directorio en tu 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 estás ubicado en el directorio Documents y quieres moverte al directorio Art:

Una ruta de acceso relativa comienza con el directorio actual. Sin embargo, no lo incluye en la ruta.
Primero pasa al directorio School, y luego al directorio Art. Utiliza el carácter / para separar los
nombres de directorio. El resultado School/Art es una ruta relativa desde el directorio
Documents al directorio Art.
Utiliza la ruta relativa como un argumento para el comando cd para entrar al directorio Art.
sysadmin@localhost:~/Documents/$ cd School/Art
sysadmin@localhost:~/Documents/School/Art$

Utiliza el comando pwd para confirmar el cambio:


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

Para considerar
La salida del comando pwd es la ruta absoluta al directorio School.

También indicado como:


Para considerar
En el ejemplo anterior el comando cd había seguidola ruta de acceso School/Art:
cd School/Art

Una ruta de acceso puede también dividirse en múltiples comandos cd. El siguiente conjunto de
comandos lograría los mismos resultados:
cd School
cd Art

Los Accesos Directos o Atajos


El Carácter ..
Sin importar en qué directorio estás, .. siempre representa un directorio superior relativo al
directorio actual. Para moverte desde el directorio Art de regreso al directorio School:
sysadmin@localhost:~/Documents/School/Art$ cd ..
sysadmin@localhost:~/Documents/School$

El Carácter « . »
Sin importar en qué directorio estás, el carácter . siempre representa tu directorio actual. Para el
comando cd este acceso directo no es muy útil, pero será muy útil para otros comandos.

El carácter ~
El directorio de inicio del usuario actual está representado por el carácter ~. Como se mencionó
anteriormente, siempre comienzas como un usuario sysadmin, y su inicio se encuentra en
/home/sysadmin. Para volver a tu directorio de inicio en cualquier momento puedes ejecutar el
siguiente comando:
sysadmin@localhost:~/Documents/School$ cd ~

Listado de Archivos
El comando ls se utiliza para listar el contenido de un directorio. Ya lo has visto usado un par de
veces antes en los ejemplos, pero esta página te ayudará a estar cómodo al utilizarlo.
ls [OPCIONES] [ARCHIVO]

De forma predeterminada, cuando el comando ls se utiliza sin opciones o argumentos, listará los
archivos en el directorio actual:
sysadmin@localhost:~$ ls
Desktop Documents Downloads Music Pictures Public Templates Videos

Para conocer los detalles de un archivo, como el tipo de archivo, los permisos, la propiedad o la
fecha y hora, realiza un listado largo utilizando la opción -l para el comando ls. A continuación,
vamos a ver un listado del directorio /var/log como un ejemplo, puesto que proporciona una
salida variada:
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 dentro del directorio. La información puede dividirse en
campos separados por espacios. Los campos son los siguientes:
1. Tipo de archivo
-rw-r--r-- 1 root root 17869 Mar 14 17:48 alternatives.log
drwxr-x--- 2 root adm 4096 Mar 14 17:48 apache2

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

Símbolo Tipo de Archivo Descripción


d para un directorio Archivo que se usa para guardar otros archivos.
- para un archivo Incluye archivos leíbles, imágenes, archivos binarios y
regular archivos comprimidos
l para un enlace
Apunta a otro archivo
simbólico
s para la ranura Permite la comunicación entre procesos
p para una barra
Permite la comunicación entre procesos
vertical
b para un archivo de
Permite la comunicación con el Hardware
bloque
c para un archivo de
Permite la comunicación con el Hardware
carácter
El primer archivo alternatives.log es un archivo regular -, mientras que el segundo
archivo apache2 es un directorio d.

Los Permisos
drwxr-xr-x 1 root root 0 Apr 11 21:58 upstart

Los permisos indican de qué manera determinados usuarios pueden acceder a un archivo.
Sigue leyendo para aprender más acerca de los permisos.
2. Cuenta de Vínculo Físico
-rw-r----- 1 syslog adm 23621 Aug 23 15:17 auth.log

Este número indica cuántos vínculos físicos apuntan a este archivo. Los vínculos físicos
están más allá del alcance de este módulo, pero se cubren en el curso de NDG Linux
Essentials.
3. Usuario Propietario
-rw-r----- 1 syslog adm 416 Aug 22 15:43 kern.log

El usuario syslog es el propietario de este archivo. Cada vez que se crea un archivo, la
propiedad se asigna automáticamente al usuario que lo creó.
4. Grupo Propietario
-rw-rw-r-- 1 root utmp 292584 Aug 20 18:44 lastlog

Indica el grupo propietario de este archivo


5. Tamaño del Archivo
-rw-r----- 1 syslog adm 1087150 Aug 23 15:17 syslog.1
El tamaño del archivo en bytes. En el caso de un directorio, realmente podría ser un múltiplo
del tamaño de bloques utilizado para el sistema de archivos.
6. Fecha y hora
drwxr-xr-x 1 root root 32 Jul 17 03:36 fsck

Esto indica el momento en el que el contenido del archivo se modificó por última vez.
7. Nombre de archivo
-rw-r--r-- 1 root root 47816 Jul 17 03:36 bootstrap.log

El último campo contiene el nombre del archivo o directorio.


Para considerar
En el caso de los vínculos simbólicos, se mostrará el nombre del vínculo junto con una
flecha y la ruta de acceso del archivo original.
lrwxrwxrwx. 1 root root 22 Nov 6 2012 /etc/grub.conf ->
../boot/grub/grub.conf

Los vínculos simbólicos están más allá del alcance de este módulo, pero están cubiertos en
el curso NDG Linux Essentials.

Ordenación
Por defecto la salida del comando ls está ordenada alfabéticamente por nombre de archivo. Puede
ordenarse por otros métodos.
Observa
Las opciones en los siguientes ejemplos se combinarán con la opción -l para que los detalles
pertinentes de los archivos se muestran. Observa los campos correspondientes a la opción de la
búsqueda.
La opción -t ordenará los archivos por fecha y hora:
sysadmin@localhost:~$ ls -lt /var/log
total 840
-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 ordenará los archivos por tamaño del 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
-rw-rw---- 5 root utmp 0 Mar 2 23:10 btmp

La opción -r invierte el orden de cualquier tipo de orden. Observa la diferencia cuando se añade 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 de tamaño de archivo cambian de descendente a ascendente.


Si se utiliza sólo la opción -r, se listarán 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ías qué? Puedes encontrar Linux en:

Acceso Administrativo
Hay muchos comandos de Linux que lidian con la información sensible como contraseñas,
hardware del sistema, u operan bajo otras circunstancias excepcionales. Previniendo que los
usuarios habituales ejecuten estos comandos ayuda a proteger el sistema. Iniciar la sesión como el
usuario root proporciona acceso de administrador, lo que permite la ejecución de algunos de los
comandos privilegiados.

El Comando su
su OPCIONES USUARIO

El comando su te permite actuar temporalmente como un usuario diferente. Esto se logra mediante
la creación de un nuevo shell. Por defecto, si no se especifica una cuenta de usuario, el comando su
abre un nuevo shell como usuario root, que proporciona privilegios administrativos.
Observa
Se recomienda utilizar la opción login shell, ya que el login shell configura un shell completamente
nuevo con la configuración del nuevo usuario. Esta opción puede ser especificada 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 ambas cuentas, la de root y, sysadmin es netlab123. Si la olvidas, ésta se
muestra cada vez que se inicia una nueva máquina virtual. Como medida de seguridad, la
contraseña no será visible cuando la vas introduciendo.
sysadmin@localhost:~$ su -
Password:
root@localhost:~#
Observa que el prompt de comando ha cambiado para reflejar que has iniciado la sesión como
usuario root. Para cerrar la sesión y volver a la cuenta sysadmin, utiliza el comando exit.
Observa que el prompt cambia de nuevo:
root@localhost:~# exit
exit
sysadmin@localhost:~$

Para evitar que se ejecuten los comandos sensibles, hemos configurado el comando Steam
Locomotive (o «locomotora de vapor» en español), el comando de sl, que requiere acceso de
administrador. Si el comando se ejecuta como sysadmin, fallará:
sysadmin@localhost:~$ sl
sl: Permission denied

Utiliza el comando su para cambiar a la cuenta de root y ejecuta el comando de sl con acceso
administrativo:
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/ \_/ \_/ \_/ \_/

Utilice el comando exit otra vez para volver a la cuenta sysadmin.


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

El Comando sudo
sudo [OPCIONES] COMANDO

El comando sudo permite que el usuario ejecute un comando como otro usuario sin crear un nuevo
shell. En cambio, para ejecutar un comando con privilegios de administrador, utilizalo como
argumento para el comando sudo. Igual que el comando su, el comando sudo asume por defecto
que la cuenta del usuario root debe utilizarse para ejecutar comandos.
Para considerar
El comando sudo puede ser usado para utilizar temporalmente otras cuantas también. Para
especificar otro usuario de cuenta utiliza la opción -u.

Ejecuta el comando sl como el usuario root poniendo sudo delante de éste:


sysadmin@localhost:~$ sudo sl
Password:

Nota:
Recuerda que la contraseña es netlab123. El prompt de la contraseña no aparecerá de nuevo
mientras el usuario continúa ejecutando comandos sudo con diferencia de menos de cinco
minutos.
Una vez que el comando haya terminado y el prompt no haya cambiado, sigues registrado como
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
accidentalmente ejecute un comando como root. La intención de ejecutar un comando es clara; el
comando se ejecuta como root si tiene como prefijo el comando sudo. De lo contrario, se ejecuta
el comando como un usuario normal.

Los Permisos
Los permisos determinan en que manera los diferentes usuarios pueden interactuar con un archivo o
directorio. Cuando se lista un archivo con el comando ls -l, la salida incluye información de
permiso. Por ejemplo, vamos a usar un script llamado hello.sh ubicado en el directorio
Documents:

Observa
Utiliza el siguiente comando para cambiar al directorio Documents:
sysadmin@localhost:~$ cd ~/Documents

sysadmin@localhost:~/Documents$ ls -l hello.sh
-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

A continuación vas a ver una revisión de los campos correspondientes a los permisos.

Campo del Tipo de Archivo


-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

El primer carácter de esta salida indica el tipo de un archivo. Recuerda que si el primer carácter es
un -, entonces es un archivo regular. Si el carácter era una d, entonces es un directorio.

Campo de los Persmisos


-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

Después del carácter del tipo de archivo, se muestran los permisos. Los permisos se dividen en tres
grupos de tres caracteres:
1. Propietario
-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

El primer grupo para el usuario que posee el archivo. Si tu cuenta actual es el usuario
propietario del archivo, entonces se aplicará el primer grupo de los tres permisos y los otros
permisos no tienen ningún efecto.
El usuario que posee el archivo y a quién se aplican estos permisos, puede ser determinado
por el campo de user owner:
-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

2. Grupo
-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

El segundo conjunto para el grupo propietario del archivo. Si tu cuenta actual no es el


usuario propietario del archivo y eres miembro de un grupo que posee el archivo, entonces
se aplicará el segundo grupo de los tres permisos y los otros permisos no tendrán ningún
efecto.
El grupo de este archivo puede ser determinado por el campo group owner:
-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

3. Otro
-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

El último conjunto para todos los demás, cualquier usuario a quien no le aplican los otros
dos conjuntos de permisos. Si no eres el usuario propietario del archivo o un miembro del
grupo que posee el archivo, se te aplicaran el tercer conjunto de permisos.

Los Tipos de Permisos


Hay tres permisos diferentes que pueden colocarse en un archivo o directorio: permiso de lectura,
escritura y ejecución. La manera en que estos permisos se aplican difiere en el caso de los archivos
y de los directorios, tal como se muestra en la siguiente tabla:

Permiso Efectos en el archivo Efectos en el directorio


Sin permiso de ejecución en el directorio,
read (o «leer» Permite que el contenido del permite un listado no detallado de los archivos.
en español) (r) archivo se lea o copie. Con permiso de ejecutar, el comando ls -l
puede proporcionar una lista detallada.
write (o Permite modificar y sobrescribir el
Para que este permiso funcione, el directorio
«escribir» en contenido. Permite añadir o quitar
debe también tener el permiso de ejecución.
español) los archivos de un directorio.
Permite que un archivo se ejecute
execute (o Permite a que un usuario se cambie al
como un proceso, aunque los
«ejecutar» en directorio si el directorio padre tiene también
archivos de script también
español) permiso de escritura.
requieren permiso de lectura.
Para considerar
Entender los permisos que se aplican es una habilidad importante en Linux. Por ejemplo, considera
el siguiente grupo de permisos:
-r--rw-rwx. 1 sysadmin staff 999 Apr 10 2013 /home/sysadmin/test

En este escenario, el usuario sysadmin acaba teniendo menos acceso a este archivo que los
miembros del grupo staff o cualquier otro. El usuario sysadmin sólo tiene permisos de r--.
No importa si el usuario sysadmin es un miembro del grupo staff; una vez se ha establecido la
propiedad del usuario, se aplicarán sólo los permisos del usuario propietario.

Expresiones Regulares
Las expresiones regulares tienen dos formas comunes: básica y extendida. La mayoría de los
comandos que utilizan expresiones regulares pueden interpretar las expresiones regulares básicas.
Por el contrario, las expresiones regulares extendidas no están disponibles para todos los comandos
y una opción del comando es generalmente necesaria para que funcionen correctamente.
La siguiente tabla resume los caracteres básicos de las expresiones regulares:

Caracteres Básicos de
Expresiones Regulares Significado
(Regex)
. Cualquier carácter individual
[ ] Cualquier carácter específico
[^ ] No el carácter especificado
* Cero o más del carácter anterior
Si es el primer carácter en el patron de búsqueda, entonces el patrón
^ debe estar al principio de la línea para ser una coincidencia, si no, se
toma literalmente el carácter ˆ
Si es el último carácter en el patron de búsqueda, entonces el patrón
$ debe estar al final de la línea para ser una coincidencia, si no, se toma
literalmente el carácter $
La siguiente tabla resume las expresiones regulares extendidas, que deben ser utilizadas ya sea con
el comando egrep o la opción -E con el comando grep:

Caracteres Extendidos de Expresiones


Significado
Regulares (Regex)
+ Uno o más del patrón que precede
? El patrón que precede es opcional
{ } Especificar mínimos, máximos, o coincidencias
exactas del patrón anterior
| Alternancia - Funciona como un "o" lógico
( ) Usada para crear grupos
En este módulo, solamente se cubrirán expresiones regulares básicas. Para obtener más información
acera de las expresiones regulares extendidas, checa los cursos Fundamentos Linux de NDG e
Introducción a Linux I de NDG.
La más simple de todas las expresiones regulares utiliza solamente caracteres literales. Por ejemplo,
para localizar todas las líneas del archivo /etc/passwd que contienen la frase root, utiliza el
comando grep ‘root’ /etc/passwd:
sysadmin@localhost:~/test$ grep 'root' /etc/passwd
root:x:0:0:root:/root:bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

Observa que si no se especifica un nombre de archivo, el comando grep leerá los datos registrados
en la línea de comandos. Esto proporciona una experiencia interactiva con el comando grep, ya
que el usuario escribe desde el teclado y grep filtra el texto en paralelo. Pruébalo ahora mismo y
presiona la combinación de teclas Ctrl-D cuando estés listo para volver al línea de comandos.

Patrones Básicos
Muchos de los ejemplos a continuación utilizan los archivos que se encuentran en el directorio test.
Utiliza el comando cd para cambiarte a ese directorio y realiza los ejemplos tú mismo.
sysadmin@localhost:~$ cd ~/test
sysadmin@localhost:~/test$

Caracteres Ancla
Los caracteres ancla son una de las formas en que las expresiones regulares pueden ser utilizadas
para refinar los resultados de una búsqueda. Por ejemplo, el patrón root aparece muchas veces en
el archivo /etc/passwd:
sysadmin@localhost:~/test$ grep 'root' /etc/passwd
root:x:0:0:root:/root:bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

El primer carácter ancla ^ se utiliza para asegurar que un patrón aparece en el inicio de una línea.
Por ejemplo, para encontrar todas las filas en el archivo /etc/passwd que comienzan con root
utiliza el patrón ^root. No olvides que el símbolo ^ debe ser el primer carácter en el patrón para
ser efectivo.
sysadmin@localhost:~/test$ grep ^root /etc/passwd
root:x:0:0:root:/root:bin/bash

El segundo carácter ancla $ se puede utilizar para reducir efectivamente los resultados de una
búsqueda al asegurar que un patrón se encuentra al final de una línea en un archivo determinado.
Por ejemplo, para encontrar las líneas que terminan con la letra r en el archivo alfa-
first.txt, utiliza el patrón de búsqueda r$:
sysadmin@localhost:~/test$ grep 'r$' alpha-first.txt
B is for Bear
F is for Flower

Nuevamente, la posición del carácter es muy importante, el carácter $ debe ser el último carácter en
el patrón de búsqueda para ser eficaz como un ancla.
Emparejando un Carácter usando .
Una de las expresiones más útiles es el punto . Utilizado en un patrón de búsqueda, el punto
igualará cualquier carácter excepto el carácter de nueva línea. En el ejemplo de abajo, el archivo de
texto llamado red.txt contiene una lista de palabras que inician con la letra r :
sysadmin@localhost:~/test$ cat red.txt
red
reef
rot
reeed
rd
rod
roof
reed
root
reel
read

Ahora, si definimos el siguiente patron de búsqueda r..t, vamos a ver que encontrará todas las
líneas que tengan una palabra que inicie con la letra r, seguido de exactamente dos caracteres (que
pueden ser cualquier carácter excepto el carácter para una nueva línea) y que después tengan la letra
t:
sysadmin@localhost:~/test$ grep r..t red.txt
root

sysadmin@localhost:~/test$ grep r..f red.txt


reef
roof

sysadmin@localhost:~/test$ grep r..d red.txt


reed
read

sysadmin@localhost:~/test$ grep r.d red.txt


red
rod

Recordatorio: La línea no tiene qué coincidir exactamente, simplemente debe contener el patrón de
búsqueda como puede verse en la siguiente imagen al buscar r..t en el archivo /etc/passwd:
sysadmin@localhost:~/test$ grep r..t /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:1000:37::/root:

Igualar con un Carácter Específico usando [ ]


Los corchetes [ ] hacen coincidir un carácter con otro carácter de una lista o un rango de
caracteres posibles contenidos dentro de los corchetes.
Por ejemplo, dado un archivo llamado profile.txt con el siguiente texto:
sysadmin@localhost:~/test$ cat profile.txt
Hello my name is Joe.
I am 37 years old.
3121991
My favorite food is avocados.
I have 2 dogs.
123456789101112

Para encontrar todas las filas en el archivo profile.txt que tienen un número, utiliza el patron
de búsqueda [0123456789] o [0-9]:
sysadmin@localhost:~/test$ cat profile.txt | grep [0-9]
I am 37 years old.
3121991
I have 2 dogs.
123456789101112

Por otro lado, para encontrar todas las filas que contienen caracteres no numéricos, inserta un ^
como el primer carácter dentro de los corchetes. Este carácter invalida los caracteres que sean
listados después de él:
sysadmin@localhost:~/test$ cat profile.txt | grep [^0-9]
Hello my name is Joe.
I am 37 years old.
My favorite food is avocados.
I have 2 dogs.

Nota: No debes confundir [^0-9] como un patrón de búsqueda que haga coincidir líneas que no
contienen números porque que en realidad lo que hace es coincidir líneas que contienen caracteres
diferentes de números. Revisa el archivo original para que veas la diferencia.
Cuando otros caracteres de expresiones regulares se colocan entre corchetes, son tratados como
caracteres literales. Por ejemplo, en una búsqueda, el punto . normalmente se iguala con cualquier
carácter, pero cuando es colocado dentro de corchetes, va a corresponder a si mismo. En el siguiente
ejemplo, sólo las filas que contienen un punto . se hacen coincidir.
sysadmin@localhost:~/test$ cat profile.txt | grep [.]
Hello my name is Joe.
I am 37 years old.
My favorite food is avocados.
I have 2 dogs.

Emparejando con un Carácter Repetido o con Patrones usando *


El carácter de expresión regular * se utiliza para coincidir con cero o más apariciones de un carácter
o patrón que lo precede. Por ejemplo, e * coincidirá con cero o más apariciones de la letra e en un
archivo de texto:
sysadmin@localhost:~/test$ cat red.txt
red
reef
rot
reeed
rd
rod
roof
reed
root
reel
read
sysadmin@localhost:~/test$ cat red.txt | grep 're*d'
red
reeed
rd
reed

También es posible hacer coincidir cero o más apariciones de una lista de caracteres utilizando
corchetes:
sysadmin@localhost:~/test$ cat red.txt | grep 'r[oe]*d'
red
reeed
rd
rod
reed

Cuando se utiliza con solo un carácter, * no es muy útil pues cualquiera de los siguientes patrones
.* e* b* z* coincidiría con cada una de las series de caracteres o filas en el archivo de texto.
Observa estos ejemplos:
sysadmin@localhost:~/test$ cat red.txt | grep 'z*'
red
reef
rot
reeed
rd
rod
roof
reed
root
reel
read

sysadmin@localhost:~/test$ cat red.txt | grep 'e*'


red
reef
rot
reeed
rd
rod
roof
reed
root
reel
read

Esto es debido a que * puede coincidir con cero ocurrencias de un patrón. Para hacer que el * sea
útil, es necesario crear un patrón que incluya un carácter más del carácter que precede *. Por
ejemplo, puedes refinar los resultados anteriores añadiendo otra e para hacer que el patrón ee *,
empareje cada fila que contenga al menos una e.
sysadmin@localhost:~/test$ cat file.txt | grep 'ee*'
red
reef
reeed
reed
reel
read
Cambiar los Permisos de Archivo
El comando chmod se utiliza para cambiar los permisos de un archivo o directorio. Sólo el usuario
root o el usuario que posee el archivo puede cambiar los permisos de un archivo.

Para considerar
¿Por qué el comando se llama chmod en vez de chperm? A los permisos se les solía referir como
modos de acceso, por lo que el comando chmod realmente significa cambiar los modos de acceso.
(o «change the modes of access» en inglés)
Hay dos métodos para cambiar los permisos con el comando chmod: simbólico y octal. El método
simbólico es bueno para cambiar un conjunto de permisos a la vez. El método octal o numérico
requiere el conocimiento del valor octal de cada uno de los permisos y requiere que todos los tres
conjuntos de permisos (usuario, grupo, otros) se especifiquen cada vez. Para la simplicidad, se
cubrirá sólo el método simbólico. Para aprender más sobre el método octal puedes consultar el
curso NDG Linux Essentials.
Observa
Utiliza el siguiente comando para cambiar al directorio Documents:
sysadmin@localhost:~$ cd ~/Documents

El Método Simbólico
chmod [<COJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO

Para utilizar el método simbólico del chmod primero tienes que indicar que conjunto de permisos
vas a cambiar:
chmod [<CONJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO

Símbolo Significado
u Usuario: El usuario que posee el archivo.
g Grupo: El grupo que posee el archivo.
o Otros: Cualquiera que no sea el usuario propietario o miembro del grupo propietario.
a Todos: Se refiere al usuario, grupo y otros.
A continuación, especifica un símbolo de acción:
chmod [<CONJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO

Símbolo Significado
+ Agregar el permiso, si es necesario
= Especificar el permiso exacto
- Quitar el permiso, si es necesario
Después de un símbolo de acción, especifica uno o más permisos sobre el que quieres actuar.
chmod [<CONJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO
Símbolo Significado
r lectura
w escritura
x ejecución
Por último, un espacio y los nombres de los archivos para asignar los permisos.
chmod [<CONJUNTO DE PERMISOS><ACCIÓN><PERMISOS>]... ARCHIVO

El archivo hello.sh utilizado en los ejemplos en la página anterior es una secuencia de


comandos. Un script es un archivo que puede ser ejecutado, similar a un comando:
sysadmin@localhost:~/Documents$ ls -l hello.sh
-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

Sin embargo en la actualidad, el permiso de ejecución no está configurado para ninguno de los
grupos de permisos:
-rw-rw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

Tratar de ejecutar este script con la siguiente sintaxis resultará en error:


sysadmin@localhost:~/Documents$ ./hello.sh
-bash: ./hello.sh: Permission denied

Puesto que el sistema inició la sesión como el usuario sysadmin, y el sysadmin es el dueño de
este archivo, proporcionar al usuario propietario el permiso de ejecución debe permitirte ejecutar
este script. Al usar el comando chmod con el carácter u para representar el conjunto de permisos
del propietario usuario, el carácter + para indicar que se añade un permiso, y el carácter x para
representar el permiso de ejecución, el comando se debe ejecutar como sigue:
sysadmin@localhost:~/Documents$ chmod u+x hello.sh

Si no arroja una salida, esto significa que el comando se ha ejecutado correctamente. Comprueba
Confirme comprobando los permisos usando el comando ls -l:
sysadmin@localhost:~/Documents$ ls -l hello.sh
-rwxrw-r-- 1 root sysadmin 112 Aug 1 03:48 hello.sh

El usuario propietario ahora tiene el permiso de ejecución listado:


-rwxrw-r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh

Por último, trata de ejecutar el script otra vez. Utiliza la sintaxis del comando que se muestra a
continuación:
./hello.sh

sysadmin@localhost:~/Documents$ ./hello.sh
______________
( Hello World! )
--------------
\
\
<(^)
( )
Para considerar
Observa que para ejecutar la secuencia de comandos en el ejemplo anterior, la combinación de
caracteres . / fue colocada delante del nombre del script.
./hello.sh

Esto indica que el «comando» debe ejecutarse desde el directorio actual.

Cambiar la Propiedad de Archivo


El propietario de un archivo es el usuario que lo crea. El comando chown se utiliza para cambiar la
propiedad de los archivos y directorios. Cambiar el usuario propietario requiere acceso de
administrador, un usuario normal no puede utilizar este comando para cambiar el usuario
propietario de un archivo, ni siquiera para pasar la propiedad de uno de sus propios archivos a otro
usuario. Sin embargo, el comando chown también permite cambiar la propiedad del grupo, que se
puede lograr a través del root o el propietario del archivo.

Para cambiar el usuario propietario de un archivo, se puede utilizar la siguiente sintaxis. El primer
argumento [OWNER] especifica que el usuario debe ser el nuevo dueño. El segundo argumento
FILE especifica de qué archivo está cambiando de propiedad.
chown [OPCIONES] [DUEÑO] ARCHIVO

Observa
Utiliza el siguiente comando para cambiar al directorio Documents:
sysadmin@localhost:~$ cd ~/Documents

Actualmente todos los archivos en el directorio Documents son propiedad del usuario
sysadmin. Esto se puede verificar mediante el uso del comando ls -l. Recuerda que la tercera
columna indica al usuario propietario.
sysadmin@localhost:~/Documents$ ls -l
total 148
drwxrwxr-x 2 sysadmin sysadmin 4096 Aug 1 03:40 School
drwxrwxr-x 2 sysadmin sysadmin 4096 Aug 1 03:40 Work
-rw-r--r-- 1 sysadmin sysadmin 39 Mar 14 17:48 adjectives.txt
-rw-r--r-- 1 sysadmin sysadmin 90 Mar 14 17:48 alpha-first.txt
-rw-r--r-- 1 sysadmin sysadmin 89 Mar 14 17:48 alpha-first.txt.original
-rw-r--r-- 1 sysadmin sysadmin 106 Mar 14 17:48 alpha-second.txt
-rw-r--r-- 1 sysadmin sysadmin 195 Mar 14 17:48 alpha-third.txt
-rw-r--r-- 1 sysadmin sysadmin 390 Mar 14 17:48 alpha.txt
-rw-r--r-- 1 sysadmin sysadmin 42 Mar 14 17:48 animals.txt
-rw-r--r-- 1 sysadmin sysadmin 14 Mar 14 17:48 food.txt
-rwxrw-r-- 1 sysadmin sysadmin 112 Aug 1 03:48 hello.sh
-rw-r--r-- 1 sysadmin sysadmin 67 Mar 14 17:48 hidden.txt
-rw-r--r-- 1 sysadmin sysadmin 10 Mar 14 17:48 letters.txt
-rw-r--r-- 1 sysadmin sysadmin 83 Mar 14 17:48 linux.txt
-rw-r--r-- 1 sysadmin sysadmin 66540 Mar 14 17:48 longfile.txt
-rw-r--r-- 1 sysadmin sysadmin 235 Mar 14 17:48 newhome.txt
-rw-r--r-- 1 sysadmin sysadmin 10 Mar 14 17:48 numbers.txt
-rw-r--r-- 1 sysadmin sysadmin 77 Mar 14 17:48 os.csv
-rw-r--r-- 1 sysadmin sysadmin 59 Mar 14 17:48 people.csv
-rw-r--r-- 1 sysadmin sysadmin 110 Mar 14 17:48 profile.txt
-rw-r--r-- 1 sysadmin sysadmin 51 Mar 14 17:48 red.txt
Para cambiar al propietario del script hello.sh al usuario root, utiliza root como primer
argumento y hello.sh como segundo argumento. No olvides utilizar el comando sudo para
obtener los privilegios de administrador necesarios. Utiliza la contraseña netlab123 cuando se
solicite:
sysadmin@localhost:~/Documents$ sudo chown root hello.sh
[sudo] password for sysadmin:

Confirma que el usuario propietario ha cambiado introduciendo el comando ls -l. Utiliza el


nombre de archivo como argumento para limitar la salida:
sysadmin@localhost:~/Documents$ ls -l hello.sh
-rwxrw-r-- 1 root sysadmin 112 Aug 1 03:48 hello.sh

El campo de usuario propietario ahora es root lo que indica que el cambio fue exitoso.

Para considerar
Trata de ejecutar el script de hello.sh otra vez. ¡Se produce un error! ¿Por qué?
sysadmin@localhost:~/Documents$ ./hello.sh
-bash: ./hello.sh: Permission denied

Sólo el usuario propietario tiene el permiso de ejecución, y ahora el usuario root es el usuario
propietario. Ahora, este archivo requiere acceso de administrador para que se ejecute. Utiliza el
comando sudo para ejecutar el script como usuario root.
sysadmin@localhost:~/Documents$ sudo ./hello.sh
[sudo] password for sysadmin:
______________
( Hello World! )
--------------
\
\
<(^)
( )

Mover los Archivos


El comando mv sirve para mover un archivo desde una ubicación en el sistema de archivos a otra.
mv ORIGEN DESTINO

El comando mv requiere al menos dos argumentos. El primer argumento es la fuente, una ruta para
el archivo que se va a mover. El segundo argumento es el destino, una ruta hacia dónde se moverá
el archivo. Los archivos que se quieren copiar a veces se denominan fuente y la ubicación a dónde
se van a colocar las copias se denominan destinos.
Observa
Utiliza el siguiente comando para cambiar al directorio Documents:
sysadmin@localhost:~$ cd ~/Documents
Para mover el archivo people.csv al directorio Work, utiliza el nombre de archivo como la
fuente y el nombre del directorio como destino:
sysadmin@localhost:~/Documents$ mv people.csv Work

Si se mueve un archivo de un directorio a otro sin especificar un nuevo nombre para el archivo, se
conservará su nombre original. El paso anterior puede confirmarse mediante el comando ls en el
directorio Work:
sysadmin@localhost:~/Documents$ ls Work
people.csv

El comando mv puede mover varios archivos, siempre que el argumento final proporcione al
comando el destino. Por ejemplo, para mover tres archivos en al directorio School:
sysadmin@localhost:~/Documents$ mv numbers.txt food.txt alpha.txt School
sysadmin@localhost:~/Documents$ ls School
Art Engineering Math alpha.txt food.txt numbers.txt

Mover un archivo dentro del mismo directorio es una manera eficaz de cambiar el nombre. Por
ejemplo, en el siguiente ejemplo el archivo animals.txt recibe un nombre nuevo de zoo.txt:
mv animals.txt zoo.txt

sysadmin@localhost:~/Documents$ ls
School alpha-second.txt hidden.txt newhome.txt
Work alpha-third.txt letters.txt os.csv
adjectives.txt animals.txt linux.txt profile.txt
alpha-first.txt hello.sh longfile.txt red.txt
sysadmin@localhost:~/Documents$ mv animals.txt zoo.txt
sysadmin@localhost:~/Documents$ ls
School alpha-second.txt letters.txt os.csv
Work alpha-third.txt linux.txt profile.txt
adjectives.txt hello.sh longfile.txt red.txt
alpha-first.txt hidden.txt newhome.txt zoo.txt

Para Considerar
Los permisos pueden tener un impacto en los comandos de la administración de archivos, como el
comando mv. Mover un archivo requiere permisos de escritura y ejecución en ambos directorios, el
origen y el destino.
¡Pingüinos en el Espacio! NASA utiliza Linux. La Estación Espacial Internacional funciona en
Linux. Hemos migrado las funciones clave de Windows a Linux porque necesitábamos un sistema
operativo estable y fiable. El Mars Rover «Curiosity».

Copiar Archivos

Crear copias de los archivos puede ser útil por muchas razones:
 Si se crea una copia de un archivo antes de hacer cambios, es posible volver al archivo
original.
 Es útil para transferir un archivo a los dispositivos de medios extraíbles.
 Una copia de un documento existente puede utilizarse como una plantilla para un nuevo
documento.
cp [OPCIONES] ORIGEN DESTINO

Observa
Utiliza el siguiente comando para cambiar al directorio Documents:
sysadmin@localhost:~$ cd ~/Documents


El comando cp se utiliza para copiar los archivos. Igual que el comando mv, éste también requiere
al menos dos argumentos: un origen y un destino. Por ejemplo, para copiar el archivo
/etc/passwd al directorio actual, utiliza el siguiente comando:
sysadmin@localhost:~/Documents$ cp /etc/passwd .

Nota:
El segundo argumento es el carácter . Recuerda de la sección de Cambiar de Directorios que es un
acceso directo que representa el directorio actual.
El resultado de ejecutar el comando anterior crearía una copia del contenido del archivo
/etc/passwd en el directorio Documents, ya que es el directorio actual. Esto puede
confirmarse mediante el comando ls:
sysadmin@localhost:~/Documents$ ls
School alpha-second.txt letters.txt os.csv zoo.txt
Work alpha-third.txt linux.txt passwd
adjectives.txt hello.sh longfile.txt profile.txt
alpha-first.txt hidden.txt newhome.txt red.txt

Para Considerar
Los permisos pueden tener un impacto en los comandos de la administración del archivo, como el
comando cp. Para copiar un archivo, es necesario tener el permiso de ejecución para acceder al
directorio en el cuál se encuentra el archivo y el permiso de lectura para el archivo que se está
copiando.
También es necesario tener el permiso de escritura y de ejecución en el directorio al que se está
copiando el archivo. Por lo general, hay dos ubicaciones donde siempre debe tener los permisos de
escritura y ejecución en los directorios: el directorio home y el directorio /tmp.

Copiar Archivos
El comando dd es una utilidad para copiar los archivos o las particiones enteras a nivel de bit.
dd [OPCIONES] OPERANDO

Este comando tiene varias características útiles, incluyendo:


 Puede utilizarse para clonar o eliminar (limpiar) los discos completos o las particiones.
 Se puede utilizar para copiar los datos sin procesar (o «raw data» en inglés) a los
dispositivos extraíbles, tales como las unidades USB y CDROM.
 Puede hacer copia de seguridad y restaurar el MBR (Master Boot Record o «Registro de
Arranque Maestro» en español).
 Se puede utilizar para crear un archivo de un tamaño específico que se llena con ceros
binarios y se puede utilizar después como un archivo de intercambio (memoria virtual).
Examinemos el siguiente ejemplo, el comando dd crea un un archivo llamado /tmp/swapex con
50 bloques de ceros que tienen un megabyte de tamaño:
sysadmin@localhost:~$ dd if=/dev/zero of=/tmp/swapex bs=1M count=50
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 0.825745 s, 635 MB/s

El comando dd utiliza argumentos especiales para especificar cómo va a funcionar. A continuación


se ilustran algunos de los argumentos más comúnmente utilizados:

Argumento Descripción
if Archivo de entrada: El archivo de entrada del que se hace la lectura.
Argumento Descripción
dd if=/dev/zero of=/tmp/swapex bs=1M count=50

En el ejemplo se lee del archivo /dev/zero, un archivo especial que contiene un


número ilimitado de ceros.

Archivo de salida: El archivo de salida para ser escrito.


of
dd if=/dev/zero of=/tmp/swapex bs=1M count=50

Tamaño del bloque: El tamaño de bloque utilizado. De forma predeterminada, el valor


se da en bytes. Utiliza los siguientes sufijos para especificar otras unidades: K, M, G y
T para kilobytes, megabytes, gigabytes y terabytes, respectivamente.
bs
dd if=/dev/zero of=/tmp/swapex bs=1M count=50

El ejemplo utiliza un tamaño de bloque de un megabyte.

Cantidad: El número de bloques a leer desde el archivo de entrada.

dd if=/dev/zero of=/tmp/swapex bs=1M count=50


count
El comando de ejemplo lee 50 bloques.

Para considerar
Cuando se copia el dispositivo entero no hay que especificar tamaño de bloque o cantidad. Por
ejemplo, para clonar un disco duro (/dev/sda) a otro (/dev/sdb) ejecuta el siguiente comando:

dd if=/dev/sda of=/dev/sdb

Eliminar los Archivos


El comando rm se utiliza para borrar los archivos y directorios. Es importante tener en cuenta que
los archivos y directorios borrados no entran a la "papelera de reciclaje" como en el caso de los
sistemas operativos de escritorio. Cuando se elimina un archivo con el comando rm, casi siempre se
elimina de manera permanente.
rm [OPCIONES] ARCHIVO

Observa
Utiliza el siguiente comando para cambiar al directorio Documents:
sysadmin@localhost:~$ cd ~/Documents

Sin opciones, el comando rm se utiliza típicamente para borrar los archivos regulares:
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 debía eliminar; para eliminar un directorio utiliza la
opción recursiva del parámetro, ya sea la opción -r o -R. Sólo ten cuidado puesto que esto
eliminará 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

Advertencia:
El comando rm elimina los archivos de manera permanente. Para repetir los ejemplos anteriores,
restablece la terminal utilizando el botón reset.
Para considerar
Los permisos pueden tener un impacto en los comandos de la administración de archivo, como el
comando rm.

Para eliminar un archivo en un directorio, el usuario debe tener permiso de escritura y permiso de
ejecución en un directorio. Los usuarios normales normalmente sólo tienen este tipo de permiso en
su directorio home y sus subdirectorios.

Copiando Archivos
El comando dd es una utilería para copiar archivos o particiones enteras a nivel de bits.

Sintaxis:
dd [OPCIONES] OPERANDO

Este comando tiene varias características útiles, incluyendo:


 Puede ser utilizado para clonar o eliminar (limpiar) discos completos o particiones enteras.
 Puede ser utilizado para copiar datos en bruto a dispositivos extraíbles como llaves USB y
CDROMs.
 Puede ser utilizado para respaldar (hacer una copia de seguridad) y restaurar el registro de
arranque principal ó Master Boot Record (MBR por sus siglas en inglés), un componente
esencial de software que se utiliza para arrancar el sistema.
 Se puede utilizar para crear un archivo de un tamaño específico que se llena con ceros
binarios, que luego puede ser utilizado como un archivo de intercambio (o swap por su
término en inglés), para ofrecer memoria adicional conocida como memoria virtual.
El comando dd utiliza argumentos especiales para especificar cómo va a operar. La siguiente tabla
muestra algunos de los argumentos más utilizados:
 if - el archivo de entrada que debe ser leido.
 of - el archivo de salida que debe ser escrito.
 bs - el tamaño de bloque que debe ser utilizado. Por defecto, se considera que el valor está
en bytes. Utiliza los siguientes sufijos para especificar otras unidades: K, M, G, y T para
kilobytes, megabytes, gigabytes y terabytes.
 count - el número de bloques que serán leídos del archivo de entrada.

En el siguiente ejemplo, un archivo llamado /tmp/swapex se crea con 50 bloques de "un


megabyte" de tamaño y solo ceros como contenido

sysadmin@localhost:~$ dd if=/dev/zero of=/tmp/swapex bs=1M count=50
500+0 records in
500+0 records out
524288000 bytes (524 MB) copied, 0.825745 s, 635 MB/s

Cuando se copian dispositivos completos, no deben ser especificados ni el tamaño de bloque (bs)
ni el contador (count). Por ejemplo, para clonar un disco duro (/dev/sda) a otro (/dev/sdb)
ejecuta el siguiente comando:
sysadmin@localhost:~$ dd if=/dev/sda of=/dev/sdb

Puedes usar el comando ddincluso para hacer una copia de seguridad del CD-ROM o DVD
mediante una imagen .iso. El siguiente ejemplo va a llevar todos los datos del DVD (/dev/dvd)
y los almacenara en un archivo local llamado dvd.iso:
sysadmin@localhost:~$ dd if=/dev/dvd of=dvd.iso

Considera esto
Los archivos de dispositivos son archivos que se utilizan para referirse a los dispositivos en el
sistema como son discos duros, CD-ROMs y las particiones del disco duro. La siguiente
información se proporciona para añadir claridad a los ejemplos que utilizan el comando dd:

1. /dev/sda -Un archivo de dispositivo que por lo general se refiere a la primera unidad de
disco duro en el sistema.
2. /dev/sdb - Un archivo de dispositivo que normalmente significa el segundo disco duro en
el sistema.
3. /dev/dvd -Un archivo de dispositivo que por lo general se refiere a la primera unidad de
DVD en el sistema.

Filtrado de Entrada
El comando grep es un filtro de texto que buscará las entradas y devolverá las líneas que coinciden
con el patrón determinado.
grep [OPCIONES] PATRÓN [ARCHIVO]

Observa
Utiliza el siguiente comando para cambiar al directorio Documents:
sysadmin@localhost:~$ cd ~/Documents

Si el siguiente ejemplo falla, repita el ejemplo de la Sección 11:


sysadmin@localhost:~/Documents$ cp /etc/passwd .
Por ejemplo, el archivo passwd que acabamos de copiar en el directorio Documents, contiene
los detalles sobre las cuentas de sistema especiales y cuentas de usuario en el sistema. Este archivo
puede ser muy grande, sin embargo el comando grep se pude utilizar para filtrar la información
sobre un usuario específico, como el usuario sysadmin. Utiliza sysadmin como el argumento
del patrón y passwd como el argumento del archivo:
sysadmin@localhost:~/Documents$ grep sysadmin passwd
sysadmin:x:1001:1001:System Administrator,,,,:/home/sysadmin

El comando anterior devuelve la línea del passwd que contiene el patrón sysadmin.

Nota:
Esta línea es la entrada /etc/passwd que pertenece al usuario sysadmin y proporciona
información que está fuera del alcance de este curso. Para más información sobre este archivo,
puedes consultar el curso NDG Linux Essentials.
El ejemplo anterior utiliza un término de búsqueda simple como el patrón, sin embargo grep puede
interpretar patrones de búsqueda mucho más complejos.

Las Expresiones Regulares


Las expresiones regulares tienen dos formas comunes: la básica y la extendida. La mayoría de los
comandos que usan las expresiones regulares pueden interpretar las expresiones regulares básicas.
Sin embargo, las expresiones regulares extendidas no están disponibles para todos los comandos y
normalmente se requiere una opción de comando para que funcionen correctamente.
La siguiente tabla resume los caracteres de las expresiones regulares básicas:

Los Caracteres
Significado
Regex Básicos
. Cualquier carácter individual
[ ] Cualquier carácter especificado
[^ ] No el carácter especificado
* Cero o más de los carácter previos
Si ^ es el primer carácter en el patrón, entonces el patrón debe estar al
^
principio de la línea que debe coincidir, de lo contrario solo un literal ^.
Si $ es el último carácter en el patrón, entonces el patrón debe estar al final
$
de la línea que debe coincidir, de lo contrario solo un literal $.
La siguiente tabla resume las expresiones regulares extendidas, que se deben utilizar con el
comando egrep o la opción -E con el comando grep:

Los Carácteres Regex


Significado
Extendidos
+ Uno o más de los patrones previos
? El patrón anterior es opcional
{ } Especificar las coincidencias mínimas, máximas o exactas del
patrón anterior
| Alternancia - una «o» lógica
Los Carácteres Regex
Significado
Extendidos
( ) Permite crear grupos
Este curso sólo incluye las expresiones regulares básicas. Para obtener más información sobre las
expresiones regulares extendidas, puedes ver los cursos NDG Linux Essentials y NDG Introduction
to Linux

Patrones Básicos
Las expresiones regulares son patrones que sólo determinados comandos pueden interpretar. Las
expresiones regulares pueden ampliarse para que coincidan con ciertas secuencias de caracteres en
el texto. Los ejemplos que aparecen en esta página harán uso de las expresiones regulares para
demostrar su poder cuando se utilizan con el comando grep. Además, estos ejemplos proporcionan
una demostración muy visual de cómo funcionan las expresiones regulares, el texto que coincide
con los patrones de búsqueda se mostrará en rojo.
Observa
Utiliza el siguiente comando cd para cambiar al directorio Documents.
sysadmin@localhost:~$ cd ~/Documents

La más simple de todas las expresiones regulares utiliza solamente los caracteres literales, como en
el ejemplo de la página anterior:
sysadmin@localhost:~/Documents$ grep sysadmin passwd
sysadmin:x:1001:1001:System Administrator,,,,:/home/sysadmin

Los Caracteres de Anclaje


Los caracteres de anclaje son una de las maneras de utilizar las expresiones regulares para reducir
los resultados de búsqueda. 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:11:0:operator:/root:/sbin/nologin

Para evitar que el shell los malinterprete como caracteres especiales, estos patrones deben
protegerse por comillas fuertes, lo que significa simplemente ponerla entre comillas simples.
El primer carácter de anclaje ^ se utiliza para asegurar que un patrón aparezca al principio de la
línea. Por ejemplo, para encontrar todas las líneas en /etc/passwd que comienzan con root,
utiliza el patrón ^root. Ten en cuenta que ^ debe ser el primer carácter en el patrón para que sea
eficaz.
sysadmin@localhost:~/Documents$ grep '^root' /etc/passwd
root:x:0:0:root:/root:bin/bash

Para el ejemplo siguiente, primero examina el archivo alfa-first.txt. El comando cat se


puede utilizar para imprimir el contenido de un 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

El segundo carácter de anclaje $ se puede utilizar para un patrón que aparece al final de la línea
para reducir resultados de búsqueda de manera eficiente. Para encontrar las líneas que terminan con
una r en el archivo alfa-first.txt, utiliza el patrón r$:
sysadmin@localhost:~/Documents$ grep 'r$' alpha-first.txt
B is for Bear
F is for Flower

Una vez más, la posición de este carácter es importante, el $ debe ser el último carácter en el patrón
para que sea eficaz como un ancla.

Coincidir un solo carácter con «.»


En los ejemplos siguientes se utiliza el archivo red.txt:
sysadmin@localhost:~/Documents$ cat red.txt
red
reef
rot
reeed
rd
rod
roof
reed
root
reel
read

Una de las expresiones más útiles es el . Coincidirá con cualquier carácter excepto el carácter que
define un salto de línea. El patrón r..f encuentra cualquier línea que contiene la letra r seguida
por exactamente dos caracteres (que pueden ser cualquier carácter menos un salto de línea) y luego
la letra f:
sysadmin@localhost:~/Documents$ grep 'r..f' red.txt
reef
roof

El mismo concepto puede ser repetido utilizando otras combinaciones. El siguiente ejemplo
encontrará palabras de cuatro letras que inician con r y terminan con d:
sysadmin@localhost:~/Documents$ grep 'r..d' red.txt
reed
read

Este carácter puede ser utilizado cualquier número de veces. Para encontrar todas las palabras que
tengan al menos cuatro caracteres puedes usar el siguiente patrón:
sysadmin@localhost:~/Documents$ grep '....' red.txt
reef
reeed
roof
reed
root
reel
read

La línea no tiene que ser una coincidencia exacta, simplemente tiene que contener el patrón, como
se ve aquí cuando se busca r..t en el archivo /etc/passwd:
sysadmin@localhost:~/Documents$ grep 'r..t' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:1000:37::/root:

Coincidir con un solo carácter utilizando [ ]


Los corchetes [ ] buscan coincidencias con un sólo carácter de una lista o rango de posibles
caracteres contenidos dentro de los corchetes.
Por ejemplo, del contenido del 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.
123456789101112

Para encontrar todas las líneas en el archivo profile.txt que incluyen un número, utiliza 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

Por otro lado, para encontrar todas las líneas que contienen caracteres no numéricos, introduce un ^
como el primer carácter dentro de los corchetes. Este carácter niega los caracteres incluidos en los
corchetes:
sysadmin@localhost:~/Documents$ grep '[^0-9]' profile.txt
Hello my name is Joe.
I am 37 years old.
My favorite food is avocados.
I have 2 dogs.

Nota
No confundas [^0-9] para buscar líneas que no contienen números. En realidad la búsqueda
coincidirá con las líneas que contienen caracteres no numéricos. Observa el archivo original para
ver la diferencia. La tercera y sexta líneas contienen sólo números, no contienen caracteres no
numéricos, por lo que esas dos líneas no coinciden con el patrón de búsqueda.
Cuando otros caracteres de expresiones regulares se colocan dentro de los corchetes, se consideran
caracteres literales. Por ejemplo, el carácter . normalmente coincide con cualquier carácter, pero si
se coloca dentro de los corchetes, entonces sólo coincidirá con sí mismo. En el siguiente ejemplo,
sólo las líneas que contienen el carácter . coincidirán.
sysadmin@localhost:~/Documents$ grep '[.]' profile.txt
Hello my name is Joe.
I am 37 years old.
My favorite food is avocados.
I have 2 dogs.

Coincidir con un carácter repetido o con patrones usando *


El carácter de expresión regular * se utiliza para que coincida con cero o más apariciones del
carácter o patrón que le precede. Por ejemplo e* coincidirá con cero o más apariciones 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
rd
reed

También es posible que coincida con cero o más ocurrencias de una lista de caracteres utilizando los
corchetes. El patrón [oe]* utilizado en el siguiente ejemplo coincidirá con cero o más ocurrencias
del carácter o o bien el carácter e:
sysadmin@localhost:~/Documents$ grep 'r[oe]*d' red.txt
red
reeed
rd
rod
reed

Cuando se usa solo con un carácter, * no es muy útil. Cualquiera de los siguientes patrones
coincidirá con cualquier cadena o línea en el archivo: .* e* b* z*.
sysadmin@localhost:~/Documents$ grep 'z*' red.txt
red
reef
rot
reeed
rd
rod
roof
reed
root
reel
read

sysadmin@localhost:~/Documents$ grep 'e*' red.txt


red
reef
rot

reeed
rd
rod
roof
reed
root
reel
read

Esto es porque * puede coincidir con cero ocurrencias de un patrón. Para que el * sea útil, es
necesario crear un patrón que incluya más de un carácter antes de *. Por ejemplo, los resultados
anteriores se pueden refinar añadiendo otra letra e para que el patrón ee* coincida de manera
efectiva con cada línea que contenga al menos una e.
sysadmin@localhost:~/Documents$ grep 'ee*' red.txt
red
reef
reeed
reed
reel
read

Entrada estándar
Si no se proporciona un nombre de archivo, el comando grep leerá desde la entrada estándar, que
normalmente es la información proporcionada mediante el teclado por el usuario que ejecuta el
comando. Esta acción proporciona una experiencia interactiva con el comando grep ya que el
usuario teclea la entrada y el comando grep la va filtrando. Siéntete libre de probarlo, solo
presiona Ctrl-D cuando estés listo para regresar al prompt.

Observa
Usa el siguiente commando cd para regresar al directorio de inicio:
sysadmin@localhost:~/Documents$ cd ~
Linux es Código Abierto ¡Lo que lo hace extremadamente versátil!
Internet de las Cosas // Cómputo en la Nube // Big Data // DevOps
Redes // Seguridad Cibernética // Diseño y Plan de Arquitectura // Administración de datos

Apagar
El comando shutdown (o «apagar» en español) se encarga de que el sistema se apague de una
manera segura. Cinco minutos antes de que se apague el sistema se les notifica a todos los usuarios
conectados que el sistema se apagará y los nuevos registros se bloquearán.
shutdown [OPCIONES] HORA [MENSAJE]
Observa
El comando shutdown requiere acceso de administrador. Cambiate a la cuenta root para esta
sección usando el siguiente comando. Utiliza la contraseña netlab123.
sysadmin@localhost:~$ su -
Password:
root@localhost:~#

¡Nuestras máquinas virtuales no se apagarán! Siéntete en libertad de utilizar el comando, pero ten
en cuenta que después de la cuenta regresiva haya terminado, solamente regresarás a el prompt en
lugar de apagar el sistema. Puede que tengas que pulsar Entrar para invocar de regreso el prompt
del comando.
root@localhost:~# shutdown now

Broadcast message from sysadmin@localhost


(/dev/console) at 2:05 ...

The system is going down for maintenance NOW!

A diferencia de otros comandos utilizados para apagar el sistema, el comando shutdown requiere
un argumento de tiempo especificando cuando debe comenzar el apagado. Los formatos de este
argumento de tiempo puede ser la palabra now (o «ahora» en español), una hora del día en el
formato hh:mm o el número de minutos de retraso en el formato +minutes.

Para considerar
El reloj de nuestro sistema puede estar configurado para una zona horaria diferente a la tuya. Para
verificar la hora en la terminal, utiliza el comando date. En nuestras máquinas, el formato
predeterminado de la salida del comando date (o «fecha» en español) es como sigue:
weekday month day hour:minute:second UTC year

Las letras UTC presentes en la salida indican que el tiempo se muestra como Hora Universal
Coordinada.
root@localhost:~# date
Fri Jan 22 01:50:07 UTC 2016
root@localhost:~# shutdown 01:51

Broadcast message from sysadmin@localhost


(/dev/console) at 1:50 ...

The system is going down for maintenance in 1 minute!

Broadcast message from sysadmin@localhost


(/dev/console) at 1:51 ...

The system is going down for maintenance NOW!

El comando shutdown también tiene un argumento opcional de mensaje indicando que aparecerá
un mensaje en las terminales de todos los usuarios. Por ejemplo:
root@localhost:~# shutdown +1 "Goodbye World!"

Broadcast message from sysadmin@localhost


(/dev/console) at 3:07 ...

The system is going down for maintenance in 1 minute!


Goodbye World!
shutdown: Unable to shutdown system
root@localhost:~#
Broadcast message from sysadmin@localhost
(/dev/console) at 3:08 ...

The system is going down for maintenance NOW!


Goodbye World!

Observa
Sal de la cuenta root utilizando el comando exit:
root@localhost:~# exit
logout

Configuración de la Red
El comando ifconfig significa «interface configuration» (o «configuración de la interfaz» en
español) y se utiliza para mostrar la información de configuración de red.
ifconfig [OPCIONES]

Nota:
El comando iwconfig es similar al comando ifconfig, pero está enfocado a las interfaces de
red inalámbrica.
No todas las configuraciones de red son importantes para este módulo, pero es importante observar
en la salida de abajo la dirección IPv4 del dispositivo de red principal eth0 es 192.168.1.2 y
que el dispositivo está activo (UP):
sysadmin@localhost:~$ ifconfig
eth0 Link encap:Ethernet HWaddr b6:84:ab:e9:8f:0a
inet addr:192.168.1.2 Bcast:0.0.0.0 Mask:255.255.255.0
inet6 addr: fe80::b484:abff:fee9:8f0a/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:95 errors:0 dropped:4 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:25306 (25.3 KB) TX bytes:690 (690.0 B)

lo Link encap:Local Loopback


inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:6 errors:0 dropped:0 overruns:0 frame:0
TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:460 (460.0 B) TX bytes:460 (460.0 B)

Para considerar
El dispositivo lo se conoce como el dispositivo de loopback (o «ciclo invertido» en español). Es un
dispositivo de red especial utilizado por el sistema cuando éste envía los datos basados en red a sí
mismo.
El comando ifconfig también puede ser utilizado para modificar temporalmente la
configuración de red. Normalmente estos cambios deben ser permanentes, por lo que utilizando el
comando ifconfig para hacer tales cambios es algo bastante raro.

Visualización de los Procesos

La ejecución de un comando resulta en algo que se llama un proceso. En el sistema operativo


Linux, los procesos se ejecutan con los privilegios del usuario que ejecuta el comando. Esto permite
que procesos se limiten a ciertas capacidades basadas en la identidad del usuario.
Aunque haya excepciones, generalmente el sistema operativo diferenciará los usuarios en el criterio
de que si son administradores. Típicamente los usuarios regulares, como el usuario sysadmin, no
pueden controlar los procesos de otro usuario. Los usuarios que tienen privilegios administrativos,
como la cuenta root, pueden controlar los procesos de cualquier usuario, incluyendo detener
cualquier proceso de usuario.
Puedes utilizar el comando ps para listar procesos.
ps [OPCIONES]

sysadmin@localhost:~$ ps
PID TTY TIME CMD
80 ? 00:00:00 bash
94 ? 00:00:00 ps

El comando ps muestra los procesos que se están ejecutando en la terminal actual por defecto. En
el ejemplo, la línea final es el proceso creado por ejecutar el comando ps. La salida incluye las
siguientes columnas de información:
 PID: El identificador del proceso, que es único para el proceso. Esta información es útil para
controlar el proceso por su número de ID.
 TTY: El nombre del terminal en el que se ejecuta el proceso. Esta información es útil para
distinguir entre los diferentes procesos que tienen el mismo nombre.
 TIME: La cantidad total de tiempo del procesador utilizado por el proceso. Típicamente, los
usuarios regulares no utilizan esta información.
 CMD: El comando que inició el proceso.

En lugar de ver sólo los procesos que se ejecutan en el terminal actual, los usuarios pueden querer
ver cada proceso ejecutado en el sistema. La opción -e muestra todos los procesos:
sysadmin@localhost:~$ ps -e
PID TTY TIME CMD
1 ? 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 ? 00:00:00 login
79 ? 00:00:00 bash
94 ? 00:00:00 ps

Normalmente, también se utiliza la opción -f ya que proporciona más detalles en la salida del
comando, incluyendo las opciones y los argumentos. Busca el comando ps en la última línea, la
columna CMD ahora incluye las opciones utilizadas:
sysadmin@localhost:~$ ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 19:16 ? 00:00:00 /sbin??? /init
syslog 33 1 0 19:16 ? 00:00:00 /usr/sbin/rsyslogd
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 ? 00:00:00 /bin/login -f

sysadmin 79 69 0 19:16 ? 00:00:00 -bash
sysadmin 95 79 0 19:43 ? 00:00:00 ps -ef
Habilidades de Linux están en demanda! El 97% de los gerentes de contratación están buscando
reclutar profesionales de Linux en los próximos seis meses. El 88% afirma que es difícil encontrar
a estos candidatos

Administración de Paquetes
Administración de Paquetes es un sistema que instala, actualiza, consulta o quita el software dentro
de un sistema de archivos. En Linux hay muchos sistemas de administración de paquetes de
software diferentes, pero los dos más populares son Debian y Red Hat. Las máquinas virtuales para
este curso utilizan Ubuntu, un derivado de Debian.
En el nivel más bajo del sistema de administración de paquetes de Debian está el comando dpkg.
Este comando puede ser complicado para los usuarios principiantes de Linux, por lo que una
herramienta de paquetes avanzada, apt-get, un programa front-end para la herramienta dpkg,
facilita más la administración de los paquetes.
Observa
Muchos de los comandos de la administración de paquetes requieren acceso de administrador, por
lo que vienen precedidos por el comando sudo. Utiliza la contraseña netlab123 cuando el
sistema te lo pida.

Instalación de los Paquetes


Los archivos del paquete se instalan comúnmente descargándolos directamente desde los
repositorios ubicados en los servidores de Internet. Los repositorios de Debian contienen más de
65,000 diferentes paquetes de software. Antes de instalar un paquete, es una buena práctica utilizar
la actualización de la lista de paquetes con el comando apt-get.
sudo apt-get update

sysadmin@localhost:~$ sudo apt-get update


[sudo] password for sysadmin:
Ign file: amd64/ InRelease
Ign file: amd64/ Release.gpg
Ign file: amd64/ Release
Reading package lists... Done
Para buscar las palabras clave dentro de estos paquetes, puede utilizar el comando apt-cache
search.
apt-cache search [palabra clave]

La palabra clave que se utiliza debe coincidir con parte del nombre o la descripción del paquete que
hay que localizar. Se pueden utilizar varias palabras clave para aclarar aún más la búsqueda; por
ejemplo, el término para la búsqueda web server (o «servidor web» en español) proporcionaría
mejores resultados que las palabras web o server por sí solas.

Para encontrar los paquetes asociados con la palabra clave cow:


sysadmin@localhost:~$ apt-cache search cow
cowsay - configurable talking cow

Cuando hayas encontrado el paquete que quieres instalar, puedes instalarlo con el comando apt-
get install:
sudo apt-get install [paquete]

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 ...
Unpacking cowsay (3.03+dfsg1-6) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Setting up cowsay (3.03+dfsg1-6) ...

Para considerar
¡El comando cowsay es una vaca que habla configurable! Usa una palabra o frase como
argumento:
sysadmin@localhost:~$ cowsay 'NDG Linux Unhatched'
_____________________
< NDG Linux Unhatched >
---------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||

Recomendamos poner el argumento entre comillas simples para evitar que el shell interprete los
caracteres especiales.
Actualización de Paquetes
El comando apt-get install también puede actualizar un paquete, si el paquete está instalado
y un paquete con una versión más reciente está disponible. Si el paquete no está en el sistema, se
instala; Si está en el sistema, se actualiza.
La actualización de todos los paquetes del sistema debe hacerse en dos pasos. Primero, actualiza el
caché de todos los paquetes disponibles con apt-get update. Después, ejecuta el comando
apt-get upgrade con el que se actualizarán todos los paquetes y sus dependencias.
apt-get update
apt-get upgrade

sysadmin@localhost:~$ sudo apt-get update


[sudo] password for sysadmin:
Ign file: amd64/ InRelease
Ign file: amd64/ Release.gpg
Ign file: amd64/ Release
Reading package lists... Done
sysadmin@localhost:~$ sudo apt-get upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

Eliminación de los Paquetes


El comando apt-get puede eliminar o depurar un paquete. La diferencia entre los dos es que
depurar elimina todos los archivos del paquete, mientras que eliminar elimina todo, menos los
archivos de configuración para el paquete.
Un administrador puede ejecutar el comando apt-get remove para eliminar un paquete o el
comando apt-get purge para depurar un paquete completo del sistema.
apt-get remove [paquete]
apt-get purge [paquete]

Por ejemplo, para depurar completamente el cowsay, ejecuta el siguiente comando. Escriba Y
cuando se le solicite:
sysadmin@localhost:~$ sudo apt-get purge cowsay
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages will be REMOVED:
cowsay*
0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded.
After this operation, 90.1 kB disk space will be freed.
Do you want to continue? [Y/n] y
(Reading database ... 24377 files and directories currently installed.)
Removing cowsay (3.03+dfsg1-6) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Actualización de las Contraseñas de Usuario
El comando passwd se utiliza para actualizar la contraseña de un usuario. Los usuarios sólo
pueden cambiar sus propias contraseñas, mientras que el usuario root puede actualizar la contraseña
de cualquier usuario.
passwd [OPCIONES] [USUARIO]

Por ejemplo, ya que estamos registrados como el usuario sysadmin, podemos cambiar la
contraseña de esa cuenta. Ejecuta el comando passwd. Se te pedirá que ingreses la contraseña
actual una vez y la nueva contraseña dos veces. Por razones de seguridad, ninguna salida se
visualizará mientras estás introduciendo la contraseña. La salida se muestra como sigue:
sysadmin@localhost:~$ passwd
Changing password for sysadmin.
(current) UNIX password: netlab123
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Si el usuario quiere ver la información del estado acerca de su contraseña, puede utilizar la opción
-S:
sysadmin@localhost:~$ passwd -S sysadmin
sysadmin P 03/01/2015 0 99999 7 -1

Los campos de salida se explican a continuación:

Campo Ejemplo Significado


User Name sysadmin El nombre del usuario.
P indica una contraseña utilizable.

Password L indica una contraseña bloqueada.


P
Status
NP indica que no hay contraseña.

03/01/201
Change Date 5 La fecha del último cambio de la contraseña.

0 El número mínimo de días que deben pasar antes de que la contraseña


Minimum
actual pueda ser cambiada por el usuario.
Maximum 99999 El número máximo de días que quedan para que la contraseña expire.
7 El número de días antes de la expiración de la contraseña para
Warn
advertir al usuario.
-1 El número de días después de la expiración de la contraseña durante
Inactive
los que la cuenta del usuario permanece activa.
Observa
Cambia de la cuenta root utilizando el siguiente comando:
sysadmin@localhost:~$ su root
Password:
root@localhost:~#
Utiliza la contraseña netlab123.

El usuario root puede cambiar la contraseña de cualquier usuario. Si el usuario root quiere
cambiar la contraseña para el sysadmin, ejecutaría el siguiente comando:
root@localhost:~# passwd sysadmin
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully

Observa
Sal de la cuenta root utilizando el comando exit:
root@localhost:~# exit
logout

Editor de Texto
El editor de texto principal para Linux y UNIX es un programa llamado vi. Si bien existen
numerosos editores disponibles para Linux que van desde el pequeño nano hasta el masivo editor
emacs, el editor vi posee varias ventajas:

 El editor vi está disponible en cada distribución de Linux en el mundo. Esto no es cierto en


el caso de otros editores.
 El editor vi se puede ejecutar en una CLI (interfaz de línea de comandos) y en una GUI
(interfaz gráfica de usuario).
 Aunque se hayan añadido nuevas características al editor vi, las funciones básicas han
existido durante décadas. Esto significa que si alguien aprendió el editor vi en la década de
los 1970, podría utilizar una versión moderna sin ningún problema. Aunque ahora parezca
trivial, puede no parecer tan trivial dentro de veinte años.
Para considerar
La forma correcta de pronunciar vi editor es editor vee-eye (o «vi-ay» en español). Las letras vi se
refieren a visual pero los desarrolladores nunca lo habían pronunciado de esta manera, más bien
como la letra v seguida por la letra i pronunciándose «vi-ay».
En realidad, la mayoría de los sistemas Linux no incluyen el original vi, sino su versión mejorada
conocida como vim que se refiere a vi improved (o «vi mejorado» en español). La mayoría de las
distribuciones de Linux probablemente oculten este hecho. En su mayor parte, el vim funciona
igual que el vi, pero tiene características adicionales. Para los temas que se tratarán en este curso,
trabajaremos con vi o vim.

Para empezar a usar el vi, simplemente introduce el comando seguido de la ruta de acceso al
archivo que quieres editar o crear:
sysadmin@localhost:~$ vi newfile.txt

Hay tres modos que utiliza el vi: modo de comando, modo de inserción y el modo ex.
Movimiento del Modo de Comando
El programa comienza en modo de comando. El modo de comando se utiliza para introducir los
comandos, tales como los utilizados para desplazarse por un documento, manipular el texto y
acceder a los otros dos modos. Para volver al modo de comandos en cualquier momento, presiona la
tecla Esc.
Después de añadir algo de texto a un documento, para realizar las acciones como mover el cursor,
primero hay que presionar la tecla Esc para volver al modo comando. Parece que es mucho trabajo,
pero recuerdo que el vi funciona en un entorno de terminal en el que un ratón es inútil.

Los comandos de movimiento en el vi tienen dos aspectos, un movimiento y un número opcional


como prefijo, que indica cuántas veces hay que repetir ese movimiento. El formato general es como
sigue:
[número] movimento

La siguiente tabla resume las teclas de movimiento disponibles:

Movimiento Resultado
h Un carácter a la izquierda
j Bajar una línea
k Subir una línea
l Un carácter a la derecha
w Una palabra hacia adelante
b Una palabra hacia atrás
^ Principio de la línea
$ Final de la línea
Nota:
Desde la actualización al vim, es también posible utilizar las teclas de flecha ←↓↑→ en vez de
hjkl.

Estos movimientos pueden tener un número prefijo para indicar cuántas veces hay que realizar el
movimiento. Por ejemplo, 5h movería el cursor cinco caracteres a la izquierda, 3w movería el
cursor tres palabras a la derecha.
Para mover el cursor a un número de línea específica, introduce ese número de línea seguido por el
carácter G. Por ejemplo, para llegar a la quinta línea del archivo, introduce 5G. 1G o gg se puede
utilizar para ir a la primera línea del archivo, mientras que una sola G te llevará a la última línea.
Para averiguar en qué línea está el cursor, utiliza CTRL-G.

Acciones del Modo de Comando


La convención estándar para la edición de contenido con procesadores de texto es utilizar las
acciones de copiar, cortar y pegar. El programa vi no tiene ninguno de estos, en cambio vi utiliza
los siguientes tres comandos:
Estándar Vi Significado
cut (cortar) d delete (eliminar)
copy (copiar) y yank (jalar)
paste (pegar) P | p put (poner)
Los movimientos que conociste en la página anterior se utilizan para especificar dónde la acción va
a ocurrir, siempre a partir de la posición actual del cursor. Cualquiera de los siguientes formatos
generales para los comandos de acción es aceptable:
acción [número] movimento
[número] acción movimento

Eliminar
La acción de eliminar borra el texto indicado de la página y lo guarda en el búfer. El búfer es el
equivalente de «portapapeles» en Windows o Mac OSX. La siguiente tabla proporciona algunos
ejemplos:

Acción Resultado
dd Eliminar la línea actual
3dd Eliminar las siguientes tres líneas
dw Eliminar la palabra actual
d3w Eliminar las siguientes tres palabras
d4h Eliminar los cuatro caracteres a la izquierda

Cambiar
La acción de cambiar es muy similar a eliminar, el texto se elimina y se guarda en el búfer, sin
embargo el programa se conecta para introducir el modo que permite hacer los cambios de texto de
inmediato. La siguiente tabla proporciona algunos ejemplos:

Acción Resultado
cc Cambiar la línea actual
cw Cambiar la palabra actual
c3w Cambiar las siguientes tres palabras
c5h Cambiar los cuatro caracteres a la izquierda

Jalar
La acción de jalar guarda el contenido en el buffer sin eliminarlo. La siguiente tabla proporciona
algunos ejemplos:

Acción Resultado
yy Jalar la línea actual
3yy Jalar las siguientes tres líneas
yw Jalar la palabra actual
y$ Jalar al final de la línea
Poner
La acción de poner, pone el texto guardado antes o después de la posición del cursor. Observa que
estas son las dos únicas opciones, la acción poner no utiliza los movimientos como los anteriores
comandos de acción.

Acción Resultado
p Poner (pegar) después del cursor
P Poner antes del cursor

Buscar en el vi
Otra función estándar que ofrecen los procesadores de texto es «find» («buscar» en español). A
menudo, las personas utilizan CTRL+F o buscan en el menú edición. El programa vi utiliza
«search» (o «explorar» en español). «Search» (explorar) es más poderoso que «find» (buscar), ya
que soporta patrones de texto literal y las expresiones regulares.
Para explorar el texto hacia delante desde la posición actual del cursor, utiliza el / para comenzar a
explorar el texto, introduce el término de búsqueda y luego presiona la tecla Entrar para iniciar la
exploración del texto. El cursor se moverá a la primera coincidencia que se encuentra.
Para pasar a la próxima coincidencia con el mismo patrón, presiona la tecla n. Para volver a la
coincidencia anterior, pulsa la tecla N. Si llegas al final o al comienzo del documento,
automáticamente ira el otro lado del documento.
Para empezar a buscar hacia atrás desde la posición del cursor, empieza introduciendo ?, después
introduce el patrón buscar las coincidencias y pulse la tecla Entrar.

Modo de Inserción
El modo de inserción se utiliza para añadir texto al documento. Hay varias maneras de entrar al
modo de inserción desde el modo comando, cada una se distingue según dónde se iniciará la
inserción del texto. La siguiente tabla incluye las más comunes:

Entrada Propósito
a Entrar al modo de inserción justo después del cursor
A Entrar al modo de inserción al final de la línea
i Entrar al modo de inserción justo antes del cursor
I Entrar al modo de inserción al principio de la línea
o Entrar al modo de inserción en una línea en blanco después del cursor
O Entrar al modo de inserción en una línea en blanco antes del cursor

Modo Ex
Originalmente, el editor vi fue llamado el editor ex. El nombre vi fue la abreviatura del comando
visual en el editor ex que cambió al editor al modo «visual».

En el modo normal original, el editor ex sólo permitía a los usuarios ver y modificar una línea a la
vez. En el modo visual, los usuarios podían ver la parte del documento que cabía en la pantalla.
Puesto que la mayoría de los usuarios prefiere el modo visual a edición en modo línea, el archivo de
programa ex fue vinculado a un archivo de vi, para que los usuarios pudieran arrancar el ex
directamente en modo visual al correr el enlace de vi.

Finalmente, el archivo de programa fue renombrado al vi y el editor ex se convirtió en un enlace


al editor vi.

Cuando se utiliza el modo ex en el editor vi, es posible ver o cambiar la configuración, así como
llevar a cabo los comandos relacionados con los archivos tales como abrir, guardar o anular los
cambios en un archivo. Para pasar al modo ex, introduce el carácter : en el modo comando. La
tabla siguiente lista algunas acciones comunes llevadas a cabo en el modo ex:

Entrada Propósito
:w Escribir el archivo actual en el sistema de archivos
:w nombre del archivo Guardar una copia del archivo actual como nombre de archivo
:w! Forzar la escritura en el archivo actual
:1 Ir a la línea número 1 o cualquier número especificado
:e nombre del archivo Abrir el nombre de archivo
:q Salir si no hay cambios realizados en los archivos
:q! Salir sin guardar los cambios en el archivo
Un análisis rápido de la tabla anterior revela que si un signo de exclamación ! se agrega a un
comando, éste intenta forzar la operación. Por ejemplo, imagina que estás realizando cambios en un
archivo en el vi editor y luego intenta a salir con :q, sólo para ver que el comando falla. El editor
vi no se quiere cerrar sin guardar los cambios realizados en un archivo, pero puedes forzar el cierre
con el comando ex :q!.

Para considerar
Aunque el modo ex ofrece varias maneras de guardar y salir, también existe ZZ disponible en el
modo comando; éste es el equivalente de :wq. Hay muchas más funciones superpuestas entre el
modo ex y el modo comando. Por ejemplo, el modo ex se puede utilizar para acceder a cualquier
línea del documento introduciendo : seguido por el número de línea, mientras que G se puede
utilizar en el modo comando tal como viste más arriba.
Observa
Si tienes un texto de archivo abierto, ciérralo ejecutando el comando :q!. Esto hará salir sin
guardar los cambios en el archivo.

El siguiente paso
Esperamos que hayas disfrutado esta breve introducción al mundo de Linux. El contenido se alinea
con el conocimiento de Linux cubierto por los objetivos del examen CompTia A+ Linux, ¡pero hay
mucho más! ¡Obtén el nivel de certificación Linux para progresar en tu carrera!
NDG Linux Essentials
Si quieres ampliar tus conocimientos en Linux, Cisco Networking Academy ofrece también tres
cursos de Linux. NDG Linux Essentials es perfecto para los principiantes para entender los
conceptos básicos, mientras NDG Linux Series ofrece a los principiantes temas más profundos.

Traducción imagen: NDG Linux Essentials (“NDG elementos escenciales de Linux”) Aprender los
fundamentos del sistema operativo Linux y línea de comandos y conceptos básicos de código
abierto.
El curso NDG Linux Essentials está diseñado para prepararte para el certificado profesional Linux
Professional Institute Linux Essentials Professional Development Certificate, que valida una
comprensión demostrada de:
 FOSS (Free Open Source Software o «Software de Código Abierto Gratuito»), las distintas
comunidades y licencias
 Conocimiento de las aplicaciones de código abierto en el trabajo que se relaciona con los
equivalentes de código cerrado
 Los conceptos básicos de hardware, procesos, programas y los componentes del sistema
operativo Linux
 Cómo trabajar en la línea de comandos y con los archivos
 Cómo crear y restaurar las copias y los archivos comprimidos
 Permisos del sistema de seguridad, permisos usuarios/grupos y archivo para los directorios
públicos y privados
 Cómo crear y ejecutar scripts simples

Para obtener el certificado Linux Essentials Professional Development Certificate debes completar
el curso Linux Essentials (LPI-010) que abarca:
 La comunidad de Linux y una formación en open source
 Saber moverte en el entorno de un sistema Linux
 El poder de la línea de comandos
 El sistema operativo Linux
 Permisos de seguridad y archivo

El certificado Linux Essentials Professional Development Certificate es el comienzo de tu camino


para convertirte en un profesional certificado en Linux. Puedes encontrar información sobre las
certificaciones de Linux Professional Institute en http://www.lpi.org.
No te preocupe si tienes poca o ninguna experiencia en Linux. Este curso es el punto de partida
perfecto diseñado para enseñarte todos los conceptos desde cero. Sin embargo, si este material no es
lo suficientemente desafiante para ti, puedes empezar con el curso introductorio más riguroso NDG
Introduction to Linux I. («NDG Introducción a Linux I» en español).

NDG Linux Series

Traducción imagen: NDG Introducción a Linux (“NDG Introducción a Linux”) Aprender


habilidades básicas de administración de sistemas Linux y prepararse para LPI LPIC-1 o
CompTIA Linux + impulsado por la certificación LPI.
Los cursos de NDG Introduction to Linux están diseñados para prepararte para la certificación de
nivel 1, Linux Professional Institute Level 1 Certification. LPIC-1 es una certificación profesional
de servidor Linux para los administradores de Linux que avala tu capacidad para realizar las
siguientes tareas:
 Trabajar en la línea de comandos de Linux
 Realizar tareas sencillas de mantenimiento: ayudar a los usuarios, agregar usuarios a un
sistema más amplio, respaldar y restaurar, apagar y reiniciar.
 Instalar y configurar una estación de trabajo (incluyendo X) y conectarlo a una LAN, o una
PC independiente a Internet.
Para obtener la certificación LPIC-1 debes pasar el Examen 101 y 102. NDG Introduction to Linux
I está diseñado para prepararte para el examen 101, que cubre:
 La Arquitectura del Sistema
 Instalación de Linux y Administración de paquetes
 GNU y los Comandos de Unix
 Dispositivos, Sistemas de Archivos Linux, Estándar de Jerarquía del Sistema de Archivos

NDG Introduction to Linux II se alinea con los objetivos del examen 102, y cubre:
 Shells, Scripting y manejo de datos
 Interfaces y equipos de escritorio
 Tareas Administrativas
 Servicios esenciales del sistema
 Fundamentos de redes
 Seguridad
La certificación LPIC-1 es la primera de las tres certificaciones profesionales de LPI. Puedes
encontrar información sobre todas las certificaciones de Linux Professional Institute en
http://www.lpi.org.

IT Essentials
Para más información sobre las habilidades fundamentales de computación y la formación para los
empleos de nivel de entrada, consulta el resto del curso IT Essentials, alineado a la certificación de
CompTia A+.

IT Essentials (“Esenciales de TI”) Aprender a construir y configurar una computadora y


conectarse de forma segura a una red, sus primeros pasos para una carrera de TI.
IT Essentials cubre las habilidades básicas de computación y la formación para los empleos TI de
nivel entrada. El plan de estudios de IT Essentials incluye prácticas de laboratorio que proporcionan
experiencia práctica. Las herramientas virtuales te ayudan a perfeccionar tus habilidades de
resolución de problemas y poner en práctica lo que aprendes.
 Desarrollar el conocimiento de cómo funcionan las computadoras
 Desarrollar el pensamiento crítico y las habilidades para resolver problemas complejos
utilizando las herramientas virtuales de aprendizaje y las prácticas
 Aplicar las habilidades y los procedimientos para instalar y actualizar el software y hardware
y solucionar los problemas del sistemas
 Practicar lo que aprendes en el equipo real y utilizar la herramienta de simulación de Cisco
Packet Tracer
 Obtener la retroalimentación inmediata en tu trabajo a través de cuestionarios y pruebas
integrados
 Conectarte a la comunidad global de Cisco Networking Academy
Aspectos más destacados de trabajo en el código abierto
31% Proyectos Interesantes
18% Trabajando en los desafíos de la tecnología de vanguardia

17% Colaboración con una comunidad global
La mayoría de los directores de recursos humanos (70%) dice que sus compañías han aumentado
los incentivos para retener el talento Linux.

Siguientes Pasos (DELETE THIS SECTION)


Esperamos que hayas disfrutado de esta breve introducción al mundo de Linux. El contenido de este
curso está alineado con los objetivos de aprendizaje del examen CompTIA A + Linux, pero ¡hay
mucho más que puedes aprender!

IT Essentials
Para obtener más contenido relacionado con los fundamentos de la computación y sobre las
habilidades necesarias para un puesto de trabajo en el area de TI (Tecnologías de Información),
revisa el contenido del curso de IT Essentials, Fundamentos de las Tecnologías de Información ).
Este curso está alineado a la certificación CompTIA A +.

El curso de IT Essentials cubre los fundamentos de computación y las habilidades que debes de
tener para obtener tu primer empleo en el area de TI . El plan de estudios de IT Essentials incluye
prácticas de laboratorio que proporcionan experiencia práctica. Las herramientas virtuales del curso
te ayudarán a perfeccionar las habilidades de resolución de problemas y a practicar lo que aprendes.
Con este curso, tu podrás:
 Desarrollar el conocimiento práctico de cómo funcionan las computadoras.
 Desarrollar el pensamiento crítico y las habilidades para resolver problemas complejos
utilizando laboratorios prácticos y herramientas virtuales de aprendizaje.
 Aplicar las técnicas y procedimientos para instalar y actualizar hardware y software y para
solucionar los problemas que haya en el sistema.
 Practicar lo que aprendes en un equipo real usando la herramienta de simulación Cisco
Packet Tracer.
 Obtener retroalimentación inmediata sobre tu aprovechamiento a través de cuestionarios y
pruebas incorporadas.
 Conectarte a la comunidad global de Cisco Networking Academy.

NDG Linux Essentials


Si estas interesado en ampliar tus conocimientos de Linux, Cisco Networking Academy también
ofrece dos cursos de Linux. NDG Linux Essentials (Fundamentos de Linux de NDG) es perfecto
para los principiantes que buscan comprender los elementos básicos, mientras que NDG
Introduction to Linux Series (Introducción a Linux de NDG) ofrece a los principiantes una
cobertura más exhaustiva acerca de Linux.

El curso NDG Linux Essentials está diseñado para prepararte para el Certificado de Desarrollo
Profesional de los Fundamentos de Linux (Linux Essentials Professional Development Certificate)
del Instituto Profesional de Linux (Linux Professional Institute). Este certificado valida de forma
fidedigna, el conocimiento de una persona sobre los siguientes aspectos:
 FOSS, sus diversas comunidades y licencias.
 El conocimiento de las aplicaciones de código abierto en el lugar de trabajo y su relación
con aplicaciones equivalentes de código cerrado.
 Conceptos básicos de hardware, procesos, programas y los componentes del sistema
operativo Linux.
 Cómo trabajar con la línea de comandos y con los archivos.
 Cómo crear y restaurar copias de seguridad y archivos comprimidos.
 Seguridad del sistema, permisos de usuarios/grupos y archivos para directorios públicos y
privados.
 Cómo crear y ejecutar archivos de procesamiento en lotes (scripts) simples.

Para obtener el Certificado de Desarrollo Profesional de los Fundamentos de Linux debes pasar el
exámen Linux Essentials (LPI-010) que cubre los siguientes temas:
 La comunidad de Linux y una carrera profesional en código abierto.
 Encontrando el camino en un sistema Linux.
 El poder de la línea de comandos.
 El sistema operativo Linux.
 Los permisos de seguridad y de archivo.

El Certificado de Desarrollo Profesional de los Fundamentos de Linux es el comienzo de tu jornada


para convertirte en un profesional certificado en Linux. Si quieres más información sobre las
certificaciones del Instituto Profesional de Linux puedes encontrarla en la siguiente dirección:
http://www.lpi.org.
No te preocupes si tienes poca o ninguna experiencia en Linux. Este curso es el lugar de partida
perfecto pues está diseñado para enseñar todos los conceptos desde cero. Si por alguna razón no
encuentras este material lo suficientemente difícil, considera entonces comenzar con el curso NDG
Introduction to Linux, un curso introductorio más riguroso.

NDG Introduction to Linux

La serie de cursos NDG Introduction to Linux están diseñados para prepararte para el Nivel 1 de
Certificación del Instituto Profesional de Linux. La LPIC-1 es una certificación para
administradores Linux del Servidor Profesional de Linux. Esta certificación valida tu capacidad
para realizar las siguientes tareas:
 Trabajar con la línea de comandos de Linux.
 Realizar tareas sencillas de mantenimiento: ayudar a los usuarios, agregar usuarios a un
sistema más amplio, hacer copias de seguridad y de restauración, apagado y reinicio del
sistema.
 Instalación y configuración de una estación de trabajo (incluyendo X) y su conexión a una
red local (LAN en inglés) o conexión de una PC independiente a internet.
Para obtener la certificación LPIC-1 debes pasar el examen 101 y 102. El curso NDG Introduction
to Linux I está diseñado para prepararte para el examen 101 que abarca:
 Arquitectura del Sistema.
 Instalación de Linux y Gestión de Paquetes.
 Comandos de GNU y Unix.
 Dispositivos, Sistemas de Archivos Linux y Estándar de la Jerarquía del Sistema de
Archivos.
El curso NDG Introduction to Linux II se alinea con los objetivos del examen 102 que abarcan:
 Shells, Secuencias de Comandos y Gestión de Datos.
 Interfaces y Escritorios.
 Tareas Administrativas.
 Servicios Esenciales del Sistema.
 Fundamentos de Redes.
 Seguridad.

La certificación LPIC-1 es la primera de las tres certificaciones profesionales del LPI. Si quieres
más información sobre todas las certificaciones del Instituto Profesional de Linux, acude a la
siguiente dirección: http://www.lpi.org.

You might also like