经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Linux/Shell » 查看文章
快速上手Linux核心命令(七):Linux系统信息相关命令
来源:cnblogs  作者:xiezhr  时间:2023/4/28 9:28:46  对本文有异议

前言

这期呢主要说一说Linux中与系统相关的命令,一共包含10个命令
在这里插入图片描述

uname 显示系统信息

1、简介

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

2、语法格式

  1. uname [参数选项]

3、参数说明

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

4、实践操作

①显示系统所有信息

  1. [root@xiezhr ~]# uname -a
  2. 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 x86_64 GNU/Linux

②显示计算机硬件架构

  1. [root@xiezhr ~]# uname -m
  2. x86_64

③显示主机名称

  1. [root@xiezhr ~]# uname -n
  2. xiezhr

④显示内核发行版本号

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

hostname 显示或设置系统主机名

1、简介

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

2、语法格式

  1. hostname [参数选项]

3、参数说明

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

3、实践操作

①显示主机名

  1. [root@xiezhr ~]# hostname
  2. xiezhr

②修改主机名

  1. # 临时修改
  2. [root@xiezhr ~]# hostname hosta
  3. # 永久修改
  4. # Created by cloud-init on instance boot automatically, do not edit.
  5. [root@xiezhr ~]# vi /etc/sysconfig/network
  6. NETWORKING=yes
  7. hosta
  8. ~
  9. ~
  10. ~
  11. -- INSERT --

③ 获取IP地址

  1. [root@xiezhr ~]# hostname -i
  2. ::1 127.0.0.1 127.0.0.1 127.0.0.1
  3. [root@xiezhr ~]# hostname -I
  4. 172.17.0.4

du 统计磁盘空间使用情况

1、简介

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

2、语法格式

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

3、参数说明

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

4、实践操作

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

  1. [root@xiezhr ~]# du -a
  2. 4 ./.lesshst
  3. 4 ./.bashrc
  4. 4 ./.pydistutils.cfg
  5. 4 ./.bash_profile
  6. 4 ./.mysql_secret
  7. 4 ./.pm2/modules
  8. 4 ./.pm2/pm2.pid
  9. 0 ./.pm2/pub.sock
  10. 0 ./.pm2/rpc.sock
  11. 4 ./.pm2/pids/tyloochat-0.pid
  12. 8 ./.pm2/pids
  13. 4 ./.pm2/module_conf.json
  14. 184 ./.pm2/logs/tyloochat-out.log
  15. 236 ./.pm2/logs/tyloochat-error.log
  16. 424 ./.pm2/logs

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

  1. [root@xiezhr test]# du -h
  2. 4.0K ./dir5
  3. 8.0K ./dir
  4. 8.0K ./dir3
  5. 12K ./dir6
  6. 4.0K ./dir_bak
  7. 112K .

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

  1. [root@xiezhr test]# du -s
  2. 112

④指定层次的目录大小

  1. [root@xiezhr test]# du -h --max-depth=1 /usr/local/
  2. 4.0K /usr/local/lib
  3. 4.0K /usr/local/games
  4. 2.6G /usr/local/mysql
  5. 4.0K /usr/local/src
  6. 2.5G /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64
  7. 4.0K /usr/local/libexec
  8. 4.0K /usr/local/bin
  9. 4.0K /usr/local/etc
  10. 1017M /usr/local/qcloud
  11. 92K /usr/local/share
  12. 4.0K /usr/local/include
  13. 4.0K /usr/local/sbin
  14. 4.0K /usr/local/lib64
  15. 6.6G /usr/local/

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

  1. [root@xiezhr test]# du -h --max-depth=1 /usr/local/ --exclude=/usr/local/mysql
  2. 4.0K /usr/local/lib
  3. 4.0K /usr/local/games
  4. 4.0K /usr/local/src
  5. 2.5G /usr/local/mysql-5.7.19-linux-glibc2.12-x86_64
  6. 4.0K /usr/local/libexec
  7. 4.0K /usr/local/bin
  8. 4.0K /usr/local/etc
  9. 1018M /usr/local/qcloud
  10. 92K /usr/local/share
  11. 4.0K /usr/local/include
  12. 4.0K /usr/local/sbin
  13. 4.0K /usr/local/lib64
  14. 4.1G /usr/local/

echo 显示一行文本

1、简介

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

2、语法格式

  1. echo [参数选项] [文本]

3、参数说明

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

4、实践操作

① 显示普通字符

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

②显示转义字符

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

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

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

④ 显示命令执行结果

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

watch 监视命令执行情况

1、简介

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

