• linux运维基础一(shell两类命令&Hash缓存表&命令行历史)


    shell两类命令&Hash缓存表&命令行历史

    一、Shell中两类命令

    • 内部命令:由shell自带,用户登录后自动加载并常驻内存中
    • 外部命令:外部命令是外部的应用程序,一个命令就对应一个应用程序。运行外部命令要开启一个新的进程,所以效率上比内置命令差很多(可以自定义)

    用户输入一个命令后,Shell 先检测该命令是不是内置命令,如果是就执行,如果不是就检测有没有对应的外部程序:有的话就转而执行外部程序,执行结束后再回到 Shell;没有的话就报错,告诉用户该命令不存在。

    用type命令查看是内部还是外部命令

      type command
    
    • 1

    在这里插入图片描述

      enable cmd   #启用内部命令
    
    • 1
       enable -n cmd   #禁用内部命令
    
    • 1
       enable -n   #查看所有禁用的内部命令
    
    • 1

    在这里插入图片描述

    • 所以有些命令无法执行可以查看一下enable

    二 、Hash缓存表

    • 执行外部命令时,将会找到记录到hash表中,当再次使用命令时先从Hash表查找,提高命令调用速率。看他干了啥东西可能是重要的
    hash -l		#显示hash缓存
    
    • 1
    hash -d name	#删除特定名称的缓存
    
    • 1
    hash -r			#清除缓存
    
    • 1
    • 查看管理员使用相关命令

    常用命令

    #查看CPU
    lscpu
    cat /proc/ cpuinfo
    
    #查看内存
    free -h
    cat /proc/meminfo
    
    #磁盘分区情况*
    lsblk
    cat /proc/partitions
    
    #查看系统架构*
    arch
    
    #查看内核版本*
    uname -r
    uname -ar
    
    #查看发行版本*
    cat /etc/ redhat-release
    cat /etc/os-release
    cat /etc/issue
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23

    三、命令行历史(history)

    • 在终端操作后,系统默认会在内存记录执行的命令,当用户退出时会将内存命令记录在~/.bash_history
     history -c	清空历史命令
    
     history-d	指定删除命令.
    
     history n	显示最近的n条历史
    
     history -w	保存历史列表到指定文件
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    在这里插入图片描述

    #命令历史记录条数
    
    echo $HISTSIZE
    
    #命令历史文件记录历史条数
    
    echo $HISTFILESIZE
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 不使用history -c清除记录通过编辑.bash_history删除自己相关执行的文件,或者执行时忽略以空白开头的命令
    • History在渗透、溯源中起到了非常重要的作用!! !(不留痕迹的走掉)

    调用命令行历史+快捷键

    ```shell
    #重复前一个命令
    ! !
    
    #执行history对应的命令
    !n
    
    #执行以什么开头的命令
    !string
    
    #清屏
    Ctrl +l
    
    #挂起命令
    ctrl+z
    
    #光标行首
    Ctrl+a
    
    #光标行尾
    Ctrl+e
    
    #光标右移一个字符
    ctrl+f
    
    #光标左移一个字符
    Ctrl+b
    
    #光标前后移动
    ctr +xx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    #清屏
    Ctrl +l
    
    #挂起命令
    ctrl+z
    
    #光标行首
    Ctrl+a
    
    #光标行尾
    Ctrl+e
    
    #光标右移一个字符
    ctrl+f
    
    #光标左移一个字符
    Ctrl+b
    
    #光标前后移动
    ctr +xx
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
  • 相关阅读:
    Nacos源码系列—订阅机制的前因后果(下)
    如何在Docker部署Draw.io绘图工具并远程访问
    虚拟化技术 分布式资源调度
    mysql 导入数据报错ERROR 1118 (42000): Row size too large (> 8126)
    电力系统潮流计算(牛顿-拉夫逊法、高斯-赛德尔法、快速解耦法)【6节点 9节点 14节点 26节点 30节点 57节点】(Matlab代码实现)
    CDA Level1——1.数据分析的基本概念
    安全狗云原生安全能力守护中国联通安全发展
    SpringMVC
    计算机操作系统重点概念整理-第五章 文件管理【期末复习|考研复习】
    数据化运营13 工具与方法:如何运用 3A3R 模型将数据转化为运营策略
  • 原文地址:https://blog.csdn.net/kui576/article/details/126561559