Practica GNU Basico

Post on 12-Nov-2014

269 views 1 download

description

Sigamos practicando GNU/Linux

Transcript of 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.     

 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

            doris@GNU.Linux­>~:$ cat > frutas              peras, manzanas, piña          

10) Despleguemos el contenido del archivo frutas

           doris@GNU.Linux­>~:$ cat frutas

11) Borremos el archivo frutas

doris@GNU.Linux­>~:$ rm frutas

12) Hagamos una copia de un archivo

               doris@GNU.Linux­>~:$ cp /etc/passwd archivocopia.txt .

13)  Renombremos un archivo

              doris@GNU.Linux­>~:$ mv archivocopia.txt nuemovido.pdf

14)  Movamos un archivo a un directorio

                 doris@GNU.Linux­>~:$ 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

            doris@GNU.Linux­>~:$ history

17)  Ejecutemos el último comando

                 doris@GNU.Linux­>~:$ !!

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

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

                doris@GNU.Linux­>~:$ !503

19)  Listemos el contenido de un directorio

               doris@GNU.Linux­>~:$ ls directorio

20)  Una ruta relativa

   doris@GNU.Linux­>~:$ cd Desktop/

                    La que parte de donde estamos

21)  Una ruta absoluta

                      La que parte desde el directorio raíz, es decir, la /doris@GNU.Linux­>~:$ cd /var/log/

22)  Veamos en que ruta estamos:

                       doris@GNU.Linux­>~:$ pwd

23)  Crearemos un directorio en su nombre:

                      doris@GNU.Linux­>~:$ mkdir directorio

24)  Borremos un directorio vació

                       doris@GNU.Linux­>~:$ rmdir directorio

25)  Cambiémonos a otro directorio

                       doris@GNU.Linux­>~:$ cd /usr/loca/

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

              doris@GNU.Linux­>~:$ cd .. 

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

      doris@GNU.Linux­>~:$ mkdir .Doris    doris@GNU.Linux­>~:$ touch .moldan

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

28)  Veamos los archivos ocultos

                       doris@GNU.Linux­>~:$ ls ­a

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

29)  Tres formas de cambiarnos a nuestro directorio home

                    doris@GNU.Linux­>~:$ cd                      doris@GNU.Linux­>~:$ cd ~                     doris@GNU.Linux­>~:$ cd /home/usuario

30)  Encontremos archivos sin saber en que directorio se encuentran

                     doris@GNU.Linux­>~:$ 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.

                    doris@GNU.Linux­>~:$ ls ­l

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

                   doris@GNU.Linux­>~:$ man rm

33)  Salgamos del manual de comandos

                      q              

