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