Lab - Familiarizarse con el shell de Linux
En esta práctica de laboratorio, utilizará la línea de comandos de Linux para administrar archivos y carpetas, y para realizar algunas tareas administrativas básicas.
Parte 1: Conceptos básicos de Shell
Parte 2: Copiar, Eliminar y Mover archivos
= Máquina virtual Security Workstation
Instrucciones, Parte 1: Conceptos básicos de ShellShell es el término que se utiliza para hacer referencia al intérprete de comandos de Linux. También conocido como Terminal, Línea de comandos o Símbolo del sistema, el shell es un método muy versátil para interactuar con una computadora Linux.
a. Inicie sesión en la VM Security Workstation con analyst como usuario y cyberopscomo contraseña . En toda esta práctica de laboratorio se utiliza la cuenta analyst como el usuario ejemplo.
b.Para acceder a la línea de comando, haga clic en el icono del terminal que se encuentra en el Dock, en la parte inferior de la pantalla de la VM. Se abrirá el emulador de terminales.
Puede mostrar la ayuda de la línea de comandos con el comando man. Una página man, abreviatura de página manual, es una documentación integrada de los comandos Linux. Una página man proporciona información detallada sobre un comando y todas sus opciones disponibles.
a. Para obtener más información sobre la página man, escriban:
[analyst@secOps ~]$ man man
Mencione algunas de las secciones que se incluyen en una página man.
b.Escriba q para salir de la página man.
c. Utilice el comando man para obtener más información sobre el comando cp :
[analyst@secOps ~]$ man cp
¿Cuál es la función del comando cp ?
¿Qué comando utilizaría para encontrar más información sobre el comando pwd ? ¿Cuál es la función del comando pwd ?
En este paso, utilizará los comandos cambiar directorio (cd), crear directorio (mkdir) y enumerar directorio (ls).
Nota: Directorio es otra palabra para carpeta. Los términos directorio y carpeta se utilizan indistintamente en esta práctica de laboratorio.
a.Escriba pwd cuando se lo soliciten.
[analyst@secOps ~]$ pwd
/home/analyst
¿Cuál es el directorio actual?
b. Diríjase al directorio /home/analyst si no está allí. Escriba cd /home/analyst
[analyst@secOps ~]$ cd /home/analyst
c. Escriba ls -l en el indicador de comando para generar una lista de los archivos y las carpetas presentes en la carpeta actual. La opción -l , que significa lista, muestra el tamaño, los permisos, la titularidad y la fecha de creación del archivo, entre otras propiedades.
[analyst@secOps ~]$ ls –l
total 20
drwxr-xr-x 2 analyst analyst 4096 Mar 22 2018 Desktop
drwxr-xr-x 3 analyst analyst 4096 Apr 2 14:44 Downloads
drwxr-xr-x 9 analyst analyst 4096 Jul 19 2018 lab.support.files
drwxr-xr-x 2 analyst analyst 4096 Mar 21 2018 second_drive
-rw-r--r-- 1 analyst analyst 255 Apr 17 16:42 space.txt
d. En el directorio actual, utilice el comando mkdir para crear tres carpetas nuevas: cyops_folder1, cyops_folder2y cyops _folder3. Escriba mkdir ITEfolder1 y presione Intro. Repita estos pasos para crear cyops_folder2 y cyops_folder3.
[analyst@secOps ~]$ mkdir cyops_folder1
[analyst@secOps ~]$ mkdir cyops_folder2
[analyst@secOps ~]$ mkdir cyops_folder3
[analyst@secOps ~]$
e. Escriba ls -l para verificar que se hayan creado las carpetas:
[analyst@secOps ~]$ ls –l
total 32
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:01 cyops_folder1
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:02 cyops_folder2
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:02 cyops_folder3
drwxr-xr-x 2 analyst analyst 4096 Sep 26 2014 Desktop
drwx------ 3 analyst analyst 4096 Jul 14 11:28 Downloads
drwxr-xr-x 8 analyst analyst 4096 Jul 25 16:27 lab.support.files
drwxr-xr-x 2 analyst analyst 4096 Mar 3 15:56 second_drive
-rw-r--r-- 1 analyst analyst 254 Aug 16 13:38 space.txt
f.Escriba cd ITEfolder3 en el símbolo del sistema y presionela tecla Intro .
[analyst@secOps ~]$ cd /home/analyst/cyops_folder3
[analyst@secOps cyops_folder3]$
¿En qué carpeta está ahora?
Nota: En el indicador [analyst@secOps ~]$ de arriba, el símbolo ~ representa el directorio de inicio del usuario actual. En este ejemplo, el directorio de inicio del usuario actual es /home/analyst. Después del comando cd /home/analyst/cyops_folder3 , ahora el directorio de inicio del usuario actual es /home/analyst/cyops_folder3.
Nota: $ (el signo de dólar) indica un privilegio de usuario común. Si se muestra un ‘ #’ (signo de hashtag o cardinal) en el indicador, se indica un privilegio elevado (usuario root).
Nota: Si bien estos símbolos, convenciones y conceptos centrales son siempre los mismos, el indicador de una ventana del terminal de Linux permite amplias posibilidades de personalización. Por lo tanto, la estructura del cursor que se ve en la Maquina Virtual probablemente sea diferente del cursor de otras instalaciones de Linux.
Desafío: Escriba el comando cd ~ y describa qué sucede.
¿Por qué sucedió esto?
g. Utilice el comando mkdir para crear una carpeta nueva de nombre cyops_folder4 dentro de la carpeta cyops_folder3 :
[analyst@secOps ~]$ mkdir /home/analyst/cyops_folder3/cyops_folder4
[analyst@secOps ~]$
h. Utilice el comando ls -l para verificar que se haya creado la carpeta.
analyst@secOps ~]$ ls –l /home/analyst/cyops_folder3
total 4
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:04 cyops_folder4
i. Hasta este punto, hemos utilizado rutas completas o absolutas(full path or absolute path). El término "ruta absoluta"(absolute path) es el que se utiliza para hacer referencia a rutas que siempre comienzan en el directorio root(/). También se puede trabajar con rutas relativas. Las rutas relativas reducen la cantidad de texto que se debe escribir. Para comprender cómo funcionan las rutas relativas, tenemos que entender los directorios . y .. (punto y punto doble). En el directorio cyops_folder3 , emitan un ls –la:
analyst@secOps ~]$ ls –la /home/analyst/cyops_folder3
total 12
drwxr-xr-x 3 analyst analyst 4096 Aug 16 15:04 .
drwxr-xr-x 20 analyst analyst 4096 Aug 16 15:02 ..
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:04 cyops_folder4
La opción -a le indica a ls que debe mostrar todos los archivos. Observe los listados . y .. que muestra ls . El sistema operativo utiliza estos listados para rastrear el directorio actual (.) y el superior en el árbol (..) Puede ver cómo se utilizan los . y .. al emplear el comando cd para cambiar de directorio. Utilizar el comando cd para pasar de un directorio al . no genera ningún cambio de directorio visible porque . apunta a su propio directorio.
j.Cambie del directorio actual a /home/analyst/cyops_folder3:
[analyst@secOps ~]$ cd /home/analyst/cyops_folder3
[analyst@secOps cyops_folder3]$
k. Escriba cd .
[analyst@secOps cyops_folder3]$ cd .
[analyst@secOps cyops_folder3]$
¿Qué ocurre?
l. Al pasar de un directorio al .. , cambiará al directorio que está un nivel más arriba. Este directorio también se conoce como directorio matriz. Escriba cd ...
[analyst@secOps cyops_folder3]$ cd ..
[analyst@secOps ~]$
¿Qué ocurre?
m. ¿Cuál sería el directorio actual si emitiera el comando cd .. en [analyst@secOps ~]$?
¿Cuál sería el directorio actual si emitiera el comando cd .. en [analyst@secOps home]$?
¿Cuál sería el directorio actual si emitiera el comando cd .. en [analyst@secOps ~]$?
Otro potente operador de la línea de comandos de Linux se conoce comoredirect. Representado por el símbolo > , este operador permite redireccionar la salida de un comando a otra ubicación que no sea la ventana del terminal actual (la opción predeterminada).
a. Utilice el comando cd para pasar al directorio /home/analyst/ (~) :
[analyst@secOps /]$ cd /home/analyst/
[analyst@secOps ~]$
b. Utilice el comando echo para hacer echo de un mensaje. Como no se definió ninguna salida, la salida de echo se emitirá a la ventana del terminal actual:
analyst@secOps ~]$ echo Este es un mensaje repetido en la terminal por echo.
Este es un mensaje repetido en la terminal por echo.
c.Utilice el operador > para redireccionar la salida de echo a un archivo de texto y no a la pantalla:
analyst@secOps ~]$ echo Este es un mensaje repetido en la terminal por echo. > some_text_file.txt
No se mostró ninguna salida en la pantalla.
¿Es eso lo que se espera? Explique.
d. Observe que, incluso aunque el archivo some_text_file.txt no existía, se lo creó automáticamente para recibir la salida generada por echo . Use el comando `ls ` para verificar que el archivo se haya creado.
[analyst@secOps ~]$ ls –l some_text_file.txt
-rw-r--r-- 1 analyst analyst 50 Feb 24 16:11 some_text_file.txt
e. Utilice el comando cat para mostrar el contenido de archivo de texto some_text_file.txt :
[analyst@secOps ~]$ cat some_text_file.txt
Este es un mensaje repetido en la terminal por echo.
f. Vuelva a utilizar el operador > para redirigir otra salida de echo al archivo de texto some_text_file.txt :
analista@secOps ~]$ echo Este es un mensaje DIFERENTE, una vez más repetido en la terminal por echo. > some_text_file.txt
g. Nuevamente, utilice el comando cat para mostrar el contenido del archivo de texto some_text_file.txt :
[analyst@secOps ~]$ cat some_text_file.txt
Este es un mensaje DIFERENTE, una vez más repetido en la terminal por echo.
¿Qué le sucedió al archivo de texto? Explique.
a. En forma similar a lo que ocurre con el operador > , > > también permite redireccionar datos a archivos. La diferencia es que >> anexa datos al final del archivo en cuestión, y mantiene el contenido actual intacto. Para anexar un mensaje a some_text_file.txt, emitir el siguiente comando:
[analyst@secOps ~]$ echo This is another line of text. Se ANEXARÁ al archivo de salida. >> some_text_file.txt
b. Utilice el comando cat para mostrar el contenido de archivo de texto some_text_file.txt una vez más:
[analyst@secOps ~]$ cat some_text_file.txt
Este es un mensaje DIFERENTE, una vez más repetido en la terminal por echo.
Esta es otra línea de texto. Se ANEXARÁ al archivo de salida.
¿Qué le sucedió al archivo de texto? Explique.
a. En Linux, los archivos cuyos nombres comienzan con un ‘.’ (punto) no se muestran por defecto. Si bien los archivos . no son especiales en absoluto, se los denomina archivos ocultos debido a esta característica. Ejemplos de archivos ocultos: .file5, .file6, .file7.
Nota: No confunda los archivos . con el símbolo que indica el directorioactual: “.”. Los nombres de los archivos ocultos comienzan con un punto, seguido por más caracteres mientras que el directorio . es un directorio oculto compuesto solo por un punto.
b.Utilicen ls -l para mostrar los archivos almacenados en el directorio de inicio de analyst.
[analyst@secOps ~]$ ls –l
¿Cuántos archivos aparecen en la lista?
c. Utilice el comando ls -la para mostrar todos los archivos presentes en el directorio de inicio de analyst, incluidos los ocultos.
[analyst@secOps ~]$ ls –la
¿Cuántos archivos extras aparecen más que antes? Explique.
¿Es posible ocultar directorios completos agregando un punto antes de su nombre también? ¿Hay algún directorio en el resultado de ls -la de arriba?
Indique tres ejemplos de archivos ocultos que aparecen en el resultado de ls -la de arriba.
d. Escriba el comando man ls en el cursor para obtener más información sobre el comando ls .
[analyst@secOps ~]$ man ls
e. Utilice la tecla de la flecha hacia abajo (una línea a la vez) o la barra espaciadora (una página a la vez) para desplazarse por la página y ubicar la opción -a antes utilizada y leer su descripción para familiarizarse con el comando ls -a .
a. El comando cp se utiliza para copiar archivos en cualquier lugar del sistema de archivos local. Cuando se utiliza cp, se crea una copia nueva del archivo y se la coloca en la ubicación especificada; el archivo original permanece intacto. El primer parámetro es el archivo de origen y el segundo es el destino. Emita el siguiente comando para copiar some _text_file.txt del directorio de inicio a la carpeta cyops_folder2 :
[analyst@secOps ~]$ cp some_text_file.txt cyops_folder2/
Identifique los parámetros presentes en el comando cp de arriba.
¿Cuáles son los archivos de origen y de destino? (Utilicen rutas completas para representar los parámetros)
b. Utilice el comando ls para verificar que some_text_file.txt ahora esté en cyops_folder2:
[analyst@secOps ~]$ ls cyops_folder2/
some_text_file.txt
c. Utilice el comando ls para verificar que some_text_file.txt ahora esté en cyops_folder2:
[analyst@secOps ~]$ ls –l
total 36
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:01 cyops_folder1
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:11 cyops_folder2
drwxr-xr-x 3 analyst analyst 4096 Aug 16 15:04 cyops_folder3
drwxr-xr-x 2 analyst analyst 4096 Sep 26 2014 Desktop
drwx------ 3 analyst analyst 4096 Jul 14 11:28 Downloads
drwxr-xr-x 8 analyst analyst 4096 Jul 25 16:27 lab.support.files
drwxr-xr-x 2 analyst analyst 4096 Mar 3 15:56 second_drive
-rw-r--r-- 1 analyst analyst 142 Aug 16 15:09 some_text_file.txt
-rw-r--r-- 1 analyst analyst 254 Aug 16 13:38 space.txt
a. Utilice el comando rm para eliminar archivos. Emita el siguiente comando para quitar el archivo some_text_file.txt del directorio de inicio. Luego se debe utilizar el comando ls para mostrar que el archivo some_text_file.txt fue retirado del directorio de inicio:
[analyst@secOps ~]$ rm some_text_file.txt
[analyst@secOps ~]$ ls –l
total 32
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:01 cyops_folder1
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:11 cyops_folder2
drwxr-xr-x 3 analyst analyst 4096 Aug 16 15:04 cyops_folder3
drwxr-xr-x 2 analyst analyst 4096 Sep 26 2014 Desktop
drwx------ 3 analyst analyst 4096 Jul 14 11:28 Downloads
drwxr-xr-x 8 analyst analyst 4096 Jul 25 16:27 lab.support.files
drwxr-xr-x 2 analyst analyst 4096 Mar 3 15:56 second_drive
-rw-r--r-- 1 analyst analyst 254 Aug 16 13:38 space.txt
b.En Linux, los directorios se ven como un tipo de archivo. Por ese motivo, el comando rm también se utiliza para eliminar directorios, pero se debe emplear la opción -r (recursivo). Observe que todos los archivos y otros directorios dentro de un directorio determinado también son eliminados cuando se elimina un directorio matriz con la opción -r. Emita el siguiente comando para eliminar la carpeta cyops_folder1 y su contenido:
[analyst@secOps ~]$ rm –r cyops_folder1
[analyst@secOps ~]$ ls –l
total 28
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:11 cyops_folder2
drwxr-xr-x 3 analyst analyst 4096 Aug 16 15:04 cyops_folder3
drwxr-xr-x 2 analyst analyst 4096 Sep 26 2014 Desktop
drwx------ 3 analyst analyst 4096 Jul 14 11:28 Downloads
drwxr-xr-x 8 analyst analyst 4096 Jul 25 16:27 lab.support.files
drwxr-xr-x 2 analyst analyst 4096 Mar 3 15:56 second_drive
-rw-r--r-- 1 analyst analyst 254 Aug 16 13:38 space.txt
a.Mover archivos es similar a copiar archivos. La diferencia es que al mover un archivo se lo quita de su ubicación original. Utilice los comandos mv para mover archivos a cualquier lugar del sistema de archivos local. Al igual que con los comandos cp, el comando mv también requiere parámetros de origen y de destino. Emita el siguiente comando para copiar some _ text_file.txt del directorio de inicio a la carpeta cyops_folder2 :
[analyst@secOps ~]$ mv cyops_folder2/some_text_file.txt .
[analyst@secOps ~]$ ls –l cyops_folder2/
total 0
[analyst@secOps ~]$ ls –l /home/analyst/
total 32
drwxr-xr-x 2 analyst analyst 4096 Aug 16 15:13 cyops_folder2
drwxr-xr-x 3 analyst analyst 4096 Aug 16 15:04 cyops_folder3
drwxr-xr-x 2 analyst analyst 4096 Sep 26 2014 Desktop
drwx------ 3 analyst analyst 4096 Jul 14 11:28 Downloads
drwxr-xr-x 8 analyst analyst 4096 Jul 25 16:27 lab.support.files
drwxr-xr-x 2 analyst analyst 4096 Mar 3 15:56 second_drive
-rw-r--r-- 1 analyst analyst 142 Aug 16 15:09 some_text_file.txt
-rw-r--r-- 1 analyst analyst 254 Aug 16 13:38 space.txt
¿Que comando puede utilizar para completar la tarea?
¿Cuáles son las ventajas de utilizar la línea de comandos de Linux?