看内核版本命令:
1)cat /proc/version
2)uname -a
3)uname -r
查看linux版本:
1) lsb_release -a
这个命令适用于所有的linux,包括Redhat、SuSE、Debian等发回行版。
2)cat /etc/issue
3)cat /etc/redhat-release
这种方式答下可以直接看到具体的版本号,比如 AS4 Update 1
B. 怎么看linux安装的文件系统
在Linux中可以使用如下几种方法来查看文件系统,即可以看到文件系统的版本,比如ext4还是。
1. mount
:~$ mount
/dev/sda1 on / type ext4 (rw,errors=remount-ro,user_xattr)
proc on /proc type proc (rw,noexec,nosuid,nodev)
none on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /dev type devtmpfs (rw,mode=0755)
none on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
none on /dev/shm type tmpfs (rw,nosuid,nodev)
none on /var/run type tmpfs (rw,nosuid,mode=0755)
none on /var/lock type tmpfs (rw,noexec,nosuid,nodev)
none on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
none on /var/lib/ureadahead/debugfs type debugfs (rw,relatime)
none on /proc/fs/vmblock/mountPoint type vmblock (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/kysnail/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=kysnail)
:~$
2. df
:~$ df -lhT
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sda1 ext4 19G 11G 7.8G 57% /
none devtmpfs 498M 248K 497M 1% /dev
none tmpfs 502M 252K 501M 1% /dev/shm
none tmpfs 502M 96K 502M 1% /var/run
none tmpfs 502M 0 502M 0% /var/lock
none tmpfs 502M 0 502M 0% /lib/init/rw
none debugfs 19G 11G 7.8G 57% /var/lib/ureadahead/debugfs
:~$
3. fdisk
:~$ sudo fdisk /dev/sda
WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').
Command (m for help): c
DOS Compatibility flag is not set
Command (m for help): u
Changing display/entry units to sectors
Command (m for help): p
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders, total 41943040 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00077544
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 40105983 20051968 83 Linux
/dev/sda2 40108030 41940991 916481 5 Extended
/dev/sda5 40108032 41940991 916480 82 Linux swap / Solaris
Command (m for help): q
4. file
:~$ sudo file -s /dev/sda
/dev/sda:
x86 boot sector; partition 1: ID=0x83, active, starthead 32,
startsector 2048, 40103936 sectors; partition 2: ID=0x5, starthead 254,
startsector 40108030, 1832962 sectors, code offset 0x63
kysnail@ubunkysnail:~$ sudo file -s /dev/sda1
/dev/sda1:
Linux rev 1.0 ext4 filesystem data,
UUID=4942da40-8a49-4bfd-9dc2-45c906d48413 (needs journal recovery)
(extents) (large files) (huge files)
:~$
5. parted
:~$ sudo parted
GNU Parted 2.2
使用 /dev/sda
欢迎使用 GNU Parted! 输入 'help'可获得命令列表.
(parted) p
Model: VMware, VMware Virtual S (scsi)
磁盘 /dev/sda: 21.5GB
Sector size (logical/physical): 512B/512B
分区表:msdos
数字 开始: End 大小 类型 文件系统 标志
1 1049kB 20.5GB 20.5GB primary ext4 启动
2 20.5GB 21.5GB 938MB extended
5 20.5GB 21.5GB 938MB logical linux-swap(v1)
(parted)
6. 查看 fstab
# /etc/fstab: static file system information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point> <type> <options> <mp> <pass>
proc /proc proc nodev,noexec,nosuid 0 0
# / was on /dev/sda1 ring installation
UUID=4942da40-8a49-4bfd-9dc2-45c906d48413 / ext4 errors=remount-ro,user_xattr 0 1
# swap was on /dev/sda5 ring installation
UUID=935fb95d-771f-448e-9d23-4820106e1783 none swap sw 0 0
/dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0
C. 如何查看linux动态链接库文件的版本等其他信息
ldd <可执行文件名> 查看可执行文件链接了哪些
系统动态链接库
nm <可执行文件名>
查看可执行文件里面有哪些符号
strip <可执行文件名>
去除符号表可以给可执行文件瘦身
如果我们想从可执行程序里面提取出来一点什么文本信息的话,还可以用strings命令
strings
<可执行文件名>
Linux操作系统上面的动态共享库大致分为三类:
1、操作系统级别的共享库和基础的系统工具库
比方说libc.so, libz.so,
libpthread.so等等,这些系统库会被放在/lib和/usr/lib目录下面,如果是64位操作系统,还会有/lib64和/usr
/lib64目录。如果操作系统带有图形界面,那么还会有/usr/X11R6/lib目录,如果是64位操作系统,还有/usr/X11R6
/lib64目录。此外还可能有其他特定Linux版本的系统库目录。
这些系统库文件的完整和版本的正确,确保了Linux上面各种程序能够正常的运行。
2、应用程序级别的系统共享库
并非操作系统自带,但是可能被很多应用程序所共享的库,一般会被放在/usr/local/lib和/usr/local/lib64这两个目录下面。很多你自行编译安装的程序都会在编译的时候自动把/usr/local/lib加入gcc的-L参数,而在运行的时候自动到/usr/local
/lib下面去寻找共享库。
以上两类的动态共享库,应用程序会自动寻找到他们,并不需要你额外的设置和担心。这是为什么呢?因为以上这些目录默认就被加入到动态链接程序的搜索路径里面了。Linux的系统共享库搜索路径定义在/etc/ld.so.conf这个配置文件里面。这个文件的内容格式大致如下:
/usr/X11R6/lib64
/usr/X11R6/lib
/usr/local/lib
/lib64
/lib
/usr/lib64
/usr/lib
/usr/local/lib64
/usr/local/ImageMagick/lib
假设我们自己编译安装的ImageMagick图形库在/usr/local/ImageMagick目录下面,并且希望其他应用程序都可以使用
ImageMagick的动态共享库,那么我们只需要把/usr/local/ImageMagick/lib目录加入/etc/ld.so.conf文件里面,然后执行:ldconfig
命令即可。
ldcofig将搜索以上所有的目录,为共享库建立一个缓存文件/etc/ld.so.cache。为了确认ldconfig已经搜索到ImageMagick的库,我们可以用上面介绍的strings命令从ld.so.cache里面抽取文本信息来检查一下:
strings
/etc/ld.so.cache | grep ImageMagick
输出结果为:
/usr/local/ImageMagick/lib/libWand.so.10
/usr/local/ImageMagick/lib/libWand.so
/usr/local/ImageMagick/lib/libMagick.so.10
/usr/local/ImageMagick/lib/libMagick.so
/usr/local/ImageMagick/lib/libMagick++.so.10
/usr/local/ImageMagick/lib/libMagick++.so
已经成功了!
3、应用程序独享的动态共享库
有很多共享库只被特定的应用程序使用,那么就没有必要加入系统库路径,以免应用程序的共享库之间发生版本冲突。因此Linux还可以通过设置环境变量LD_LIBRARY_PATH来临时指定应用程序的共享库搜索路径,就像我们上面举的那个例子一样,我们可以在应用程序的启动脚本里面预先设置
LD_LIBRARY_PATH,指定本应用程序附加的共享库搜索路径,从而让应用程序找到它。