Está en la página 1de 22

Academia del Software Libre (ASLD)

PRACTICA DE BASICO GNU


GNU/Diplomado

Esta Practica esta realizada para los estudiantes que deseen tomar inicio por el
mundo de GNU/Linux, nuestro objetivo es capacitar al estudiantes desde un nivel cero
hasta un SysAdmin, si cumples al menos con un 80% realizando estos ejercicios usted
podrás realizar cualquier tareas futuras.

Nota:
[jp@oraserv5 ~]$ : Esto es el prompt tomado de ejemplo, luego del símbolo $ estará
el comando que debe ejecutar. Cuando sean combinaciones de tecla estarán en
mayúscula.

Luego de ejecutar cada comando tiene que ejecutarlo utilizando la techa “Enter”

1- Vamos iniciar una sesión CRTL+ALT+F2.

oraserv5 login:

2- Ingrese el usuario creado cuando realizó la instalación.

oraserv5 login:estudiantes (Oprima Enter)


Password:solucion (Oprima Enter)

[jp@oraserv5 ~]$_

ojo:) Hagamos este ejercicio por lo menos con tres consola hasta

CRTL+ALT+F2
CRTL+ALT+F3
CRTL+ALT+F4

3- Tenemos dos forma para salir o cerrar de la sesión que iniciamos.


CRTL+d
o
[jp@oraserv5 ~]$exit

4- Eso que usted ve que esta pestañeando se llama Prompt y le esta


indicando que puede inicia a ejecutar los comandos.
[jp@oraserv5 ~]$

5- Nuestro primer comando es man man.


[jp@oraserv5 ~]$ man man

ojo:) Los comando se digitan en minúscula.


Para salir del man presione la tecla “q”

6- Vamos a obtener una definición del comando ls.


[jp@oraserv5 ~]$man ls

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

7- Ya usted sabe que función realiza el programa ls, vamos a listar el


contenido del directorio donde nos encontramos.
[jp@oraserv5 ~]$ ls
alarma Distros init.d POSTGRESQL

8- Para obtener un detalle mas amplio vamos a iniciar agregándole al


comando ls una opción que usted puede ver dentro del man.
[jp@oraserv5 ~]$ ls -l

total 688
drwxrwxr-x 2 jp jp 4096 Nov 18 11:33 alarma
drwx------ 2 jp jp 4096 Nov 24 22:56 amsn_received
drwxr-xr-x 11 jp jp 4096 Oct 23 17:23 Aplicacion-FCLD

ojo:) Las opciones inician con el símbolo “-” y llevan un espacio separada por un
espacio del comando.

9- Vamos a listar los archivos ocultos.


[jp@oraserv5 ~]$ ls -a
. .frostwire4.20 .pgpass
.. .gconf Pomavid

ojo:) Los archivos ocultos inician con un punto “.” y solo son visible con esta
opción.

10- Vamos listar los archivos identificando su tipo por un símbolo que
están en detalle dentro del man.
[jp@oraserv5 ~]$ ls -F
alarma/ Distros/ init.d@ POSTGRESQL*

11- Vamos a combinar varias opciones en una sola ejecución.


[jp@oraserv5 ~]$ ls -ltrh

total 688K
drwxr-xr-x 12 jp jp 4.0K Feb 16 2010 X11
drwxr-xr-x 9 jp jp 4.0K Oct 21 08:25 Artes

ojo:) Mi preferida.

12- En que directorio usted se encuentra actualmente.


[jp@oraserv5 ~]$ pwd
/home/jp

13- Ahora vamos navegar dentro del sistema de archivos, luego despliegue
el contenido del mismo.
[jp@oraserv5 ~]$ cd /dev
[jp@oraserv5 dev]$ ls
[jp@oraserv5 dev]$ cd /opt
[jp@oraserv5 opt]$ ls
[jp@oraserv5 opt]$ cd /etc
[jp@oraserv5 etc]$ ls
[jp@oraserv5 etc]$ cd /boot

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

14- Vamos a dirigirnos a la barra y confirme que esta en la barra.


[jp@oraserv5 etc]$ cd /
[jp@oraserv5 /]$ pwd
/

15- Regrese al ultimo directorio donde usted estaba.


[jp@oraserv5 /]$ cd -
/etc

ojo:) Esto lo llevara hasta /etc que era el directorio que usted visito antes de ir
a la barra, compruebe que esta hay utilizando el comando “pwd”.

16- Vamos realizar tres manera de regresar a su HOME.


[jp@oraserv5 etc]$ cd ~ ( Oprima Enter)
[jp@oraserv5 ~]$
[jp@oraserv5 ~]$ cd $HOME ( Oprima Enter)
[jp@oraserv5 ~]$
[jp@oraserv5 ~]$ cd /home/jp/ ( Oprima Enter)
[jp@oraserv5 ~]$

ojo:) El símbolo “~” nos indica que estamos en nuestro Home, territorio personal de
cada usuario dentro del directorio /home.

17- Vamos a crear un directorio en nuestro home utilizando la forma


relativa.
[jp@oraserv5 ~]$ mkdir fcld ( Oprima Enter)

ojo:) Si el shell no devuelve ningún error es que la probabilidad de ejecución del


mismo exitosamente fue de un 98%.

18- Vamos a verificar si el directorio fue creado.


[jp@oraserv5 ~]$ ls fcld/

ojo:) El resultado de esta sentencia fue silenciosa o no tuvo resultado sabe el


porque. Por que el directorio creado esta vacío.

19- Vamos realizar el ejercicio 18 pero con una letra menos del nombre del
directorio.
[jp@oraserv5 ~]$ ls fcl/
ls: fcl/: No such file or directory

ojo:) Este seria el error que nos imprime el shell si el nombre del directorio no
es digitado correctamente.

20- Vamos acceder al directorio fcld.


[jp@oraserv5 ~]$ cd fcld

21- Imprima la ruta donde se encuentra actualmente.


[jp@oraserv5 fcld]$ pwd
/home/jp/fcld

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

