可能的重复:
如何找出我正在运行的 Linux 版本?
我需要找出有关我正在处理的服务器操作系统的一些信息。
发行版本(例如 9.04,如果 Ubuntu 或 4,如果 RHEL)对我很重要,命令uname没有显示它。
$ uname -a
Linux xxxxxxx 2.6.9-78.0.22.EL #1 Fri Feb 31 25:71:00 EDT 2009 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)
那么:如何通过命令行命令获取这些信息?
我使用的是 Fedora,我使用命令“rpm”在 /usr/java/jdk1.6.0_45/jre 中手动安装了 java。虽然 /usr/lib/jvm/jre-1.7.0-openjdk.x86_64/bin/java 中有一个默认的 java 版本。
如果我输入“java -version”,它会显示 1.7.0。当我使用 rpm 安装 Java 时,update-alternatives --config java 仍然只显示 1.7.0 版本。
如何将系统版本更改为 1.6.0?
我还安装并配置了 maven,如果我输入“mvn --version”,它会正确显示:
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 08:51:28-0500)
Maven home: /usr/local/apache-maven-3.0.5
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /usr/java/jdk1.6.0_45/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "3.3.4-5.fc17.x86_64", arch: "amd64", family: "unix"
Run Code Online (Sandbox Code Playgroud) 为什么如果要发布具有新主要版本的 Ubuntu,次要版本会自动更新为 04(和 10)?
在 Windows 10 之前,可以VersionInfo通过右键单击文件并执行属性来获取所有字符串。那已经行不通了。这就像有人只决定展示几十年来获得标准含义的那些。但是 GUI 并不重要,只是注意到它不起作用,因此对属性页的 COM 调用将无济于事。无论如何,我们想知道如何从命令行。
尝试:
PS> get-childitem .\execautablename | FormatList VersionInfo
PS> (get-item .\execautablename | format-list -force)
PS> get-childitem .\execautablename | ? {$_.VersionInfo.Xyz}
cmd> wmic datafile where Name="C:\\Full\\Path\\to\\executablename.exe" list full
Run Code Online (Sandbox Code Playgroud)
第三个命令只能获取一些版本字符串,但不能获取我知道的其他版本字符串。
就像现在所有的方法都知道一个“标准”列表(有两个或三个关于标准列表的想法),并且它们都不知道如何枚举所有 VersionInfo 字符串。我有一个带有字符串“ProductHash”的二进制文件,它是用于编译它的相应源代码的 git commit hash。
我不断收到建议涉及的答案{$_.VersionInfo}。该路径永远不会起作用,因为VersionInfo相信要检索的 versioninfo 属性的固定列表。该rc编译器和VERSIONINFOPE结构不同的信。wmic 有一个不同的固定列表,它检索。
这是物业。它仅在应用由postanote链接的Fish 的VersInfoEx shell 扩展后才出现。
源代码片段(windows 资源):
#include <windows.h>
1 VERSIONINFO
FILEVERSION 10, 0, 0, 0
PRODUCTVERSION …Run Code Online (Sandbox Code Playgroud) 嗨,我正在运行 gentoo 并且执行 uname -a 会给出错误的内核版本。
tony@P_P-o ~ $ uname -a
Linux P_P-o 2.6.27-gentoo-r8 #12 SMP PREEMPT Sun Nov 8 19:46:59 PST 2009 i686 Genuine Intel(R) CPU T2060 @ 1.60GHz GenuineIntel GNU/Linux
Run Code Online (Sandbox Code Playgroud)
运行 eix gentoo-sources 显示我安装了比安装版本更高的版本:
tony@P_P-o ~ $ eix gentoo-sources
[U] sys-kernel/gentoo-sources
Available versions:
(2.6.16-r13) 2.6.16-r13!b!s
(2.6.25-r9) 2.6.25-r9!b!s
(2.6.26-r4) 2.6.26-r4!b!s
(2.6.27-r8) 2.6.27-r8!b!s
(2.6.27-r10) 2.6.27-r10!b!s
(2.6.28-r5) 2.6.28-r5!b!s
(2.6.28-r6) 2.6.28-r6!b!s
(2.6.29-r5) 2.6.29-r5!b!s
(2.6.29-r6) 2.6.29-r6!b!s
(2.6.30) ~2.6.30!b!s
(2.6.30-r3) ~2.6.30-r3!b!s
(2.6.30-r4) 2.6.30-r4!b!s
(2.6.30-r5) 2.6.30-r5!b!s
(2.6.30-r6) 2.6.30-r6!b!s
(2.6.30-r7) 2.6.30-r7!b!s
(2.6.30-r8) 2.6.30-r8!b!s
(2.6.31) ~2.6.31!b!s
(2.6.31-r1) …Run Code Online (Sandbox Code Playgroud) 如果我们查看Wikipedia中的 Microsoft Windows 版本列表,我们将看到(按发布日期顺序)Windows NT 4.0 具有发布版本NT 4.0,Windows 98 具有4.10,Windows 2000 具有NT 5.0
为什么 Windows 98NT在其发行版中没有?每个主要的 Windows 版本,如 XP、XP Pro、Vista、7、8、8.1、10 都有NT其发布版本。
version ×7
linux ×3
kernel ×2
windows ×2
fedora ×1
gentoo ×1
java ×1
linux-mint ×1
php ×1
powershell ×1
releases ×1
ubuntu ×1
windows-98 ×1
windows-nt-4 ×1