bash基础特性--卷一

author author     2022-09-07     613

关键词:

                                                    Linux Bash的基础特性

一、history(命令历史记录)

    1、语法与常用参数

        history

            列出当前shell的所有history

        history [-c]

            将当前shell的所有 history 清除

        history [n]

            n为数字,列出最近的n条记录

        history [-raw] histfiles

            -a [HISTFILES] :手动追加当前会话缓冲区的命令历史至文件中,如果histfiles事先不存在,则创建, 如果不指定histfiles文件,则默认写入~/.bash_history中

            -r HISTFILES : 将histfiles中的内容读取到当前shell的history中

            -w HISTFILES : 将当前shell 的history写入之histfiles文件中

    

    2、环境变量

        HISTSIZE:命令历史记录的条数,默认为1000条

        HISTFILE~/.bash_history

           HISTFILESIZE:命令历史文件记录历史的条数

[[email protected] ~]# echo $HISTFILE
/root/.bash_history
[[email protected] ~]# echo $HISTSIZE
1000
[[email protected] ~]# echo $HISTFILESIZE
1000


    

    3、history的调用

        !#:重复执行第#条命令

        !!:执行上一条命令

        !string:执行最近一条包含指定字符串的命令

        !$:调用上一条命令的最后一个参数

[[email protected] ~]# history 10
 1019  history -a 11.txt
 1020  cat 11.txt 
 1021  echo $HISTSIZE
 1022  ls
 1023  echo $HISTFILESIZE
 1024  history
 1025  ping baidu.com
 1026  alias
 1027  ls
 1028  history 10
#####!#
[[email protected] ~]# !1026
alias
alias cdnet=‘cd /etc/sysconfig/network-scripts‘
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
#####!!
[[email protected] ~]# !!
alias
alias cdnet=‘cd /etc/sysconfig/network-scripts‘
alias cp=‘cp -i‘
alias l.=‘ls -d .* --color=auto‘
alias ll=‘ls -l --color=auto‘
alias ls=‘ls --color=auto‘
alias mv=‘mv -i‘
alias rm=‘rm -i‘
alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘
#####!string
[[email protected] ~]# !ping
ping baidu.com
PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=66.8 ms
64 bytes from 111.13.101.208: icmp_seq=2 ttl=128 time=66.9 ms
64 bytes from 111.13.101.208: icmp_seq=3 ttl=128 time=66.9 ms
64 bytes from 111.13.101.208: icmp_seq=4 ttl=128 time=67.4 ms
^C
--- baidu.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 7408ms
rtt min/avg/max/mdev = 66.844/67.046/67.480/0.253 ms
#####!$
[[email protected] ~]# ping -c 1 !$
ping -c 1 baidu.com
PING baidu.com (111.13.101.208) 56(84) bytes of data.
64 bytes from 111.13.101.208: icmp_seq=1 ttl=128 time=67.4 ms

--- baidu.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 4071ms
rtt min/avg/max/mdev = 67.433/67.433/67.433/0.000 ms

    4、控制命令历史的记录方式

        环境变量:HISTCONTROL

            ignoredups:忽略重复的命令,连续且相同的命令

            ignorespace:忽略所有以空白开头的命令

            ignoreboth: 以上两条均生效

        修改环境变量:

[[email protected] ~]# export HISTCONTROL=ignoreboth
[[email protected] ~]# echo $HISTCONTROL
ignoreboth


    

二、命令与路径补全

    1、命令补全

        bash执行命令,在用户给定的字符串只有唯一对应的命令时,直接Tab补全;如果不唯一,则再次Tab会给出匹配到的命令列表。bash根据PATH变量中定义的路径自左向右寻找唯一匹配字符串的命令,第一次找到的即为要执行的命令

    2、路径补全

        把用户给出的字符串当作路径开头,并在其指定的上级目录下搜索以指定的字符串开头的文件名,如果唯一,直接补全;否则再次Tab,给出列表


三、命令行展开

        ~:展开为用户的主目录

        ~USERNAME:展开为指定用户的主目录

        {}:可承载一个以逗号分隔的列表,并将其展开为多个路径

[[email protected] ~]# mkdir -pv /tmp/{1{1.1,1.2},2}/{a,b}
mkdir: 已创建目录 "/tmp/11.1"
mkdir: 已创建目录 "/tmp/11.1/a"
mkdir: 已创建目录 "/tmp/11.1/b"
mkdir: 已创建目录 "/tmp/11.2"
mkdir: 已创建目录 "/tmp/11.2/a"
mkdir: 已创建目录 "/tmp/11.2/b"
mkdir: 已创建目录 "/tmp/2"
mkdir: 已创建目录 "/tmp/2/a"
mkdir: 已创建目录 "/tmp/2/b"


四、命令的执行状态结果

    程序执行有两类结果;一类是返回值,一类是执行状态结果

    bash的特色标量$?,保存最近一条命令的执行状态结果

        0:成功

        1-255:失败

[[email protected] ~]# date
2017年 07月 09日 星期日 17:39:35 CST
[[email protected] ~]# echo $?
0
[[email protected] ~]# data
-bash: data: command not found
[[email protected] ~]# echo $?
127

五、alias(命令别名)

    1、语法与常用参数

alias[-p] [name[=value] ... ]
    -p:打印已设置的命令别名

        alias:显示当前shell进程所有可用的命令别名

        alias NAME=‘VALUE‘:定义别名NAME,相当于执行VALUE。

            注意:VALUE中有空格等要带引号


    2、alias配置

        (1)在命令行中定义的别名,仅对当前shell有用

        (2)定义在~/.bashrc中对当前用户有效

        (3)定义在/etc/bashrc中对所有用户有效

        (4)配置完成后,重读配置文件可立即生效

                source /etc/bashrc

    3、unalias(撤销别名)      

