最近碰到一个问题,在Linux终端下怎么查看当前操作系统是什么,版本是什么。不同的Linux发行版不完全一样,查了一些资料现在总结如下。有以下命令可以查看:
第一种方法:
# lsb_release -a
LSB Version: :core-4.0-ia32:core-4.0-noarch:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: CentOS
Description: CentOS release 5.7 (Final)
Release: 5.7
Codename: Final
LSB是Linux Standard Base的缩写
-v, --version 显示版本信息
-i, --id 显示发行版的ID
-d, --description 显示该发行版的描述信息
-r, --release 显示当前系统是发行版的具体版本号
-c, --codename 发行版代号
-a, --all 显示上面的所有信息
-h, --help 显示帮助信息
这个命令适用于所有遵守LSB规范的的linux,包括Redhat、SuSE、Debian、Ubuntu、Centos等发行版。
接下来的命令虽不能查看当前系统名和版本,但可以显示系统核心信息。
root@MyMail ~ # uname
Linux
root@MyMail ~ # uname -r
2.6.18-164.el5
[root@localhost ~]# uname -a
Linux localhost.localdomain 2.6.18-194.el5 #1 SMP Fri Apr 2 14:58:35 EDT 2010 i686 i686 i386 GNU/Linux
以下二种方法适用于RedHat,CentOS
root@MyMail ~ # cat /etc/redhat-release(我的版本是centos 6.4所以我用的命令是cat /etc/centos-release)
CentOS release 5.7 (Final)
登录到linux执行rpm -q redhat-release
#rpm -q redhat-release
或CentOS
root@MyMail ~ # rpm -q centos-release
centos-release-5-7.el5.centos.1
RedHat Package Manager(RedHat软件包管理工具)类似Windows里面的“添加/删除程序”
rpm -q samba //查询程序是否安装
rpm -ivh /media/cdrom/RedHat/RPMS/samba-3.0.10-1.4E.i386.rpm //按路径安装并显示进度
rpm -ivh --relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm //指定安装目录
rpm -ivh --test gaim-1.3.0-1.fc4.i386.rpm //用来检查依赖关系;并不是真正的安装;
rpm -Uvh --oldpackage gaim-1.3.0-1.fc4.i386.rpm //新版本降级为旧版本
rpm -qa | grep httpd #[搜索指定rpm包是否安装]--all搜索*httpd*
rpm -ql httpd #[搜索rpm包]--list所有文件安装目录
rpm -qpi Linux-1.4-6.i368.rpm #[查看rpm包]--query--package--install package信息
rpm -qpf Linux-1.4-6.i368.rpm #[查看rpm包]--file
rpm -qpR file.rpm #[查看包]依赖关系
rpm2cpio file.rpm |cpio -div #[抽出文件]
rpm -ivh file.rpm #[安装新的rpm]--install--verbose--hash
rpm -ivh
rpm -Uvh file.rpm #[升级一个rpm]--upgrade
rpm -e file.rpm #[删除一个rpm包]--erase
第四种方法:
当前centos 版本与redhat对应的版本的命令
这个命令在centos下并不准确,显示的系统和版本也是Red Hat 3.4.6-10。
# cat /proc/version
Linux version 2.6.9-78.ELsmp (mockbuild@builder16.centos.org) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-10)) #1 SMP Fri Jul 25 00:04:28 EDT 2008
而此命令在Ubuntu上使用,显示中智能看出是Ubuntu,但看不出版本。
最后一种方法:
#cat /etc/issue
在CentOS下执行显示为:
CentOS release 5.7 (Final)
Kernel \r on an \m
或在Ubuntu下显示为:
Ubuntu 11.04 \n \l
可以查看当前正在运行的 Ubuntu 的版本号。