Logo Studenta

Shell, redirección y pipes - OCHOA PRECIADO ENRIQUE DE JESUS

¡Este material tiene más páginas!

Vista previa del material en texto

Facultad de Ingeniería Electromecánica 
 
Reporte 
Shell, redirección y pipes 
 
Administración de Sistemas Linux 
 
Presenta 
Enrique de Jesús Ochoa Preciado 
 
Profesor 
Rodríguez Haro Fernando 
Manzanillo, Col., México, 18 de abril de 2023 
 
 
Índice 
 
Introducción 1 
Shell, redirección y pipes 3 
Preguntas 32 
Conclusión 34 
1 
Introducción 
 
El presente informe se enfoca en los comandos de Shell, Redirección y Pipes en 
Linux. Estos comandos permiten al usuario interactuar con la línea de comandos y 
realizar tareas de manera eficiente y automatizada. En este informe, se describirán 
las funciones de los comandos, los scripts de shell y los usos que se les puede dar. 
 
Comandos de Shell 
Los comandos de Shell son los comandos que se utilizan en la línea de comandos 
en Linux. Permiten al usuario interactuar con el sistema operativo de su 
computadora y realizar tareas de manera eficiente y automatizada. Algunos de los 
comandos más comunes son ls, cd, mkdir, rm y mv. LS se utiliza para listar los 
archivos y directorios en el directorio actual. CD se utiliza para cambiar de directorio. 
MKDIR se utiliza para crear un nuevo directorio. RM se utiliza para eliminar archivos 
o directorios, y MV se utiliza para mover o renombrar archivos o directorios. Estos 
comandos pueden ser utilizados en combinación para realizar tareas complejas. 
 
Redirección de entrada y salida 
La redirección de entrada y salida de los comandos permite al usuario redirigir la 
entrada o la salida de un comando a un archivo o a otro comando. La redirección 
de salida se realiza mediante el símbolo ">" y permite redirigir la salida de un 
comando a un archivo. Por ejemplo, "ls > archivo.txt" redirige la salida del comando 
ls al archivo "archivo.txt". La redirección de entrada se realiza mediante el símbolo 
"<" y permite redirigir la entrada de un comando desde un archivo. Por ejemplo, "sort 
< archivo.txt" utiliza el archivo "archivo.txt" como entrada para el comando de 
ordenamiento. La redirección de entrada y salida se realiza mediante el símbolo 
">>" y permite agregar la salida de un comando a un archivo existente. Por ejemplo, 
"ls >> archivo.txt" agrega la salida del comando ls al archivo "archivo.txt". 
2 
 
Pipes 
Los pipes permiten conectar múltiples comandos para realizar tareas complejas de 
manera eficiente. Los pipes se realizan mediante el símbolo "|" y permiten enviar la 
salida de un comando como entrada para otro comando. Por ejemplo, "ls | grep 
archivo" busca el texto "archivo" en la salida del comando ls. Los pipes también 
permiten conectar múltiples comandos en una sola línea de comando, lo que puede 
ahorrar tiempo y aumentar la eficiencia. 
3 
Shell, redirección y pipes 
1. El comando info info muestra más detalles del comando “info”. 
 
 
 
 
4 
2. En la siguiente secuencia, se crea una carpeta con el comando mkdir, después, nos 
metemos a la carpeta “tareas” con cd. Además, con ls -l consultamos la 
informacion de la carpeta y los permisos de los archivos.
 
3. Ahora después de crearla, salimos de la carpeta con cd y creamos un archivo 
con el comando touch.
 
 
5 
4. Volvemos a salir del directorion y utilizaremos el comando sudo rm -rf d para 
borrar la carpeta que creamos. 
 
5. Con el comando mv podemos mover un archivo a una carpeta, por lo que lo 
utilizaremos para mover el archivo a.txt y renombrarlo de una vez a tareas.txt. 
 
 
 
 
6 
6. Para cuestiones informativas solo mostraremos información del whereis. 
 
