Sei sulla pagina 1di 81

Hola y bienvenido al Mdulo Elemental de NDG Linux!

Estamos muy entusiasmados de


ofrecerte esta breve introduccin al mundo de Linux. Antes de comenzar, nos gustara
aprovechar la oportunidad para explicar la intencin y el alcance de este mdulo.
No te preocupe si tienes poca o ninguna experiencia en Linux. Este mdulo est diseado
como una introduccin para los estudiantes principiantes sin formacin previa en Linux. Si te
parece til este material, puedes pensar en continuar con nuestros cursos de NDG Linux
Essentials o Introduccin al Linux de NDG para adquirir conocimientos ms avanzados. La
informacin adicional sobre estos cursos est al final de este mdulo.
Como probablemente ya sabes, el kernel de Linux ha encontrado su camino hacia un increble
nmero de diversos sistemas. Hoy en da lo puedes encontrar en todo, desde automviles a
cohetes, desde relojes a televisores y desde netbooks a los superordenadores ms rpidos.
Linux slo representa un porcentaje relativamente pequeo 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 ingls), equipos de red,
telfonos inteligentes y muchos otros dispositivos de los que imaginas que pueden ser
computadoras. Desde un enrutador (router en ingls) casero que te conecta a Internet hasta
el servidor en el est alojado este curso, es probable que mltiples dispositivos alimentados
por Linux te permiten leer esta pgina en este momento.
Esperamos que encuentres til el Mdulo Elemental de NDG Linux. Te felicitamos por dar tus
primeros pasos hacia el mundo de Linux!

Linux est en Todas Partes !


Sintaxis Bsica de Comando
Este mdulo aborda exclusivamente la CLI o Command Line Interface (o Interfaz de la Lnea
de Comandos), en lugar de la GUI o Graphical User Interface (o Interfaz Grfica de Usuario)
con la que probablemente ests familiarizado. La terminal CLI es una poderosa herramienta
que suele ser el mtodo primario usado para administrar los pequeos dispositivos de baja
potencia, servidores de cmputo extremadamente potentes, y todo lo dems. Un
entendimiento bsico del terminal es esencial para diagnosticar y corregir la mayora 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 bsico de la terminal.
Qu es un comando? Un comando es un programa de software que al ejecutarlo en la CLI
(interfaz de lnea de comandos en espaol) realiza una accin 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 funcin del comando. Por ejemplo, el
comando ls muestra una lista de informacin acerca de los archivos. Asociando el nombre del
comando con algo mnemotcnico para lo que hace puede ayudar a recordar ms fcilmente
los comandos.
Para considerar
Cada parte del comando es normalmente sensible a maysculas y minsculas, 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 mayora de los comandos sigue un patrn simple de sintaxis:

comando [opciones] [argumentos]

Tpicamente, 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 mayora 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 drsele el nombre de un directorio como argumento, y mostrar el
contenido de ese directorio. En el siguiente ejemplo, el directorio Documents (o
documentos en espaol) 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 estn en el directorio Documents.


Ya que Linux es un sistema de cdigo abierto (o open source en ingls), hay algunos
secretos interesantes que los desarrolladores le han aadido. Por ejemplo, el
comando aptitude es una herramienta de gestin 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 espaol:

sysadmin@localhost:~$ aptitude moo


No hay sorpresas en este programa.

Hay ms trucos de los que se ven a simple vista. Sigue leyendo!


Linux es de cdigo abierto! Linux es desarrollado por una comunidad, usted ve y contribuye
al cdigo fuente!

Las Opciones

comando [opciones] [argumentos]

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


pgina anterior, se utiliz el comando ls para listar el contenido de un directorio. En el ejemplo
siguiente, vamos a utilizar la opcin -l para el comando ls, que resulta en una salida
Visualizacin larga, lo que significa que la salida da ms informacin 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 carcter mnemotcnico (tecla de acceso) para su propsito, tal como
eligiendo la letra l para largo o r para el reverso. Por defecto el comando ls imprime los
resultados en orden alfabtico, as que aadiendo la opcin -rimprimir los resultados en el
orden alfabtico inverso.

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

Las opciones mltiples pueden utilizarse a la vez, o bien como opciones separadas como la -l
- r o combinadas -lr. La salida de todos estos ejemplos sera la misma:

ls -l -r
ls -rl
ls -lr

