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

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

一、Shell中两类命令

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

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

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

  type command

在这里插入图片描述

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

在这里插入图片描述

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

二 、Hash缓存表

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

常用命令

#查看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

三、命令行历史(history)

  • 在终端操作后,系统默认会在内存记录执行的命令,当用户退出时会将内存命令记录在~/.bash_history
 history -c	清空历史命令

 history-d	指定删除命令.

 history n	显示最近的n条历史

 history -w	保存历史列表到指定文件

在这里插入图片描述

#命令历史记录条数

echo $HISTSIZE

#命令历史文件记录历史条数

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

调用命令行历史+快捷键

```shell
#重复前一个命令
! !

#执行history对应的命令
!n

#执行以什么开头的命令
!string

#清屏
Ctrl +l

#挂起命令
ctrl+z

#光标行首
Ctrl+a

#光标行尾
Ctrl+e

#光标右移一个字符
ctrl+f

#光标左移一个字符
Ctrl+b

#光标前后移动
ctr +xx
#清屏
Ctrl +l

#挂起命令
ctrl+z

#光标行首
Ctrl+a

#光标行尾
Ctrl+e

#光标右移一个字符
ctrl+f

#光标左移一个字符
Ctrl+b

#光标前后移动
ctr +xx
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kui954

感谢各位的支持o(* ̄3 ̄)o

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值