7. Y utilizando whereis, encontraremos donde se encuentra neovim, primero lo 
instalaremos con sudo apt install neovim y posteriormente lo buscaremos con 
whereis neovim. 
7 
 
 
 
 
 
 
8 
8. Con el comando tail .bash_history se muestran los últimos comandos puestos 
en la terminal
 
9. Y utilizando sudo dmesg| head| muestra información del sistema.
 
 
 
9 
10. Con head .bash_history podremos ver los primeros comandos puestos en la 
consola
 
11. Con man free podemos ver la memoria libre en el sistema
 
 
 
10 
12. Y utilizando free -m veremos la memoria en megabytes; con free -g en 
gigabytes y con free -b en bytes.
 
13. Con df -h podemos ver cuánto espacio abarcan las particiones del sistema 
con diferentes directorios.
 
11 
14. Con uptime veremos la hora del sistema.
 
15. Con who -a vemos el tiempo de log de los usuarios del sistema.
 
12 
16. Con man arch y uname -m podemos ver la arquitectura del sistema
 
17. Y con uname -r veremos la versión del Kernel
 
 
 
 
13 
18. Con lsb_release -d te dan tu distribución, y con uname -a te da los detalles 
completos de la distro
 
19. Con sudo dmidecode -q podemos ver los detalles completos de todo el 
equipo.
 
 
 
14 
20. Con sudo hdparm -i /dev/sda podremos ver la información de la unidad de 
almacenamiento seleccionada/escrita
 
21. Con cat /proc/cpuinfo podremos ver toda la información a detalle del 
procesador.
 
 
 
15 
22. Y con cpu-info podemos ver los núcleos del procesador y procesadores 
lógicos.
 
23. Así como con neofetch o también cat /proc/cpuinfo | grep model 1 tail -l 
podemos ver los núcleos físicos.
 
16 
24. Con cat /proc/net/dev veremos la información de los paquetes de red.
 
25. Con cal podremos ver un calendario en la terminal y en color blanco la fecha 
actual y si se concatena con date verás la fecha y hora.
 
17 
26. Con shutdown now podemos apagar la PC.
 
27. Y con reboot reiniciarla.
 
18 
28. Con halt también podemos apagar la PC.
 
29. Con el comando find podremos encontrar archivos en todo el sistema.
 
 
 
 
19 
30. Y con el parámetro * podremos encontrar todas las coincidencias con 
cualquier nombre de archivo con la misma extensión de file.
 
20 
31. Con ls -s podremos linkear archivos entre ellos.
 
32. Y con ls (archivo) -al podremos ver los permisos actuales del archivo. 
 
 
 
 
21 
33. Aquí utilizamos una serie de comandos para hacer diversas cosas: 
 
a. Nom=’Enrique Ochoa’ -> nom2=’Preciado’ -> echo $nom $nom2: 
Creamos dos variables y hacemos echo de ellas para saber que se 
almacena en ambas. 
b. Nano e1.sh -> sudo chmod +x e1.sh -> ./e1.sh: Crea un archivo .sh, en el 
almacenamos variables creadas con el texto “Hola” y “Mundo”, para 
posteriormente dar permisos de ejecución con chmod +x y ejecutarlo con 
./e1.sh. 
c. Ls -al e1.sh: Ve los permisos que tiene el archivo actualmente. 
 
 
 
 
 
 
22 
34. El siguiente comando fue crear el archivo “variables.sh”, que lleva dentro el 
contenido de dos variables para hacer una operación aritmética. 
 
35. Este es el contenido del archivo “variables” y obtiene una suma. Damos permisos 
con chmod +x y ejecutamos el archivo.
 
23 
36. Posteriormente se crea otro archivo llamado “variables2.sh”.
 
37. Ahora aquí pediremos dos variables por input y haremos una operación aritmética 
de la misma maneta, pero además, al inicio, solicitaremos dos parámetros de 
entrada para el script.
 
24 
38. Aquí podemos ver la ejecución del archivo, con su contenido final.
 
 
 
 
25 
39. Ahora, en el mismo archivo, a manera de prueba, hacemos una evaluación 
aritmética con una multiplicación como se señala en la última línea del script.
 
