![“uname -r”和“uname -v”有什么区别?](https://linux22.com/image/1320079/%E2%80%9Cuname%20-r%E2%80%9D%E5%92%8C%E2%80%9Cuname%20-v%E2%80%9D%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F.png)
我正在使用 CentOS 6.2。在 uname 的手册页中(即man uname
),它显示:
-r, --kernel-release
print the kernel release
-v, --kernel-version
print the kernel version
在尝试命令时,它显示
[max@localhost ~]$ uname -r
2.6.32-220.17.1.el6.i686
[max@localhost ~]$ uname -v
#1 SMP Tue May 15 22:09:39 BST 2012
-v
应该显示版本,对吧?但是在哪里显示版本?-r
正在显示版本详细信息。
为什么会这样?
答案1
这绝对是正常且符合预期的。kernel-release
将始终显示所用内核的实际版本号。kernel-version
但是将打印更具体的字符串,其中包含实际发布日期。其格式取决于它在哪个 Linux 或 Unix 发行版上运行。
您可以找到广泛的例子列表在 Wikipedia 上。例如,在 OS X 中,kernel-version
不仅有发布编号,还有发布日期:
Darwin Kernel Version 10.8.0: Tue Jun 7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64
虽然这kernel-release
只是发布编号:
10.8.0
你甚至可以检查当它被调用时会查找的/proc/sys/kernel/
内容。这将是:uname(2)
uname(1)
/proc/sys/kernel/version
/proc/sys/kernel/osrelease
不要过于严格地认为“版本”只是一个版本数字。