Como se explic anteriormente, la opcin -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 sern nicas. Recuerdas la sorpresa de la de
la opcin 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 opcin -v (verbose o salida detallada en espaol):

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 mltiples 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 mltiples pueden ser introducidas por separado o combinadas:
aptitude -v -v moo
aptitude -vv moo

Sigue aadiendo las opciones -v para que veas cuntas respuestas nicas puedes obtener!

Imprimiendo un Directorio de Trabajo

Para descubrir dnde ests ubicado actualmente en el sistema de archivos, puedes utilizar el
comando pwd. El comando pwd imprime el directorio de trabajo, tu ubicacin actual en el
sistema de archivos:
pwd [OPCIONES]

Para considerar
An no enciendas tu impresora! En los inicios de la informtica la salida de lnea de
comandos sera enviada a las impresoras fsicas. Este mtodo fue reemplazado por pantallas
de video que pueden mostrar la informacin ms rpidamente. Todava usamos la
palabra imprimir (o print en ingls) a pesar de que la salida slo 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 continuacin.
Para considerar
Observa que nuestras mquinas 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:~$

Despus de cambiar de directorios, tambin puede confirmarse la nueva ubicacin en el


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

Cambiando Directorios
Los archivos se utilizan para almacenar datos tales como texto, grficos y programas. Los
directorios se utilizan para guardar archivos y proporcionar una estructura de organizacin
jerrquica. La imagen de abajo muestra una versin abreviada de la estructura del sistema de
archivos en las mquinas virtuales.
Al iniciar una mquina virtual nueva, abriendo el curso o despus usando el botn reiniciar,
ests 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 espaol) para cambiar directorios.

cd [opciones] [ruta]

Si nos fijamos en el grfico anterior, el directorio Documents est ubicado en el


directorio home, donde se encuentra actualmente. Para moverte a un directorio desde tu
ubicacin 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 ms populares, una estructura de directorios de Linux tiene un nivel superior. No se
llama Mi PC, sino ms bien el directorio root (o raz en espaol) y est representado por
el carcter /. Para moverse al directorio raz, utiliza el carcter / como argumento para el
comando cd.

sysadmin@localhost:~$ cd /
El argumento para el comando cd es ms que slo el nombre de un directorio, en realidad es
una ruta de acceso (o path en ingls). Una ruta de acceso es una lista de directorios
separados por el carcter /. 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 ubicacin 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 raz del sistema de archivos, las rutas relativas se consideran a
partir de tu ubicacin actual en el sistema de archivos.

Las Rutas Absolutas


Una ruta absoluta te permite especificar la ubicacin exacta de un directorio. Siempre empieza
en el directorio raz, por lo tanto siempre comienza con el carcter /. La ruta al directorio de
inicio /home/sysadmin es una ruta absoluta. La ruta comienza en el directorio raz /, pasa al
directorio home y luego al directorio sysadmin. Siguiendo este camino en una interfaz grfica
de usuario (GUI) como tu computadora de casa, se vera 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 confrmalo
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 ubicacin actual
en el sistema de archivos. Las rutas relativas no empiezan con el carcter /, 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 ms simple: el nombre de un directorio en tu
ubicacin actual.

sysadmin@localhost:~$ cd Documents
sysadmin@localhost:~/Documents$
La siguiente imagen muestra un mapa de los archivos contenidos en el directorio sysadmin.
Actualmente ests 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 carcter / para
separar los nombres de directorio. El resultadoSchool/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.


Tambin indicado como:
Para considerar
En el ejemplo anterior el comando cd haba seguidola ruta de acceso School/Art:
cd School/Art

Una ruta de acceso puede tambin dividirse en mltiples comandos cd. El siguiente conjunto
de comandos lograra los mismos resultados:
cd School
cd Art

Los Accesos Directos o Atajos


El Carcter ..
Sin importar en qu directorio ests, .. 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 Carcter .
Sin importar en qu directorio ests, el carcter . siempre representa tu directorio actual. Para
el comando cd este acceso directo no es muy til, pero ser muy til para otros comandos.
El carcter ~

El directorio de inicio del usuario actual est representado por el carcter ~. 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 ~

