Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lab Comandos Avanzados
Lab Comandos Avanzados
Lab Comandos Avanzados
_______________________________________________________________________________________________
OBJETIVOS:
Familiarizarse con los comandos más importantes de Linux.
Uso de Pipes
Una tubería o pipe es la combinación de varios comandos ejecutándose al simultáneo.
Esto se realiza utilizando el carácter de barra vertical “|”.
cat
Concatena y muestra archivos.
$ cat prueba.txt Permite ver el contenido de un archivo sin la necesidad de un
editor.
grep, awk
Buscan cadenas de caracteres en archivos.
$ grep “palabra” prueba.txt
El comando awk divide cada línea de entrada en campos. Cada campo estará delimitado
por espacios. Cada uno de estos campos o columnas se identifica como $1, $2, etc.
Para imprimir la primera columna de todas las líneas que contengan “palabra” en el
archivo prueba.txt.
$ awk ‘/palabra/ {print $1}’ prueba.txt
cron
crontab
Un archivo de texto. Por simple que parezca la definición es así. Aunque es verdad que
se trata de un archivo con contenido especial. Posee una lista con todos los scripts a
ejecutar.
Luego de ejecutar el comando nos tendremos que añadir tareas con la siguiente
estructura
m: minuto
h: hora
dom: día de la mes
mon: mes
dow: día de la semana
El comando more es similar al comando cat. Para pasar a la siguiente página usar la
tecla <espacio>.
$ more prueba.txt
Para pasar de página en el comando less se utiliza las teclas <AvPág> y <RePág>. Para
interrumpir la visualización se debe presionar la tecla <q>.
$ less prueba.txt
vi, emacs
Son editores de texto, además del ya mencionado nano. Se puede crear y modificar
archivos de texto.
$ vi archivo.txt
emacs
$ emacs archivo.txt
EXPERIENCIA # 1:
Experiencia # 1:
Puntaje:
Tiempo de duración: 120 min.
Ejercicio 1
Utilizando emacs crear un archivo de texto file1.txt, el archivo debe contener lo
siguiente:
Ejercicio 2
Crear un archivo de nombre file2.txt utilizando el editor vi, dicho archivo debe contener
lo siguiente:
Ejercicio 3
Buscar en el archivo file3.txt todos los “clientes” e imprimir en pantalla solo su nombre
y apellido.
En el recuadro indicar los comandos y parámetros utilizados, y mostrar una captura de
pantalla del resultado obtenido:
Ejercicio 4
Crear un directorio de prueba con el comando mkdir. Una vez dentro de el mismo, genere un
script con extensión .sh .
#! /bin/bash
Nota:
Al ingresar el comando de ejecución del script en la estructura de tareas del archivo crontab
tenga en cuenta la ruta relativa o absoluta de su script para que este se ejecute
correctamente.
Teniendo en cuenta la última tarea, indique donde se generó el archivo de texto. Cambie el
script para que el archivo se genere dentro de su directorio de prueba.
Ejercicio 5
En el directorio creado anteriormente crear un script con extension .sh
Con ayuda del comando tty, modifique la tarea ingresada en la estructura crontab para que se
muestre en su consola actual.
Ejercicio 6
Crear un archivo con el siguiente texto:
En este archivo se observan 10 puntos, sus coordenadas, el aula en el que están ubicadas y en
que piso están.
Mostrar en pantalla únicamente los puntos que se encuentren en el “Piso 1” y el “Piso 2”,
excepto el aula “N204”.
Indicar los comandos utilizados y mostrar una captura de pantalla con el resultado completo.
Ejercicio 7
Mostrar solo los nombres y tamaños de los archivos en el directorio actual (carpeta de
trabajo).
Indicar los comandos utilizados:
Ejercicio 8
Mostrar solo los nombres y tamaños de los archivos en el directorio actual (carpeta de trabajo)
de los archivos de texto.
Indicar los comandos utilizados:
MISCELÁNEA DE COMANDOS
find
El comando find permite encontrar archivos, utilizando diversas técnicas. En principio,
si se le pasa como parámetro únicamente una determinada ruta, por ejemplo:
find /home/user, el comando buscará todos los archivos y directorios que se encuentren a
partir de sa ruta. Utilizando algunos otros parámetros es posible buscar los archivos por
diversos criterios.
find . - name "hola.txt" encuentra todos los archivos llamados hola.txt que se encuentren a
partir del directorio actual. Las comillas no son obligatorias, pero son recomendables si se
quieren usar opciones más complejas.
find -size 50k busca los archivos que ocupan 50 kilobytes a partir directorio actual.
find -size 20c buscará los archivos que ocupen 20 bytes.
find -size 5b buscará los archivos que ocupen 5 bloques de 512 bytes cada uno.
find /home/user ¬empty busca todos los archivos que se encuentran vacíos a
partir del directorio /home/user.
dpkg
Sirve para obtener detalles de programas que le indiquemos, como puede ser su ubicación, su
tamaño, la versión que tenemos instalada....veamos ejemplos de uso:
dpkg ¬S bin/programa Nos dirá donde esta instalado programa
dpkg ¬l firefox Nos dice la versión del programa firefox que tenemos instalada
dpkg ¬s firefox Nos muestra muchos detalles, como cuanto ocupa el programa o que
librerías usa.
locate
Con el comando locate programa podemos encontrar donde está ubicado el programa que
queremos ejecutar.
$ locate ooffice
scp
Este comando es análogo al cp pero se utiliza para copiar archivos o directorios desde un
sistema local hasta un sistema remoto. Puede usar este comando desde un sistema remoto
(tras iniciar sesión con ssh) o desde el sistema local. El comando scp utiliza ssh para
transferencia de datos. La sintaxis para utilizar este comando es la siguiente:
Copiar archivo local a un destino remoto:
scp /home/labtel/uml.zip labtel@192.168.35.160:/home/labtel/Escritorio/
shutdown
Apagar el equipo a las 18:25
$ shutdown -h 18:25
Apagar el equipo en 25 minutos
$ shutdown –h +25
talk
# apt-get install talk talkd
$ talk labtel@192.168.35.160
$ mesg n
$ mesg y
UML
Descargar del drive del profesor, el kernel y el file system
kernel64-4.3.5
Debian-Wheezy-AMD64-root_fs
Asegurar los permisos a estos archivos:
$ chmod u+x kernel64-4.3.5
$ chmod u+w Debian-Wheezy-AMD64-root_fs
$./kernel64-4.3.5 ubda=Debian-Wheezy-AMD64-root_fs mem=128M
Usuario root
Para apagar:
# halt
Dos o más máquinas virtuales: (COW: Copy-On-Write)
$ sudo apt-get install uml-utilities
En una primera consola:
$./kernel64-4.3.5 ubda=cowfile1,Debian-Wheezy-AMD64-root_fs mem=128M
En una segunda consola:
$./kernel64-4.3.5 ubda=cowfile2,Debian-Wheezy-AMD64-root_fs mem=128M
cuánto tiempo lleva ejecutándose ese programa; y CMD, muestra el nombre del programa. La
sintaxis que se usa solo es: ps.
# cat /etc/*-release
# uname –a
# uname –mrs
# cat /proc/version