5.1-5 uname、hostname、dmesg、stat、du

5.1 uname:显示系统信息

    uname命令用于显示系统相关信息,比如内核版本号、硬件架构等。
-a    显示系统所有相关信息
-v    显示内核版本
-m    显示计算机硬件架构
-p    显示主机处理器类型
-n    显示主机名称
-o    显示操作系统名称
-r    显示内核发行版本号
-i    显示硬件平台
-s    显示内核名称
 
1.基础范例
[root@cs6 ~]# uname -a
Linux cs6 2.6.32-754.el6.x86_64 #1 SMP Tue Jun 19 21:26:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
[root@cs6 ~]# uname -m
x86_64
[root@cs6 ~]# uname -n
cs6
[root@cs6 ~]# uname -r
2.6.32-754.el6.x86_64
[root@cs6 ~]# uname -s
Linux
[root@cs6 ~]# uname -v
#1 SMP Tue Jun 19 21:26:04 UTC 2018
[root@cs6 ~]# uname -p
x86_64
[root@cs6 ~]# uname -o
GNU/Linux
[root@cs6 ~]# uname -i
x86_64

    将命令“unam e-r”与反引号(ESC键下面“,”)一起使用,用在其他命令中替代Linux内核版本号。比如,在安装LVS时,就有一步这样的操作,如下:

[root@cs6 ~]# ln -s /usr/src/kernels/`uname -r`/ /usr/src/linux
命令原型
[root@cs6 ~]# ln -s /usr/src/kernels/2.6.32-754.el6.x86_64/ /usr/src/linux

5.2 hostname:显示或设置系统的主机名

    hostname命令用于显示或设置系统的主机名称。许多网络程序均用主机名来标识主机,若没有设置好主机名,则可能会导致网络服务不正常。
 
-a    如果设置了主机别名,则可以用-a选项来显示主机的别名
-i    显示主机的IP地址,这个参数需要依赖DNS解析,比较慢,推荐使用下面的I选项
-I    显示主机的所有IP地址,不依赖DNS解析,速度较快
-s    显示短格式主机名
 
[root@cs6 ~]# hostname
cs6
[root@cs6 ~]# hostname cs6-mini
 
[root@cs6 ~]# logout
[root@cs6-mini ~]#
永久修改主机名。
[root@cs6-mini ~]# cat /etc/sysconfig/network    #<=只有修改配置文件,才能使得系统重启后,修改的主机名仍然有效。
NETWORKING=yes
HOSTNAME=cs6-mini
    需要说明的是,在CentOS7系统中,主机名的配置文件换成了/etc/hostname,修改/etc/sysconfig/network不会生效,需要修改/etc/hostname。
[root@cs7-mini ~]# cat /etc/hostname
cs7-mini

配置主机hosts解析

[root@cs6-mini ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 cs6-mini
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@cs6-mini ~]# hostname -s
cs6-mini
[root@cs6-mini ~]# hostname -a
localhost.localdomain localhost4 localhost4.localdomain4 cs6-mini
 
 
获取系统的IP地址。
[root@cs6-mini ~]# hostname -I
10.0.0.100 172.16.1.100

5.3 dmesg:系统启动异常诊断

    dmesg用于显示内核环形缓冲区(kernel-ring buffer)的内容。在进行系统引导时,内核会将硬件和模块初始化相关的信息写到这个缓冲区中。内核环形缓冲区中的消息对于诊断系统问题非常有用。内核环形缓冲区的内容同时会保存在/var/log目录中,即名称为dmesg的文件里。可通过如下命令进行查看:
 
-c            显示信息后,清除环形缓冲区中的内容
-s bufsize    设置缓冲区大小,默认16384(2.1.113内核或更高)
-n level      显示消息等级
 
[root@cs7-mini ~]# ll -h /var/log/dmesg
-rw-r--r--. 1 root root 122K May 14 22:49 /var/log/dmesg
 
[root@cs7-mini ~]# dmesg |less    #<==通过less命令分页查看缓冲区内容,用于查看硬件故障等信息。
[    0.000000] Initializing cgroup subsys cpuset
[    0.000000] Initializing cgroup subsys cpu
[    0.000000] Initializing cgroup subsys cpuacct
[    0.000000] Linux version 3.10.0-957.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Thu Nov 8 23:39:32 UTC 2018

5.4 stat:显示文件或文件系统状态

stat 命令用于详细显示文件或文件系统的状态信息。
 
-f    显示文件所在分区的文件系统状态而非文件状态
-c    使用指定输出格式代替默认值
-t    使用简洁格式输出
 
支持的文件格式
        %a 八进制权限
        %A 用可读性较好的方式输出权限
        %b 计算已分配块数(参见%B)
        %B 以字节为单位输出%b所报告的每个块的大小
        %C SELinux安全环境字符串
        %d 十进制设备编号
        %D 十六进制设备编号
        %f 十六进制原始模式
        %F 文件类型
        %g 文件的属组ID
        %G 文件的属组组名
        %h 硬链接数量
        %i Inode编号
        %n 文件名
        %N 如果对象是一个符号链接,则显示引用到的其他文件名
 
        %o I/O块大小
        %s 总计大小,以字节为单位
        %t 十六进制主设备类型
        %T 十六进制子设备类型
        %u 文件的属主ID
        %U 文件的属主用户名
        %x 上次访问时间
        %X 从UNIX元年起计的上次访问时间
        %y 上次修改时间
        %Y 从UNIX元年起计的上次修改时间
        %z 上次更改时间
        %Z 从UNIX元年起计的上次更改时间
 
