Shell脚本基础从头开始(一)── 几个linux实操技巧

前言

作为一个后端开发,平时总少不了和linux打交道,但是由于没有系统学习过,对有些东西总是似是而非,趁着有时间,一起学一波?在这里插入图片描述
学习linux先来几个相关的基础常识:

tab键的使用

tab键是玩linux必知必会的一个能 ---- 强大的自动补全
可以说那里不会那里按tab!日常工作中经常会遇到某个命令只记得前两个字母,或者是某个文件问价夹的名字记不清了,这时候你只需要输入前几个字母然后按下tab键,神奇的事情发生了,它会自动补全你想要输入的命令或者文件名(根据你输入的信息只能匹配到一个结果的时候)!如果你输入的信息不够(可以匹配到多个结果),它则会给出所有与之相关的命令、文件的提示信息,就是这么神奇!tab键应该是玩linux使用最频繁的一个键了,快去试试吧!什么?没有linux系统,简单!转个虚拟机或者买个基础的云主机,想装哪个版本系统就装哪个。

关于history命令

history 命令简单来说就是查看你输入的命令的历史。
上个图!
在这里插入图片描述
history可以展示最近输入的 1000 条命令。
平时我们要使用上一条或者上几条命令的时候,经常使用键向上翻页,当然也可以使用键向下翻页来获取我们之前输入的命令。但是如果我们要找及时甚至上百条以前的命令呢?这时候就到history命令出场了!

前面我们提到了,history命令可以显示我们之前输入的命令历史,例如

  748  2021-02-23 14:20:41 tail -fn 200 colour.log | grep -P '\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}'
  749  2021-02-24 10:28:13 cd /usr/local/code/
  750  2021-02-24 10:28:14 ls
  751  2021-02-24 10:29:34 tail -f colour.log | grep -P ''\d{
    
    4}-\d{
    
    2}-d{
    
    2}\s+\d{
    
    2}:\d{
    
    2}:\d{
    
    2}\.\d{
    
    3}
  752  2021-02-24 10:30:00 tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s+\d{2}:\d{2}:\d{2}\.\d{3}'
  753  2021-02-24 10:30:30 tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s+\d{2}:\d{2}:\d{2}'
  754  2021-02-24 10:30:58 tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s?\d{2}:\d{2}:\d{2}'
  755  2021-02-24 10:31:52 tail -f colour.log | grep -P '\w+\d{4}-\d{2}-d{2}\s?\d{2}:\d{2}:\d{2}\w+'

这个时候我们想要再次执行id是752的命令怎么办呢?
简单,这时候只需要输入!+你想要执行的命令的id即可,例如

!752

在这里插入图片描述
这样,编号第 752 的命令就会再次执行了。
但是,这样的话我每次要执行之前执行的一个命令还需要通过history命令去查看它的编号,可能还需要翻页,有没有更简单的办法呢?有!!!
只需要输入!+要执行的命令的前几个字符即可。例如执行history命令是这样的情况

  795  2021-03-04 16:29:58 cat result.txt 
  796  2021-03-04 16:30:07 ls
  797  2021-03-04 21:15:09 !
  798  2021-03-04 21:53:18 tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s+\d{2}:\d{2}:\d{2}\.\d{3}'
  799  2021-03-04 22:27:52 history
  800  2021-03-04 22:39:25 ls
  801  2021-03-04 22:39:37 cat log.txt 
  802  2021-03-04 22:40:07 ls
  803  2021-03-04 22:40:13 history

这个时候如果我输入!t,那么它执行的是哪个命令呢?答案是会执行第 798 条命令。那么如果我输入!cat呢?它虎执行第 801 条命令。看出规律了吗?它会根据我们输入的字符从后向前去匹配,即从离我们当前最近的命令开始去匹配。有了它,要找之前输入过的命令是不是变得简单多了!

关于清屏

当我们屏幕上输入了很多命令或者输出了很多东西的时候,可能想要把屏幕不需要的东西清理掉,这时就可以使用clear命令,按下回车,还你一个干净的屏幕。当然,也可以使用ctrl + l这个快捷键,一般人我不告诉他!

关于命令别名

linux里我们可以给命令定义别名,语法是alias 别名='具体命令'
例如,我要给tail -f colour.log | grep -P '\d{4}-\d{2}-d{2}\s+\d{2}:\d{2}:\d{2}\.\d{3}'这条命令定义一个别名 ttt,则可以按如下的方式来定义

alias ttt='tail -f colour.log | grep -P '\d{
    
    4}-\d{
    
    2}-d{
    
    2}\s+\d{
    
    2}:\d{
    
    2}:\d{
    
    2}\.\d{
    
    3}''

这个时候如果我们需要执行这条命令,只需要输入ttt回车就ok啦。
学会了给命令自定义别名,取消定义的别名也很简单,取消自定义别名语法:

unalias 别名

例如,我要取消我刚才定义的别名是ttt的命令,只需要输入

unalias ttt

即可。再次执ttt命令会发现系统提示-bash: ttt: 未找到命令
通过执行alias 命令可以查看所有系统默认的和自定义的命令别名。
例如
在这里插入图片描述
注意,自定义命令别名会在服务器重启以后消失!
如果,你还想要使用这个命令可以把它添加到~/.bashrc中,~表示的是当前用户的家目录。linux的每个用户在创建的时候都会在/home/下创建一个和自己用户名同名的目录,即用户的家目录。例如,这是我打开的改文件的样子
在这里插入图片描述
今天的内容就分享到这里了,你学废了吗?

猜你喜欢

转载自blog.csdn.net/hxj413977035/article/details/121892699