温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

07.学习笔记-bash的特性及配置文件

发布时间:2020-07-29 13:05:11 来源:网络 阅读:354 作者:咖啡豆ss 栏目:开发技术

bash的功能:

    1.命令行编辑

    2.历史命令

    3.命令补全

    4.命令别名和命令替换

    5.管道,重定向

    6.命令行展开

    7.文件名通配

    8.变量

    9.编程

    

1.命令行编辑

光标跳转

    ctrl+a 跳到命令首行

    ctrl+e 跳到命令行尾

    ctrl+u 删除光标与行首间的内容

    ctrl+k 删除光标与行首间的内容

    ctrl+l 清屏


bash支持的引号

    `  `(反引号) 命令引用

    ”“ 弱引用,可以实现变量替换

    ’‘(单引号) 强引用,不完成变量替换


2.历史命令

查看历史命令:history

    -c 清空历史

    -d OFFSET [n] 删除指定位置的命令

    -w 保存命令历史至历史文件中

命令历史的使用

    !n 执行命令历史中的第n条命令

    !-n 执行命令历史中倒数的第n条命令

    !! 执行上一条命令

    !String 执行命令历史中最近一条以字符串String开头的命令

    !$ 引用前一个命令的最后一个参数

    Esc松开后按“ . ” 同上

    Alt+ . 同上

    

3.命令补全

    命令自动补全     Tab

    路径补全 Tab

4.命令别名和命令替换

alias CMDALIAS = ‘COMMAND [ ]’

定义的别名仅在当前的shell的生命周期内有效


替换             语法               含义

历史              !                 前一个命令行

大括号     {}                 指定的文本

代字号    ~username 用户的主目录

变量             $,${...}         Shell 和环境变量

算术           $((...))         算术运算

命令替换   `...` , $(...) 运行在子 shell 中的命令的输出

路径名   *,?,[...],[^...] 文件系统中匹配的文件名


$( ) 先执行()中的命令再执行整个命令,也可以使用反引号


5.文件名通配

        *:任意长度的任意字符

        例:a* 以a开头后面任意字符(没长度也可以)

            a*3 以a开头后长度为3的任意字符

        ?:任意单个字符

[]:匹配指定范围内的任意单个字符

    例:[abc], [a-m], [a-z], [A-Z], [0-9], [a-zA-Z], [0-9a-zA-Z]

        [^]:匹配指定范围之外的任意单个字符

    例:     [^[:alpha:]] 一个非字母

        [:space:]:所有的空白字符

        [:punct:]:所有的标点符号

        [:lower:]:小写字母

        [:upper:]: 大写字母

        [:alpha:]: 大小写字母

        [:digit:]: 数字

        [:alnum:]: 数字和大小写字母    


6.变量

    本地变量 set VARNAME=VALUE  作用域为整个bash进程。

    局部变量 local VARNAME=VALUE  作用域为当前代码段

    环境变量 export VARNAME  作用域为当前shell进程及其子进程;

    位置变量 $1,$2……

    特殊变量 $?  上一个命令的执行状态返回值

    程序执行可能有两类返回值:程序执行结果,程序状态返回代码(0-255) 

    0:正确执行

    1-255:错误执行,其中1,2,127系统预留。


    撤销变量 unset VARNAME

    查看系统中所有变量(含环境变量和自定义变量):set

    查看当前shell中的环境变量:printenv、env、export



bash的配置文件


1、/etc/profile:在登录时,操作系统定制用户环境时使用的第一个文件,此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行。

2、/etc/environment:在登录时操作系统使用的第 二个文件,系统在读取你自己的profile前,设置环境文件的环境变量。

3、~/.bash_profile:在 登录时用到的第三个文件是.profile文件,每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该 文件仅仅执行一次!默 认情况下,他设置一些环境变游戏量,执行用户的.bashrc文件。/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.

4、~/.bashrc:该 文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该 该文件被读取。


全局配置

/etc/profile , /etc/profile.d/*.sh  ,  /etc/bashrc

个人配置

~/.bash_profile  ,  ~/.bashrc


profile类的文件

设定本地变量

运行命令或脚本


bashrc类文件

设定本地变量

定义命令别名


登陆式shell读取配置文件的方式:

/etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc

非登录式shell读取配置文件的方式:

~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI