检查服务器操作系统及其版本的 Linux 命令是什么?
我使用 shell 连接到服务器。
假设我登录到远程系统,我怎么知道它正在运行什么?在大多数现代 Linux(Linux?)上,您有以下lsb_release命令:
$ lsb_release -ic
Distributor ID: LinuxMint
Codename: debian
Run Code Online (Sandbox Code Playgroud)
据我所知,它提供的信息与/etc/lsb-release. 如果该文件不存在怎么办?我似乎记得该lsb_release命令相对较新,所以如果我必须获得旧系统的操作系统怎么办?
在任何情况下,lsb代表Linux Standard Base所以我假设它不会在非 Linux Unices 上工作。据我所知,无法从中获取此信息,uname那么如何在不使用 的系统上获取此信息lsb_release?
我看到了这篇关于找出安装了什么发行版的所有不同方法的帖子,所以我正在尝试编写一个脚本来尝试所有这些方法。可能的命令包括:
$ cat /etc/lsb-release
$ cat /etc/issue
$ dmesg | head -1
$ cat /proc/version
$ cat /etc/slackware-version
$ cat/etc/debian-verion
Run Code Online (Sandbox Code Playgroud)
我试着写这样的东西(我通常说西班牙语,所以它是西班牙语):
function Nombre_SO()
{
DistroName="Linux"
if [ $DistroName = Linux ] ;
then
# Debian
debian=`cat /etc/debian_version | cut -d " " -f01 | tr '[:upper:]' '[:lower:]'`
if [ "$debian" = "debian" || "squeeze/sid" || "lenny" ];
then
DistroName="debian"
else
echo "Esto no es debian"
fi
# Slackware
slackware=`cat /etc/slackware-version | cut -d " " -f01` …Run Code Online (Sandbox Code Playgroud)