22- Como nuestro directorio esta vacío vamos copiar un archivo en el


mismo.
[jp@oraserv5 fcld]$ cp /etc/passwd /home/jp/fcld/ (Oprima Enter)

ojo:) Esto le llamamos copiando con Ruta Absoluta.

23- Ahora vamos a realizar el mismo ejercicio anterior pero mas corto.
[jp@oraserv5 fcld]$ cp /etc/passwd .

ojo:) Como estamos dentro del directorio donde queremos copiar el archivo solo
agregamos un Punto “.” para decirle al shell que es Aquí.

24- Realizaremos una copia del archivo “passwd” pero con otro nombre.
[jp@oraserv5 fcld]$ cp /etc/passwd ~/fcld/clave.pdf

ojo:) Aquí le agregamos un símbolo “~” para indicar que el directorio donde vamos a
realizar la copia esta dentro de nuestro Home.

25- Confirme que los últimos tres ejercicios se han realizado con éxito.
[jp@oraserv5 fcld]$ ls
clave.pdf passwd

25- Elimine los archivos copiados en el directorio fcld.


[jp@oraserv5 fcld]$ rm passwd clave.pdf
[jp@oraserv5 fcld]$ ls
[jp@oraserv5 fcld]$

26- Vamos realizar la copia de los archivos otra vez pero utilizando las
opciones.
[jp@oraserv5 fcld]$ cp -vi /etc/passwd .
`/etc/passwd' -> `./passwd'
[jp@oraserv5 fcld]$ cp -vir /etc/passwd /home/jp/fcld/clave.pdf
`/etc/passwd' -> `/home/jp/fcld/clave.pdf'

ojo:) Buscar en el man las definiciones de estas opciones.

27- Vamos a crear cuatros directorios dentro de fcld.


[jp@oraserv5 fcld]$ mkdir libre fclds
[jp@oraserv5 fcld]$ mkdir -p libre/clase fclds/santiago
[jp@oraserv5 fcld]$ ls
clave.pdf fclds libre passwd

ojo:) Buscar en el man las definiciones de la opcion “-p”.

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

28- Vamos a listar el contenido del directorio fcld en forma de jerárquica


y a la vez confirmaremos la creación de los directorios en el ejercicio
27.
[jp@oraserv5 fcld]$ tree
.
|-- clave.pdf
|-- fclds
| `-- santiago
|-- libre
| `-- clase
`-- passwd

29- Determine que tipo de archivo es clave.pdf y passwd.


[jp@oraserv5 fcld]$ file clave.pdf
clave.pdf: ASCII English text

[jp@oraserv5 fcld]$ file passwd


passwd: ASCII English text

30- Cámbiele el nombre al archivo clave.pdf y llámelo secreto.


[jp@oraserv5 fcld]$ mv clave.pdf secreto
[jp@oraserv5 fcld]$ ls
fclds libre passwd secreto
[jp@oraserv5 fcld]$

31- Mueva el archivo secreto hacia el directorio libre.


[jp@oraserv5 fcld]$ mv -v secreto libre/ `secreto' -> `libre/secreto'

32- Entre en el directorio libre y verifique que el archivo secreto esta


hay.
[jp@oraserv5 fcld]$ cd libre/
[jp@oraserv5 libre]$ ls
clase secreto

33- Donde Diga la ruta absoluta donde usted se encuentra actualmente.


[jp@oraserv5 libre]$ pwd
/home/jp/fcld/libre

34- Regrese al directorio que esta anterior a libre y comprueba que esta
en el directorio fcld.
[jp@oraserv5 libre]$ cd ..
[jp@oraserv5 fcld]$ pwd
/home/jp/fcld

ojo:) Investigar la función de los “..”.

35- Mover el directorio libre dentro de fclds.


[jp@oraserv5 fcld]$ mv libre/ fclds/
[jp@oraserv5 fcld]$ ls
fclds passwd

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

36- Borre el archivo passwd con la opción -i.


[jp@oraserv5 fcld]$ rm -i passwd
rm: remove regular file `passwd'? y
[jp@oraserv5 fcld]$ ls
fclds

ojo:) Buscar en el man la definición de la opción “-i”.

37- Ejecute el comando tree y determine en que directorio esta el archivo


secreto.
[jp@oraserv5 fcld]$ tree
.
`-- fclds
|-- libre
| |-- clase
| `-- secreto
`-- santiago

4 directories, 1 file

38- Copie el archivo passwd que se encuentra en /etc al directorio clase.


[jp@oraserv5 fcld]$ cp /etc/passwd fclds/libre/clase/
[jp@oraserv5 fcld]$ ls fclds/libre/clase/
passwd

39- Crear un archivo sin contenido.


[jp@oraserv5 fcld]$ touch new.txt
[jp@oraserv5 fcld]$ ls
fclds new.txt

ojo:) Buscar en el man las definición del comando “touch”.

40- Entremos al directorio donde copiamos el archivo passwd y


procederemos a imprimir su contenido.
[jp@oraserv5 fcld]$ cd fclds/libre/clase/
[jp@oraserv5 clase]$ ls
passwd
[jp@oraserv5 clase]$ cat passwd

41- Vamos imprimir el contenido del archivo passwd con la opción “-n”.
[jp@oraserv5 clase]$ cat -n passwd

ojo:) Buscar en el man la definición de la opción “-n”.

42- Utilizando el comando cat pero con una ruta absoluta.


[jp@oraserv5 clase]$ cat /etc/group

43- Imprimiendo el archivo passwd que este en el directorio clase con el


comando more.
[jp@oraserv5 clase]$ more passwd

ojo:) Utilice la barra espaciadora para avanzar en el archivo.

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

43- Navegando en el archivo passwd utilizando el comando less.


[jp@oraserv5 clase]$ less passwd

ojo:) Utilice la barra espaciadora para avanzar en el archivo y las teclas “arriba”
y “abajo”, investigue la diferencia entre less y more.

44- Vamos a contar las cantidad de lineas, palabras y caracteres del


archivo passwd.
[jp@oraserv5 clase]$ wc passwd
41 67 1916 passwd

45- Vamos imprimir solo la cantidad de lineas del archivo passwd.


[jp@oraserv5 clase]$ wc -l passwd
41 passwd

ojo:) Realice varios ejemplo utilizando las opciones “-m” y“-w”.

46- Vamos ha imprimir las 10 primeras lineas del archivo passwd .


[jp@oraserv5 clase]$ head passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
news:x:9:13:news:/etc/news:

47- Vamos imprimir solo las 4 primeras lineas del archivo passwd .
[jp@oraserv5 clase]$ head -n 4 passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin

ojo:) Realice un ejemplo utilizando la opcion “-v”.

48- Vamos ha imprimir las ultimas 10 lineas del archivo passwd.


[jp@oraserv5 clase]$ tail passwd
xfs:x:43:43:X Font Server:/etc/X11/fs:/sbin/nologin
gdm:x:42:42::/var/gdm:/sbin/nologin
jp:x:500:500:Jose Paredes:/home/jp:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/bash
hsqldb:x:96:96::/var/lib/hsqldb:/sbin/nologin
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql:/bin/bash
oracle:x:501:502::/home/oracle:/bin/bash
nagios:x:101:105::/var/spool/nagios:/bin/bash
nagiosadmin:x:502:504::/home/nagiosadmin:/bin/bash
nrpe:x:102:106:NRPE user for the NRPE service:/:/sbin/nologin

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

49- Vamos imprimir solo las 4 ultimas lineas del archivo passwd
[jp@oraserv5 clase]$ tail -vn 4 passwd
==> passwd <==
oracle:x:501:502::/home/oracle:/bin/bash
nagios:x:101:105::/var/spool/nagios:/bin/bash
nagiosadmin:x:502:504::/home/nagiosadmin:/bin/bash
nrpe:x:102:106:NRPE user for the NRPE service:/:/sbin/nologin

ojo:) Investigue que función hacen las opciones “-v” y “-f”.

50- Copie el archivo group que esta en /etc en el mismo directorio donde
se encuentra.
[jp@oraserv5 clase]$ cp /etc/group .
[jp@oraserv5 clase]$ ls
group passwd

51- Busque la diferencia entre los archivos passwd y group.


[jp@oraserv5 clase]$ diff passwd group

ojo:) Investigue la salida del mismo.

52- Vamos imprimir la fecha del sistema.


[jp@oraserv5 clase]$ date
Fri Feb 4 13:52:09 AST 2011

53- Obtener la fecha del sistema en formato %Y-%m-%d (año, mes, día).
[jp@oraserv5 fcld]$ date +%F
2011-02-05

54- Obtener la fecha del sistema en formato %m/%d/%y (mes, día, año).
[jp@oraserv5 fcld]$ date +%D
02/05/11

55- Obtener el nombre del mes de la fecha actual del sistema.


[jp@oraserv5 fcld]$ date +%B
February

56- Obtener la fecha del sistema en formato +%B-%A-%d-%Y .


[jp@oraserv5 Saved]$ date +%B-%A-%d-%Y
February-Saturday-05-2011

57- Debido a que el resultado anterior el cual fue negativo , ahora


asígnale permiso de ejecución.
[jp@oraserv5 Saved]$ date -d "tomorrow"
Sun Feb 6 10:14:14 AST 2011

[jp@oraserv5 Saved]$ date -d "yesterday"


Fri Feb 4 10:14:28 AST 2011

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

58- obtener fechas pasadas o futuras, en este caso saber que día cae el
próximo viernes.
[jp@oraserv5 Saved]$ date -d "next friday"
Fri Feb 11 00:00:00 AST 2011

59- Vamos desplegar el calendario.


[jp@oraserv5 Saved]$ cal
February 2011
Su Mo Tu We Th Fr Sa
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28

ojo:) Agregar 2010 para obtener la salida del calendario de ese año.

60- Con que usuario esta usted trabajando.


[jp@oraserv5 fcld]$ whoami
jp

61- Limpiar la pantalla del shell.


[jp@oraserv5 fcld]$ clear

ojo:) Explique la diferencia con CRTL+L.

62- Cierre ese terminal.


[jp@oraserv5 fcld]$ exit

63- Vamos mostrar una linea de texto con el comando echo.


[jp@oraserv5 fclds]$ echo "Hola Estudiantes de la FCLD"
Hola Estudiantes de la FCLD

64- Mostrando un texto en dos linea con el comando echo.


[jp@oraserv5 fclds]$ echo -e \\043 \\b1 Hola a todos \\n \\b\\043 \\b2 Bienvenidos
#1 Hola a todos
#2 Bienvenidos

65- Mostrando echo con la opción del tabulados.


[jp@oraserv5 fclds]$ echo -e 'Hola\tEstudiantes'
tab tab

66- Mostrando echo con la opción del tabulados vertical.


[jp@oraserv5 fclds]$ echo -e 'Hola\vEstudiantes'
Hola
Estudiantes

67- Verifique el tiempo que tiene su maquina encendida.


[jp@oraserv5 fclds]$ uptime
19:31:50 up 7:56, 4 users, load average: 0.11, 0.12, 0.04

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

68- Vamos a localizar donde se encuentra el archivo .bash_profile.


[jp@oraserv5 fclds]$ locate .bash_profile
/etc/skel/.bash_profile
/home/jp/.bash_profile
/var/spool/nagios/.bash_profile

69- En el ejercicio 39 usted creo un archivo llamado new.txt, localice la


ubicación de ese archivo con el comando locate.
[jp@oraserv5 fclds]$ locate new.txt

ojo:) No lo encontró, en el siguiente ejercicio usted aprenderá el por que.

70- Ahora actualice la base datos del comando locate y luego repita el
ejercicio 69.
[jp@oraserv5 fclds]$ sudo updatedb

ojo:) Debe cambiar a super Usuario para realizar este ejercicio o tener privilegios
en sudo.

71- Vamos buscar el archivo new.txt con el comando find.


[jp@oraserv5 fclds]$ find ~ -iname "new.txt"
/home/jp/fcld/new.txt

ojo:) Utilizando el man investigue la diferencia entre “name” y “iname”.

72- Usted no recuerda donde almaceno sus videos, solo recuerda el formado
en que están “avi”. Vamos a buscar en todo el disco.
[root@oraserv5 ~]# find / -iname "*.avi"

73- El administrador de un servidor de Internet necesita realizar una


auditoría de seguridad, para ello una de las pruebas que se necesita
realizar es identificar aquellos archivos o directorios que poseen
permisos de escritura para cualquier usuario, esto lo puede hacer como
sigue:
[root@oraserv5 ~]# find / -perm 777

74- Este comando listará también los enlaces simbólicos, que aunque en el
listado aparecen con todos los permisos activados, no significa que
cualquier usuario los pueda modificar. Para evitar entonces este
inconveniente, se puede ejecutar el comando de esta manera:
[root@oraserv5 ~]# find / -perm 777 -follow

75- Buscar todos los archivos que han sido creados o modificados en la
ultima 24 horas en su HOME.
[jp@oraserv5 fclds]$ find $HOME -mtime 0

76- Buscar los archivos en su home cuyo tamaño sean mayor a 100 mega.
[jp@oraserv5 fclds]$ find /home/jp/ -size +200M

ojo:) Realizar el mismo ejercicio pero para menores a 100 megas y mayores a 2
Gigabytes.

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

77- En este ejemplo se buscan todos los archivos cuyo nombre termina con
*wd en el directorio /etc y muestra el contenido de cada uno de ellos.
[jp@oraserv5 fclds]$ find /etc -name "*wd" -exec cat {} \;

78- Vamos a buscar los archivos donde el usuario tenga permiso de


escritura y el grupo también.
[jp@oraserv5 fclds]$ find . -perm /u=w,g=w

79- Listado de ficheros modificados en menos de 48 horas.


[jp@oraserv5 fclds]$ find . -mtime -1

80- Otro uso habitual es con xargs para lanzar un comando sobre cada
resultado. Ejemplo: tocar todos los .mp3 en una carpeta
[jp@oraserv5 fclds]$ find $HOME -iname "*.mp3" | xargs mplayer

81- Vamos a visualizar las variables de entorno y sus valore s.


[jp@oraserv5 fclds]$ env
HOSTNAME=oraserv5

ojo:) Utilice “|” y less para compaginar.

82- Vamos a visualizar las variables del sistema .


[jp@oraserv5 fclds]$ set

ojo:) Utilice “|” y less para compaginar.

83- Vamos ver todas las variables de nuestro ambiente.


[jp@oraserv5 fclds]$ echo $tab tab

ojo:) tab tab significa que usted debe de teclear dos veces la tecla del tabulador,
ubicada encima de CapsLk (Mayúscula).

84- Imprimamos el valor de varias variables:).


[jp@oraserv5 fclds]$ echo $BASH
/bin/bash

[jp@oraserv5 fclds]$ echo $PATH


/opt/app/oracle/product/10.2.1/db_1/bin:/usr/kerberos/bin:

[jp@oraserv5 fclds]$ echo $HOSTNAME


oraserv5

[jp@oraserv5 fclds]$ echo $PS1


[\u@\h \W]\$

[jp@oraserv5 fclds]$ echo $LS_COLORS


no=00:fi=00:di=00;34:ln=00;36:pi=40;33:so=00;35:bd=40;33;01:cd=40;33

ojo:) Para ver el valor de una variable debe se debe escribir el nombre en
mayúscula.

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

85- Crearemos una variable llamada GILRS.


[jp@oraserv5 fclds]$ GIRLS='fedora bella'

86- Vamos a ver el valor de la variable creada en el ejercicio anterior.


[jp@oraserv5 fclds]$ echo $GIRLS
fedora bella

87- Busquemos la variable haber si esta en nuestro entorno.


[jp@oraserv5 fclds]$ env |grep -i GIRLS

ojo:) Mas adelante aprenderá el comando grep. Continúe :).

88- Vamos a exportar la variable GILRS a nuestro ambiente.


[jp@oraserv5 fclds]$ export GIRLS

89- Ahora repita el ejercicio 87 para confirmar que fue exportada.


[jp@oraserv5 fclds]$ env |grep -i GIRLS
GIRLS=fedora bella

ojo:) Investigue donde debe colocar esta variable si quiere que sea permanente.

90- Vamos a ver todos los alias que tenemos disponibles.


[jp@oraserv5 fclds]$ alias
alias l.='ls -d .* --color=tty'
alias ll='ls -l --color=tty'

91- Vamos crear un alias llamado fcld, este alias limpiara la pantalla.
[jp@oraserv5 fclds]$ alias fcld='clear'

ojo:) Para ejecutar el alias solo digite fcld en el shell donde lo creo.

92- Ahora cierre ese shell o terminal donde creo el alias y abra uno
nuevo.
[jp@oraserv5 fclds]$ alias

ojo:) Investigue que paso con el alias.

93- Vamos a listar todos los comando o eventos realizados en este shell.
[jp@oraserv5 fclds]$ history

94- Mostrar los ultimo 5 comandos del history.


[jp@oraserv5 fclds]$ history 5

95- Vamos a ejecutar el ultimo comandos del history.


[jp@oraserv5 fclds]$ !!

96- De la lista imprimida en pantalla del comando history vamos a ejecutar


el numero Vamos a ejecutar el ultimo comandos del history.
[jp@oraserv5 fclds]$ !2704

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

97- Por defecto el history almacena solo las ultima 500 actividades del
shell si queremos cambiar a 5000.
[jp@oraserv5 fclds]$ echo "export HISTSIZE=5000" >> ~/.bashrc

ojo:) Investigue otra forma de modificar de realizar esto.

