0% encontró este documento útil (0 votos)
17 vistas18 páginas

Linux Essentials, Capitulo 4, Practica

El documento describe un laboratorio sobre los fundamentos de la línea de comandos en Linux, donde los estudiantes aprenderán a utilizar funciones básicas del shell como explorar características de Bash, usar variables y entender globbing. Se presentan comandos esenciales como 'whoami', 'uname', y 'pwd', así como el uso de variables y caracteres glob para la manipulación de archivos. Además, se explican las comillas en Bash y las instrucciones de control para ejecutar múltiples comandos.

Cargado por

angela Angela
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
17 vistas18 páginas

Linux Essentials, Capitulo 4, Practica

El documento describe un laboratorio sobre los fundamentos de la línea de comandos en Linux, donde los estudiantes aprenderán a utilizar funciones básicas del shell como explorar características de Bash, usar variables y entender globbing. Se presentan comandos esenciales como 'whoami', 'uname', y 'pwd', así como el uso de variables y caracteres glob para la manipulación de archivos. Además, se explican las comillas en Bash y las instrucciones de control para ejecutar múltiples comandos.

Cargado por

angela Angela
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 18

4.

1 Introducción
Este es Lab 4: Los fundamentos de la Línea de Comandos. Mediante la
realización de esta práctica de laboratorio, los estudiantes aprenderán cómo
utilizar las funciones básicas del shell.
En este capítulo harás las siguientes tareas:
 Explorar características Bash
 Usar variables shell
 Entender como usar globbing
 Ser capaz de usar comillas
4.2 Los Archivos y los Directorios
En esta tarea vamos a acceder a la interfaz de línea de comandos (CLI) para
Linux para explorar cómo ejecutar los comandos básicos y ver como afecta la
forma en que se pueden ejecutar.
La mayoría de los usuarios probablemente están más familiarizados con cómo
se ejecutan los comandos utilizando una interfaz gráfica de usuario (GUI). Por
lo tanto, probablemente esta tarea presente algunos conceptos nuevos para ti,
si no habías trabajado previamente con una CLI. Para utilizar una CLI, tendrás
que introducir el comando que quieras ejecutar.
La ventana donde escribirás el comando se conoce como un emulador de la
terminal. Dentro de la ventana de la terminal, el sistema está mostrando un
prompt (símbolo), que actualmente contiene un prompt seguido por un cursor
parpadeante:

Recuerda: Es posible que tengas que presionar Entrar en la ventana para


visualizar la línea.
El promt te dice que eres un usuario sysadmin; el host o la computadora que
estás utilizando: localhost; y el directorio en el que te encuentras: ~, lo cuál
representa el directorio inicial.
Cuando introduces un comando, éste aparecerá en el cursor de texto. Puedes
utilizar las teclas como inicio, fin, retroceso, y teclas de flecha para la
editar el comando que estás introduciendo.
Una vez que hayas introducido el comando correctamente,
presiona Entrar para ejecutarlo.
4.2.1 Paso 1
El siguiente comando mostrará la misma información que ves en la primera
parte del prompt. Asegúrate de que hayas seleccionado (hecho clic) la primera
ventana de la Terminal e introducido el siguiente comando seguido por la
tecla Entrar:
whoami
El resultado debe ser similar al siguiente:

La salida del comando whoami visualiza el nombre del usuario actual. Aunque
en este caso el nombre de usuario se muestra en el prompt, este comando se
podría utilizar para obtener esta información en una situación en la que el
prompt no contuviera tal información.
4.2.2 Paso 2
El siguiente comando muestra información sobre el sistema actual. Para poder
ver el nombre del kernel que estás utilizando, introduce el siguiente comando
en la terminal:
uname
El resultado debe ser similar al siguiente:

Muchos de los comandos que se ejecutan producen salida de texto como ésta.
Puedes cambiar la salida producida con un comando mediante el uso de
las opciones después del nombre del comando.
Las opciones para un comando se pueden especificar de varias formas.
Tradicionalmente, en UNIX, las opciones se expresaban por un guión seguido
por otro carácter, por ejemplo: -n.
En Linux, las opciones pueden a veces también ser dadas por dos caracteres
de guión seguidos por una palabra o palabra con guión, por ejemplo: --
nodename.
Ejecuta el comando uname de nuevo dos veces en la terminal, una vez con la
opción -n y de nuevo con la opción --nodename. Esto mostrará el nombre del
host del nodo de la red, también visualizado en el prompt.
uname -n
uname --nodename
El resultado debe ser similar al siguiente:
4.2.3 Paso 3
El comando pwd se utiliza para mostrar tu «ubicación» actual o el directorio de
«trabajo» actual. Introduce el siguiente comando para visualizar el directorio
de trabajo:
pwd
El resultado debe ser similar al siguiente:

