Descarga la aplicación para disfrutar aún más
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.
Compartir