Autor |
Mensaje |
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Extraer Informacion Del Sistema Desde La Terminal
Hola, encontré un articulo en desdelinux llamado como-extraer-parametros-desde-el-terminal-aplicando-shell-scripting, muy interesante, donde dan varios ejemplos de como obtener información del sistema desde la terminal.
Saludos.
|
#1 Viernes, 29 Enero 2016, 13:55 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Extraer Informacion Del Sistema Desde La Terminal
Gracias por la info. Todo sea para mejorar nuestro conocimiento de Shell Script.
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#2 Viernes, 29 Enero 2016, 14:23 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Extraer Informacion Del Sistema Desde La Terminal
En esta línea aquí tenéis un puñado de funcioncetas que devuelven información del sistema. Las usamos en el curro para un inventario on-line de las máquinas de la empresa.
Desarrollado por mi Padawan. Las colocáis en un módulo y ¡Ala, a informarse!
Public Function Distro() As String 'devuelve la distribución instalada xmi
Dim sDis As String
Shell " lsb_release -d | cut -d':' -f2" To sDis
sDis = Trim(sDis)
Return sDis
End
'*******************************************************************************
Public Function ArquitecturaSO() As String 'devuelve la Arquitecura del Sistema Operativo
Return System.Architecture
End
'*******************************************************************************
Public Function ArquitecturaP() As String 'devuelve la Arquitecura del Procesador
Dim sArqPro As String
Exec ["uname", "-p"] To sArqPro 'Almacenamos la Arquitectura del Procesador
Return Replace(sArqPro, "\n", "")
End
'*******************************************************************************
Public Function Procesador() As String 'devuelve el tipo de Procesador
Dim sPro As String
Shell "cat /proc/cpuinfo | grep -i ghz | uniq | cut -f2 -d" & ":" To sPro
Return LTrim(Replace(sPro, "\n", ""))
End
'*******************************************************************************
Public Function Ram() As String 'devuelve cantidad de Ram en MB tambien con free -m
Dim sRam As String
Exec ["cat", "/proc/meminfo"] To sRam
Try sRam = Scan(sRam, "*MemTotal:*\n*")[1] 'Ocultamos el Error si no encuentra MenTotal: * \n
If Error Then
sRam = ""
Else
While Not IsDigit(Right(sRam))
sRam = Left(sRam, -1)
Wend
sRam = Trim(sRam)
Endif
If sRam Then
Try sRam = Format(CInt(sRam) / 1024, "0") & " MB"
If Not Error Then Return sRam
Endif
End
'*******************************************************************************
Public Function NombrePC() As String 'devuelve el nombre del pc
Return System.Host
End
'*******************************************************************************
Public Function Usuario() As String 'devuelve el usuario activo
Return System.User.Name
End
'*******************************************************************************
Public Function Usuarios() As String 'devuelve los usuarios que hemos creado
Dim sUser As String
Shell "cat /etc/passwd |grep -iw '100.' | cut -d ':' -f1" To sUser
Return Replace(sUser, "\n", "")
End
'*******************************************************************************
Public Function EEscritorio() As String 'devuelve el entorno del escritorio
Dim sEscritorio As String
Shell "env | grep DESKTOP_SESSION= | cut -d '=' -f 2" To sEscritorio
Return Replace(sEscritorio, "\n", "")
End
'*******************************************************************************
Public Function GTrabajo() As String 'devuelve el Grupo de trabajo del pc
Return System.Domain
End
'*******************************************************************************
Public Function SFicheros(ruta As String) As String 'devuelve el sistema de ficheros
Dim sSF As String
Exec ["df", "-h", ruta] To sSF 'Almacenamos caracteristicas del Sistema de Ficheros pasado en ruta
Try sSF = Scan(sSF, "*\n*")[1] 'Ocultamos el Error si no encuentra la cadena
If Error Then sSF = ""
Return Replace(sSF, "\n", "")
End
'*******************************************************************************
Public Function VerGambas() As String 'devuelve la versión de gambas intalada en el pc
Return System.FullVersion
End
'*******************************************************************************
Public Function Ls(Ruta As String) As String 'devuelve un listado del directorio pasado en ruta
Dim sListado As String
Shell "ls -a " & Ruta To sListado 'Almacenamos listado directorio
Return RTrim(Replace(sListado, "\n", "|"))
'Otros comandos que devuelven un listado con las aplicaciones instaladas
' dpkg - l
' dpkg --get-selections es igual a dpkg -l | cut -d ' ' -f3
End
'*******************************************************************************
Public Function VerIPs() As String 'devuelve las Ips configuradas en el equipo
Dim sIPs As String
Shell "ifconfig | grep inet: |cut -d ':' -f2|cut -d ' ' -f1" To sIPs
Return RTrim(Replace(sIPs, "\n", " "))
End
'*******************************************************************************
Public Function UltDigIP() As String 'devuelve el último digito de la Ip
Dim sIPs As String
Shell "ifconfig | grep inet: | grep Difus.|cut -d '.' -f5|cut -d ' ' -f1" To sIPs
Return RTrim(Replace(sIPs, "\n", " "))
End
'*******************************************************************************
Public Function NSerieHD() As String 'devuelve el número de serie del disco duro para utilizarlo como Pk en la BDD
Dim sNS As String
Shell "udevadm info --query=property --name=sda | grep SERIAL_ | awk -F '=' '{print $2}'" To sNS
Return RTrim(Replace(sNS, "\n", " "))
End
'*******************************************************************************
Public Function UUIDswap() As String 'devuelve UUID de la swap para utilizarlo como PK de la BDD
'Requiere permisos de Administrador
Dim sUID As String
Shell "blkid | grep swap | cut -d ' ' -f2 |cut -d '=' -f2" To sUID
Return Left(Right(sUID, -1), -2)
End
Public Function FechaUltAct() As String 'devuelve la Fecha de la ultima vez que se actualizo el sistema
Dim Result, long_iso As String
long_iso = "long-iso"
'Shell "ls -lt --Time-style = " & long_iso & " /var/log/apt | grep -o '\([0-9]\{2,4\}[- ]\)\{3\}[0-9]\{2\}:[0-9]\{2\}' -m 1 " To Result
Shell "ls -lt --time-style=" & long_iso & " /var/log/apt | grep log -m 1 |cut -d ' ' -f6" To Result
Return RTrim(Replace(Result, "\n", " "))
End
=================== No podemos regresar
|
#3 Viernes, 29 Enero 2016, 15:11 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Extraer Informacion Del Sistema Desde La Terminal
Que bien que esta eso que posteaste. Buen aporte
Saludos.
|
#4 Viernes, 29 Enero 2016, 15:55 |
|
|
vuott
Analista Programador
Registrado: Agosto 2013
Mensajes: 2086
Edad: 60 Ubicación:
|
Re: Extraer Informacion Del Sistema Desde La Terminal
|
#5 Viernes, 29 Enero 2016, 15:58 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Extraer Informacion Del Sistema Desde La Terminal
Shordi:
Citar: Desarrollado por mi Padawan
¡¡¡ Ohhh !!!Tú buen maestro eres
|
#6 Viernes, 29 Enero 2016, 18:20 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Extraer Informacion Del Sistema Desde La Terminal
Verdad tu boca dice...
=================== No podemos regresar
|
#7 Viernes, 29 Enero 2016, 20:56 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Extraer Informacion Del Sistema Desde La Terminal
Disculpen mi ignorancia, es que yo soy mas de startreek, ¿Ell pdawan es el alumno o el maestro?
Saludos.
|
#8 Viernes, 29 Enero 2016, 21:14 |
|
|
jsbsan
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4175
Edad: 51 Ubicación: dos hermanas, sevilla
|
Re: Extraer Informacion Del Sistema Desde La Terminal
Tincho:
Citar: ¿Ell pdawan es el alumno o el maestro?
El alumno... el alumno...
|
#9 Viernes, 29 Enero 2016, 21:30 |
|
|
tincho
Analista Programador
Registrado: Noviembre 2014
Mensajes: 2565
Edad: 48 Ubicación:
|
Re: Extraer Informacion Del Sistema Desde La Terminal
vuott escribió: http://foro.gambas-es.org/viewtopic.php?f=5&t=4937
Buen post también. Seguí la referencia y vi que esta en castellano: sysinfo - devuelve información sobre estadísticas globales del sistema. anche tutte le lingue latine sono un piacere di leggere!
|
#10 Viernes, 29 Enero 2016, 21:35 |
|
|
|