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/

最新文章

  1. 如何进行python性能分析?
  2. Android中Fragment和ViewPager那点事儿(仿微信APP)
  3. Win10 UI动画
  4. sublime 配置jade高亮显示
  5. mysql 自动备份导出到sql
  6. BZOJ1107 : [POI2007]驾驶考试egz
  7. js 继承inheritance/extends
  8. iOS 开发-- Runtime 1小时入门教程
  9. angularjs指令中的compile与link函数详解(转)
  10. [4X]荣耀畅玩4X开箱实录
  11. mysql数据库的高可用方法总结
  12. HDOJ/HDU 2544 最短路---dijkstra算法
  13. HR筒子说:程序猿面试那点事
  14. iOS中 SDWebImage手动清除缓存的方法 技术分享
  15. 【工具】Idea GenerateAllSetter
  16. Python with open as函数
  17. Java常用日期操作
  18. vue导出excel
  19. Mini2440 通过 SPI 操作 OLED (裸板下使用 SPI 控制器)
  20. ExtJS4中设置tabpanel的tab高度问题

热门文章

  1. manjaro配置攻略
  2. 6. Mybatis resultMap
  3. 并发编程之ThreadLocal
  4. 持续集成 简介&amp;环境搭建
  5. json 标准库
  6. 记一次linux下安装ftp的愉快体验
  7. 【Springboot项目启动异常】项目启动,数据库连接异常
  8. 【JDK8】Java8 Stream流API常用操作
  9. android so加载
  10. android添加账户源码浅析