98- Si queremos borrar el comando que se encuentra en la posición 2711.


[jp@oraserv5 fclds]$ history -d 2711

98- Si queremos leer los contenidos del fichero de historia y los usa como
la historia en curso.
[jp@oraserv5 fclds]$ history -r

99- Si queremos borrar la lista de historial (borrando todas las


entradas).
[jp@oraserv5 fclds]$ history -c

ojo:) Ahora compruebe que fueron borrados.

100- Vamos mostrar el contenido del archivo passwd en orden inverso.


[jp@oraserv5 libre]$ tac /etc/passwd

ojo:) Explicar al GNU/Instructor la diferencia con el comando cat.

101- Vamos ordenar el archivo secreto en forma ascendente, este archivo


fue creado en el ejercicio #30.
[jp@oraserv5 libre]$ sort secreto

102- Vamos ordenar el archivo secreto en forma descendente.


[jp@oraserv5 libre]$ sort -r secreto

103- Queremos ver un listado de usuarios del fichero /etc/passwd ordenado


por uid.
[jp@oraserv5 libre]$ sort -t":" -k3n /etc/passwd

104- Vamos a crear un archivo que contenga lineas repetidas para luego
eliminar las repetidas del archivo y dejar su contenido.
[jp@oraserv5 libre]$ cat > frutas.txt
mango
mango
guineos
guineos
pina
melon
CRTL+D

[jp@oraserv5 libre]$ sort -o frutas.txt -u frutas.txt


[jp@oraserv5 libre]$ cat frutas.txt
guineos
mango
melon
pina

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

105- Vamos a crear un archivo que contenga lineas separadas por coma
llamado cute.txt.
[jp@oraserv5 libre]$ cat > cute.txt
Columna1,Columna2,Columna3
1,2,3
4,5,6
7,8,9

106- Vamos imprimir la tercera columna del archivo cute.txt con el comando
cut:
[jp@oraserv5 libre]$ cut -d, -f3 cute.txt
Columna3
3
6
9

107- Vamos imprimir la tercera y segunda columna del archivo cute.txt con
el comando cut:
[jp@oraserv5 libre]$ cut -d, -f3,2 cute.txt
Columna2,Columna3
2,3
5,6
8,9

108- Vamos a sacar un texto por pantalla, utilizando como delimitador por
ejemplo la coma, podemos dividir en 3 partes el texto, podemos mostar cada
una de esas tres partes (fields) con la opción -f .
[jp@oraserv5 fclds]$ echo "Esto es una prueba, 1 2 3, probando" | cut -d "," -f 1
[jp@oraserv5 fclds]$ echo "Esto es una prueba, 1 2 3, probando" | cut -d "," -f 2
[jp@oraserv5 fclds]$ echo "Esto es una prueba, 1 2 3, probando" | cut -d "," -f 3
[jp@oraserv5 fclds]$ echo "Esto es una prueba, 1 2 3, probando" | cut -c 1-4
[jp@oraserv5 fclds]$ echo "Esto es una prueba, 1 2 3, probando" | cut -c 6-8

ojo:) Explicar al GNU/Instructor la opcion “-c”.

109- Realice el siguiente ejercicio y explicar su funcionamiento.


[jp@oraserv5 fclds]$ cut -d" " -f1,5 <<< "hello, my name is mysurface."

110- Vamos a buscar el usuario que estamos utilizando en el archivo


passwd.
[jp@oraserv5 clase]$ grep jp passwd
jp:x:500:500:Jose Paredes:/home/jp:/bin/bash

ojo:) Recuerde para hacer estos ejercicio debe tener por lo menos una copia del
archivo passwd.

111- Vamos a crear un archivo que contendrá la misma palabra pero en


mayúscula y minúscula, buscaremos la palabra perro en el archivo.
[jp@oraserv5 clase]$ cat > grepo.txt
Perro
Gato
perro

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

gato
Luna
luna
(Oprima CRLT+d)
[jp@oraserv5 clase]$ grep perro grepo.txt
perro
[jp@oraserv5 clase]$ grep -i perro grepo.txt
perro
Perro

ojo:) Buscar en el man la definición de la opción “-i”.

112- Vamos a buscar la palabra perro recursivamente.


[jp@oraserv5 clase]$ sudo grep -r "Perro" /home/jp/fcld/
/home/jp/fcld/fclds/libre/clase/grepo.txt:Perro

ojo:) Explicar al GNU/Instructor la opción “-r”.

113- Realizar los siguientes ejercicio y explicar al GNU/Instructor la


función de estas funciones.
[jp@oraserv5 clase]$ grep -w "Perro" grepo.txt

[jp@oraserv5 clase]$ grep -n "jp" passwd


34:jp:x:500:500:Jose Paredes:/home/jp:/bin/bash

[jp@oraserv5 clase]$ grep -c "jp" passwd


1

114- Vamos utilizar el comando grep acompañado de la tubería.


[jp@oraserv5 clase]$ dmesg | egrep '(s|h)d[a-z]'
[jp@oraserv5 clase]$ cat /proc/cpuinfo | grep -i 'Model'
[jp@oraserv5 clase]$ grep -i 'Model' /proc/cpuinfo

115- Vamos a colorear la palabra encontrada por el comando grep en un


archivo.
[jp@oraserv5 clase]$ grep --color -i 'Model' /proc/cpuinfo
model : 23
model name : Intel(R) Core(TM)2 Duo CPU T9400 @ 2.53GHz

116- Vamos realizar ejercicio con el comando sed , vamos a borrar 30 lineas
del la copia de passwd realizada en el ejercicio 26.
[jp@oraserv5 clase]$ sed '1, 30d' passwd |nl

117- Vamos a sustituir todos los “:” por “@” en el archivo passwd que
tenemos en el directorio clase.
[jp@oraserv5 clase]$ sed 's/:/@/g' passwd

118- Vamos a eliminar la primera linea del archivo grepo.txt.


[jp@oraserv5 clase]$ sed -e "1d" grepo.txt

