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


    前言

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

    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 x86_64 GNU/Linux
    

    ②显示计算机硬件架构

    [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
    

    watch 监视命令执行情况

    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
    

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

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

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

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

    上一篇:快速上手Linux核心命令(六):Linux的文本编辑器vi和vim
    下一篇:快速上手Linux核心命令(八):网络相关命令

  • 相关阅读:
    Jenkins Pipeline详细教程
    华为全联接大会2023 | 尚宇亮:携手启动O3社区发布
    Redis常用数据类型
    怎么将jar注册为windows系统服务详细操作
    炒鸡详细的Vm安装Linux和Linux客户端使用以及​Linux下的目录结构
    自制操作系统日志——第二十四天
    LeetCode-623-在二叉树中增加一行
    【Java8 Stream】:探秘Stream实现的核心:Collector,模拟Stream的实现
    TinyWebServer学习笔记-threadpool
    小谈设计模式(14)—建造者模式
  • 原文地址:https://www.cnblogs.com/xiezhr/p/17343239.html