• Shell基础— Bash的基本功能(一)


    在Linux系统中默认的shell就是Bourne-Again shell(简称bash),所以我们今天来掌握bash的一些基本用法。

    一、history历史命令

    1、历史命令的查看

    在终端执行history命令,就会显示出在系统当中已经执行过的命令。
    [root@localhost ~ ] # history [选项] [历史命令保存文件]
    选项:

    • -c:清空历史命令。
    • -w:把缓存中的历史命令写入历史命令保存文件。如果不手工指定历史命令保存文件,则放入默认的历史命令保存文件~/.bash_history中。

    2、history用法说明

    (1)直接执行history命令,查看历史命令。

    (2)-w选项的用法
    我们使用history命令查看的历史命令,和~/.bash_history文件中保存的历史命令是不同的。那是因为当前登陆的系统中,所操作的命令并没有直接写入~/.bash_history文件,而是保存在缓存当中的。需要等当前用户注销之后,缓存中的命令才会写入~/.bash_history文件。如果我们需要把内存中的命令直接写入~/.bash_history文件,而不等用户注销时再写入,就需要使用“-w”选项了。
    命令如下:把缓存中的历史命令直接写入~/.bash_history文件。
    [root@localhost ~ ] # history -w
    这时再去查询~/.bash_history文件,历史命令文件中的内容,就和history命令查询的一致了。
    注意:历史命令最终是要写入到文件中的,所以说历史命令是永久生效的,重启也不会消失的。

    ~/.bash_history文件是在用户的家目录下,说明~/.bash_history文件只保存当前用户执行过的命令。也就是root用户的命令历史,保存在root目录下的.bash_history文件中,user1用户的命令历史,保存在user1目录下的.bash_history文件中。
    (3)设置命令历史记录的条数
    我们Linux系统中,默认记录的历史命令条数是1000条。
    这个属性的配置内容,是在/etc/profile文件中。
    执行:[root@localhost ~ ] # vim /etc/profile
    文件中的HISTSIZE属性,如下图:

    说明:

    • 我们之前说过/etc/profile文件的,在说umask值的时候。
    • /etc/profile文件里存放的是系统的环境变量,对所有用户都有效果,要对其更改的话,必须要在root用户权限下才能进行。
    • 我们可以使用env来查看系统当前所有的环境变量,set可以查看所有本地定义的shell变量。
    • 我们在/etc/profile里面修改的话,是对所有用户起作用,所以一般所有用户都要使用的环境变量,就应该放在该文件里面,这样系统运行之后该文件里面的环境变量都会生效。

    这个历史命令记录条数一般建议多设置些。因为这个历史记录是存在硬盘上的,不会被加载到内存中,多些历史命令的记录,有很多时候可以方便我们操作。
    (4)清空历史命令
    如果需要清空历史命令,只需要执行:
    [root@localhost ~ ] # history -c
    执行上边命令,会把当前系统中内存缓冲区中的历史命令,和当前用户的~/.bash_history文件中的历史命令,一起删除。
    一般我们不建议使用该命令,因为使用历史命令是我们在使用Linux系统时常用的操作,方便操作的同时,还可以判断你之前对系统做过什么操作。只有在极特殊的情况下,才执行清空历史命令的操作,如给MySQL设置完密码之后,建议清空历史命令。因为MySQL设置密码的命令,是明文显示的。

    3、历史命令的调用

    如果想要使用原先的历史命令有以下几种方法:

    • 使用上、下箭头调用 以前的历史命令。
    • 使用!n重复执行第n条历史命令。

    前边的数字就是n。

    • 使用!!重复执行上一条命令。
      (还不如用上箭头直观一点。)
    • 使用!字串重复执行最后一条,以该字串开头的命令。
      (数字越大,越靠后。)
    • 使用!$重复上一条命令的最后一个参数。
      只能打印参数,一般不能够独立执行,shell脚本中会用到。

    二、命令与文件的补全

    Tab键可以对命令和文件名进行补全。
    这里就是告诉你,Tab键补全是shell的功能。

    三、命令别名

    Linux系统的命令别名我们之前已经说过了。之前的文章

    1、命令格式

    • 查询命令别名
      [root@localhost ~ ] # alias
    • 设定命令别名
      [root@localhost ~ ] # alias 别名=’原命令’
    • 例如:查询系统中已经定义好的别名
    1. [root@localhost ~ ] # alias
    2. 结果如下:
    3. alias cp='cp-i'
    4. alias l.='ls-d.*--color=auto'
    5. alias 11='ls-1--color=auto'
    6. alias ls=’ls--col or=auto'
    7. alias mv='mv-i'
    8. alias rm='rm-i'
    9. alias which='alias|/usr/bin/which--tty-only--read-alias-show-dot--show-tilde'
    • 例如:定义vim命令的别名是vi
      [root@localhost ~ ] # alias vi='vim'

    2、命令别名永久生效

    为了让别名永久生效,可以把别名写入环境变量配置文件~/.bashrc中。
    命令如下:
    [root@localhost ~]# vim /root/.bashrc

    编辑完成后,保存退出。需要重新登陆才能够生效。
    或者执行source命令,也可以让环境变量配置文件立刻生效。
    [root@localhost ~ ] # source .bashrc
    扩展:在Linux系统中.有三种含义:

    • 第一种:单独一个.表示source命令。如上边命令可写成[root@localhost ~ ] # . .bashrc
    • 第二种:文件名前加.,表示隐藏文件。如.bashrc
    • 第三种:目录前边加.,表示当前目录。如./

    3、别名的优先级

    命令执行时的顺序是这样的:

    • 1、第一顺位,执行用绝对路径或相对路径执行的命令。
      如:[root@localhost ~ ]# /bin/vi /etc/profile,执行的就是vi编辑器,即使我们上边用vi别名代替了vim编辑器,因为使用绝对路径执行的命令,优先级高。
    • 2、第二顺位执行别名。
    • 3、第三顺位执行Bash的内部命令。
    • 4、第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令。(后边会说清楚)

    四、Bash常用快捷键

    • ctrl+A:把光标移动到命令行开头。如果我们输入的命令过长,想要把光标移动到命令行开头时使用。
    • ctrl+E:把光标移动到命令行结尾。
    • ctrl+C:强制终止当前的命令。
    • ctrl+L:清屏,相当于clear命令。
    • ctrl+U:删除或剪切光标之前的命令。我输入了一行很长的命令,不用使用退格键一个一个字符的删除,使用这个快捷键会更加方便。
    • ctrl+K:删除或剪切光标之后的内容。.
    • ctrl+Y:粘贴ctrl+U或ctrl+K剪切的内容。
    • ctrl+R:在历史命令中搜索,按下ctrl+R之后,就会出现搜索界面,只要输入搜索内容,就会从历史命令中搜索。
    • ctrl+D:退出当前终端。
    • ctrl+Z:暂停,并放入后台,但命令并没有终止。这个快捷键牵扯工作管理的内容,我们在系统管理章节详细介绍。
    • ctrl+S:暂停屏幕输出。.
    • ctrl+Q:恢复屏幕输出。.

    最好我这里给你们分享一下我所积累和真理的文档和学习资料有需要是领取就可以了

    1、学习思路和方法

    这个大纲涵盖了目前市面上企业百分之99的技术,这个大纲很详细的写了你该学习什么内容,企业会用到什么内容。总共十个专题足够你学习

    2、想学习却无从下手,该如何学习?

    这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

    3、软件测试/自动化测试【全家桶装】学习中的工具、安装包、插件....

    4、有了安装包和学习资料,没有项目实战怎么办,我这里都已经准备好了往下看

    5、如何领取这些配套资料和学习思路图,以及项目实战源码。

    这些资料都已经准备好可以私信我一下个我打个招呼就好,或者加最底下的V就好的

    最后送上一句话:

    世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。

    如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦!

  • 相关阅读:
    ElasticSearch中文分词
    3dMax夜晚行车灯光轨迹一键生成插件TrafficTrails使用教程
    云洲智能IPO被终止:年营收2.5亿亏1.3亿 曾拟募资15.5亿
    突发!OpenAI停止不支持国家API,7月9日开始执行
    “一键替换视频封面,高效批量剪辑从未如此简单
    卷积神经网络 - 从全连接层到卷积
    springBoot如何【禁用Swagger】
    谷歌浏览器翻译插件,扩展程序,页面右键翻译
    视频分段方法:视频批量处理与音频提取的操作解析
    逻辑漏洞(基本概念、爆破)
  • 原文地址:https://blog.csdn.net/m0_59868866/article/details/126492994