Acceso Administrativo
Hay muchos comandos de Linux que lidian con la informacin sensible como contraseas,
hardware del sistema, u operan bajo otras circunstancias excepcionales. Previniendo que los
usuarios habituales ejecuten estos comandos ayuda a proteger el sistema. Iniciar la sesin
como el usuario root proporciona acceso de administrador, lo que permite la ejecucin 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 creacin 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 opcin login shell, ya que el login shell configura un shell
completamente nuevo con la configuracin del nuevo usuario. Esta opcin puede ser
especificada de tres maneras:
su -
su -l
su --login

Despus de ejecutar el comando su, se requiere una contrasea. En nuestras mquinas


virtuales, la contrasea para ambas cuentas, la de root y, sysadmin es netlab123. Si la
olvidas, sta se muestra cada vez que se inicia una nueva mquina virtual. Como medida de
seguridad, la contrasea 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 sesin como
usuario root. Para cerrar la sesin 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 espaol), 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 tambin. Para
especificar otro usuario de cuenta utiliza la opcin -u.
Ejecuta el comando sl como el usuario root poniendo sudo delante de ste:

sysadmin@localhost:~$ sudo sl
Password:

Nota:
Recuerda que la contrasea es netlab123. El prompt de la contrasea no aparecer de
nuevo mientras el usuario contina 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 slo proporciona acceso administrativo para la ejecucin
del comando especificado. Esto es una ventaja, ya que reduce el riesgo de que un usuario
accidentalmente ejecute un comando como root. La intencin 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
informacin 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 continuacin vas a ver una revisin 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 carcter de esta salida indica el tipo de un archivo. Recuerda que si el primer
carcter es un -, entonces es un archivo regular. Si el carcter era una d, entonces es un
directorio.

Campo de los Persmisos


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

Despus del carcter del tipo de archivo, se muestran los permisos. Los permisos se dividen
en tres grupos de tres caracteres:

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 ningn efecto.
El usuario que posee el archivo y a quin 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

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
tendrn ningn 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

Otro
-rw-rw- r-- 1 sysadmin sysadmin 21 Aug 1 02:35 hello.sh
El ltimo conjunto para todos los dems, 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 ejecucin. 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

read (o Permite que el contenido del Sin permiso de ejecucin en el


leer en archivo se lea o copie. directorio, permite un listado no
espaol) detallado de los archivos. Con
(r) permiso de ejecutar, el
comando ls -l puede
proporcionar una lista detallada.

write (o Permite modificar y Para que este permiso funcione,


escribir sobrescribir el contenido. el directorio debe tambin tener el
en espaol) Permite aadir o quitar los permiso de ejecucin.
archivos de un directorio.

execute (o Permite que un archivo se Permite a que un usuario se


ejecutar ejecute como un proceso, cambie al directorio si el directorio
en espaol) aunque los archivos de padre tiene tambin permiso de
script tambin requieren escritura.
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 slo 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 aplicarn slo los permisos del usuario propietario.

Cambiar los Permisos de Archivo


El comando chmod se utiliza para cambiar los permisos de un archivo o directorio. Slo 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 sola referir
como modos de acceso, por lo que el comando chmodrealmente significa cambiar los modos
de acceso. (o change the modes of access en ingls)
Hay dos mtodos para cambiar los permisos con el comando chmod: simblico y octal. El
mtodo simblico es bueno para cambiar un conjunto de permisos a la vez. El mtodo octal o
numrico 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 slo el mtodo simblico. Para aprender ms sobre el mtodo octal
puedes consultar el curso NDG Linux Essentials.
Observa
Utiliza el siguiente comando para cambiar al directorio Documents:
sysadmin@localhost:~$ cd ~/Documents

El Mtodo Simblico
chmod [<COJUNTO DE PERMISOS><ACCIN><PERMISOS>]... ARCHIVO

Para utilizar el mtodo simblico del chmod primero tienes que indicar que conjunto de
permisos vas a cambiar:

chmod [ <CONJUNTO DE PERMISOS> <ACCIN><PERMISOS>]... ARCHIVO

Smbolo 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 continuacin, especifica un smbolo de accin:

chmod [<CONJUNTO DE PERMISOS> <ACCIN> <PERMISOS>]... ARCHIVO


Smbolo Significado

+ Agregar el permiso, si es necesario

= Especificar el permiso exacto

- Quitar el permiso, si es necesario

Despus de un smbolo de accin, especifica uno o ms permisos sobre el que quieres actuar.

chmod [<CONJUNTO DE PERMISOS><ACCIN> <PERMISOS> ]... ARCHIVO

Smbolo Significado

r lectura

w escritura

x ejecucin

Por ltimo, un espacio y los nombres de los archivos para asignar los permisos.

chmod [<CONJUNTO DE PERMISOS><ACCIN><PERMISOS>]... ARCHIVO

El archivo hello.sh utilizado en los ejemplos en la pgina 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 ejecucin 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 sesin como el usuario sysadmin, y el sysadmin es el dueo
de este archivo, proporcionar al usuario propietario el permiso de ejecucin debe permitirte
ejecutar este script. Al usar el comando chmod con el carcter u para representar el conjunto
de permisos del propietario usuario, el carcter + para indicar que se aade un permiso, y el
carcter x para representar el permiso de ejecucin, 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 ejecucin listado:

-rw x rw-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
continuacin:

./hello.sh
sysadmin@localhost:~/Documents$ ./hello.sh
______________
( Hello World! )
--------------
\
\
<(^)
( )

Para considerar
Observa que para ejecutar la secuencia de comandos en el ejemplo anterior, la combinacin
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 tambin permite cambiar la
propiedad del grupo, que se puede lograr a travs 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 dueo. El segundo
argumento FILE especifica de qu archivo est cambiando de propiedad.

chown [OPCIONES] [DUEO] 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.origina
l
-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 rootcomo primer
argumento y hello.sh como segundo argumento. No olvides utilizar el comando sudo para
obtener los privilegios de administrador necesarios. Utiliza la contrasea 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

Slo el usuario propietario tiene el permiso de ejecucin, 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! )
--------------
\
\
<(^)
( )

Previous

Next

Mover los Archivos


El comando mv sirve para mover un archivo desde una ubicacin 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 dnde
se mover el archivo. Los archivos que se quieren copiar a veces se denominan fuente y la
ubicacin a dnde 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 administracin de archivos,
como el comando mv. Mover un archivo requiere permisos de escritura y ejecucin en ambos
directorios, el origen y el destino.
Pinginos en el Espacio! NASA utiliza Linux. La Estacin Espacial Internacional funciona en
Linux. Hemos migrado las funciones clave de Windows a Linux porque necesitbamos un
sistema operativo estable y fiable. El Mars Rover Curiosity.

Previous

Next

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 extrables.
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 tambin
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 carcter . Recuerda de la seccin de Cambiar de Directorios que
es un acceso directo que representa el directorio actual.
El resultado de ejecutar el comando anterior creara 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 administracin del archivo,
como el comando cp. Para copiar un archivo, es necesario tener el permiso de ejecucin para
acceder al directorio en el cul se encuentra el archivo y el permiso de lectura para el archivo
que se est copiando.
Tambin es necesario tener el permiso de escritura y de ejecucin 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 ejecucin 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 caractersticas 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 ingls) a los
dispositivos extrables, 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 espaol).
Se puede utilizar para crear un archivo de un tamao especfico que se llena con ceros
binarios y se puede utilizar despus 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 tamao:

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 cmo va a funcionar. A


continuacin se ilustran algunos de los argumentos ms comnmente utilizados:

Argumento Descripcin

if Archivo de entrada: El archivo de entrada del que se hace la


lectura.

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 nmero ilimitado de ceros.

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

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

bs Tamao del bloque: El tamao 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.
Argumento Descripcin

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

El ejemplo utiliza un tamao de bloque de un megabyte.

count Cantidad: El nmero de bloques a leer desde el archivo de


entrada.

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

El comando de ejemplo lee 50 bloques.

Para considerar
Cuando se copia el dispositivo entero no hay que especificar tamao 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 lo 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 tpicamente 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 deba eliminar; para eliminar un directorio utiliza la
opcin recursiva del parmetro, ya sea la opcin -r o -R. Slo 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 botn reset.
Para considerar
Los permisos pueden tener un impacto en los comandos de la administracin de archivo,
como el comando rm.
Para eliminar un archivo en un directorio, el usuario debe tener permiso de escritura y permiso
de ejecucin en un directorio. Los usuarios normales normalmente slo tienen este tipo de
permiso en su directorio home y sus subdirectorios.

Filtrado de Entrada
El comando grep es un filtro de texto que buscar las entradas y devolver las lneas que
coinciden con el patrn determinado.

