Comandos básicos para administrar Debian

Hoy quiero compartir con vosotros un documento que llevo elaborando varios meses, está inacabado, espero con vuestra ayuda ir avanzándolo poco a poco.

Recoge unos pocos comandos básicos para iniciarse en la administración de Debian, aunque algunos comandos son universales para otras distros GNU/Linux y Unix, y como no, las distros basadas en Debian; Ubuntu, Linux Mint (basada en Ubuntu), …

Espero ayudarles con este contenido y que ustedes me ayuden a mí, con comandos útiles y sencillos, para avanzar el documento.

1.- Comandos del Sistema.

1. uname -sr //Vemos la versión del Kernel.

2. uname -mrs //vemos todo lo del comando 1 y 2 en uno solo ya que se pueden poner tantos modificadores como deseemos.

3. cat /etc/*-release //es el comando que muestra la versión de nuestra distro.4. cat /proc/version //parecido al comando anterior pero pone menos datos y los pone en línea

5. hostname //Muestra el nombre de la máquina.

6. pwd //muestra el directorio de trabajo actual.

7. clear //limpiar la pantalla.

8. man comando //muestra manual del comando

9. Cambiar nombre del equipo

1.- Modificar el archivo /etc/hostname

Poner  nombre nuevo.

2.- Reiniciar

               reboot

3.- Comprobar con hostname y uname -a, aunque no hará falta dado que lo podemos ver en el prompt.

1.1.- Poner el Sistema en Fecha y Hora.

10. date // vemos la hora

11. cat /etc/timezone // para ver en qué zona horaria nos encontramos.

12. dpkg-reconfigure tzdata // para poner la zona horaria deseada

13. Cambiar fecha y hora al sistema

Suponemos que queremos colocar la fecha: 01-Feb-2015 y la hora 23:21.

date –set “2015-02-01 23:21”
dom feb 1 23:21:00 CET 2015

Ahora realizaremos el mismo cambio para actualizar la fecha en la BIOS.

hwclock –set –date=”2015-02-01 23:21″

Para comprobarlo tecleamos:

hwclock
dom 01 feb 2015 23:21:31 CET -0.270932 segundos

1.2.- Actualizar el Sistema.

14. aptitude update //para ver actualizaciones, se baja a un fichero local un listado de los paquetes de los que hay actualización con su número de versión y el repositorio donde se encuentra, pero no las instala.

Se podría haber realizado con apt-get update, pero aptitude controla mejor las dependencias de los paquetes.

15. aptitude upgrade //lo que hace es meterse en el fichero local y compara con lo que hay instalado, e instala lo que encuentre diferencias. Lo que hacemos es una actualización de nuestro sistema con todas las posibles actualizaciones que pudiera haber.

 

1.3.- Instalar Paquetes.

La instalación de paquetes .deb (Debian /Ubuntu) se puede realizar de dos formas:

  • Modo gráfico: desde el centro de software si estamos en entorno gráfico. Este se conectaría a los repositorios (servidores de software), y se descargaría el programa deseado.
  • Modo comandos: con apt-get install nombre_paquete

Yo personalmente utilizaría aptitude install nombre_paquete ya que controla mejor las dependencias de los paquetes.

16. apt-get install nombre_paquete //Explicado arriba.

17. aptitude install nombre_paquete //Explicado arriba.

18. apt-cache search nombre _del_paquete // Permite realizar búsquedas dentro del listado de paquetes disponibles en nuestros repositorios.

19. wget url/paquete //Se descarga paquete de internet. Se descarga a la ruta desde donde se ejecuta el comando.

Ejemplo:

wget http://prdownloads.sourceforge.net/webadmin/webmin_1.850_all.deb

20. dpkg –install paquete //instala el paquete descargado.

Ejemplo:

                dpkg –install webmin_1.850_all.deb

21. Listar todos los paquetes instalados y sus versiones.

        dpkg –l

        + info: http://www.reloco.com.ar/linux/debian/principiantes.html

22. Descarga automática de webs completas.

Para descargar una web completa con todas las páginas a las que apunta y todos sus elementos de forma recursiva, puede usar la aplicación wget tecleando el siguiente comando:

               wget -r http://www.lawebquesea.com

Y si lo que tiene es un fichero de texto con un listado de webs puede descargarlas todas del tirón tecleando:

               wget -r -i listadewebs.txt

NOTA: Algunas páginas están expresamente protegidas para que no sean bajadas por este método, por lo que esto no funcionará en todos los casos. Tampoco funciona con páginas creadas con Flash.

1.4.- Desinstalar Paquetes.

Veamos un ejemplo con la desinstalación de apache2 del servidor, con los siguientes pasos:

  1. service apache2 stop //paramos servicio.
  2. apt-get autoremove apache2 &&  apt-get purge apache2 && apt-get autoclean apache2

 Por ejemplo si no queremos trabajar con Unity-2D

       sudo apt-get remove unity-2d

1.5.- Gestión de Servicios.

23. service nombre_servicio status  //Para saber el estado del servicio.

24. service nombre_servicio start //Arrancar servicio

25. service nombre_servicio stop  //Parar servicio

26. service nombre_servicio restart //Reiniciar servicio

27. service nombre_servicio reload  //Recargar servicio

1.6.- Apagar/Reiniciar/Cerrar Sesión.

28. APAGAR EL SISTEMA

poweroff

init 0

telinit 0

halt

shutdown -h now

shutdown -h hours:minutes & // apagado planificado del sistema.

shutdown -c //cancelar un apagado planificado del sistema.

29. REINICIAR EL SISTEMA

reboot

shutdown -r now

shutdown –r hours:minutes

init 6

30. CERRAR SESIÓN

logout

CRTL + D

 

2.- Variables Sistema.

2.1.- Variables de Entorno.

Algunas variables importantes:

SHELL=/bin/bash    (el tipo de shell en uso)
TERM=xterm              (el programa de terminal por defecto)
USER=pepito              (el nombre de usuario)
PWD=/home/pepito  (la ruta por defecto del usuario)
LANG=es_ES.utf8        (el juego de caracteres de idioma)
DESKTOP_SESSION=xfce      (el entorno de escritorio)
PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin      (el PATH)

31. env // me listará todas las variables definidas en el sistema.

Para ver el contenido de las variables basta con hacer lo siguiente:

echo $USER
pepito

 

3.- Comandos de Hardware.

32. uname -m //Vemos arquitectura del Equipo, es decir, 32 o 64 bits.

  • X86_64 –> arquitectura 64 bits
  • I686 –> arquitectura 32 bits

33. free // Información sobre la memoria (en kb), libre y consumida, además de datos sobre la swap.

34. lspci

35. lsmod

36. lshw //vemos características del procesador

37. inxi

 

4.- Comandos del Disco Duro.

38. fdisk –l  //vemos la lista de particiones

39. mount   //Prepara a LINUX para utilizar un sistema de ficheros en un dispositivo determinado.

40. umount  //Almacena correctamente los datos en el dispositivo, y lo desmonta del sistema, con lo que LINUX ya no podrá utilizarlo.

41. du (Disk Usage)  //Muestra el espacio que ocupa un fichero en el disco

42. du -sh //La “h” es de “human” te lo muestra en formato de KB, MB, GB

43. df //Muestra información sobre todos los sistemas de archivos montados en la máquina.

44. df -Ph  // conocemos el espacio disponible en las particiones.

5.- Comandos sobre Ficheros.

45. touch archivo //crea un archivo vacío.

46. cat archivo //muestra el contenido del archivo.

cat -n archivo //muestra el contenido del archivo con las líneas numeradas.

47. touch –date=2018-09-10 archivo.txt //Cambia la fecha al archivo.

48. du archivo //Ver tamaño de archivo.

49. nano archivo //Edita un archivo. Crea un archivo.

50. rm archivo //borra archivo.

51. mkdir nombre_directorio //crea un directorio.

52. rm -r directorio //Borra directorio y su contenido.

53. rm -r !(nombre_archivo) //Borra  todo lo del directorio menos el archivo deseado.

54. ls -l //lista el contenido del directorio en mayor detalle.

55. ls -a //muestra ficheros ocultos.

56. ls -la //combina las dos anteriores.

57. ls -i //lista los inodos de los archivos.

58. more // visualiza el contenido de un fichero de forma paginada.

59. less // al igual que el comando anterior, este permite la visualización de un fichero de forma paginada, pero a diferencia del anterior, este comando nos permite retroceder, mostrando las pantallas anteriores.

60. tree //muestra el árbol de directorios y archivos de nuestro sistema. Hay que instalarlo.

61. stat archivo //información muy completa del archivo como: tamaño, fecha último acceso, fecha modificación, …

62. ln -s archivo_origen archivo_destino  //hacer un acceso directo o enlace blando (enlace simbólico)

63. ln archivo_origen archivo_destino //enlace duro (enlace no simbólico). Los enlaces duros no son permitidos a directorios.

64. cd directorio //me posiciono en el directorio de nivel inferior.

65. cd .. //me posiciono en el directorio de nivel superior.

66. cd //me posiciono en el HOME del usuario que ha iniciado la sesión.

67. cp origen destino //sirve para copiar archivos y carpetas, y también para cambiarles de nombre.

68. mv origen destino //movemos archivo de lugar o cambiamos su nombre.

69. chmod 744 fichero //Asigna premisos de rwxr–r–  a fichero.

70. chmod g+w fichero//Asigna permisos de w al grupo, el anterior fichero quedaría rwxrw-r–

Con letras augo (todos usuario grupo otros) + –  rwx

a u g o
All User Group Others
  •  Con + añadimos
  •  Con – quitamos
  •  Con = forzamos

Ejemplos de uso

 chmod g+rw, o-rwx 

         chmod ugo=rwx  –> todo activado

71. chown nuevousuario archivo   // Cambia el usuario propietario de un fichero.

72. chgrp nuevogrupo  archivo      // Cambia el grupo propietario de un fichero.

73. scp (Secure COpy) // Usa el protocolo SSH para intercambio de archivos

     Opciones SCP

-p: Preserva permisos, así como tiempos de modificación y acceso.

-q: No muestra la barra de progreso.

-r: Copia recursiva, es decir que copia los subdirectorios.

-v: Muestra los mensajes para debugging.

 

Ejemplos de uso

  • Copiar archivos de una PC local a una PC remota.

scp /ruta/al/archivo-origen usuario@ordenador:/ruta/valida/al-directorio-destino

  • El siguiente commando copiará pelis.sh con otro nombre diferente en el ordenador destino.

scp pelis.sh usuario@ordenador:/home/usuario/peliculas.sh

  • Copiar archivos de una PC remota a un PC local

scp usuario@ordenador:/ruta/valida/archivo-origen /ruta/valida-local/

  • Copiar archivos de una PC remota a otra PC remota

scp usuario1@ordenador1:/ruta/valida/archivo usuario2@ordenador2:/ruta/valida/

  • Copiara todos los archivos con extensión .txt al directorio /home/usuario en el ordenador destino.

scp *.txt usuario@ordenador:/home/usuario/

  • Copiara todos los archivos de jesus desde su directorio en 10.0.15.29 al directorio de aser en 10.0.15.30

scp -r jesus@10.0.15.29:/home/jesus/ aser@10.0.15.30:/home/aser/

5.1. Encontrar Archivos.

74. find / -name file1 //buscar fichero y directorio a partir de la raíz del sistema.

75. find / -user user1 // buscar ficheros y directorios pertenecientes al usuario ‘user1′.

76. find /home/user1 -name \*.bin // buscar ficheros con extensión ‘. bin’ dentro del directorio ‘/ home/user1′.

Explicación en detalle

find ofrece varias opciones de búsqueda por tiempo, pero las principales son: -amin, -atime, -cmin, ctime, -mmin y -mtime.

“min” es para periodos de minutos

“time” para periodos de 24 horas.

Los que empiezan con:

“a” (access) indica el tiempo en que fue accedido (leído) por última vez un archivo.

“c” (change) indica el tiempo que cambió por última vez el status de un archivo, por ejemplo sus permisos.

“m” (modify) indica el tiempo en que fue modificado (escrito) por última vez un archivo.

 

Una consideración a tener con las búsquedas -atime, -ctime y -mtime es que el tiempo se mide en periodos de 24 horas.

find . -mtime 0 (busca archivos modificados entre ahora y hace un día)

find . -mtime -1 (busca archivos modificados hace menos de un día)

find . -atime 1 (busca archivos accedidos entre hace 24 y 48 horas)

find . -ctime +1 (busca archivos cuyo status haya cambiado hace más de 48 horas)

 

+n busca valores mayor que n

 -n busca valores menor que n

   n busca exactamente el valor n

77. find /usr/bin -type f -atime +100 //buscar ficheros no usados más de 100 días.

78. find /usr/bin -type f -mtime -10 //buscar ficheros creados o cambiados dentro de los últimos 10 días.

79. find / -mtime +50 -mtime -100 //Buscar los archivos modificados entre 50 y 100 días.

80. find / -size +50MB -size -100M // Buscar archivos entre 50MB y 100MB

81. find / -size +100M -exec rm -rf {} \; //Buscar y eliminar archivos mayores de 100MB

82. find / -name \*.rpm -exec chmod 755 ‘{}’ \;  //buscar ficheros con extensión ‘.rpm’ y modificar permisos.

83. find . ! -name 1.sh -exec rm -r {} \; //Elimina todos los ficheros y directorios del directorio actual menos 1.sh

84. find / -xdev -name \*.rpm //buscar ficheros con extensión ‘.rpm’ ignorando los dispositivos removibles como cdrom, pen-drive, etc.…

85. locate \*.ps //encuentra ficheros con extensión ‘.ps’ ejecutados primeramente con el command ‘updatedb’.

86. whereis halt //mostrar la ubicación de un fichero binario, de ayuda o fuente. En este caso pregunta dónde está el comando ‘halt’.

87. which halt //mostrar la senda completa (el camino completo) a un binario / ejecutable.

5.2.- ¿Necesitas encontrar un trozo de código y no sabes dónde está el archivo?

88. Este comando es el grep. Os escribo unos ejemplos y luego os los explico con más detalle:
grep -iRnH ‘navigation’ *
grep -iRnH ‘navigation’ *.py
grep -iRnH ‘navigation’ /var/www/config/*.conf

Primero os explico las opciones que he usado y el motivo:
-i Lo que hace es ignorar si está escrito en mayúsculas o minúsculas, por lo que si no sabes seguro como está usa esta opción.
-R Lee todos los ficheros bajo cada directorio recursivamente. Por lo que busca dentro de carpetas y subcarpetas.
-n Nos muestra el número de línea donde está la coincidencia.
-H Muestra el nombre del archivo donde está la coincidencia. Esta opción puedes dejar de ponerla, ya que si buscas en un directorio con múltiples archivos la escoge automáticamente.Simplemente queda explicar que entre las comillas ‘navigation’ ponemos el texto que deseamos buscar.

Y al final escribimos la ruta. Si queremos buscar dentro de todos los archivos ponemos un asterisco *, y si solo queremos buscar en ciertos tipos de archivos ponemos un asterisco seguido de punto y su extensión *.conf

grep -c “iface” /etc/network/interfaces

la opción -c cuenta el número de apariciones de “iface” en el fichero /etc/network/interfaces, más concretamente cuenta el número de interfaces de red que tiene el sistema.

MODIFICADOR EXPLICACIÓN
-w Fuerza la búsqueda a coincidir con la palabra exacta.
-c En lugar de imprimir las líneas que coinciden, muestra el número de líneas que coinciden.
-e PATRON Nos permite especificar varios patrones de búsqueda o proteger aquellos patrones de búsqueda que comienzan con el signo -.

grep -r -e “perro” -e “gato” /home/miusuario/documentos/

Otra opción es buscar varias cadenas. Ej: quiero saber en dónde están las líneas que dicen “perro” y “gato”.

-r Busca recursivamente dentro de todos los subdirectorios del directorio actual.
-R Lee todos los ficheros bajo cada directorio recursivamente. Por lo que busca dentro de carpetas y subcarpetas.
-v   Nos muestra las líneas que no coinciden con el patrón buscado.
-i Ignora la distinción entre mayúsculas y minúsculas.
-n Numera las líneas en la salida.
-E Nos permite usar expresiones regulares. Equivalente a usar egrep.
-o Le indica a grep que nos muestre sólo la parte de la línea que coincide con el patrón.
-f ARCHIVO Extrae los patrones del archivo que especifiquemos. Los patrones del archivo deben ir uno por línea.
-H Nos imprime el nombre del archivo con cada coincidencia.

5.3.- Filtrado de Información.

89. cut

cut -f2 pruebas //Extrae la segunda columna del fichero pruebas

cut -c1-6 pruebas //Extrae los caracteres del 1 al 6 de cada línea del fichero pruebas

cat /etc/passwd |grep -n 2|cut -c1-7

5.4.- Comprimir/Descomprimir Ficheros.

90. Archivos .gz:

Comprimirgzip fichero
Descomprimirgunzip fichero.gz   — otra forma  –> gzip -d fichero.gz

Se puede hacer también sin poner la extensión gz

NOTA: Si lo hacemos desde la línea de comandos desaparece el archivo origen y se transforma en una carpeta comprimida con el archivo fichero dentro.

Si lo hacemos desde el entorno gráfico quedarán el archivo y la carpeta comprimida con el archivo fichero dentro.

gzip sólamente comprime archivos, no es válido para carpetas.

91. Archivos .zip:
Comprimirzip archivo.zip carpeta
Descomprimirunzip archivo.zip

NOTA: en este caso tanto si lo hacemos desde modo comandos o bien si lo hacemos desde modo gráfico el archivo fichero no desaparecerá.

92. Archivos .tar.gz:

Opciones:

– c: crear un fichero tar.

– x: extraer los ficheros de un fichero tar.

– z: comprime.

– v: mostrar información sobre los ficheros procesados.

– t: muestra un índice del fichero antes de desempaquetarlo.

– f: siempre debe utilizarse esta opción para indicar que queremos crear un fichero tar. Esta opción debes indicarla al final.

Comprimirtar -czf archivo.tgz /carpeta/o/archivo/a/comprimir/  //tgz es la abreviatura de tar.gz
Descomprimirtar -xzf archivo.tgz

Ver el contenido: tar -tf archivo.tgz

93. zcat fichero1.zip // ver el contenido de un fichero comprimido en “.zip”

94. zcat fichero2.gz // ver el contenido de un fichero comprimido en “.gz”

5.5.- Comparar Ficheros.

95. diff fichero1 fichero2

96. cmp fichero1 fichero2

5.6.- Ficheros Abiertos.

97. lsof //lista los ficheros abiertos en el sistema.

98. lsof -u jesus |wc -l //lista el número de ficheros abiertos en el sistema del usuario jesus

6.- Comandos sobre Usuarios y Grupos.

99. sudo //ejecutar comandos con privilegios de administrador. En Debian viene deshabilitado.

   “super-user do”

100. sudo su //Nos logueamos como administradores en Ubuntu.

101. su usuario  //accedemos al usuario deseado. Si no ponemos usuario, el sistema entiende que queremos loguearnos como root.

102. !sudo:p //para saber el último comando que se ejecutó como administrador.

103. sudo !! // ¿No odias cuando has ejecutado un comando extenso y te das cuenta que requiere permisos de administrador?. Este comando permite ejecutar el comando tecleado anteriormente con los permisos de administrador sin tener que escribirlo nuevamente.

104. id  //Nos da iformacion de uid, gid y grupo, …

105. passwd usuario //para cambiar la contraseña a un usuario. En los hosting compartidos suele venir deshabilitado.

106. adduser usuario //crea un usuario

107. adduser usuario -ingroup grupo //añade el usuario directamente al grupo y no crea un grupo con el mismo nombre del usuario. El grupo previamente ha de estar creado (ver comando 111)

108. userdel usuario //elimina el usuario del sistema de /etc/passwd y de /etc/shadow pero no borra la carpeta de /home

109. userdel -r usuario //Al igual que lo anterior elimina la cuenta totalmente, pero con la opción -r además elimina su directorio de trabajo y archivos y directorios contenidos en el mismo, así como su buzón de correo, si es que estuvieran configuradas las opciones de correo. La cuenta no se podrá eliminar si el usuario esta logueado en el sistema al momento de ejecutar el comando.

110. userdel -f usuario //La opción -f es igual que la opción -r, elimina todo lo del usuario, cuenta, directorios y archivos del usuario, pero además lo hace sin importar si el usuario está actualmente en el sistema trabajando. Es una opción muy radical, además de que podría causar inestabilidad en el sistema, así que hay que usarla solo en casos muy extremos.

111. addgroup nombre-grupo //creamos el grupo.

112. groupdel nombre-grupo //borramos el grupo.

113. groups nombre-usuario //vemos a que grupos pertenece un usuario.

114. usermod –g grupo usuario //cambiamos el grupo del usuario.

115. last // El comando last muestra los usuarios que han estado logueados recientemente en nuestra computadora así como los consolas y terminales virtuales (ttys) que han usado.

116. lastb // Para mostrar los usuarios que se han intentado conectar pero han fallado el login.

117. id usuario //muestra información de un usuario de su IUD, GID, …

118. finger usuario //Muestra información de usuario en cuanto a cuando se creó, su diretorio HOME.

119. echo “mensaje” |wall //enviamos mensaje a todos los usuarios conectados al sistema.

120. echo “mensaje” > /dev/pts/x //enviamos un mensaje a un usuario específico.

Donde x puede ser 0,1,2,… para ello hacer un who previamente.

121. echo $USER //Muestra el usuario que tiene el control de la máquina en la sesión.

122. write nombre-usuario //escribimos un mensaje a un usuario específico.

123. who //Muestra los usuarios conectados al sistema.

En los hosting compartidos es posible que este comando este deshabilitado.

124. last  //muestra una lista de los últimos usuarios conectados al sistema. En muchos hostings compartidos viene deshabilitada esta opción.

IMPORTANTE: leer apartado “125. BORRAR HISTORIAL” para que este comando no se chive

125. Borrar el historial

Vamos a diferenciar dos tipos de historiales:

  • El historial que se guarda en el prompt y nos va saliendo conforme vamos pulsando las flechas de desplazamiento arriba/abajo.
  • El historial que se guarda en el fichero ~/.bash_history. Por lo tanto si no queremos dejar ningún rastro hay que hacer dos procedimientos.

NOTA 1: el símbolo “~” es la virgulilla, y para escribirlo en el prompt se hace con ALT+126, que es su carácter ASCII.

NOTA 2: todo fichero en Linux que comienza por “.” es un fichero oculto, para ver los ficheros ocultos se hace con la orden ls -a

  • BORRAR EL HISTORIAL DE LAS FLECHAS DE DESPLAZAMIENTO

Para borrarlo es con history -c y para mostrarlos es con history.

  • BORRAR EL HISTORIAL DE FICHERO ~/.bash_history

Para realmente borrarlo hay que borrar línea a línea o poner cualquiera de los siguientes comandos:

cat /dev/null > ~/.bash_history             

rm ~/.bash_history && touch ~/.bash_history

echo “” > ~/.bash_history

7.- Comandos de Red.

126. ifconfig   //Este comando solo muestra las interfaces que están funcionando o “arriba”. Con este comando vemos la IP local/privada de la máquina en la LAN.

127. ifconfig -a  //Muestra todas las interfaces de red, habilitadas o deshabilitadas.

128. ifconfig [nombreinterfazDeRed]    [IP]   netmask   [máscaraDeRed]

  • 1ª Forma –> ifconfig eth1 10.33.1.2 netmask 255.255.255.0
  • 2ª Forma –> ifconfig eth1 10.33.1.2/24

129. cat /etc/network/interfaces  // Configuración de las tarjetas de red y sus direcciones IP asignadas.

130. /etc/init.d/networking restart  //reinicia el servicio de red.

131. /etc/init.d/networking stop  // Para el servicio de red.

132. /etc/init.d/networking start  //Inicia el servicio de red.

133. ifconfig eth0 up/down //habilita o deshabilita la interfaz de red eth0.

134. Ver IP de la puerta de enlace

netstat -nr  

       route -n   //muestra la tabla de enrutamiento.

nslookup 127.0.0.1 

135. Para DNS

sudo apt-get update && apt-get install dnsutils  //instala el paquete dnsutils.

dpkg -L dnsutils  //Para ver el contenido del paquete dnsutils.

cat /etc/resolv.conf   // Vemos direcciones IP de los servidores DNS asignados a la máquina.

cat /etc/hosts  //Vemos el contenido del archivo hosts.

136. dhclient eth0  // para que el DHCP asigne IP a la máquina.

137. curl ip.appspot.com   //Vemos la IP pública.

 

Ejemplo cambiar IP Linux desde la consola

Podemos cambiar la interfaz de red temporal o permanentemente.

Si necesitáis reiniciar las interfaces de red:

sudo /etc/init.d/networking restart

 

Temporal:

Paso 1. Configurar la IP

ifconfig eth0 10.33.1.2 netmask 255.255.255.0

Comprobar

ifconfig

Paso 2. Configurar GateWay

route add default gw 10.33.1.1

Comprobar

route -n

Paso 3. Configurar DNS

echo nameserver 10.33.1.200 > /etc/resolv.conf

O editar el fichero y ponerlo a mano

Permanente:

Editamos /etc/network/interfaces

En primera instancia, agregaremos un # al inicio de la línea iface eth0 inet dhcp, de esta forma deshabilitamos la configuración automática por DHCP.

Ya tenemos todos los datos para configurar la IP, procedemos a agregarlos al archivo:

 

 

 

 

auto eth0

iface eth0 inet static

address 10.33.1.2

netmask 255.255.255.0

gateway 10.33.1.1

Una vez modificado el archivo hacer un reboot o reiniciar interfaz de red /etc/init.d/networking/ restart

7.1.- Ver los puertos abiertos del equipo.

138. nmap localhost

  • Si no está instalado hay que instalarlo, para ello apt-get install nmap
  • Si queremos filtrar los resultados usen este comando

nmap localhost | grep open

 139. netstat -ltun

140. netstat -ltun | grep 53  //vemos si el puerto 53 está escuchando

141. netstat –ltun -np  //vemos el programa asociado al puerto y su PID

 

7.2.- Cómo evitar los pings.

 Si quieren evitar que su equipo responda a las peticiones ping de la Red, pueden usar este truco. Es necesario contar con un kernel 2.1.x o superior.

142. echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all  // Con él evitarán que su máquina responda a cualquier ping proveniente de la Red.

Para revertir la opción, en la consola ejecuten el comando

143. echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all

y todo volverá a ser como antes.

7.3.- Cómo cambiar la MAC.

00:0c:29:ad:0c:17

  • Los 3 primeros grupos corresponden al fabricante.
  • Los 3 últimos grupos corresponden al adaptador en particular.

 

Prefijo Vendedor
00:1F:D0 Gigabyte Technology Co. (modelo Nvidia)
00:13:49 Zyxel Communications Co
00:50:56 VMware, Inc.
00:0C:29 VMware, Inc.
MAC Vendedor
00:00:00:00:00:01 Xerox

7.4.- Ver la IP pública y la IP privada

144. IP PRIVADA

ifconfig

ip route

 145. IP PÚBLICA

curl ifconfig.me

curl ifconfig.co

 

 

8- COMANDOS DE PROCESOS

  1. ps -aux
  2. ps –aux | wc -l  // Únicamente los cuenta.
  3. pstree  // El comando pstree visualiza, en forma de árbol, todos los procesos del sistema.

 

 

 

 

  1. top  //muesta un listado de los procesos en ejecución, identificando memoria que se está ocupando, CPU, …

 

  1. Kill

Formato:

kill [-señal] PID […]

señal: será un número entero que indique la señal a enviar. Cuando no se especifica ninguna

señal se envía la señal de terminar del software (15, SIGTERM). La señal 9 (SIGKILL) aborta

y no puede ser ignorada.

kill -9 1234  //mata el proceso cuyo PID=1234, liberando la memoria y la CPU del mismo

  1. jobs  // visualiza procesos en segundo plano.

 

  1. bg //reaunuda en modo subordinado una tarea que estaba suspendida  
  2. fg //Reanuda tareas suspendidas en primer plano.

 

ANEXO I

  • Puerto: Para diferenciar las peticiones de los múltiples clientes además de la dirección IP se usa un número de puerto entre 1 y 65535. Cada servicio que corre en una maquina tiene asignado uno o más de esos números. P ej. Web es el 80 (http).

Hay usos predeterminados para estos números. Si no se especifica se entiende el que se usa por defecto.

El fichero /etc/services muestra los puertos predeterminados para cada servicio.

Los well known ports van de 1 – 1024

  • Socket: Elemento de programación que permite a dos máquinas comunicarse a través de una red, mediante el uso de la IP de origen, la IP de destino y el número de puerto. Se crea un socket cuando hay una conexión entre el cliente y el servidor.

El servidor se conecta al cliente aleatoriamente por encima del puerto 1024

  • Protocolo: lenguaje por el cual se comunican el cliente y servidor.
  • Ejemplo:

http (HiperText Markup Language)

  • Proceso:puede informalmente entenderse como un programa en ejecución.
  • Demonio:Un daemon(nomenclatura usada en sistemas UNIX), servicio (nomenclatura usada en Windows) es un tipo especial de proceso informático no interactivo, es decir, que se ejecuta en segundo plano en vez de ser controlado directamente por el usuario. Este tipo de programas continua en el sistema, es decir, que puede ser ejecutado en forma persistente o reiniciado si se intenta matar el proceso dependiendo de configuración del demonio y políticas del sistema.
  • Swap: memoria de intercambio (memoria virtual comúnmente conocida en Windows),  consiste en que las aplicaciones mantengan parte de su información en disco, moviéndola a la memoria principal cuando sea necesario. Con esto conseguimos “engañar” a la aplicación diciéndole que tenemos la memoria RAM necesaria para que se ejecute, cuando realmente esto no es así.
  • GNU/Linux: se debe pronunciar “ñu/linux”, si, como aquel animal que todos los años corre entre el Serengeti y el Maasai Mara.

En un sistema GNU/Linux, Linux es el núcleo. El resto del sistema consiste en otros programas, muchos de los cuales fueron escritos por o para el proyecto GNU.

El proyecto GNU ha desarrollado un conjunto de herramientas de software libre para ser utilizados por Unix™ y sistemas operativos tipo Unix como Linux. Estas herramientas permiten a los usuarios desarrollar tareas que van desde las mundanas (como copiar o eliminar ficheros del sistema) a las arcanas (como escribir y compilar programas o hacer edición sofisticada en una gran variedad de formatos de documento).

  • Núcleo (Kernel): es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema. Como hay muchos programas y el acceso al hardware es limitado, también se encarga de decidir qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo

 

 

 

 

 

 

 

 

ANEXO II. SED

Ejemplos Eliminación

Sintaxis:

sed ‘{[/]<n>|<cadena>|<regex>[/]}d’ <nombre_ fichero> sed ‘{[/]<direccion1>[,<direccion2>][/]d’ <nombre_fichero

  • /…/= delimitadores
  • n= el número de línea
  • cadena= la cadena contenida en la línea
  • regex= expresión regular correspondiente a la ocurrencia buscada
  • direccion= la dirección de una línea (número u ocurrencia)
  • d= delete (borrar)

 

  1. Eliminación de la 3ra línea

sed ‘3d’ mi_fichero.txt

  1. Eliminación de la línea conteniendo la cadena “awk” 

sed ‘/awk/d’ mi_fichero.txt

  1. Eliminación de la última línea 

sed ‘$d’ mi_fichero.txt

  1. Eliminación del intervalo comprendido entre las líneas 7 y 9 

sed ‘7,9d’ mi_fichero.txt

 

Ejemplos Sustitución

Substituir “foo” por “bar”

 

  1. Sólo en la 1ra ocurrencia

sed ‘s/foo/bar/’

  1. Sólo en la 3ra ocurrencia

sed ‘s/foo/bar/3’

  1. En todas las ocurrencias, es decir, en todas las líneas

sed ‘s/foo/bar/g’

  1. Sustituir “a” por “b” en todas las ocurrencias, es decir, en todas las líneas

sed ‘s/a/b/g’ ./practica7/comprimidos/listcomp.txt practica7/listcompcambiado;

 

Ejemplos Añadir Texto

sed ‘{/ocurrencia/|/regexp/|n}{i|a|c}\<Texto a insertar>’ fichero

———————————————————————-

Existen tres maneras de insertar texto en un documento:

La inserción antes de la línea en curso (con el parámetro i de inserción)

La inserción después de la línea en curso (con el parámetro a de after (después en inglés))

El reemplazo (con el parámetro c de change (cambiar en inglés))

 

 

 

ANEXO III. EXPRESIONES REGULARES

  1. Busca cualquier línea del archivo listque empiece por “b.”
$ grep ‘^b’ list
  1. Buscar dentro del fichero Listado.txt, todos aquellos alumnos cuyo nombre NO empiece por A ni acabe por N, independientemente de que dichos nombres se encuentren escritos en minúsculas o mayúsculas.
$ grep -iv “a*n” Listado.txt

 

-v Nos muestra las líneas que no coinciden con el patrón buscado.
-i Ignora la distinción entre mayúsculas y minúsculas.

 

 

 

+ DE 112 COMANDOS FÁCILES PARA INICIARSE EN LA ADMINISTRACIÓN DE DEBIAN Y DISTROS BASADAS EN DEBIAN 

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *