25
 Fundación Código Libre Dominicano           www.codigolibre.org Dorys Moldan PRACTICA GNU/BASICO COMPLETO Objetivos: Nuestro objetivo con esta práctica es que usted en un corto tiempo tenga la habilidad de manejar y comprender un Sistema GNU/Linux, estos ejercicios fueron tomados del libro GNU/Básico de Antonio Perpiñan. Tiene que realizar cada ejercicio mencionado aquí y marcar los que no comprenda, luego preguntara estos ejercicios al GNU/Instructor. 1) UNIX Es un sistema operativo multitarea, multiusuario, creado en 1969 por Thompson y Ritchier de los laboratorios Bell. 2) 5 variedades de UNIX      Solaris, AIX, HPUX, SCO, BSD las normas POSIX, son las normas con la que debe cumplir una distribución de UNIX para que pueda ser reconocido como el mismo. 3) GNU     Sus siglas significan GNU Is Not  Unix. Es un proyecto creado en 1984 por Richard Stallman con el objetivo de conseguir un sistema operativo libre. 4) LINUX     Es la denominación de un sistema operativo  tipo-Unix  y el nombre de un núcleo . Es uno de los paradigmas más prominentes del software libre  y del desarrollo del código abierto cuyo código fuente  está disponible públicamente, para que cualquier persona pueda libremente usarlo, estudiarlo, redistribuirlo y, con los conocimientos informáticos adecuados, modificarlo. Creado en 1991 por Linus Torvalds. 5) Las 4 libertades de la licencia GPL que caracteriza al sistema operativo libre               Libertad 0: El software se puede usar.               Libertad 1: El software se puede modificar.               Libertad 2: El software se puede distribuir.               Libertad 3: El software se puede distribuir ya modificado. 6) Interactuemos con el sistema operativo GNU/LINUX            Mediante el GUI y el CLI que son el modo grafico y la línea de comandos o modo consola respectivamente.     

Practica GNU Basico

  • Upload
    hugo

  • View
    270

  • Download
    1

Embed Size (px)

DESCRIPTION

Sigamos practicando GNU/Linux

Citation preview

Page 1: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

PRACTICA GNU/BASICO COMPLETO

Objetivos:Nuestro objetivo con esta práctica es que usted en un corto tiempo tenga la habilidad de manejar y comprender un Sistema GNU/Linux, estos ejercicios fueron tomados del libro GNU/Básico de Antonio Perpiñan.

Tiene que realizar cada ejercicio mencionado aquí y marcar los que no comprenda, luego preguntara estos ejercicios al GNU/Instructor.

1) UNIX 

Es un sistema operativo multitarea, multiusuario, creado en 1969 por Thompson y Ritchier de los laboratorios Bell.

2) 5 variedades de UNIX

     Solaris, AIX, HPUX, SCO, BSD las normas POSIX, son las normas con la que debe cumplir una distribución de UNIX para que pueda ser reconocido como el mismo.

3) GNU

    Sus siglas significan GNU Is Not  Unix. Es un proyecto creado en 1984 por Richard Stallman con el objetivo de conseguir un sistema operativo libre.

4) LINUX

    Es la denominación de un sistema operativo tipo­Unix y el nombre de un núcleo. Es uno de los paradigmas más prominentes del software libre y del desarrollo del código abierto, cuyo código fuente está disponible públicamente, para que cualquier persona pueda libremente usarlo, estudiarlo, redistribuirlo y, con los conocimientos informáticos adecuados, modificarlo. Creado en 1991 por Linus Torvalds.

5) Las 4 libertades de la licencia GPL que caracteriza al sistema operativo libre

              Libertad 0: El software se puede usar.              Libertad 1: El software se puede modificar.              Libertad 2: El software se puede distribuir.              Libertad 3: El software se puede distribuir ya modificado.

6) Interactuemos con el sistema operativo GNU/LINUX

           Mediante el GUI y el CLI que son el modo grafico y la línea de comandos o modo consola respectivamente.     

Page 2: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

7) Entremos a una sección del  modo consola

          Utilizando la combinación de las teclas CTRL + ATL + F1.CTRL + ATL + F2CTRL + ATL + F3CTRL + ATL + F4

8) 3 formas  terminamos una sección en la consola

           Con CTRL+D,  exit, logout

9) Crear un archivo con el comando cat

            [email protected]­>~:$ cat > frutas              peras, manzanas, piña          

10) Despleguemos el contenido del archivo frutas

           [email protected]­>~:$ cat frutas

11) Borremos el archivo frutas

[email protected]­>~:$ rm frutas

12) Hagamos una copia de un archivo

               [email protected]­>~:$ cp /etc/passwd archivocopia.txt .

13)  Renombremos un archivo

              [email protected]­>~:$ mv archivocopia.txt nuemovido.pdf

