~Rami ₪ MANUALS
רמי
SUBJECT: Global GNU/Linux System Summary
AUTHOR: Rami Rosenfeld
DATE: 21/07/22
TIME: 15.00
LANG: en, ru
LICENSE: GNU FDL 1.3. GNU GPL 3.
TAGS: gnu, software, opensource, linux, system, terminal, console, man, manual, bash, summary
GLOBAL GNU/LINUX SYSTEM SUMMARY
INTRO
Скрипт для BASH. С помощью набора стандартных команд GNU/Linux быстро и качественно определяет множественные параметры ОС и системного блока (software and hardware):
GLOBAL
- LOCAL DATE AND TIME
- UNIX EPOCH TIME
- HOSTNAME
- CURRENT USER
- OS NAME
- ARCHITECTURE (32/64)
- KERNEL RELEASE
- NUMBER OF CPUS
- CPU TYPE
- CURRENT RAM USAGE
- RAM SIZE
- HOME DIRECTORY USAGE
- CURRENT DNS SERVER
- CURRENT PUBLIC IP
- CURRENT GEOLOCATION (приблизительное)
HARDWARE INFO
- CPU
- RAM
- SCREEN RESOLUTION (требуется xdpyinfo)
- FILESYSTEMS
- DISKS
- PARTITIONS
- DEVICES
- USB DEVICES
- NETWORK INTERFACES
- NETWORK CONNECTIONS
- UPTIME AND USERS ONLINE
ВАЖНО!
Внимание! Никогда не запускайте чужие скрипты без предварительного просмотра содержимого и анализа их безопасности.
Данный скрипт использует исключительно общеупотребимые и хорошо известные команды GNU/Linux; исключение составляет утилита xdpyinfo (разрешение экрана), требующая дополнительной установки в некоторых ОС.
Прошу также учесть:
- изначально скрипт создавался для RPM-дистрибутивов (RHEL, Fedora, CentOS, Oracle) и, возможно (но не обязательно!) в других ОС некоторый функционал будет ограничен;
- чтобы получить полную сводку о системе, вы должны запустить его с административными правами, т.е. от root; впрочем, запуск от пользователя тоже возможен;
- информация о текущем IP, DNS-сервере, геолокации и т.п. будет получена только в случае, если активировано интернет-соединение.
ИСПОЛЬЗОВАНИЕ
1. Скопируйте текст скрипта, приведенный ниже, начиная со знака "#" и заканчивая последней строкой "echo".
2. Создайте в текстовом редакторе новый пустой файл, вставьте в него содержимое буфера обмена и сохраните под именем .info.sh (или под другим, но обязательно оканчивающимся на ".sh").
3. Разместите скрипт в любом каталоге, например в ~/.
4. Запустите терминал (консоль), перейдите в каталог, содержащий скрипт, и сделайте файл исполнимым: chmod 700 .info.sh
5. Не покидая каталог, запустите скрипт командой: ./.info.sh
NOTE
#
# Global GNU/Linux System Summary: easy check your hardware.
# Version: 1.0.1
# Copyright: 🄯 Rami Rosenfeld, 2022. https://rami.tilde.team
# GNU GPL, v. 3: https://www.gnu.org/licenses/gpl-3.0.html
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see https://www.gnu.org/licenses/.
#!/bin/sh
echo
echo Global GNU/Linux System Summary: easy check your hardware.
echo
echo ATTENTION!
echo For more correct results you would have to be root!
echo
HOSTNAME=`hostname`
WHOAMI=`whoami`
W=`w`
DATE=`date`
UTIME=`date +%s`
MEMORY=`free | grep Mem | awk '{print $2}'`
CPUS=`cat /proc/cpuinfo | grep processor | wc -l | awk '{print $1}'`
CPU_MHZ=`cat /proc/cpuinfo | grep MHz | tail -n1 | awk '{print $4}'`
CPU_TYPE=`cat /proc/cpuinfo | grep vendor_id | tail -n 1 | awk '{print $3}'`
CPU_TYPE2=`uname -m`
CPU_TYPE3=`lscpu`
RESOLVER=`dig resolver.dnscrypt.info TXT +short`
IP=`dig +short myip.opendns.com @resolver1.opendns.com`
MEMORY_USAGE=`free -m | awk 'NR==2{printf "- CURRENT RAM USAGE: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'`
MEM_INFO_1=`cat /proc/meminfo`
MEM_INFO_2=`dmidecode -t 17`
OS_NAME=`uname -o`
ARC=`uname -m`
KERNEL=`uname -r`
RES=`xdpyinfo | awk '/dimensions/ {print $2}'`
HDD_1=`df -TH`
HDD_2=`lsblk -d -e 7 -o NAME,ROTA,DISC-MAX,MODEL`
HDD_3=`du -hs ~/`
PART=`lsblk -f`
PCIINFO=`lspci | cut -f3 -d':'`
IFCONFIG=`ifconfig`
LSUSB=`lsusb`
NETSTAT=`netstat -tupn`
echo
echo "================= SYSTEM SUMMARY ================="
echo
echo "- LOCAL DATE AND TIME: $DATE"
echo "- UNIX EPOCH TIME: $UTIME"
echo
echo "- HOSTNAME: $HOSTNAME"
echo "- CURRENT USER: $WHOAMI"
echo
echo "- OS NAME: $OS_NAME"
echo "- ARCHITECTURE (32/64): $ARC"
echo "- KERNEL RELEASE: $KERNEL"
echo
echo "- NUMBER OF CPUS: $CPUS"
echo "- CPU TYPE:" "$CPU_TYPE"
echo "- CURRENT CPU FREQUENCY:" "$CPU_MHZ MHz"
echo "$MEMORY_USAGE"
echo "- RAM SIZE: $MEMORY"
echo "- HOME DIRECTORY USAGE: $HDD_3"
echo
echo "- CURRENT DNS SERVER: $RESOLVER"
echo "- CURRENT PUBLIC IP: $IP"
echo
echo "================== HARDWARE INFO =================="
echo
echo "- CPU:"
echo
echo "$CPU_TYPE3"
echo
echo "- RAM:"
echo
echo "$MEM_INFO_1"
echo
echo "$MEM_INFO_2"
echo
echo "- SCREEN RESOLUTION:"
echo
echo "$RES px"
echo
echo "- FILESYSTEMS:"
echo
echo "$HDD_1"
echo
echo "- DISKS:"
echo
echo "$HDD_2"
echo
echo "- PARTITIONS:"
echo
echo "$PART"
echo
echo "- DEVICES:"
echo
echo "$PCIINFO"
echo
echo "- USB:"
echo
echo "$LSUSB"
echo
echo "- NETWORK INTERFACES:"
echo
echo "$IFCONFIG"
echo
echo "- NETWORK CONNECTIONS:"
echo
echo "$NETSTAT"
echo
echo "- UPTIME AND USERS ONLINE:"
echo
echo "$W"
echo
echo ====================== THE END! ======================
echo
echo Global GNU/Linux System Summary: easy check your hardware.
echo Copyright: 🄯 Rami Rosenfeld, 2022. https://rami.tilde.team
echo GNU GPL, v. 3: https://www.gnu.org/licenses/gpl-3.0.html
echo
🄯 Rami Rosenfeld, 2022. GNU FDL 1.3.
🄯 Rami Rosenfeld, 2022. GNU GPL 3.