119- Borraremos la linea 2 y la 3 utilizando el comando sed.


[jp@oraserv5 clase]$ sed -e "2,3d" grepo.txt

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

120- Vamos realizar ejercicio con el comando awk, selecciones las columna
4 y 8 de la salida ls -l.
[jp@oraserv5 libre]$ ls -l |awk '{print $4 $9}'

121- Mostramos el nombre completo del usuario y su login:


[jp@oraserv5 libre]$ awk 'BEGIN {FS=":"}; {print $1,$NF | "sort"}' /etc/passwd

122- Visualicemos los usuarios que se encuentran conectados en el sistema,


mediante el siguiente formato: nº orden -- nombre usuario , totalizando el
nº de usuarios.
[jp@oraserv5 libre]$ who -u|awk 'BEGIN { i=0 } { i+=1; print i,"-",$1 } END { print
"Total usuarios " i }'

123- En este ejercicio eliminaremos las lineas repetidas y contaremos las


veces que se encontró cada entrada, colocando esta cantidad como primera
columna.
[jp@oraserv5 libre]$ history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|
uniq -c

124- Realice los siguientes ejercicios y explique al GNU/Instructor el


resultado de cada uno.
[jp@oraserv5 libre]$ gawk '{print $3}' FS=":" /etc/passwd
[jp@oraserv5 libre]$ awk -F":" '{ print $1 $3 }' /etc/passwd
[jp@oraserv5 libre]$ awk -F":" '{ print "usuario: " $1 "\t\tuid:" $3 }' /etc/passwd
[jp@oraserv5 libre]$ awk '$3 >= 500 {print $1 $5 $7 }' FS=":" /etc/passwd
[jp@oraserv5 libre]$ awk 'BEGIN { print "Usuario UID Shell\n------- --- -----" } $3
>= 500 { print $1, $3, $7 | "sort -r"}' FS=":" /etc/passwd

[jp@oraserv5 libre]$ awk 'BEGIN { print "Usuario UID Shell\n------------ ----


----------" } $3 >= 500 \
> { printf "%12s %4d %10s\n", $1, $3, $7 | "sort -r"}' FS=":" /etc/passwd

[jp@oraserv5 libre]$ awk 'BEGIN { print "Usuario UID Shell\n------------ ----


----------" } $3 >= 500 \
{ printf "%-12s %4d %-10s\n", $1, $3, $7 | "sort -r"}' FS=":" /etc/passwd

[jp@oraserv5 libre]$ who | awk '{ print $1,$5 }'

[jp@oraserv5 libre]$ sed 3q /etc/passwd | awk -F: '{ print $1 }'

[jp@oraserv5 libre]$ awk 'END { print NR }' /etc/passwd

[jp@oraserv5 libre]$ sed 1q /etc/passwd | awk '{split ($0,a,":"); print a[1]}'

[jp@oraserv5 libre]$ awk '{ printf "%4d %s\n", NR, $0 }'

ojo:) Cuando digite este ejemplo debe teclear la entrada.

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

125- Vamos listar el contenido de un directorio y a la vez redireccionar


la salida a un archivo.
[jp@oraserv5 libre]$ ls |tee ls.txt

ojo:) Repita el ejercicio pero con la opción -a, explicar al GNU/Instructor que
usted entendió.

126- Vamos a renombrar todos los archivos que se encuentran dentro del
directorio llamado libre. Estaremos utilizando el comando xargs.
[jp@oraserv5 libre]$ ls | xargs -t -i mv {} {}.bak

ojo:) La opción -i le comunica a xargs que reemplace {} con el nombre de cada


elemento. La opción -t ordena a xargs que imprima el comando antes de ejecutarlo.

127- Otra operación es muy útil cuando quiere abrir los archivos para
edición utilizando vi:
[jp@oraserv5 libre]$ file * | grep ASCII | cut -d":" -f1 | xargs vi

ojo:)Este comando abre los archivos uno por uno utilizando vi. Cuando quiere buscar
muchos archivos y abrirlos para edición, esto resulta muy útil.

128- Vamos a sustituir los dos por espacio utilizando el comando tr.
[jp@oraserv5 libre]$ tr ':' ' ' < /etc/passwd

129- Vamos a convertir todo lo que esta en minúscula a mayúscula con el


comando tr.
[jp@oraserv5 libre]$ tr '[a-z]' '[A-Z]' < /etc/passwd

130- Vamos a sustituir un caracter por otro con el comando tr.


[jp@oraserv5 libre]$ echo murcielago | tr aeiou AEIOU

131- En el siguiente ejemplo borraremos las letras 'a' y 'e' de la palabra


'academia' .
[jp@oraserv5 libre]$ echo academia | tr -d ae

132- Eliminaremos todos los espacios en blanco que tengamos repetidos en


una frase.
[jp@oraserv5 libre]$ echo 'una frase muy tonta pero valdrá' | tr -d ' '

133- Eliminaremos todos los caracteres repetidos que tengamos repetidos en


una frase.
[jp@oraserv5 libre]$ echo 'una frase muy tonta pero valdrá' | tr -s ' '

134- Eliminaremos todos los caracteres repetidos y luego lo vamos a


sustituir por otro.
[jp@oraserv5 libre]$ echo 'una frase muy tonta pero valdrá' | tr -s ' ' .

135- Iniciaremos ejercicio con el mando split, vamos a dividir el archivo


passwd en varios trozos por lineas de 10.
[jp@oraserv5 santiago]$ split -l10 passwd

ojo:)Puede aplicar este ejemplo con archivos de MB o GB pero tendrá que cambiar las

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

opciones.

136- Vamos a comprobar la cantidad de lineas de los archivos generados con


el comando nl.
[jp@oraserv5 santiago]$ nl xaa
ojo:)Repita esto para cada uno de los archivos generados por el ejercicio 135.

137- Realice el siguiente ejercicio y explique a su GNU/Instructor el


resultado.
[jp@oraserv5 santiago]$ split -d -l10 passwd passwd