El directorio actual en el ejemplo anterior es /home/sysadmin. Esto también se


conoce como tu directorio home , una ubicación especial en la que controlas
los archivos y al que los otros usuarios normalmente no tienen acceso. De
forma predeterminada, este directorio tiene el mismo nombre que tu nombre
de usuario y se encuentra bajo el directorio /home.
Como puedes ver en la salida del comando, /home/sysadmin, Linux utiliza la
barra diagonal / para separar los directorios para crear lo que se
denomina ruta. La barra diagonal inicial representa el directorio de nivel
superior, conocido como el directorio root . Más información sobre los archivos,
directorios y caminos se presentará en los laboratorios posteriores.
El tilde ~ que ves en el prompt también está indicando cuál es el directorio
actual. Este carácter es una forma de «acceso directo» para representar tu
home.
Considera Esto
El comando pwd significa «imprimir el directorio de trabajo». A pesar de que
las versiones modernas en realidad no «imprimen», las máquinas UNIX más
antiguas no tenían monitores y la salida de los comandos iban a una impresora,
de ahí el nombre divertido de pwd.
4.3 Variables del Shell
Las variables del Shell se utilizan para almacenar los datos en Linux. Estos
datos los utiliza el propio shell, los programas y los usuarios.
El enfoque de esta sección es aprender cómo mostrar los valores de las
variables del Shell.
4.3.1 Paso 1
El comando echo se puede utilizar para imprimir el texto, el valor de una
variable y mostrar cómo el entorno del shell expande los metacaracteres (más
detailles sobre los metacaracteres más adelante en este laboratorio). Introduce
el siguiente comando para que de salida a texto literal:
echo Hello Student
El resultado debe ser similar al siguiente:

4.3.2 Paso 2
Introduce el siguiente comando para mostrar el valor de la variable PATH:
echo $PATH
El resultado debe ser similar al siguiente:

/home/
sysadmin/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/
games
La variable PATH se visualiza mediante la colocación del carácter $ delante del
nombre de la variable.
Esta variable se utiliza para encontrar la ubicación de los comandos. Cada uno
de los directorios mencionados anteriormente se buscan cuando ejecutas un
comando. Por ejemplo, si intentas a ejecutar el comando date, el shell buscará
el comando primero en el directorio /home/sysadmin/bin, luego en el
directorio /usr/local/sbin y así sucesivamente. Una vez el shell encuentra el
comando date, «lo ejecuta».
4.3.3 Paso 3
Utiliza el comando which para determinar si existe un archivo ejecutable
llamado date ubicado en un directorio que aparece en el valor PATH:
which date
El resultado debe ser similar al siguiente:
La salida del comando which te dice que cuando ejecutas el comando date, el
sistema ejecutará el comando /bin/date. El comando which hace uso de la
variable PATH para determinar la ubicación del comando date.
4.4 Globbing
El uso de los caracteres glob en Linux es similar a lo que muchos sistemas
operativos se refieren como caracteres «wildcard». Utilizando los caracteres
glob haces coincidir los nombres de archivos usando patrones.
Los caracteres glob son una característica del shell, no es algo propio de algún
comando específico. Como resultado de ello, puedes utilizar los caracteres glob
con cualquier comando de Linux.
Cuando se utilizan los caracteres glob, el shell «expande» todo el patrón para
coincidir con todos los archivos en el directorio especificado que coincide con el
patrón.
A efectos de demostración, vamos a utilizar el comando echo para visualizar
este proceso de expansión.
4.4.1 Paso 1
Utiliza el siguiente comando echo para mostrar todos los nombres de archivo
en el directorio actual que coincide con el patrón global *:
echo *
El resultado debe ser similar al siguiente:

Desktop Documents Downloads Music Pictures Public Templates Videos


El asterisco * busca «cero o más» coincidencias de caracteres en un nombre de
archivo. En el ejemplo anterior, esto se traduce en la adecuación de todos los
nombres del archivo en el directorio actual.
El comando echo, a su vez, muestra los nombres del archivo que fueron
agrupados.

4.4.2 Paso 2
Los siguientes comandos mostrarán todos los archivos en el directorio actual
que comienzan con la letra D y la letra P:
echo D*
echo P*
El resultado debe ser similar al siguiente:

Piensa en el primer ejemplo, D*, como «coincidencia con todos los nombres de
archivo en el directorio actual que comienzan con la letra d en mayúscula y
tienen cero o más de cualquier otro carácter después de la letra D».
4.4.3 Paso 3
El asterisco * se puede utilizar en cualquier lugar de la cadena. El siguiente
comando mostrará todos los archivos en tu directorio actual que terminan en la
letra s:
echo *s
El resultado debe ser similar al siguiente:

4.4.4 Paso 4
Observa que el asterisco también puede aparecer varias veces o en medio de
varios caracteres:
echo D*n*s
El resultado debe ser similar al siguiente:

El siguiente metacarácter glob que vamos a examinar es el signo de


interrogación ?. El signo de interrogación coincide exactamente con un
carácter. Este único carácter puede ser cualquier carácter posible.
Al igual que el asterisco, se puede utilizar en cualquier lugar de una cadena y
puede aparecer varias veces.
4.4.5 Paso 5
Dado que cada signo de interrogación coincide con un carácter desconocido,
introduciendo seis de ellos coincidirán con los nombres de archivo de seis
caracteres. Introduce lo siguiente para mostrar los nombres de los archivos que
tienen exactamente seis caracteres:
echo ??????
El resultado debe ser similar al siguiente:

Importante:
Cada carácter ? debe coincidir exactamente con un carácter en un nombre de
archivo, ni más ni menos de un carácter.
4.4.6 Paso 6
Utilizando el signo de interrogación con otros caracteres se limitarán las
coincidencias. Escribe lo siguiente para mostrar los nombres de los archivos
que comienzan con la letra D y tienen exactamente nueve caracteres:
echo D????????
El resultado debe ser similar al siguiente:

4.4.7 Paso 7
Los comodines o caracteres glob pueden combinarse entre sí. El siguiente
comando mostrará los nombres de archivo que tienen al menos seis caracteres
y terminan en la letra s.
echo ?????*s
El resultado debe ser similar al siguiente:
Piensa en el patrón ?????*s en el sentido de «coincide con los nombres de
archivo que comienzan con cualquier cinco caracteres, y luego tenga cero o
más caracteres y luego termine con el carácter s».
4.4.8 Paso 8
El siguiente glob es similar al glob signo de interrogación para especificar un
carácter. Este glob utiliza un par de corchetes [ ] para especificar qué se le
permitirá a un carácter. Los caracteres permitidos se pueden especificar como
una serie, una lista, o por lo que se conoce como una clase de caracteres.
Los caracteres permitidos también pueden ser anulados con un signo de
exclamación !.
En el primer ejemplo, el primer carácter del nombre de archivo puede ser o
bien una D o una P. En el segundo ejemplo, el primer carácter puede ser
cualquier carácter excepto una D o P:
echo [DP]*
echo [!DP]*
El resultado debe ser similar al siguiente:

4.4.9 Paso 9
En estos siguientes ejemplos se especifica una serie de caracteres. En el
primer ejemplo, el primer carácter del nombre de archivo puede ser cualquier
carácter que comienze cualquier carácter entre la D y la P. En el segundo
ejemplo, este rango de caracteres es negado, lo que significa cualquier
carácter individual coincidirá, excepto si está entre la letra D y la P:
echo [D-P]*
echo [!D-P]*
El resultado debe ser similar al siguiente:
Te podrías preguntar «¿quién decide qué letras haya entre la D y la P? ». En
este caso la respuesta es bastante obvia (E, F, G, H, I, J, K, L, M, N y O), pero
¿qué tal que el rango fuese [1-A]?
Para determinar el rango de caracteres se utiliza la tabla de texto ASCII. Puedes
consultar esta tabla mediante su búsqueda en Internet o introduciendo el
comando siguiente, el comando ascii.
Por lo tanto, ¿con qué caracteres coincidirá el glob [1-A] ? De acuerdo con la
tabla de texto ASCII: 1, 2, 3, 4, 5, 6, 7, 8, 9, :, ;, <, =, >, ?, @ y A.
4.5 Las Comillas
Hay tres tipos de comillas utilizadas por Shell Bash: comillas simples ('),
comillas dobles (") comilla invertida (`). Estas comillas tienen características
especiales dentro de shell bash tal como se describe a continuación.
Para entender las comillas simples y dobles, considera que a veces no quieres
que el shell trate algunos caracteres como «especiales». Por ejemplo, como
viste anteriormente en este laboratorio, el carácter * se utiliza como comodín.
¿Y que pasa si quieres que el carácter * signifique solamente un asterisco?
Las comillas simples evitan que el shell «interprete» o expanda todos los
caracteres especiales. A menudo, las comillas simples se utilizan para proteger
una cadena de ser cambiada por el shell, por lo que la cadena puede ser
interpretada por un comando como parámetro para afectar la forma en la cuál
se ejecuta el comando.
Las comillas dobles detienen la expansión de los caracteres glob como el
asterisco (*), signo de interrogación (?) y corchetes ( [ ] ). Las comillas dobles
no permiten que la expansión de las variables y la sustitución de los comandos
(ver comilla invertida) se lleve a cabo.
Las comillas invertidas causan «sustitución del comando», que permite que un
comando ejecute dentro de la línea de otro comando.
Al utilizar las comillas, se deben introducir en pares o de lo contrario el shell no
considerará el comando como completo.
Mientras que las comillas simples son útiles para que el shell no interprete uno
o más caracteres, el shell también proporciona una manera de bloquear la
interpretación de un solo carácter llamado «escaping». Para «evadir» el
significado especial de un metacarácter del shell, se utiliza la barra
invertida \ como un prefijo para ese único carácter.
4.5.1 Paso 1
Ejecuta el siguiente comando para usar las comillas invertidas ` para ejecutar
el comando date dentro de la línea del comando echo:
echo Today is `date`
El resultado debe ser similar al siguiente:
4.5.2 Paso 2
También puedes colocar un $ ( antes del y ) después del comando para llevar a
cabo la sustitución de comandos:
echo Today is $(date)
El resultado debe ser similar al siguiente:

¿Por qué dos


métodos diferentes pueden lograr lo mismo? Las comillas invertidas se parecen
mucho a las comillas simples, por lo que es más difícil «ver» lo que un
comando debería hacer. Originalmente los shell utilizaban las comillas
invertidas; el formato $(comando) se añadió en una versión posterior del shell
bash para que la instrucción fuera visualmente más clara.
4.5.3 Paso 3
Si no quieres que se usen las comillas invertidas para ejecutar un comando,
coloca alrededor de ellas las comillas simples. Ejecuta lo siguiente:
echo This is the command '`date`'
El resultado debe ser similar al siguiente:

4.5.4 Paso 4
Ten en cuenta que también puedes colocar una barra invertida delante de cada
comilla invertida. Ejecuta lo siguiente:
echo This is the command \`date\`
El resultado debe ser similar al siguiente:
4.5.5 Paso 5
Las comillas dobles no tienen ningún efecto sobre las comillas invertidas. El
shell las seguirá utilizando como una sustitución del comando. Ejecuta lo
siguiente para ver una demostración:
echo This is the command "`date`"
El resultado debe ser similar al siguiente:

4.5.6 Paso 6
Las comillas dobles tendrán efecto sobre los caracteres comodín de tal manera
que deshabilitan su significado especial. Ejecuta lo siguiente:
echo D*
echo "D*"
El resultado debe ser similar al siguiente:

Importante:
Las comillas pueden parecer triviales y raras en este momento, pero a medida
que adquieras más experiencia de trabajo en el shell de comandos, descubrirás
que entender bien cómo las diferentes comillas funcionan es fundamental para
el uso del shell.
4.6 Las Instrucciones de Control
Por lo general, introduces un solo comando y lo ejecutas presionando Entrar.
El shell Bash ofrece tres estados diferentes que se pueden utilizar para separar
varios comandos escritos juntos.
El separador más simple es el punto y coma (;). El uso de punto y coma entre
múltiples comandos les permite ejecutarse el uno tras el otro de forma
secuencial de la izquierda a la derecha.
Los caraceters && crean una lógica e instrucción. Los comandos separados
por && se ejecutan de manera condicional. Si el comando a la izquierda
de && tiene éxito, entonces el comando a la derecha de && también será
ejecutado. Si el comando a la izquierda de && falla, entonces el comando a la
derecha de la && no se ejecuta.
Los caracteres || crean una lógica o una instrucción que también causa una
ejecución condicional. Cuando los comandos están separados por ||, entonces
sólo si el comando a la izquierda falla, el comando a la derecha de || se ejecuta.
Si el comando a la izquierda de || tiene éxito, entonces el comando a la
derecha de la || no se ejecuta.
Para ver cómo funcionan instrucciones de control, podrás utilizar dos
ejecutables especiales: true y false. El ejecutable true siempre tiene éxito
cuando se ejecuta, mientras que, el ejecutable false siempre falla. Si bien esto
no te puede proporcionar ejemplos realistas acerca de cómo && y || funcionan,
proporciona un medio para demostrar cómo funcionan sin tener que introducir
nuevos comandos.
4.6.1 Paso 1
Ejecuta los tres siguientes comandos juntos separadas por punto y coma:
echo Hello; echo Linux; echo Student
Como puedes ver en la salida, los tres comandos se ejecutan de forma
secuencial:

4.6.2 Paso 2
Ahora, pon juntos los tres comandos separados por punto y coma, donde el
primer comando se ejecuta con un resultado de fallo:
false; echo Not; echo Conditional
El resultado debe ser similar al siguiente:

Ten en cuenta que en el ejemplo anterior, los tres comandos se ejecutan a


pesar de que el primero falle. Aunque no lo puedes ver en la salida del
comando false, éste se ejecutó. Sin embargo, cuando los comandos están
separadas por el carácter ;, son completamente independientes entre sí.
4.6.3 Paso 3
A continuación, utiliza «logical and» («y» lógico) y para separar los comandos:
echo Start && echo Going && echo Gone
El resultado debe ser similar al siguiente:

Debido a que cada instrucción echo se ejecuta correctamente, se proporciona


un valor de retorno de éxito, permitiendo que la siguiente instrucción también
se ejecute.
4.6.4 Paso 4
Usa «y lógico» con un comando que falla como se muestra a continuación:
echo Success && false && echo Bye
El resultado debe ser similar al siguiente:

El primer comando echo se ejecuta correctamente y vemos su salida. El


comando false se ejecuta con un resultado de fallo, por lo que el último
comando echo no se ejecuta.
4.6.5 Paso 5
Los carácteres or que separan los siguientes comandos muestra cómo el
fracaso antes de la instrucción or provoca que el siguiente comando sea
ejecutado; sin embargo, la primera instrucción exitosa hace que el comando no
se ejecute:
false || echo Fail Or
true || echo Nothing to see here
El resultado debe ser similar al siguiente:
4.7 Historia del Shell
El shell bash mantiene un historial de los comandos que introduces. Los
comandos anteriores son fácilmente accesibles en esta historia de varias
maneras.
La primera y más fácil manera de llamar o recordar un comando anterior es el
uso de la tecla de flecha arriba. Cada presión de la tecla de flecha
arriba va hacia atrás un comando a través del historial. Si accidentalmente
vas atrás demasiado, entonces la tecla de flecha abajo irá hacia delante a
través del historial de los comandos.
Cuando encuentres el comando que quieres ejecutar, puedes utilizar las teclas
de flecha hacia izquierda y flecha hacia derecha para colocar el cursor
para edición. Otras teclas útiles para edición incluyen
Inicio, Fin, Retroceso y Suprimir.
Otra forma de utilizar el historial de comandos es ejecutar el
comando history para poder ver una lista numerada del historial. El número
que aparece a la izquierda del comando se puede utilizar para ejecutar el
comando de nuevo. El comando history también tiene una serie de opciones y
argumentos que pueden manipular cuáles de los comando se almacenarán o
se mostrarán.
4.7.1 Paso 1
Ejecuta algunos comandos y luego ejecuta el comando history:
date
clear
echo Hi
history
Recuerda: El comando date imprimirá la fecha y la hora en el sistema. El
comando clear borra la pantalla.
El resultado debe ser similar al siguiente:
Tus números de comando probablemente serán diferentes de los
proporcionados anteriormente. Esto se debe a que es probable que hayas
ejecutado un número diferente de comandos.
4.7.2 Paso 2
Para ver un número limitado de comandos, el comando history puede tomar un
número como un parámetro para mostrar exactamente ese número de
entradas recientes. Introduce el siguiente comando para mostrar los últimos
cinco comandos de tu historial:
history 5
El resultado debe ser similar al siguiente:

4.7.3 Paso 3
Para ejecutar un comando, introduce el signo de exclamación y el número de la
lista del historial. Por ejemplo, para ejecutar el comando número 94 en la lista
del historial, tienes que ejecutar lo siguiente:
!94
4.7.4 Paso 4
A continuación, experimenta con el acceso a tu historial utilizando las teclas
de flecha hacia arriba y teclas de flecha hacia abajo. Mantén presionada
la tecla de flecha arriba hasta encontrar un comando que quieras ejecutar. Si
fuera necesario, utiliza otras teclas para editar el comando y, a continuación,
presiona Entrar para ejecutar el comando.
Código:

También podría gustarte