支持的文件系统格式
 
    %a  非超级用户可用的剩余块数
    %b  文件系统的总数据块数
    %c  文件系统中文件节点的总数
    %d  文件系统中空闲文件的节点数
    %f  文件系统中空闲的块数
    %C SELinux安全环境字符串
    %i 十六进制文件系统ID
    %l  文件名允许的最大长度
    %n  文件名
    %s  块大小(用于快速传输)
    %S  基本块大小(用于块计数)
    %t  十六进制类型描述
    %T  可读性较好的类型描述

 

 
[root@cs7-mini ~]# stat /etc/hosts
  File: ‘/etc/hosts’
  Size: 158           Blocks: 8          IO Block: 4096   regular file
#<==Size:文件大小。
#<==Blocks:占用block数量。
#<==I0 BloCk;Block 总大小为4096(8*512)。
#<==regular file;文件类型为普通文件。
Device: fd00h/64768d    Inode: 16783436    Links: 1
 
#<==Device;设备编号的十六进制(h)和十进制(d)。
#<==Inode:文件的inode 值。
#<==Links;文件的硬链接数。
 
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
#<==Access:文件权限。
#<==Uid和Gid:用户和用户组。
 
Context: system_u:object_r:net_conf_t:s0
Access: 2019-05-14 12:58:58.905000611 +0800    #<==访问时间
Modify: 2013-06-07 22:31:32.000000000 +0800    #<==修改时间
Change: 2019-05-05 15:44:58.232342423 +0800    #<==状态更改时间
Birth: -

 

[root@cs7-mini ~]# stat -f /etc/hosts    #<== -f 参教显示文件所在分区的文件系统状态而非文件状态,了解即可。
  File: "/etc/hosts"
    ID: fd0000000000 Namelen: 255     Type: xfs
Block size: 4096       Fundamental block size: 4096
Blocks: Total: 6811393    Free: 6530122    Available: 6530122
Inodes: Total: 13629440   Free: 13602728

 

 
范例5-9:如何取得/etc/hosts文件的权限对应的数字内容,比如-rw-r--r--为644,请使用命令取得644这样的数字。
[root@cs7-mini ~]# stat -c %a /etc/hosts
644

 

5.5 du:统计磁盘空间使用情况

    du命令可以用于统计磁盘空间的使用情况,这个命令有助于我们找出哪个文件过多地占用了磁盘空间。
 

du命令的参数选项及说明

-a    显示所有文件大小
-h    以人类可读的方式查看大小,以K、M、G为单位
-s  显示文件的总大小
-exclude=<目录或文件>      略过指定的目录或文件
-X,--exclude-from=FILE    从文件读取需要略过的目录或文件
-max-depth=N              显示N级子目录的大小,当N=0时,该参数和-s参数的效果一样
 
 

通过参数-a显示所有目录或文件所占空间

[root@cs7-mini ~]# du -a    #<==显示当前目录下所有文件(包括隐藏文件及子目录下的所有文件)的大小
4    ./.bash_logout
4    ./.bash_profile
4    ./.bashrc
4    ./.cshrc
4    ./.tcshrc
4    ./.bash_history
24    .

参数-s与-h的使用案例

[root@cs7-mini ~]# du -s
24    .
[root@cs7-mini ~]# du -h
24K    .
[root@cs7-mini ~]# du -sh          # 常用
24K    .
[root@cs7-mini ~]# du -sh /tmp/    #<==显示指定目录的总大小。
29M    /tmp/

显示指定层次的目录的大小

[root@doit ~]# du -h --max-depth=1 /usr/local/
4.0K    /usr/local/sbin
9.1M    /usr/local/shadowsocksr
4.0K    /usr/local/lib64
4.0K    /usr/local/bin
296K    /usr/local/include
4.0K    /usr/local/libexec
4.0K    /usr/local/src
4.0K    /usr/local/etc
840M    /usr/local/go
92K    /usr/local/share
6.3M    /usr/local/lib
4.0K    /usr/local/games
856M    /usr/local/

排除指定目录的案例

[root@doit ~]# du -h --max-depth=1 /usr/local/ --exclude=/usr/local/share
#<==不显示/usr/local/share日录的大小。
4.0K    /usr/local/sbin
9.1M    /usr/local/shadowsocksr
4.0K    /usr/local/lib64
4.0K    /usr/local/bin
296K    /usr/local/include
4.0K    /usr/local/libexec
4.0K    /usr/local/src
4.0K    /usr/local/etc
840M    /usr/local/go
92K    /usr/local/share
6.3M    /usr/local/lib
4.0K    /usr/local/games
856M    /usr/local/

 

posted @ 2019-05-15 21:59  Fadewalk  阅读(496)  评论(0编辑  收藏  举报