14)  Movamos un archivo a un directorio

                 [email protected]­>~:$ mv nuemovido.pdf  directorio

15)  Completemos un nombre de un comando o un archivo

              Poniendo parte del nombre y presionando la tecla Tab.

16)  Veamos un listado de los comandos que hemos escrito

            [email protected]­>~:$ history

17)  Ejecutemos el último comando

                 [email protected]­>~:$ !!

Page 3: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

18)  Ejecutemos el comando numerado  en el history como el 503

                [email protected]­>~:$ !503

19)  Listemos el contenido de un directorio

               [email protected]­>~:$ ls directorio

20)  Una ruta relativa

   [email protected]­>~:$ cd Desktop/

                    La que parte de donde estamos

21)  Una ruta absoluta

                      La que parte desde el directorio raíz, es decir, la /[email protected]­>~:$ cd /var/log/

22)  Veamos en que ruta estamos:

                       [email protected]­>~:$ pwd

23)  Crearemos un directorio en su nombre:

                      [email protected]­>~:$ mkdir directorio

24)  Borremos un directorio vació

                       [email protected]­>~:$ rmdir directorio

25)  Cambiémonos a otro directorio

                       [email protected]­>~:$ cd /usr/loca/

26)  Volvamos al directorio padre del directorio en el cual nos encontramos actualmente

              [email protected]­>~:$ cd .. 

27)  Los archivos o directorios ocultos se crean con un punto delante:

      [email protected]­>~:$ mkdir .Doris    [email protected]­>~:$ touch .moldan

    Nota: Son archivos o directorios especiales y se identifican porque tienen un “.” delante. 

28)  Veamos los archivos ocultos

                       [email protected]­>~:$ ls ­a

Page 4: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

29)  Tres formas de cambiarnos a nuestro directorio home

                    [email protected]­>~:$ cd                      [email protected]­>~:$ cd ~                     [email protected]­>~:$ cd /home/usuario

30)  Encontremos archivos sin saber en que directorio se encuentran

                     [email protected]­>~:$ locate archivo                   Nota: Para utilizar este comando hay que actualizar la base datos updatedb, ya que si creamos un archivo ahora mismo no lo encontraremos.

31)  Veamos la información completa sobre archivos y directorios.

                    [email protected]­>~:$ ls ­l

32)  Obtengamos información y un gran desglose sobre un comando

                   [email protected]­>~:$ man rm

33)  Salgamos del manual de comandos

                      q              

34)  Obtengamos una informacion mas detallada sobre un comando

                    [email protected]­>~:$ info comando

35)  Obtengamos solo las opciones de un comando con –help.

                     [email protected]­>~:$ uname ­­help                   

36)  Despleguemos donde  están las documentación del sistema?

                      [email protected]­>~:$ ls /usr/share/doc/                    

37) Los meta caracteres

                      Son ciertos caracteres que especiales que el shell interpreta:* ? [ ] [!] |> 2> >> 2>> >&< <<() & $ && ||

