快速上手Linux核心命令(七):Linux系统信息相关命令

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介: 快速上手Linux核心命令(七):Linux系统信息相关命令

 ba577ed39ed34fae898fd1b3506e4964.png 

uname 显示系统信息

1、简介

uname命令用于显示系统相关信息,比如内核版本号、硬件架构

2、语法格式

uname [参数选项]

3、参数说明

参数 参数说明
-a 显示系统所有相关信息
-m 显示计算机硬件架构
-n 显示主机名称
-r 显示内核发行版本号
-s 显示内核名称
-v 显示内核版本

4、实践操作

①显示系统所有信息

[root@xiezhr ~]# uname -a
Linux xiezhr 3.10.0-1127.19.1.el7.x86_64 #1 SMP Tue Aug 25 17:23:54 UTC 2020 x86_64 x86_64 x

②显示计算机硬件架构

[root@xiezhr ~]# uname -m
x86_64

③显示主机名称

[root@xiezhr ~]# uname -n
xiezhr

④显示内核发行版本号

[root@xiezhr ~]# uname -r
3.10.0-1127.19.1.el7.x86_64

hostname 显示或设置系统主机名

1、简介

hostname用于显示或设置系统主机名‘

2、语法格式

hostname [参数选项]

3、参数说明

参数 参数说明
-i 显示主机IP地址,依赖DNS解析,比较慢
-I 显示主机的所有IP地址,速度较快

3、实践操作

①显示主机名

[root@xiezhr ~]# hostname
xiezhr

②修改主机名

# 临时修改
[root@xiezhr ~]# hostname hosta
# 永久修改
# Created by cloud-init on instance boot automatically, do not edit.
[root@xiezhr ~]# vi /etc/sysconfig/network
NETWORKING=yes
hosta
~
~
~
-- INSERT --

③ 获取IP地址

[root@xiezhr ~]# hostname -i
::1 127.0.0.1 127.0.0.1 127.0.0.1
[root@xiezhr ~]# hostname -I
172.17.0.4

du 统计磁盘空间使用情况

1、简介

du 用于统计磁盘空间使用情况。可以让我们找出哪些文件过多的占用磁盘空间

2、语法格式

du [参数选项] [文件或目录]

3、参数说明

参数 参数说明
-a 显示所有文件大小
-h 以人类可读的方式显示,以K、M、G为单位显示
-s 显示文件的总大小
–exclude=<目录或文件> 略过指定的目录或文件
–max-depth=<目录层数> 超过指定层数的目录后,予以忽略

4、实践操作

① 【-a】参数显示所有目录或文件所占空间


[root@xiezhr ~]# du -a
4       ./.lesshst
4       ./.bashrc
4       ./.pydistutils.cfg
4       ./.bash_profile
4       ./.mysql_secret
4       ./.pm2/modules
4       ./.pm2/pm2.pid
0       ./.pm2/pub.sock
0       ./.pm2/rpc.sock
4       ./.pm2/pids/tyloochat-0.pid
8       ./.pm2/pids
4       ./.pm2/module_conf.json
184     ./.pm2/logs/tyloochat-out.log
236     ./.pm2/logs/tyloochat-error.log
424     ./.pm2/logs

② 以人类可读的方式显示当前路径下文件大小

[root@xiezhr test]# du -h
4.0K    ./dir5
8.0K    ./dir
8.0K    ./dir3
12K     ./dir6
4.0K    ./dir_bak
112K    .

③ 显示当前路径下文件总大小

[root@xiezhr test]# du -s
112

④指定层次的目录大小

[root@xiezhr test]# du -h --max-depth=1 /usr/local/
4.0K    /usr/local/lib
4.0K    /usr/local/games
2.6G    /usr/local/mysql
4.0K    /usr/local/src
2.5G    /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64
4.0K    /usr/local/libexec
4.0K    /usr/local/bin
4.0K    /usr/local/etc
1017M   /usr/local/qcloud
92K     /usr/local/share
4.0K    /usr/local/include
4.0K    /usr/local/sbin
4.0K    /usr/local/lib64
6.6G    /usr/local/

