zoukankan      html  css  js  c++  java
  • 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/
  • 相关阅读:
    c++构造函数析构函数调用顺序
    c++隐藏实例
    c++子类和父类成员函数重名
    C++虚函数·
    c/c++字符数组和字符串大揭秘
    python 基础回顾 一
    python java scala 单例模式
    推荐一款好用并且免费的markdown软件 Typora
    java 的垃圾回收机制 【转】
    python的垃圾回收机制【转】
  • 原文地址:https://www.cnblogs.com/fadewalk/p/10872503.html
Copyright © 2011-2022 走看看