2、语法格式

  1. watch [参数选项] [命令]

3、参数说明

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

4、实践操作

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

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

stat

1、简介

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

2、语法格式

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

3、参数说明

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

4、实践操作

查看文件的属性信息

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

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

1、简介

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

2、语法格式

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

3、参数说明

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

4、实践操作

① 查找可执行文件路径

  1. [root@xiezhr test]# whereis nginx
  2. 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 帮助文件

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

③ 查找源代码文件

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

date 显示与设置系统时间

1、简介

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

2、语法格式

  1. 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、实践操作

①显示日期时间

  1. # 显示年(短格式)
  2. [root@xiezhr ~]# date +%y
  3. 22
  4. # 显示年(长格式)
  5. [root@xiezhr ~]# date +%Y
  6. 2022
  7. # 显示月
  8. [root@xiezhr ~]# date +%m
  9. 05
  10. #显示日
  11. [root@xiezhr ~]# date +%d
  12. 12
  13. # 显示时
  14. [root@xiezhr ~]# date +%H
  15. 08
  16. # 显示分
  17. [root@xiezhr ~]# date +%M
  18. 01
  19. # 显示秒
  20. [root@xiezhr ~]# date +%S
  21. 53
  22. # 显示特殊日期(年-月-日)
  23. [root@xiezhr ~]# date +%F
  24. 2022-05-12
  25. # 显示特殊格式时间(时:分:秒)
  26. [root@xiezhr ~]# date +%T
  27. 08:02:18
  28. #格式化输出日期时间
  29. [root@xiezhr ~]# date "+%Y-%m-%d %H:%M:%S"
  30. 2022-05-12 08:11:03

②参数【-d】的使用

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

  1. # 显示昨天
  2. [root@xiezhr ~]# date +%F -d "-1day"
  3. 2022-05-11
  4. # 显示明天
  5. [root@xiezhr ~]# date +%F -d "+1day"
  6. 2022-05-13
  7. # 显示一个月后
  8. [root@xiezhr ~]# date +%F -d "+1month"
  9. 2022-06-12
  10. # 显示一年后
  11. [root@xiezhr ~]# date +%F -d "+1year"
  12. 2023-05-12

③ 参数【-s】设定时间

  1. # 设置20220512,时间为空则为00:00:00
  2. [root@xiezhr ~]# date -s 20220512
  3. Thu May 12 00:00:00 CST 2022
  4. # 设置时间为08:20:03,不会更改日期
  5. [root@xiezhr ~]# date -s 08:20:03
  6. Thu May 12 08:20:03 CST 2022
  7. # 通过不同格式设置日期时间
  8. [root@xiezhr ~]# date -s "08:22:04 20220512"
  9. Thu May 12 08:22:04 CST 2022
  10. [root@xiezhr ~]# date -s "08:22:04 2022/05/12"
  11. Thu May 12 08:22:04 CST 2022
  12. [root@xiezhr ~]# date -s "08:22:04 2022-05-12"
  13. Thu May 12 08:22:04 CST 2022

which 显示命令全路径

1、简介

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

2、语法格式

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

3、参数说明

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

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

4、实践操作

①查找指定命令的全路径

  1. # 查看环境变量
  2. [root@xiezhr ~]# echo $PATH
  3. /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
  4. # 查看man命令的全路径
  5. [root@xiezhr ~]# which man
  6. /usr/bin/man
  7. # 查看date命令的全路径
  8. [root@xiezhr ~]# which date
  9. /usr/bin/date
  10. # 查看cd命令的全路径
  11. [root@xiezhr ~]# which cd
  12. /usr/bin/cd

②【-a】参数

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

locate 快速定位文件路径

1、简介

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

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

2、语法格式

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

3、参数说明

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

4、实践操作

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

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

②显示匹配的行号

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

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

  1. [root@xiezhr ~]# locate /etc/sh*
  2. /etc/shadow
  3. /etc/shadow-
  4. /etc/shells
  5. /etc/shells.rpmnew

这期内容就到这,下期根据思维导图就到Linux网络相关命令的使用了。

涉及到的命令有: ping、 ifconfig、 netstat、 telnet、 ssh、 ip、 tcpdump、nmap、ss等等

敬请期待哦(●’?’●)

专栏目录:快速上手Linux核心命令专栏目录

上一篇:快速上手Linux核心命令(六):Linux的文本编辑器vi和vim
下一篇:快速上手Linux核心命令(八):网络相关命令(博主正在玩命更新中)

原文链接:https://www.cnblogs.com/xiezhr/p/17343239.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号