⑤ 排除指定目录文件后的大小

[root@xiezhr test]# du -h --max-depth=1 /usr/local/ --exclude=/usr/local/mysql
4.0K    /usr/local/lib
4.0K    /usr/local/games
4.0K    /usr/local/src
2.5G    /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64
4.0K    /usr/local/libexec
4.0K    /usr/local/bin
4.0K    /usr/local/etc
1018M   /usr/local/qcloud
92K     /usr/local/share
4.0K    /usr/local/include
4.0K    /usr/local/sbin
4.0K    /usr/local/lib64
4.1G    /usr/local/

echo 显示一行文本

1、简介

echo 可以将指定的文本显示在Linux命令行上

2、语法格式

echo [参数选项] [文本]

3、参数说明

参数 参数说明
-n 不要自动换行
-e 如果字符串中出现以下特殊字符,则进行特殊处理,不会当成一般字符输出 \b 删除前一个字符
特殊字符 特殊字符说明
\a 发出警告声
\b 删除前一个字符
\c 最后不加上换行符
\f 换行,但光标停留在原来的位置
\n 换行,且光标移动到行首
\r 光标移动到行首,但不换行
\t 插入制表符tab
\v 与-f 相同
\\ 插入\字符
\’ 插入’ 字符
\" 插入"字符

4、实践操作

① 显示普通字符

[root@xiezhr ~]# echo my official accounts  is xiezhrspace
my official accounts is xiezhrspace

②显示转义字符

[root@xiezhr ~]# echo \"my official account is xiezhrspace \"
"my official account is xiezhrspace "

③ 将单行文本输入到文件中

[root@xiezhr test]# echo my official account is xiezhrspace >> xie.txt
[root@xiezhr test]# more xie.txt 
my official account is xiezhrspace

④ 显示命令执行结果

[root@xiezhr test]# echo `date`
Mon May 9 21:37:40 CST 2022

atch 监视命令执行情况

1、简介

watch 英文意思是看,用于以全屏的方式动态显示命令或程序的执行情况

2、语法格式

watch [参数选项] [命令]

3、参数说明

参数 参数说明
-n 命令执行的时间间隔、默认为2m
-d 高亮显示命令结果变动之处
-t 关闭watch命令执行后顶部显示的时间间隔、命令及当前时间

4、实践操作

每个一秒显示网络连接数的变化情况

[root@xiezhr test]# watch -n 1 -d netstat -nginx
Kernel Interface table
Iface             MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0             1500 247530399      0      0 0      322331584      0      0      0 BMRU
lo              65536   141692      0      0 0        141692      0      0      0 LRU

stat

1、简介

stat 用于显示文件或文件系统的状态信息

2、语法格式

stat [参数选项] [文件或目录]

3、参数说明

参数 参数说明
-c 使用指定输出格式代替默认值

4、实践操作

查看文件的属性信息

[root@xiezhr test]# stat /etc/hosts
  File: ‘/etc/hosts’
  Size: 157             Blocks: 8          IO Block: 4096   regular file
Device: fd01h/64769d    Inode: 265944      Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-11-29 10:25:47.000000000 +0800
Modify: 2020-11-29 11:54:33.000000000 +0800
Change: 2020-11-29 11:54:53.216579255 +0800
 Birth: -

whereis 显示命令及其相关文件的全路径

1、简介

whereis 命令用于定位指定命令的可执行文件、源码文件及man帮助文件的路径

2、语法格式

whereis [参数选项] [文件名]

3、参数说明

参数 参数说明
-b 查找可执行文件
-s 查找源代码文件
-m 查找man帮助文件

4、实践操作

① 查找可执行文件路径

[root@xiezhr test]# whereis nginx
nginx: /usr/sbin/nginx /usr/lib64/nginx /etc/nginx /usr/share/nginx /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz

② 查找man 帮助文件