138- Vamos a concatener la salida del ejercicio anterior.


[jp@oraserv5 santiago]$ cat passwd* > clave.txt

ojo:)Compruebe que el archivo clave.txt y passwd tengas la misma cantidades de


lineas.

139- Para realizar los ejercicios de mount debe usted tener una memoria
usb a mano o algún otro device. Tenemos varios modos de ver si un
dispositivos de almacenamiento esta conectado.
[jp@oraserv5 santiago]$ sudo fdisk -l

[jp@oraserv5 santiago]$ cat /proc/partitions

ojo:) Sabe usted por que sudo?, Explicarle al GNU/Instructor su idea sobre sudo y de
que otro modo puede realizar este ejercicio.

140- Una vez ya sabemos el nombre del dispositivo en /dev podemos


montarlo, antes crearemos un directorio en mnt llamado memo donde lo
montaremos.
[jp@oraserv5 santiago]$ sudo mkdir -p /mnt/memo
[jp@oraserv5 santiago]$ sudo mount /dev/sdb1 /mnt/memo

ojo:) Liste el contenido del directorio memo, debe salir el contenido que usted
tenia en la memoria.

141- Hacer una imagen ISO de un CD o DVD tambien es facil.


[jp@oraserv5 santiago]$ cat /dev/cdrom > archivo.iso

142- Si deseamos montar ese archivo ISO como un CD o DVD (simular que esta
físicamente introducido) lo hacemos como sigue.
[root@oraserv5 ~]# mount -o loop /home/jp/archivo.iso /media

143- Vamos a ver un detalle de los filesystem montados actualmente.


[jp@oraserv5 santiago]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VLoraserv5-VLBarra 15G 4.4G 9.2G 33% /
/dev/mapper/VLoraserv5-VLHome 142G 112G 24G 83% /home
/dev/mapper/VLoraserv5-VLUsr 76G 58G 15G 80% /usr
/dev/mapper/VLoraserv5-VLOpt 133G 78G 49G 62% /opt
/dev/mapper/VLoraserv5-VLVar 76G 55G 18G 76% /var
/dev/sda1 190M 127M 54M 71% /boot

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

/dev/sdb1 7.5G 4.2G 3.4G 56% /media/disk


/dev/sdb1 7.5G 4.2G 3.4G 56% /mnt/memo

144- También podemos ver donde están los dispositivos ejecutando el


comando mount mas sus privilegios.
[jp@oraserv5 santiago]$ mount
/dev/mapper/VLoraserv5-VLBarra on / type ext3 (rw)
/dev/sdb1 on /mnt/memo type vfat (rw)
/dev/sda1 on /boot type ext3 (rw)

145- Vamos a desmontar el dispositivo montado en /mnt/memo.


[jp@oraserv5 santiago]$ sudo umount /mnt/memo

ojo:) Compruebe que no esta montado.

146- Si queremos ver información de nuestro CPU.


[jp@oraserv5 santiago]$ cat /proc/cpuinfo

147- Si queremos ver información de memoria en nuestro CPU.


[jp@oraserv5 santiago]$ cat /proc/meminfo

148- Si queremos saber el tamaño ocupado por un archivo o directorio.


[jp@oraserv5 santiago]$ sudo du -sch /var/
54G /var/
54G total

149- Vamos a mostrar información sobre la memoria RAM y Swap (total, libre
y ocupada).
[jp@oraserv5 santiago]$ free -tm
total used free shared buffers cached
Mem: 5878 4898 979 0 240 3194
-/+ buffers/cache: 1464 4413
Swap: 11999 0 11999
Total: 17878 4898 12979

150- Vamos a localizar la ubicación de un comando en especifico.


[jp@oraserv5 santiago]$ which ls
alias ls='ls --color=tty' /bin/ls

151- Vamos a localizar archivos ejecutables, las fuentes y el manual de un


comando.
[jp@oraserv5 santiago]$ whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz

152- Vamos a mostrar los dispositivos PCI.


[jp@oraserv5 santiago]$ lspci

153- Vamos a mostrar los dispositivos USB.


[jp@oraserv5 santiago]$ lsusb

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

154- Vamos a mostrar el uid interno del usuario "nombre_usuario" y los


grupos de seguridad a los que pertenece.
[jp@oraserv5 santiago]$ id
uid=500(jp) gid=500(jp) groups=500(jp),502(oinstall)

155- Vamos a mostrar la versión del kernel que estamos utilizando.


[jp@oraserv5 santiago]$ uname -a

ojo:) Aplique help al comando uname y practique varias opciones.

156- Vamos a sacar y entrar el cdrom o Dvd, lo que usted tenga:).


[jp@oraserv5 santiago]$ eject

ojo:) agregue la opción -t para entrar el dispositivo.

157- Vamos a dormir el shell durante 5 segundo.


[jp@oraserv5 santiago]$ sleep 5

158- Vamos a mostrar los módulos cargados en memoria.


[jp@oraserv5 santiago]$ lsmod

159- Vamos a logearnos como super usuario.


[jp@oraserv5 santiago]$ su -
Password:
[root@oraserv5 ~]#

ojo:) Para salir del ambiente root ejecute “exit” o “CRTL+D”.

160- Vamos a cambiar el idioma de nuestro teclado desde el X.


[jp@oraserv5 santiago]$ setxkbmap us

ojo:) Si desea en español cambie “us“ por “es“.

161- Vamos a cambiar el idioma de nuestro teclado desde consola.


[jp@oraserv5 santiago]$ loadkeys us

ojo:) Si desea en español cambie “us“ por “es“.

162- Vamos a ejecutar repetidamente el comando entre comillas y muestra el


resultado en pantalla.
[root@oraserv5 ~]# watch "free"

163- Vamos a reiniciar nuestra maquina.


[root@oraserv5 ~]# reboot
[root@oraserv5 ~]# init 6
[root@oraserv5 ~]# shutdown -r now

164- Vamos a apagar nuestra maquina.