34)  Obtengamos una informacion mas detallada sobre un comando

                    doris@GNU.Linux­>~:$ info comando

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

                     doris@GNU.Linux­>~:$ uname ­­help                   

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

                      doris@GNU.Linux­>~:$ 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:                       doris@GNU.Linux­>~:$ echo /usr/local/*

 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:                           doris@GNU.Linux­>~:$ 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                            doris@GNU.Linux­>~:$ ls [af]*

41)  [^ ]

                           Estamos indicando que debe concordar los caracteres que no se encuentran en el rango dado. Ejemplo:                           doris@GNU.Linux­>~:$ 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:                             doris@GNU.Linux­>~:$ ls; echo Hola           

44)  El “()” 

                         Para encerrar grupos de comandos, y tratarlos como si fueran uno solo. Ejemplo:                         doris@GNU.Linux­>~:$ (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 

                        doris@GNU.Linux­>~:$ (sleep 20; echo Hola) &

46)  Las comillas simples ' '

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

 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                       doris@GNU.Linux­>~:$ echo \*       

48)  Usemos  “#” 

                        Para señalar comentarios. Ejemplo:                         doris@GNU.Linux­>~:$ ls  #es un comentario de contenidos de un directorio                     

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

                             doris@GNU.Linux­>~:$ ls > mujer.txt

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

                         doris@GNU.Linux­>~:$ wc < mujer.txt

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

                              doris@GNU.Linux­>~:$ cat  /etc/passwd >> mujer.txt

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

                             doris@GNU.Linux­>~:$ 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

                        doris@GNU.Linux­>~:$  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”

                          doris@GNU.Linux­>~:$ ABIERTOS=”solucion”

56)  Mira el valor de esa variable

                            doris@GNU.Linux­>~:$ echo $ABIERTOS

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

57)  Mira todas las variables del shell

                              doris@GNU.Linux­>~:$ set

58)  Mira todas las variables que personifican tu ambiente

                              doris@GNU.Linux­>~:$ env

59)  Expande  a tu ambiente la variable que creaste

                              doris@GNU.Linux­>~:$ export ABIERTOS=’Mi Nombre es Jose’ 

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

                            doris@GNU.Linux­>~:$ echo $PATH    doris@GNU.Linux­>~:$ echo $ABIERTOS

61)  Encuentra archivos en el directorio actual de 10 Mebyte

                    doris@GNU.Linux­>~:$ find /proc/ ­type f  ­size +2000k ­name "*"

62)  Encuentra archivos en su home cuyo permisos sean 777

                   doris@GNU.Linux­>~:$ find ~  ­perm 777 

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

                      doris@GNU.Linux­>~:$ 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 

                    doris@GNU.Linux­>~:$ find ~ ­atime +30 

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

                     doris@GNU.Linux­>~:$ find ~ ­mtime ­5 

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

                      doris@GNU.Linux­>~:$ find ~ ­ctime ­5 

67)  Vea el record de quienes han ingresado al sistema

                       doris@GNU.Linux­>~:$ last

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

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

                          doris@GNU.Linux­>~:$ cat /etc/passwd |nl

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

doris@GNU.Linux­>~:$ wc ­clw /etc/fstab                    

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

                        doris@GNU.Linux­>~:$ cat /etc/X11/xorg.conf | less                       doris@GNU.Linux­>~:$ less /etc/X11/xorg.conf

71)  Haga lo anterior pero visualícelo por pantalla

                            doris@GNU.Linux­>~:$  more /etc/group                           doris@GNU.Linux­>~:$  cat /etc/group | more

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

doris@GNU.Linux­>~:$ cat > carlos.txtabefz                     doris@GNU.Linux­>~:$ sort ­d carlos.txt 

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

                    doris@GNU.Linux­>~:$ 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

                      doris@GNU.Linux­>~:$ sort  meses.txt ­o mesesordenado.txt

Nota: Tiene que crear el archivo meses.

 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

                  doris@GNU.Linux­>~:$ sort ­rf meses.txt

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

                 doris@GNU.Linux­>~:$ 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

  doris@GNU.Linux­>~:$ sort ­n ­t”:” ­k2,2 numeros.txt      

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

  doris@GNU.Linux­>~:$ sort ­d ­b papi.txt

Nota: Tiene que crear el archivo papi.txt

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

                   doris@GNU.Linux­>~:$ tail ­2 /var/log/messages

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

                    doris@GNU.Linux­>~:$ 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.

                    doris@GNU.Linux­>~:$ uniq frutas.txt

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

 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

      doris@GNU.Linux­>~:$ uniq ­c frutas.txt

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

                   doris@GNU.Linux­>~:$ uniq ­d frutas.txt

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

doris@GNU.Linux­>~:$ uniq ­u frutas.txt

85) Corte los primeros 3 caracteres del archivo anterior

doris@GNU.Linux­>~:$ cut ­c 1­ 3  frutas.txt

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

doris@GNU.Linux­>~:$ cut  ­d":"  ­f2  /etc/passwd

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

doris@GNU.Linux­>~:$ who | cut ­d” “ ­f1 | sort ­u

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

                  doris@GNU.Linux­>~:$ cut ­d”:” ­f1,5   /etc/passwd 

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

                doris@GNU.Linux­>~:$ 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

              doris@GNU.Linux­>~:$ nl /etc/group

 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.

doris@GNU.Linux­>~:$ 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".

             doris@GNU.Linux­>~:$ 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. 

doris@GNU.Linux­>~:$ 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 

     doris@GNU.Linux­>~:$ 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.

               doris@GNU.Linux­>~:$ split ­b # m archivo_a_dividir  archivo_dividido                Encontremos el resultado y comprobemos que cada uno tiene 5 megabyte

doris@GNU.Linux­>~:$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

 doris@GNU.Linux­>~:$ diff ­i  frutas.txt carlos.txt

97) Lístame el contenido de frutas en reverso

 doris@GNU.Linux­>~:$ tac frutas.txt

 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

doris@GNU.Linux­>~:$ last | tac

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

doris@GNU.Linux­>~:$ cat > sopa                   perro Gato                   perra Aniy                   rrosa Camaron 

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

                  doris@GNU.Linux­>~:$ tr [a­z] [A­Z] < sopa

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

doris@GNU.Linux­>~:$ tr [p] [r] < sopa

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

doris@GNU.Linux­>~:$ tr ­d "p" <  sopa

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

doris@GNU.Linux­>~:$ tr “p” “l” < sopa

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

doris@GNU.Linux­>~:$ echo $PATH |tr ":" "\n" doris@GNU.Linux­>~:$ echo $PATH 

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

  doris@GNU.Linux­>~:$ 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

                      doris@GNU.Linux­>~:$ cat > studiantes.txt                       Rosa                        Milly                       Patria

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

107)  Cree otro archivo con este contenido

                      doris@GNU.Linux­>~:$ 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

doris@GNU.Linux­>~:$ 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 “:”

doris@GNU.Linux­>~:$ 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

doris@GNU.Linux­>~:$ pushd /etc

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

doris@GNU.Linux­>~:$ popd

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

doris@GNU.Linux­>~:$ 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 

doris@GNU.Linux­>~:$ cp ­i studiantes.txt   notas.txt Desktop/

114)  Haga un backup del directorio que esta trabajando

doris@GNU.Linux­>~:$ cp ­a  directorio­trabajo  etc­backup

115)  Borra el backup forzadamente que hiciste

                doris@GNU.Linux­>~:$ rm ­r etc­backup

116)  Crea un directorio con los permisos de 755

doris@GNU.Linux­>~:$ mkdir ­m 755 directorio

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

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

doris@GNU.Linux­>~:$ file /etc/passwd

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

doris@GNU.Linux­>~:$ ls ­l notas.txt

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

                 doris@GNU.Linux­>~:$ touch ­t 20030819559 notas.txt

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

doris@GNU.Linux­>~:$ touch ­m notas.txt

121)  Cambie la fecha de acceso del archivo anterior

doris@GNU.Linux­>~:$ 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

doris@GNU.Linux­>~:$ date +”Hoy es %A el %d de %h %Y”

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

doris@GNU.Linux­>~:$ 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.

doris@GNU.Linux­>~:$ date +”%l:%M %p”

126)  Redireccione el error estándar a un archivo

doris@GNU.Linux­>~:$ programa 2> archvio.txt

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

doris@GNU.Linux­>~:$ 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 

 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.

                 doris@GNU.Linux­>~:$ last | tee listado aliado2

  Nota: El tee es como combinar > y  |

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

doris@GNU.Linux­>~:$ grep “Rosa”    studiantes.txt

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

doris@GNU.Linux­>~:$ 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 

doris@GNU.Linux­>~:$ 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

doris@GNU.Linux­>~:$ grep ­n “Patria”  studiantes.txt

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

doris@GNU.Linux­>~:$ grep ­c  “Patria”  studiantes.txt

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

doris@GNU.Linux­>~:$ man find 

135) Ejecute en background updatedb

              doris@GNU.Linux­>~:$ updatedb  &

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

              doris@GNU.Linux­>~:$ jobs

 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 

doris@GNU.Linux­>~:$ ps

141)  Monitorea los procesos de otra Terminal

           doris@GNU.Linux­>~:$ ps ­t tty#    (# el numero de la otra consola)

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

doris@GNU.Linux­>~:$ pstree

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

doris@GNU.Linux­>~:$ 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

doris@GNU.Linux­>~:$ top

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

doris@GNU.Linux­>~:$ ps ­t tty2

 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:

doris@GNU.Linux­>~:$ kill ­9 #pid  > tty2

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

doris@GNU.Linux­>~:$ kill ­2  #pid  > tty2                  o          El proceso corriendo presionar CTRL. + C

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

doris@GNU.Linux­>~:$ kill ­15 #pid   

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

          doris@GNU.Linux­>~:$ kill ­18 #pid  > tty2                      o               Sobre el proceso corriendo presionar CTRL + Z

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

doris@GNU.Linux­>~:$ 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:

       doris@GNU.Linux­>~:$ ln ­s archivo­real archivo­simbólico           doris@GNU.Linux­>~:$ ls ­l archivo­simbólico

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

doris@GNU.Linux­>~:$ rm  archivo­real            doris@GNU.Linux­>~:$ cat archivo­simbólico       Error el archivo del que dependía su contenido fue borrado

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

154) Cree un link duro a un archivo

doris@GNU.Linux­>~:$ 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

doris@GNU.Linux­>~:$ rm archivo2           doris@GNU.Linux­>~:$ 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

doris@GNU.Linux­>~:$ mkdir directorio­nuevo      doris@GNU.Linux­>~:$ cp ­a directorio­actual directorio­nuevo

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

  doris@GNU.Linux­>~:$ ls ­i archivo

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

             doris@GNU.Linux­>~:$ ls ­l  /etc/passwd

159)  Cambiarle el dueño a root

                         doris@GNU.Linux­>~:$ chown root frutas.txt

160)  Cambiarle el grupo a estudiantes

 doris@GNU.Linux­>~:$ 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: 

                         doris@GNU.Linux­>~:$ chown ­R root.estudiantes frutas.txt

162)  Veamos los permisos que tiene con: 

                         doris@GNU.Linux­>~:$ ls ­l directorio

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

                         doris@GNU.Linux­>~:$ stat directorio

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

doris@GNU.Linux­>~:$ chmod ­R g+rwx,o=rx canastas

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

164) Vemos los cambios realizados con 

doris@GNU.Linux­>~:$ 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

doris@GNU.Linux­>~:$ chmod 664 archivo                           o

      doris@GNU.Linux­>~:$ 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

  doris@GNU.Linux­>~:$ 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.

 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

doris@GNU.Linux­>~:$ cat /etc/fstab

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

doris@GNU.Linux­>~:$ df   ­h

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

doris@GNU.Linux­>~:$ df ­i       

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

doris@GNU.Linux­>~:$ 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):

doris@GNU.Linux­>~:$ uname

178)  Muestre la versión del sistema:

doris@GNU.Linux­>~:$ uname ­v

179)  Muestre toda la información del sistema:

doris@GNU.Linux­>~:$ uname ­a

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

180)  Para mostrar el nombre del hardware: 

      doris@GNU.Linux­>~:$ uname ­m

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

doris@GNU.Linux­>~:$ updatedb

182)  Encuentre páginas man  acerca de bash: 

doris@GNU.Linux­>~:$ whatis bash

183)  Los comandos relacionados con los directorios

doris@GNU.Linux­>~:$ apropos directorios                    o

      doris@GNU.Linux­>~:$ 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:

doris@GNU.Linux­>~:$  ls /etc/rc.d/rc doris@GNU.Linux­>~:$  ls /etc/init.d/rc

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

root@root­># /etc/init.d/networking startdoris@GNU.Linux­>~:$ service network restart

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

doris@GNU.Linux­>~:$ shutdown ­r +30

187)  Apague la maquina correctamente

doris@GNU.Linux­>~:$ init 0                 o 

doris@GNU.Linux­>~:$ halt

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

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

 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

 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][~]$__________________

 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][~]$__________________

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

222)Para Mostrar el valor anteponer de las siguientes variables

[k1k1@GNU][~]$__________________