[root@xiezhr test]# whereis -m nginx
nginx: /usr/share/man/man3/nginx.3pm.gz /usr/share/man/man8/nginx.8.gz

③ 查找源代码文件

[root@xiezhr test]# whereis -s nginx
nginx:
# 没有找到相关源代码

date 显示与设置系统时间

1、简介

date命令用于显示当前系统时间或设置系统时间

2、语法格式

date [参数选项] [+日期格式]

3、参数说明

参数

参数 参数说明
-d 时间字符串 显示指定字符串所描述的时间,而非当前时间
-s 日期时间 设置系统时间

日期格式

格式 格式说明
%y 显示年(短格式)
%Y 显示年(长格式)
%m 显示月
%d 显示日
%H 24小时制 (00-23) 例如:7点显示07
%k 24小时(0-23) 例如:7点显示7
%I 12小时制(00-12)例如:7点显示07
%l 12小时制(0-12)例如:7点显示7
%M 分钟(00-59)
%S 秒(00-60)
%p 显示本地 AM 或 PM
%F 完整日期格式,等价于%Y-%m-%d(2022-05-12)
%T 完整时间格式,等价于%H:%M:%S(07:58:23)

4、实践操作

①显示日期时间

# 显示年(短格式)
[root@xiezhr ~]# date +%y
22
# 显示年(长格式)
[root@xiezhr ~]# date +%Y
2022
# 显示月
[root@xiezhr ~]# date +%m
05
#显示日
[root@xiezhr ~]# date +%d
12
# 显示时
[root@xiezhr ~]# date +%H
08
# 显示分
[root@xiezhr ~]# date +%M
01
# 显示秒
[root@xiezhr ~]# date +%S
53
# 显示特殊日期(年-月-日)
[root@xiezhr ~]# date +%F
2022-05-12
# 显示特殊格式时间(时:分:秒)
[root@xiezhr ~]# date +%T
08:02:18
#格式化输出日期时间
[root@xiezhr ~]# date "+%Y-%m-%d %H:%M:%S"
2022-05-12 08:11:03

②参数【-d】的使用

注:-号表示过去,+表示未来 day表示日,month表示月,year表示年

# 显示昨天
[root@xiezhr ~]# date +%F -d "-1day"
2022-05-11
# 显示明天
[root@xiezhr ~]# date +%F -d "+1day"
2022-05-13
# 显示一个月后
[root@xiezhr ~]# date +%F -d "+1month"
2022-06-12
# 显示一年后
[root@xiezhr ~]# date +%F -d "+1year"
2023-05-12

③ 参数【-s】设定时间

# 设置20220512,时间为空则为00:00:00
[root@xiezhr ~]# date -s 20220512
Thu May 12 00:00:00 CST 2022
# 设置时间为08:20:03,不会更改日期
[root@xiezhr ~]# date -s 08:20:03
Thu May 12 08:20:03 CST 2022
# 通过不同格式设置日期时间
[root@xiezhr ~]# date -s "08:22:04 20220512"
Thu May 12 08:22:04 CST 2022
[root@xiezhr ~]# date -s "08:22:04 2022/05/12"
Thu May 12 08:22:04 CST 2022
[root@xiezhr ~]# date -s "08:22:04 2022-05-12"
Thu May 12 08:22:04 CST 2022

which 显示命令全路径

1、简介

which 用于显示命令的全路径,经常用来查找命令在哪里,which的查找范围时path环境变量的路径

2、语法格式

which [参数选项] [命令名]

3、参数说明

**注:**默认在PATH路径中由前往后查找命令,如果找到了,就停止匹配。

参数 参数说明
-a 遍历所有PATH路径,输出所有匹配项

4、实践操作

①查找指定命令的全路径