38)  El meta carácter   *

                      Significa todo. Ejemplo:                       [email protected]­>~:$ echo /usr/local/*

Page 5: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

39)  El meta­carácter “? “ 

                           Es reemplazado por cualquier otro carácter que desconocemos. Ejemplo:                           [email protected]­>~:$ echo ?ola    Nota: Tiene que tener creado un archivo que empiece con cualquier letra seguido de ola.

40)  Los corchetes [ ]

                        Podemos escribir un rango de caracteres con los cuales queremos que el shell concuerde. Ejemplo                            [email protected]­>~:$ ls [af]*

41)  [^ ]

                           Estamos indicando que debe concordar los caracteres que no se encuentran en el rango dado. Ejemplo:                           [email protected]­>~:$ ls [^0­9]*     

42) Los meta­carácter relacionados con comandos, si los anteriores eran relacionados con archivos, son

                          “;”      “&”     “()”    

43)  El “;” 

      Para separar comandos en una linea del shell. Ejemplo:                             [email protected]­>~:$ ls; echo Hola           

44)  El “()” 

                         Para encerrar grupos de comandos, y tratarlos como si fueran uno solo. Ejemplo:                         [email protected]­>~:$ (sleep 20; echo Hola)        

45)  Hagamos  que en el ejemplo anterior no tengamos que esperar a que termine el proceso para entonces seguir escribiendo en el  PROMP 

                        [email protected]­>~:$ (sleep 20; echo Hola) &

46)  Las comillas simples ' '

                           El shell no interpretaría las meta­caracteres contenidos entre ellas. Ejemplo                        [email protected]­>~:$ echo '*?* [a­z]*'  

Page 6: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

47)  “\” 

                          Para que el shell no interprete el siguiente carácter o escapar espacio en un nombre de un archivo o directorio. Ejemplo                       [email protected]­>~:$ echo \*       

48)  Usemos  “#” 

                        Para señalar comentarios. Ejemplo:                         [email protected]­>~:$ ls  #es un comentario de contenidos de un directorio                     

49)  Mandemos  la salida de un comando a un archivo llamado mujer.txt

                             [email protected]­>~:$ ls > mujer.txt

50)  Hagamos  que la salida de un archivo sea la entrada de un comando

                         [email protected]­>~:$ wc < mujer.txt

51)  Añadamos el contenido de un archivo a otro sin sobrescribirlo

                              [email protected]­>~:$ cat  /etc/passwd >> mujer.txt

52)  Mandemos la salida de error de un comando a un archivo

                             [email protected]­>~:$ ls /mujer.txt  2> errores.txt                          Nota: Con esta opción no enviara la salida de error a pantalla sino aun archivo.

53)  Mezclemos la salida estándar de un comando con la entrada estándar de otro

                        [email protected]­>~:$  cat /etc/X11/xorg.conf  | wc

54)  Una variable

                       Es una palabra con un valor interpretado por el shell

55)  Declaramos una variable llamada ABIERTOS cuyo valor sea “solucion”

                          [email protected]­>~:$ ABIERTOS=”solucion”

56)  Mira el valor de esa variable

                            [email protected]­>~:$ echo $ABIERTOS

Page 7: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

57)  Mira todas las variables del shell

                              [email protected]­>~:$ set

58)  Mira todas las variables que personifican tu ambiente

                              [email protected]­>~:$ env

59)  Expande  a tu ambiente la variable que creaste

                              [email protected]­>~:$ export ABIERTOS=’Mi Nombre es Jose’ 

60)  La variable que contiene como valor las rutas para el shell buscar los ejecutables o comandos

                            [email protected]­>~:$ echo $PATH    [email protected]­>~:$ echo $ABIERTOS

61)  Encuentra archivos en el directorio actual de 10 Mebyte

                    [email protected]­>~:$ find /proc/ ­type f  ­size +2000k ­name "*"

62)  Encuentra archivos en su home cuyo permisos sean 777

                   [email protected]­>~:$ find ~  ­perm 777 

63)  Encuentra un archivo de nombre carta en tu home y bórralo con la opción ­exec

                      [email protected]­>~:$ find ~ ­name carta ­exec rm \{\}  \;

Nota: Asegúrese que este creado. Hay un espacio entre la llave final y la barra invertida

64)  Encuentra archivos que no han sido acezados en los últimos 30 días 

                    [email protected]­>~:$ find ~ ­atime +30 

65)  Encuentra archivos que hayan sido modificados hace 5 días.

                     [email protected]­>~:$ find ~ ­mtime ­5 

66)  Encuentre archivos creados en los últimos 5 días

                      [email protected]­>~:$ find ~ ­ctime ­5 

67)  Vea el record de quienes han ingresado al sistema

                       [email protected]­>~:$ last

Page 8: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

68)  Vea el contenido de un archivo con sus líneas enumeradas

                          [email protected]­>~:$ cat /etc/passwd |nl

69)  Cuente por palabra, caracteres y líneas la salida del archivo fstab

[email protected]­>~:$ wc ­clw /etc/fstab                    

70)  Para ver el texto compaginado de un archivo que exceda la pantalla:

                        [email protected]­>~:$ cat /etc/X11/xorg.conf | less                       [email protected]­>~:$ less /etc/X11/xorg.conf

71)  Haga lo anterior pero visualícelo por pantalla

                            [email protected]­>~:$  more /etc/group                           [email protected]­>~:$  cat /etc/group | more

72)  Sortear el archivo carlos.txt de forma alfabética

[email protected]­>~:$ cat > carlos.txtabefz                     [email protected]­>~:$ sort ­d carlos.txt 

73)  Sortee el archivo numeros.txt en orden numérica

                    [email protected]­>~:$ sort ­n numeros.txt  

Nota: Tiene que crear el archivo numero que contenga 1 2 4 5 6 2 3 8.

74)  Ordene el archivo meses.txt en orden cronológica y escriba la salida al archivo Mesesordenado.txt

                      [email protected]­>~:$ sort  meses.txt ­o mesesordenado.txt

Nota: Tiene que crear el archivo meses.

Page 9: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

75)  Ordena el archivo anterior pero en forma reversa e ignorando mayúscula o minúscula

                  [email protected]­>~:$ sort ­rf meses.txt

76)  Revisa si el archivo carlos.txt esta ordenado si no ordénalo por la columna numero 2

                 [email protected]­>~:$ sort ­c ­k 2  carlos.txt

Nota: Antes creamos el archivo carlos.txt con tres columna separadas por tab.

77)  Sortear u ordenar el archivo numeros.txt, que tiene “:” entre dos cantidades, por la columna 2

  [email protected]­>~:$ sort ­n ­t”:” ­k2,2 numeros.txt      

78)  Ordene el archivo papi.txt en forma de diccionario ignorando los espacios en blancos delanteros

  [email protected]­>~:$ sort ­d ­b papi.txt

Nota: Tiene que crear el archivo papi.txt

79)  Tome las 2 últimas líneas del messages 

                   [email protected]­>~:$ tail ­2 /var/log/messages

80)  Tome las 3 primeras líneas del archivo anterior

                    [email protected]­>~:$ head ­3 /var/log/messages

81)  Imprima líneas únicas de un archivo que contiene varias líneas iguales y que esta previamente ordenado de modo que se imprima una sola de varias líneas iguales a parte de su otro contenido que no se repite.

                    [email protected]­>~:$ uniq frutas.txt

Nota: Tiene que crear el archivo frutas.txt  con líneas duplicadas. Use el comando cat para crear el archivo.

Page 10: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

82)  Despliegue las líneas de un archivo enumeradas por las veces que las mismas se repiten

      [email protected]­>~:$ uniq ­c frutas.txt

83)  Muéstrame una sola vez solo las líneas duplicadas del archivo anterior 

                   [email protected]­>~:$ uniq ­d frutas.txt

84) Muéstrame solo las líneas únicas sin las duplicadas

[email protected]­>~:$ uniq ­u frutas.txt

85) Corte los primeros 3 caracteres del archivo anterior

[email protected]­>~:$ cut ­c 1­ 3  frutas.txt

86) Corte la columna 2 de passwd tomando como separador de columnas los dos puntos

[email protected]­>~:$ cut  ­d":"  ­f2  /etc/passwd

87)  Seleccione los nombres de los usuarios ingresados en el sistema

[email protected]­>~:$ who | cut ­d” “ ­f1 | sort ­u

88)  Despliegue las columnas una y cinco del archivo /etc/passwd 

                  [email protected]­>~:$ cut ­d”:” ­f1,5   /etc/passwd 

89)  Cambie todos los tabs en archivo.txt a tres espacios y muéstralo en pantalla

                [email protected]­>~:$ expand ­t 3 archivo.txt

Nota: Tiene que crear el archivo con varias columnas separadas con la tecla del tabulador.

90)  Muestre el contenido enumerado de group incluyendo aquellas enumeradas

              [email protected]­>~:$ nl /etc/group

Page 11: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

91)  Mostrar el valor numérico de los bytes y su equivalente en ASCII del archivo /etc/X11/xorg.conf , enumera las líneas y muéstrame solo las primeras 17 líneas.

[email protected]­>~:$ od ­c /etc/X11/xorg.conf | nl | head ­17 |  less

92)  Modifícame para impresión el archivo texis.txt poniendo espacio doble entre las líneas y poniéndole como cabezal "MY TEXIS".

             [email protected]­>~:$ pr ­d ­h "MY TEXIS" texis.txt |less

Nota: Tiene que crear el archivo texis.txt con algún mensaje dentro.

93) Divide el archivo seis.txt que tiene 6 líneas, en archivo de 2 líneas cada uno y que sus nombres comiencen con dividido. 

[email protected]­>~:$ split ­l 2 seis.txt dividido

Nota: Antes cree el archivo ls ­l > seis.txt. Luego ls para ver los que ha creado.

94) Observa el resultado  de lo anterior 

     [email protected]­>~:$ wc ­l dividido??

95)  Podemos dividir archivos en el número de Megabyte o Kilobyte que le indiquemos. En este caso en archivos de 5 megabyte tomando en cuenta que el original tiene 10.

Elegir uno de los archivos del resultado del ejercicio 61 y cópielo en el directorio actual.

               [email protected]­>~:$ split ­b # m archivo_a_dividir  archivo_dividido                Encontremos el resultado y comprobemos que cada uno tiene 5 megabyte

[email protected]­>~:$ls archivo_dividido?? | xargs du ­sch

Nota: el xargs pasara como argumento al du el resultado de ls

96) Reporte las diferencias de dos archivos ignorando mayúscula o minúscula

 [email protected]­>~:$ diff ­i  frutas.txt carlos.txt

97) Lístame el contenido de frutas en reverso

 [email protected]­>~:$ tac frutas.txt

Page 12: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

98) Muéstrame una lista  de los logins y logouts, con los más recientes de último

[email protected]­>~:$ last | tac

99) Cree un archivo con varias líneas de contenido

[email protected]­>~:$ cat > sopa                   perro Gato                   perra Aniy                   rrosa Camaron 

100)Cambie todas las letras minúsculas a mayúsculas 

                  [email protected]­>~:$ tr [a­z] [A­Z] < sopa

101)Cambie todas las ocurrencias de “rr” por “r”

[email protected]­>~:$ tr [p] [r] < sopa

102)  Elimine en el archivo anterior todas las ocurrencias de “p”

[email protected]­>~:$ tr ­d "p" <  sopa

103)  Reemplaza todas las ocurrencias de “p” con” l”

[email protected]­>~:$ tr “p” “l” < sopa

104)  Imprime la variable PATH en una sola línea

[email protected]­>~:$ echo $PATH |tr ":" "\n" [email protected]­>~:$ echo $PATH 

105)  Reemplace”perro” por “pelo” en el archivo sopa y guarde los cambios en otro archivo

  [email protected]­>~:$ sed ­e 's/perro/pelo/g'  sopa > sopamodificado

Nota: Tiene que crear un archivo que contenga la palabra perro.

106)  Cree un archivo con este contenido

                      [email protected]­>~:$ cat > studiantes.txt                       Rosa                        Milly                       Patria

Page 13: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

107)  Cree otro archivo con este contenido

                      [email protected]­>~:$ cat > notas.txt                           99                           88                           77

108) Fusione las líneas de estos dos archivos una al lado de la otra, sepárela con “:” y guárdela salida a otro archivo

[email protected]­>~:$ paste ­d “:” studiantes.txt notas.txt > notas­estudiantes

109)  Fusione todas las líneas del archivo notas en una sola línea usando como separador “:”

[email protected]­>~:$ paste ­d “:”  ­s notas.txt 

110)  Cámbiate al directorio /etc con pushd y de ese modo que se guarde en ese comando la ruta de la que se cambio

[email protected]­>~:$ pushd /etc

111)  Retorne al directorio desde donde hizo su último pushd o cambio

[email protected]­>~:$ popd

112) Muestre una lista de todos los directorios que ha almacenado pushd.

[email protected]­>~:$ dirs

113)  Copie los archivos studiantes.txt y notas.txt al directorio  Desktop y si en el directorio hay otro archivo con el mismo nombre que pregunte si quiero sobrescribirlo 

[email protected]­>~:$ cp ­i studiantes.txt   notas.txt Desktop/

114)  Haga un backup del directorio que esta trabajando

[email protected]­>~:$ cp ­a  directorio­trabajo  etc­backup

115)  Borra el backup forzadamente que hiciste

                [email protected]­>~:$ rm ­r etc­backup

116)  Crea un directorio con los permisos de 755

[email protected]­>~:$ mkdir ­m 755 directorio

Page 14: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

117)  Diga que tipo de archivo es el /etc/passwd

[email protected]­>~:$ file /etc/passwd

118)  Mire la fecha en que se creo el archivo notas.txt

[email protected]­>~:$ ls ­l notas.txt

119)  Cámbiele los atributos de la fecha al archivo anterior a  agosto 19 2003, 5:59pm.

                 [email protected]­>~:$ touch ­t 20030819559 notas.txt

120)  Cambie la fecha de modificación del archivo anterior 

[email protected]­>~:$ touch ­m notas.txt

121)  Cambie la fecha de acceso del archivo anterior

[email protected]­>~:$ touch ­a notas.txt

122)  Cambie la fecha actual por 04­08­2006

  root@root­># date ­s 20060804

123)  Diga la fecha en forma entendible con nombre de día y mes

[email protected]­>~:$ date +”Hoy es %A el %d de %h %Y”

124)  Imprima la fecha en formato de m/d/a

[email protected]­>~:$ date +”%D”

125)  Muestre la hora actual usando el reloj de 12­hora seguido por dos puntos entonces los minutos actuales seguido por AM o PM.

[email protected]­>~:$ date +”%l:%M %p”

126)  Redireccione el error estándar a un archivo

[email protected]­>~:$ programa 2> archvio.txt

127)  Imprime el contenido de cada archivo del directorio actual a pantalla con xargs

[email protected]­>~:$ ls a* | xargs cat                 nota: Xargs tomo como argumento la salida del ls y se la paso como argumento al comando cat. Como es probable que el pront se da;e escriba luego de pararlo reset, para 

Page 15: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

arreglar el pront.

128)  Muestre todos los usuarios del sistema y también guárdelo en un archivo.

                 [email protected]­>~:$ last | tee listado aliado2

  Nota: El tee es como combinar > y  |

129)  Encuentra la palabra “Rosa” en el archivo studiantes.txt

[email protected]­>~:$ grep “Rosa”    studiantes.txt

130)  Encuentra el archivo que contiene la palabra “perro”

[email protected]­>~:$ grep ­l “perro”  *

Nota: Tiene la palabra tiene que existir en algún archivo.

131)  Liste las líneas que no concuerdan con el patrón dado 

[email protected]­>~:$ grep ­v “Patria”  studiantes.txt

Nota: La palabra tiene que existir en el archivo.

132)  Imprima las líneas que igualan el patrón dado y sus números de líneas en pantalla

[email protected]­>~:$ grep ­n “Patria”  studiantes.txt

133)  Cuenta todas las líneas en el archivo anterior que concuerdan con el patrón de búsqueda

[email protected]­>~:$ grep ­c  “Patria”  studiantes.txt

134) Inicie el proceso man find y envíelo background  con ctrl + z

[email protected]­>~:$ man find 

135) Ejecute en background updatedb

              [email protected]­>~:$ updatedb  &

136) Mire los procesos suspendidos y los que están corriendo en el background  

              [email protected]­>~:$ jobs

Page 16: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

137)  Active  el comando man find  el cual detuvo  y salga de el con “q”.

            1ro :       bg (actuara sobre el proceso único detenido y lo mandara al background)            2do :      fg  %# ( # indica el numero del proceso que queremos traer al primer plano y que hemos visto con jobs)  

138)  Traiga el comando updatedb al primer plano

fg  %# ( # indica el numero del proceso que queremos traer al primer plano y que hemos visto con jobs)

139) Cuando en el segundo plano se están ejecutando varios procesos y los vemos con jobs aparecerán algunos con signos de + y – uno indica el trabajo activo mas reciente  y el otro el trabajo previo al trabajo actual.

140) Monitorea los procesos de tu terminal 

[email protected]­>~:$ ps

141)  Monitorea los procesos de otra Terminal

           [email protected]­>~:$ ps ­t tty#    (# el numero de la otra consola)

142)  Muéstrame los procesos con sus procesos hijos o dependientes de ellos

[email protected]­>~:$ pstree

143)  Muéstrame los procesos activos dinámicamente: 

[email protected]­>~:$ top

144)  El proceso padre de todos los procesos es:

El proceso INIT

145) En la tty2 ejecuta el comando top y luego cámbiate a la tty3

[email protected]­>~:$ top

146)  Mira los procesos de la tty2 con sus PID o números con los que son reconocidos por el shell

[email protected]­>~:$ ps ­t tty2

Page 17: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

147) Encuentre el pid del proceso “top”  y mándele una señal de muerte con kill:

[email protected]­>~:$ kill ­9 #pid  > tty2

148) Ahora corre de nuevo el proceso y mándamele una señal para que se interrumpa

[email protected]­>~:$ kill ­2  #pid  > tty2                  o          El proceso corriendo presionar CTRL. + C

149) Pedimos a un proceso que este corriendo  que se cierre correctamente 

[email protected]­>~:$ kill ­15 #pid   

150)  Genera el mismo proceso de nuevo y esta vez mandamos una señal para que se detenga temporalmente

          [email protected]­>~:$ kill ­18 #pid  > tty2                      o               Sobre el proceso corriendo presionar CTRL + Z

151)  Programamos una tarea para que se realice en un minuto

[email protected]­>~:$ at now  +1 minutesat> echo “mi nombre o username es:”at> whoamiat> echo “mi directorio actual es:”at> pwdat> ctrl + d

152)  Cree un link o enlace simbólico a un archivo y lo observamos con ls:

       [email protected]­>~:$ ln ­s archivo­real archivo­simbólico           [email protected]­>~:$ ls ­l archivo­simbólico

153)  Borramos el archivo real y observamos que paso con el enlace simbólico:

[email protected]­>~:$ rm  archivo­real            [email protected]­>~:$ cat archivo­simbólico       Error el archivo del que dependía su contenido fue borrado

Page 18: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

154) Cree un link duro a un archivo

[email protected]­>~:$ ln archivo2    archivo­duro

Nota: copie el archivo /etc/passwd a su directorio y con ese prepare el enlace.

155)  Borramos el archivo original y vea el contenido del enlace duro y diga lo que observa

[email protected]­>~:$ rm archivo2           [email protected]­>~:$ cat archivo­duro 

          Nota: No se borro el contenido porque a diferencia del enlace simbólico el enlace duro apunta al inode o numero que representa el archivo de modo que habrán dos archivos con el mismo numero de identificación y si uno de ellos se borra como es el caso el otro no es afectado.

156) Cree un directorio y copie todos los link o enlace que creamos al directorio nuevo

[email protected]­>~:$ mkdir directorio­nuevo      [email protected]­>~:$ cp ­a directorio­actual directorio­nuevo

157) Observe el número de inode de un archivo

  [email protected]­>~:$ ls ­i archivo

158) Vemos cual es el dueño y el grupo al cual pertenece el archivo anterior

             [email protected]­>~:$ ls ­l  /etc/passwd

159)  Cambiarle el dueño a root

                         [email protected]­>~:$ chown root frutas.txt

160)  Cambiarle el grupo a estudiantes

 [email protected]­>~:$ chgrp estudiantes carlos.txt

161)  A un archivo que tenga creado le cambiamos de dueño a root y el grupo a estudiantes al mismo tiempo: 

                         [email protected]­>~:$ chown ­R root.estudiantes frutas.txt

162)  Veamos los permisos que tiene con: 

                         [email protected]­>~:$ ls ­l directorio

Page 19: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

                         [email protected]­>~:$ stat directorio

163) Cambiamos los permisos de lectura, escritura y ejecución para el grupo para los otros de solo lectura y ejecución

[email protected]­>~:$ chmod ­R g+rwx,o=rx canastas

Nota: Crear el directorio o tomas uno que este creado.

164) Vemos los cambios realizados con 

[email protected]­>~:$ stat archivo  o directorio

165) Para cambiar los permisos a un archivo que sea de solo lectura y escritura para el dueño y el grupo y de solo lectura para los otros

[email protected]­>~:$ chmod 664 archivo                           o

      [email protected]­>~:$ chmod ug=rw,o=r archivo

166)  Para hacer que los permisos por defecto para todo lo que vaya a crear en su directorio sean de lectura, escritura y ejecución para el dueño y el grupo y para los otros que sea solo de lectura y ejecución

  [email protected]­>~:$ umask 002          022 evitar que los otros y el grupo escriban pero todos los permisos para el dueño

027 evitar grupo escriba y ningún permiso para otros. Lo conseguimos restandole 777(suma de todos los permisos) a lo equivalente a los permisos que queremos que tenga

167)  El comando básico para crear, borrar o cambiar particiones en un disco es:

root@root­># fdisk 

168)  Programa basado en curses para particionar discos duros:

root@root­># cfdisk

169) Crea un sistema de archivo ext2 en la partición /dev/hda2 teniendo en cuenta que se borrara todo el contenido de la partición:

  root@root­># mkfs ­t ext2 ­c /dev/hda2 

Nota: Cuidado al ejecutar este ejercicio, puede dañar el sistema operativo.

Page 20: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

170) Montamos una memoria USB con:

root@root­># mount  /dev/sda1  /media/nombre­memoria

Nota: El dispositivo depende de como este llamado en /dev/sda?

171) Desmontémosla:

root@root­># umount /media/nombre­memoria

172)  Observe los sistemas de archivo montados y sus puntos de montaje

[email protected]­>~:$ cat /etc/fstab

173)  Mostramos un resumen del espacio libre en una partición de manera legible: 

[email protected]­>~:$ df   ­h

174)  Muestre información sobre el uso de los inodes en los sistemas de archivos montados:

[email protected]­>~:$ df ­i       

175)  Muestre la información del espacio en disco utilizado en un árbol de directorio:

[email protected]­>~:$ du –h /proc/kcore

176)  Revisamos manualmente si hay problemas en el sistema de archivos y que se reparen: 

    root@root­># fsck   /dev/nombre_dispositivo

177)  Muestre el nombre del sistema (solo el nombre del kernel):

[email protected]­>~:$ uname

178)  Muestre la versión del sistema:

[email protected]­>~:$ uname ­v

179)  Muestre toda la información del sistema:

[email protected]­>~:$ uname ­a

Page 21: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

180)  Para mostrar el nombre del hardware: 

      [email protected]­>~:$ uname ­m

181)  Actualizamos la base de datos utilizada por el comando locate de la siguiente manera:

[email protected]­>~:$ updatedb

182)  Encuentre páginas man  acerca de bash: 

[email protected]­>~:$ whatis bash

183)  Los comandos relacionados con los directorios

[email protected]­>~:$ apropos directorios                    o

      [email protected]­>~:$ man ­k directorios

184)  Los vínculos leídos por el sistema al arranque de este para saber cual servicio va a iniciar o a detener se encuentran en:

[email protected]­>~:$  ls /etc/rc.d/rc [email protected]­>~:$  ls /etc/init.d/rc

185) Podemos iniciar el servicio de red de la siguiente manera:

root@root­># /etc/init.d/networking [email protected]­>~:$ service network restart

186) Reinicie la maquina en 30 minutos cosa que le de tiempo a los usuarios tiempo para salvar sus trabajos

[email protected]­>~:$ shutdown ­r +30

187)  Apague la maquina correctamente

[email protected]­>~:$ init 0                 o 

[email protected]­>~:$ halt

188)Busque las líneas que empiezan con root en /etc/passwd.

deivy@elvlap:~$ grep “^root” /etc/passwd

Page 22: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

189)Busca líneas que igualan por lo menos una de esta tres palabras root,sys y admin en /etc/passwd

deivy@elvlap:~$ grep ­i '\(root\|sys\|admin\)' /etc/passwd

190)Busque cadena sys en passwd e imprima la líneas y su número.

deivy@elvlap:~$ grep ­n estudiantes  /etc/passwd

191)Imprima el número de líneas que contienen la cadena estudiantes en el directorio /home/.

deivy@elvlap:~$ grep ­c  deivy   /home/estudiantes

192)Liste líneas que empiezan con números en grep /home/deivy/junior.

deivy@elvlap:~$ grep '[0­9]' /home/deivy/junior

193)Ejecute un ls ­l dentro del directorio Trabajo y imprime la primera y la tercera columna.

deivy@elvlap:~$ ls ­l |awk '{print $1 $3}'

194)Búscame en /etc/passwd dividido por dos puntos (:) la columna 1 y 4.

deivy@elvlap:~$ cat /etc/passwd  |awk ­F":" '{print $1,$4}'

195)Mostremos la hora y fecha de nuestro sistema en un formato largo con el comando awk.

deivy@elvlap:~$ date | awk '{print $1; print $2; print $3; print $6; }'

196)Busquemos la raíz cuadrada de un numero con el comando awk.

deivy@elvlap:~$ awk '{ printf ("%5.7f\n ", sqrt($1)) }' Nota: la opcion (sqrt) en awk sirve para sacar el valor de la raiz cuadrada de un determinado numero.

197)Suma las variables del archivo.txt

deivy@elvlap:~$ awk '{ $1 = $2 + $3; print $0 }' archivo.txt

Nota: El archivo tiene que estar con tres columnas numéricas.

198)Reemplace root con Administrador en /etc/passwd y guarden en user.txt.

deivy@elvlap:~$ sed ­e ‘s/root/Administrador/g’ /etc/passwd > user.txt

199)Queremos eliminar las líneas vacías de un fichero podemos usar algo como.

deivy@elvlap:~$ cat fichero | sed '/^[ ]*$/d' > fichero.reemplazado

Page 23: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

200)Para añadir un texto al comienzo de todas las líneas podemos hacer.

deivy@elvlap:~$ cat Junior| sed 's/^/Texto al comienzo:/g' > Junior.nuevo

  Nota: El archivo Junior tiene que estar creado con varias líneas.

201)Queremos añadir texto al final de todas las líneas de un flujo de datos; lo haremos con las siguientes expresiones de sed.

deivy@elvlap:~$ cat Junior | sed 's/$/Esto se añir al final/g' > Junior.nuevo

202)Cambia todas las minusculas a mayusculas de /home/deivy/Junior.

deivy@elvlap:~$ sed '1,$ s/[a­z]/[A­Z]/g' /home/deivy/Junior

203)Muestra el directorio de trabajo actual

[k1k1@GNU][~]$__________________

204)Crea un directorio

[k1k1@GNU][~]$__________________

205)Elimina el directorio especificado (debe estar vacío)

[k1k1@GNU][~]$__________________

206)Muestra el tipo de archivo o directorio.

[k1k1@GNU][~]$__________________

207)Busca ficheros coincidentes con la expresión de búsqueda

[k1k1@GNU][~]$__________________

208)Cambia la hora del sistema a las 15:30

[k1k1@GNU][~]$__________________

209)Muestra el valor de la variable de entorno especificada (nombrevariable)

[k1k1@GNU][~]$__________________

Page 24: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

210)Muestra las variables de entorno definidas para el usuario actual

[k1k1@GNU][~]$__________________

211)Muestra información sobre la memoria RAM y Swap (total, libre y ocupada)

[k1k1@GNU][~]$__________________

212)Muestra las 10 primeras líneas del fichero nombrefichero

[k1k1@GNU][~]$__________________

213)Listado de los comandos utilizados por el usuario

[k1k1@GNU][~]$__________________

214)Convierte a minúsculas todos los caracteres del archivo 'fichero.txt'

[k1k1@GNU][~]$__________________

215)Muestra las últimas diez líneas del fichero nombrefichero

[k1k1@GNU][~]$__________________

216)Apaga el sistema instantáneamente

[k1k1@GNU][~]$__________________

217)Reiniciar el sistema instantáneamente

[k1k1@GNU][~]$__________________

218)Lista los ficheros y directorios de la ubicación actual

[k1k1@GNU][~]$__________________

219)Crea enlaces duros y simbólicos

[k1k1@GNU][~]$__________________

220)Muestra información interesante sobre el sistema

[k1k1@GNU][~]$__________________

221)Utilizar la función de autocompletar

[k1k1@GNU][~]$__________________

Page 25: Practica GNU Basico

 Fundación Código Libre Dominicano            www.codigolibre.org Dorys Moldan

222)Para Mostrar el valor anteponer de las siguientes variables

[k1k1@GNU][~]$__________________