40. Y aquí su ejecución:
 
26 
41. En otro archivo llamado “parámetros.sh” añadiremos lo siguiente:
 
42. Y nos mostrará una salida de esta forma:
 
27 
43. El cual recibe parámetros, los cuenta y muestra el nombre del script.
28 
 
 
 
 
 
29 
44. Ahora modificaremos la salida de las últimas líneas con $* y $@; donde por el 
momento niguno de los dos se ve afectado por la propiedad IFS.
 
 
 
 
30 
45. Ahora si metemos los caracteres $* y $@, el primero se verá modificado por el IFS 
y el otro no, ya que el $@ se salta las modificaciones.
 
 
 
 
31 
46. Por último se crea un archivo “function.sh”,que posee dentro una variable global y 
una función con un “echo”, al final la variable global se manda a llamar con la 
función.
 
 
 
 
32 
Preguntas 
 
• 3.1. El comando cat, al ser ejecutado sin argumentos, espera la entrada a través del 
teclado (stdin). Al presionar Ctrl + D después de escribir algunas palabras, cat 
repetirá las palabras en la pantalla (stdout). 
• 3.2. El comando wc, al ser ejecutado sin argumentos, también espera la entrada a 
través del teclado (stdin). Después de escribir algunas palabras y presionar Ctrl + 
D, wc mostrará el número de líneas, palabras y caracteres de la entrada. 
• 3.3. Para visualizar el contenido del archivo /etc/hosts usando cat, hay dos métodos: 
o Método 1: cat /etc/hosts 
o Método 2: < /etc/hosts cat 
• 3.4. Para contar el número de líneas del archivo /etc/passwd usando wc, hay dos 
métodos: 
o Método 1: wc -l /etc/passwd 
o Método 2: < /etc/passwd wc -l 
o Ambos métodos mostrarán el número de líneas en el archivo /etc/passwd. 
• 3.5. Para escribir algunas palabras en el archivo /tmp/ficcat: echo "Algunas 
palabras" > /tmp/ficcat 
• 3.6. Para copiar el contenido del archivo /tmp/ficcat en /tmp/ficcat2 usando cat: cat 
/tmp/ficcat > /tmp/ficcat2 
• 3.7. Para añadir algunas palabras al archivo /tmp/ficcat existente: echo "Más 
palabras" >> /tmp/ficcat 
• 3.8. Para concatenar el contenido de los archivos /tmp/ficcat y /etc/hosts en el 
archivo /tmp/ficcat3: cat /tmp/ficcat /etc/hosts > /tmp/ficcat3 
• 3.9. Para redirigir la salida del comando ls en el directorio /etc al archivo /tmp/ls.out: 
• cd /etc 
• ls > /tmp/ls.out 
• El archivo /tmp/ls.out contiene la lista de archivos y directorios en el directorio /etc. 
• 3.10. Para contar el número de líneas contenidas en el archivo /tmp/ls.out utilizando 
wc: wc -l /tmp/ls.out 
 
33 
• 3.11. El número de archivos en el directorio /etc es igual al número de líneas en el 
archivo /tmp/ls.out. Para eliminar el archivo /tmp/ls.out: rm /tmp/ls.out 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
34 
Conclusión 
 
En conclusión, los comandos de Shell, Redirección y Pipes en Linux son 
herramientas poderosas que permiten al usuario interactuar con la línea de 
comandos de manera eficiente y automatizada. Los comandos de Shell permiten al 
usuario realizar tareas específicas en el sistema operativo de su computadora. La 
redirección de entrada y salida permite al usuario redirigir la entrada o salida de un 
comando a un archivo o a otro comando. Los pipes permiten conectar múltiples 
comandos para realizar tareas complejas de manera eficiente. En resumen, el 
conocimiento de estos comandos puede mejorar significativamente la habilidad del 
usuario para trabajar en la línea de comandos en Linux.

Continuar navegando