unalias[-a] name [name ...]
    -a:撤销所有别名
注意:如果别名同原命令的名称,则如果要执行原命令,可使用"COMMAND":



本文出自 “linux启航” 博客,请务必保留此出处http://jiayimeng.blog.51cto.com/10604001/1945690

bash基础特性

所有的环境变量可以通过ehco$#查看#为环境变量 bash的基础特性:(1)命令历史 history 环境变量: HISTSIZE:命令历史记录的条数 HISTFILE;~/.bash_history HISTFILESIZE:命令历史文件记录历史的条数 history-doffset删除某条历史命... 查看详情

08-bash基础特性及基础命令

bash的基础特性  (1)命令历史 history HISTSIZE:命令历史记录的条数: HISTSIZE:~/.bash_history HISTFILESIZE:命令历史文件记录的条数: history-dOFFSET   -c history#:显示历史最近的#条命令: -a:手动追加当前会话... 查看详情

bash基础特性命令引用

bash命令引用:$(COMMAND) 或2.`COMMAND` 这是反引号:就是ESC键下面的那个反引号bash的引用特性: 引用 强引用:‘‘单引号弱引用:""双引号命令引用:$(COMMADN) bash特性:快捷键 ctrl+a:跳转至命令行首ctrl+e:跳转... 查看详情

bash基础特性

对BASH做一下总结一、命令历史特性: historyshell进程会其会话中保存此前用户提交执行过的命令history是shell的内置命令650)this.width=650;"src="http://s5.51cto.com/wyfs02/M00/78/1F/wKiom1Z2ZjWSJrjdAAA9gP4LoMo818.jpg"title="未命名图片.jpg"width="400 查看详情

2017.10.15bash基础特性及基础命令

一.命令历史,命令补全和路径补全 环境变量:   HISTFILE:命令历史记录的条数  HISTSIZE:~/.bash.history   HISTFILESIZE:命令历史文件记录历史的条数   history:默认显示10条历史纪录  ... 查看详情

bash基础特性-命令历史

shell进程会在其会话中保存此前用户提交并执行过的命令可以使用~]#history进行查看,history命令本身属于shell的内嵌命令命令历史可分为内存中的历史命令以及历史文件中的历史命令,其容量默认大小均为1000条(可修改),从主... 查看详情

bash的基础特性二

1、命令别名    alias是命令别名命令,在生产环境根据常用的命令,可以制作为命令别名,可以提高操作效率    alias:打开当前bash的所有命令别名  定义别名:alias别名=‘执行的命令’ &nb... 查看详情

bash脚本编程——基础特性

650)this.width=650;"src="https://mmbiz.qpic.cn/mmbiz_png/ZjOsibraW8CLWLVibeTRzXWwUY4je8RmicoNXYUKFMuia43wtxTA55grFbFia17sGcMnMFRCl2swpZwm9pBC2NdyHnw/640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy 查看详情

bash特性

bash的基础特性(1): (1)命令历史history系统中history环境变量:HISTSIZE:命令历史记录的条数;HISTFILE:~/.bash_history;HISTFILESIZE:命令历史文件记录历史的条数; history-dOFFSET(具体删除第几条历史记录)history-c 清空所有... 查看详情

bash的基础特性(代码片段)

bash的基础特性:命令补全:Shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令;命令查找机制:查找内部命令;根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;给定的打... 查看详情

bash的工作特性及命令状态返回查询

bash的基础特性:命令的执行状态结果        命令执行的状态结果:        bash通过状态返回值来输出此结果:         &nb 查看详情

bash的常见特性及文本查看命令

(一)bash的基础特性命令补全shell程序在接收到用户执行命令的请求,分析完成之后,最左侧的字符串会被当作命令;命令查找机制:shell首先会在内部命令中匹配查找,如果没有找到,则会在PATH环境变量设置的目录中,自左向... 查看详情

面霸篇:高频java基础问题(核心卷一)(代码片段)

...Java内功,所谓根基不牢,地动山摇。只有扎实的基础,才是写出写好代码。拒绝知识碎片化码哥在《Redis系列》的开篇Redis为什么这么快中说过:学习一个技术,通常只接触了零散的技术点,没有在脑海里... 查看详情

docker基础之数据管理

数据卷一、将本地默认目录挂在道docker容器内指定的目录#将本地的目录挂在到docker容器内dockerrun-it--namecontainer-test-hCONTAINER-v/datacentos/bin/bash####-h为docker容器的主机名/data为挂载到docker内的目录#命令执行完成后如下:[[email prote... 查看详情

bash基本特性

bash基本特性bash是Linux中最常使用到的shell,它给用户提供了许多便利的功能和特性,下面就介绍一些bash的基本特性。 1、命令历史historybash能为我们提供命令的存储功能,我们也可以借由history命令来查看我们以往输入过的命... 查看详情

bash脚本编程基础及配置文件

(一)shell脚本编程编程语言的分类:根据运行方式:编译运行解释运行根据编程过程中功能的实现是调用库还是调用外部的程序文件:shell脚本编程:利用系统上的命令及编程组件进行编程完整编程:利用库或编程组件进行编... 查看详情

bash特性小结&bash变量

时间就是金钱效率就是生命一、bash编程 |---------------||应用           ||-----------|   ||壳|库函数 |    | //可以直接针对系统调 查看详情

bashshell相关特性(代码片段)

bash基础特性之:命令历史命令历史:shell进程会在会话中保存此前用户提交执行过的命令;查看历史命令:~]#history定制history的功能,可通过环境变量来实现;HISISIZE:shell进程可保留的命令历史条数;HISIFILE:持久保存命令历史... 查看详情