[root@oraserv5 ~]# poweroff
[root@oraserv5 ~]# init 0
[root@oraserv5 ~]# shutdown -h now
[root@oraserv5 ~]# halt

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

165- Atajos que funcionan en la shell Bash de GNU/Linux.


Ctrl + A Manda el cursor al principio de la línea
Ctrl + B Funciona como la flecha izquierda, hace que el cursor se mueva hacia atrás.
Ctrl + C Aborta la ejecución de el proceso actual.
Ctrl + D Borra el carácter que este dentro del cursor. También cuando la shell esta en espera de ordenes
cierra la ventana y si hay varias pestañas abiertas cierra de una en una.

Ctrl + E Manda el cursor al final de la línea


Ctrl + F Mueve el cursor hacia adelante, funciona como la flecha derecha
Ctrl + H Borra el carácter a la izquierda del cursor. Equivale a la tecla retroceso (backspace)
Ctrl + K Elimina todo lo que este del cursor a su derecha
Ctrl + L Limpia la pantalla. Es similar al comando clear.
Ctrl + N Siguiente comando en el historial. Trabaja igual que la flecha abajo.
Ctrl + O Equivale a enter
Ctrl + P Trabaja igual que la flecha arriba. Muestra el comando anterior ejecutado.
Ctrl + R Búsqueda en el archivo .bash_history. Busca un comando tecleado con anterioridad que empiece con
las letras que tecleamos.

Ctrl + S Congela la terminal.


Ctrl + T Cambia los dos caracteres anteriores a la posición del cursor.
Ctrl + U Borra y guarda en el portapapeles lo que esta a la izquierda del cursor.
Ctrl + XX Mueve el cursor a su posición anterior.
Ctrl + II Muestra todos los comandos posibles
Ctrl + Y Pega la palabra que este guardada en el portapapeles cuando se haya usado los Ctrl + U y Ctrl + W
Ctrl + W Borra y guarda en el portapapeles la palabra a la izquierda del cursor.
Ctrl + Z Suspende/detiene el comando. Manda el proceso actual al background (segundo plano), el proceso
puede ser regresado a primer plano con los comandos: jobs y fb.

Ctrl + Re Pág (Page Up) Cambia a la pestaña izquierda


Ctrl + Av Pág (Page Down) Cambia a la pestaña derecha
Ctrl + Flecha derecha Mueve el cursor una palabra a la derecha.
Ctrl + Flecha izquierda Mueve el cursor una palabra a la izquierda.

***** Alt *****

Alt + * (Si es el carácter arriba en la tecla hay que presionar además shift) Inserta todas las posibles
entradas que pueden completar la palabra.
Alt + < Mueve a la primera línea en el historial.

Alt + = Mueve a la ultima línea en el historial.


Alt + ? (Si es el carácter arriba en la tecla hay que presionar además shift) Muestra la lista completa
de sugerencias de posibilidades.
Alt + backspace Borra hacia atrás del cursor
Alt + . Muestra la ultima parte del comando previo utilizado
Alt + C Hace que la primera letra de una palabra se convierta a mayúscula y el resto a minúsculas. Cuando
esta en medio de una palabra convierte a mayúscula la letra donde esta el cursor y deja en minúsculas las letras
del cursor hacia la derecha.
Alt + D Borra una palabra. Me funciono cuando estaba al principio de la misma.
Alt + L Convierte una palabra a minúsculas
Alt + N Busca hacia delante en el historial, non-incremental
Alt + P Busca hacia atrás, non-incremental
Alt + U Hace mayúscula una palabra
Alt + 1-9 Nos mueve de pestaña en pestaña de acuerdo a la posición que ocupa y el número que hayamos
presionado.

***** Ctrl + Shift *****

Ctrl + Shift + C Copiar


Ctrl + Shift + N Abre terminal
Ctrl + Shift + Q Cierra ventana
Ctrl + Shift + T Abre pestaña
Ctrl + Shift + W Cierra pestaña
Ctrl + Shift + V Pegar
Ctrl + Shift + Re Pág (Page Up) Mueve la pestaña a la izquierda
Ctrl + Shift + Av Pág (Page Down) Mueve la pestaña a la derecha

GNU/Instructor
Ing. José Paredes
Academia del Software Libre (ASLD)

***** Alt + Shitf *****

Alt + Shift + B Mueve el cursor 1 palabra hacia atrás en la línea en la que esté situado.
Alt + Shift + F Mueve el cursor 1 palabra hacia adelante en la línea en la que esté situado.
Alt + Shift + T Invierte el lugar de dos palabras

***** Tabulador (Primero el símbolo y luego presionar dos veces tab) *****

2T Muestra todos los comandos disponibles


/ + 2T Muestra la estructura completa de directorios raíz incluidos los ocultos.
[Directorio]/ + 2T Igual que /+2T. Muestra la estructura completa del directorio, incluido los ocultos.
[Dentro de un directorio] + 2T Muestra todos los subdirectorios incluidos los ocultos.
* + 2T Muestra los subdirectorios excluyendo a los ocultos.
~ + 2T Muestra todos los usuarios (users) presentes en el sistema desde "/etc/passwd"

$ + 2T Todas las variables del sistema.


@ + 2T Muestra las entradas desde "/etc/hosts"
= + 2T La salida es igual a ls en el directorio.

***** Otros atajos *****

Flecha arriba Muestra el comando anterior ejecutado


Flecha abajo Muestra el siguiente comando ejecutado
Flecha izquierda Mueve el cursor hacia la izquierda
Flecha derecha Mueve el cursor hacia la derecha
Inicio Mueve el cursor al principio de la línea
Fin Mueve el cursor al final de la línea
Esc y luego la letra D Borra de la posición actual al final de la palabra
Esc y luego la letra P Busca en el historial de comandos. Similar a Ctrl+R
Esc y luego la letra T Invierte el orden de dos palabras contiguas
Esc y luego la letra U Cambia a mayúsculas la palabra adelante del cursor

GNU/Instructor
Ing. José Paredes

También podría gustarte