# 查看环境变量
[root@xiezhr ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 查看man命令的全路径
[root@xiezhr ~]# which man
/usr/bin/man
# 查看date命令的全路径
[root@xiezhr ~]# which date
/usr/bin/date
# 查看cd命令的全路径
[root@xiezhr ~]# which cd
/usr/bin/cd

②【-a】参数

[root@xiezhr ~]# which -a nginx
/usr/sbin/nginx

locate 快速定位文件路径

1、简介

Linux系统中有一个名为mlocate.db的数据库文件,包含了系统文件的文件名及对应路径信息。locate 命令查找文件时,不用遍历磁盘,而是直接查找mlocate.db文件

**注意:**mlocate.db文件不是实时更新的,而是有系统自带的定时任务执行updatedb命令定期更新。当然了,我们在使用locate命令时,可以先用updatedb命令更新一下mlocate.db文件

2、语法格式

locate [参数选项] [文件名]

3、参数说明

参数 参数说明
-c 不显示匹配的内容,只显示匹配的行数
-r 支持基本正则表达式匹配
-i 匹配时忽略大小写
–regex 支持扩展正则表达式匹配

4、实践操作

①查找文件路径(只要包含pwd都会显示出来)

[root@xiezhr ~]# locate pwd
/etc/.pwd.lock
/usr/bin/pwd
/usr/bin/pwdx
/usr/include/pwd.h
/usr/lib/modules/3.10.0-1127.19.1.el7.x86_64/kernel/drivers/watchdog/hpwdt.ko.xz
/usr/lib64/cracklib_dict.pwd
/usr/lib64/python2.7/lib-dynload/spwdmodule.so
/usr/local/qcloud/monitor/python26/lib/python2.6/lib-dynload/spwd.so
/usr/sbin/unix_chkpwd
/usr/share/cracklib/cracklib-small.pwd
/usr/share/cracklib/pw_dict.pwd
/usr/share/man/man1/pwd.1.gz
/usr/share/man/man1/pwdx.1.gz
/usr/share/man/man8/unix_chkpwd.8.gz
/usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt
/usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt/nmi
/usr/src/kernels/3.10.0-1127.19.1.el7.x86_64/include/config/hpwdt/nmi/decoding.h

②显示匹配的行号

[root@xiezhr ~]# locate -c pwd
17

③使用通配符查找文件路径

[root@xiezhr ~]# locate /etc/sh*
/etc/shadow
/etc/shadow-
/etc/shells
/etc/shells.rpmnew


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
13天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
104 5
|
13天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
49 4
|
3天前
|
Linux Shell 数据安全/隐私保护
|
4天前
|
域名解析 网络协议 安全
|
11天前
|
监控 Linux Shell
|
10天前
|
运维 监控 网络协议
|
14天前
|
Unix Linux
Linux | Rsync 命令:16 个实际示例(下)
Linux | Rsync 命令:16 个实际示例(下)
27 3
Linux | Rsync 命令:16 个实际示例(下)
|
2天前
|
Linux 开发工具
linux文本管理命令
本文档介绍了Linux系统中常用的文本处理命令,包括`echo`、`cat`、`head`、`tail`、`wc`、`less`、`grep`以及重定向符号的使用方法和练习题。此外,还详细讲解了VIM编辑器的特点、工作模式、常用快捷键和高级技巧,帮助用户高效地进行文本编辑和处理。
17 4
|
11天前
|
Linux 开发工具 Perl
Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
【10月更文挑战第20天】Linux命令替换目录下所有文件里有"\n"的字符为""如何操作?
28 4
|
15天前
|
运维 网络协议 Linux
linux系统命令 losf详解
**lsof命令**(List Open Files)是Linux系统中一个非常实用的工具,用于列出当前系统上所有打开的文件以及与之关联的进程。以下是对lsof命令的详细介绍: ### 一、基本功能 lsof命令可以显示系统中被进程打开的文件,这些文件可以是普通文件、目录、网络套接字、设备文件等。通过lsof命令,用户可以方便地查看哪些文件被哪些进程打开,以及这些文件的状态信息。 ### 二、基本语法 lsof命令的基本语法为:`lsof [选项] [文件]`。其中,选项用于指定lsof命令的行为,文件则是可选的,用于指定要查询的文件。 ### 三、常用选项 * `-a` 或 `-