grep [OPCIONES] PATRN [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 Seccin 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 informacin sobre un usuario especfico, como el usuario sysadmin.
Utiliza sysadmin como el argumento del patrn 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 lnea del passwd que contiene el patrn sysadmin.
Nota:
Esta lnea es la entrada /etc/passwd que pertenece al usuario sysadmin y proporciona
informacin que est fuera del alcance de este curso. Para ms informacin sobre este
archivo, puedes consultar el curso NDG Linux Essentials.
El ejemplo anterior utiliza un trmino de bsqueda simple como el patrn, sin
embargo grep puede interpretar patrones de bsqueda mucho ms complejos.

Previous

Next

Las Expresiones Regulares


Las expresiones regulares tienen dos formas comunes: la bsica y la extendida. La mayora
de los comandos que usan las expresiones regulares pueden interpretar las expresiones
regulares bsicas. Sin embargo, las expresiones regulares extendidas no estn disponibles
para todos los comandos y normalmente se requiere una opcin de comando para que
funcionen correctamente.
La siguiente tabla resume los caracteres de las expresiones regulares bsicas:

Los Caracteres Regex Bsicos Significado

. Cualquier carcter individual

[ ] Cualquier carcter especificado

[^ ] No el carcter especificado

* Cero o ms de los carcter previos

^ Si ^ es el primer carcter en el patrn,


entonces el patrn debe estar al principio
de la lnea que debe coincidir, de lo
contrario solo un literal ^.

$ Si $ es el ltimo carcter en el patrn,


entonces el patrn debe estar al final de la
lnea 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 opcin -E con el comando grep:

Los Carcteres Regex Extendidos Significado

+ Uno o ms de los patrones previos

? El patrn anterior es opcional


Los Carcteres Regex Extendidos Significado

{ } Especificar las coincidencias mnimas,


mximas o exactas del patrn anterior

| Alternancia - una o lgica

( ) Permite crear grupos

Este curso slo incluye las expresiones regulares bsicas. Para obtener ms informacin
sobre las expresiones regulares extendidas, puedes ver los cursos NDG Linux
Essentials y NDG Introduction to Linux

Patrones Bsicos
Las expresiones regulares son patrones que slo 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 pgina harn uso de las
expresiones regulares para demostrar su poder cuando se utilizan con el comando grep.
Adems, estos ejemplos proporcionan una demostracin muy visual de cmo funcionan las
expresiones regulares, el texto que coincide con los patrones de bsqueda se mostrar en
rojo.
Observa
Utiliza el siguiente comando cd para cambiar al directorio Documents.
sysadmin@localhost:~$ cd ~/Documents

La ms simple de todas las expresiones regulares utiliza solamente los caracteres literales,
como en el ejemplo de la pgina 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 bsqueda. Por ejemplo, el patrn rootaparece 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 carcter de anclaje ^ se utiliza para asegurar que un patrn aparezca al principio de
la lnea. Por ejemplo, para encontrar todas las lneas en /etc/passwd que comienzan
con root, utiliza el patrn ^root. Ten en cuenta que ^ debe ser el primer carcter en el
patrn 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 carcter de anclaje $ se puede utilizar para un patrn que aparece al final de la
lnea para reducir resultados de bsqueda de manera eficiente. Para encontrar las lneas que
terminan con una r en el archivo alfa-first.txt, utiliza el patrn r$:

sysadmin@localhost:~/Documents$ grep 'r$' alpha-first.txt


B is for Bear
F is for Flower

Una vez ms, la posicin de este carcter es importante, el $ debe ser el ltimocarcter en el
patrn para que sea eficaz como un ancla.

Coincidir un solo carcter 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 ms tiles es el . Coincidir con cualquier carcter excepto el carcter
que define un salto de lnea. El patrn r..f encuentra cualquier lnea que contiene la
letra r seguida por exactamente dos caracteres (que pueden ser cualquier carcter menos un
salto de lnea) 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 carcter puede ser utilizado cualquier nmero de veces. Para encontrar todas las
palabras que tengan al menos cuatro caracteres puedes usar el siguiente patrn:

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


reef
reeed
roof
reed
root
reel
read

La lnea no tiene que ser una coincidencia exacta, simplemente tiene que contener el patrn,
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 carcter utilizando [ ]


Los corchetes [ ] buscan coincidencias con un slo carcter 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 lneas en el archivo profile.txt que incluyen un nmero, utiliza el
patrn [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 lneas que contienen caracteres no numricos,
introduce un ^ como el primer carcter dentro de los corchetes. Este carcter 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 lneas que no contienen nmeros. En realidad la bsqueda
coincidir con las lneas que contienen caracteres no numricos. Observa el archivo original
para ver la diferencia. La tercera y sexta lneas contienen slo nmeros, no contienen
caracteres no numricos, por lo que esas dos lneas no coinciden con el patrn de bsqueda.
Cuando otros caracteres de expresiones regulares se colocan dentro de los corchetes, se
consideran caracteres literales. Por ejemplo, el carcter . normalmente coincide con cualquier
carcter, pero si se coloca dentro de los corchetes, entonces slo coincidir con s mismo. En
el siguiente ejemplo, slo las lneas que contienen el carcter . coincidirn.

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 carcter repetido o con patrones


usando *
El carcter de expresin regular * se utiliza para que coincida con cero o ms apariciones del
carcter o patrn que le precede. Por ejemplo e* coincidir con cero o ms 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

Tambin es posible que coincida con cero o ms ocurrencias de una lista de caracteres
utilizando los corchetes. El patrn [oe]* utilizado en el siguiente ejemplo coincidir con cero
o ms ocurrencias del carcter o o bien el carcter e:

sysadmin@localhost:~/Documents$ grep 'r[oe]*d' red.txt


red
reeed
rd
rod
reed

Cuando se usa solo con un carcter, * no es muy til. Cualquiera de los siguientes patrones
coincidir con cualquier cadena o lnea 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 patrn. Para que el * sea til, es
necesario crear un patrn que incluya ms de un carcter antes de *. Por ejemplo, los
resultados anteriores se pueden refinar aadiendo otra letra e para que el patrn ee* coincida
de manera efectiva con cada lnea que contenga al menos una e.

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


red
reef
reeed
reed
reel
read

Entrada estndar
Si no se proporciona un nombre de archivo, el comando grep leer desde la entrada estndar,
que normalmente es la informacin proporcionada mediante el teclado por el usuario que
ejecuta el comando. Esta accin proporciona una experiencia interactiva con el
comando grep ya que el usuario teclea la entrada y el comando grep la va filtrando. Sintete
libre de probarlo, solo presiona Ctrl-Dcuando ests listo para regresar al prompt.

Observa
Usa el siguiente commando cd para regresar al directorio de inicio:
sysadmin@localhost:~/Documents$ cd ~
Linux es Cdigo Abierto Lo que lo hace extremadamente verstil!
Internet de las Cosas // Cmputo en la Nube // Big Data // DevOps
Redes // Seguridad Ciberntica // Diseo y Plan de Arquitectura // Administracin de datos

Previous

Next

Apagar
El comando shutdown (o apagar en espaol) 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 bloquearn.

shutdown [OPCIONES] HORA [MENSAJE]

Observa
El comando shutdown requiere acceso de administrador. Cambiate a la cuenta root para
esta seccin usando el siguiente comando. Utiliza la contrasea netlab123.
sysadmin@localhost:~$ su -
Password:
root@localhost:~#

Nuestras mquinas virtuales no se apagarn! Sintete en libertad de utilizar el comando, pero


ten en cuenta que despus de la cuenta regresiva haya terminado, solamente regresars 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
espaol), una hora del da en el formato hh:mm o el nmero 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 mquinas, el formato
predeterminado de la salida del comando date (o fecha en espaol) 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 tambin 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

Previous

Next
Configuracin de la Red
El comando ifconfig significa interface configuration (o configuracin de la interfaz en
espaol) y se utiliza para mostrar la informacin de configuracin de red.
ifconfig [OPCIONES]

Nota:
El comando iwconfig es similar al comando ifconfig, pero est enfocado a las interfaces de
red inalmbrica.
No todas las configuraciones de red son importantes para este mdulo, pero es importante
observar en la salida de abajo la direccin 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 espaol).
Es un dispositivo de red especial utilizado por el sistema cuando ste enva los datos basados
en red a s mismo.
El comando ifconfig tambin puede ser utilizado para modificar temporalmente la
configuracin de red. Normalmente estos cambios deben ser permanentes, por lo que
utilizando el comando ifconfig para hacer tales cambios es algo bastante raro.

Previous
Next

Potrebbero piacerti anche