关键词:
bash特性
一、命令别名:(自定义命令)
用alias命令查看
alias命令可以用来定义和现实命令的别名
但是使用alias命令定义的别名,其生命仅为当前shell的生命期
对于每个用户来说,都有一个私有的bash文件,用于保存别名;
~/.bashrc
注意:
1、alias命令的效果仅限于当前shell的生命期
2、如果修改.bashrc配置文件,其中保存的别名并不会立即生效,并且在重新加载按该文件内容后,才会生效。并且永久生效
3、为了保证设置的别名有效,通常两种操作都要做
撤销别名:
unalias:只需+别名名称
二、命令历史:
bash命令会保存用户曾经执行的命令,方便用户重复执行命令
通过bash提供的历史命令文件来永久保存以前执行过的命令,每个用户都有其私有的历史文件
登录shell时,bash会自动读取~/.bash_history文件所记录的所有
-c清空历史缓冲区的历史命令
-d OFFSET删除特定历史条目
重复使用上一个命令:
1、上方向键
2、ctrl+p
3、!-1
4、!!
重复执行缓冲区中的命令:
!#重复执行历史编号为#的命令
!type从历史缓冲区中查找最后一次执行过的以“type”开头的命令,并执行
!?type从历史缓冲区中查找最后一次执行过的包含“type”的命令,并执行
!-#执行缓冲区中倒数第#条命令
ctrl+r在历史缓冲区中实施搜索,回车执行即可
重复使用历史命令中的一部分:
!$:表示最后一次命令中最后一个参数
Esc,.同上
Alt+.同上上
!^表示第一个位置的参数
!:#表示最后一个命令中第#个位置的参数
!SEQUENCE:NUMBER表示在历史缓冲区中第SEQUENCE个命令第NUMBER个参数
!STRING:^|$|*|NUMBER
与历史相关的bash变量:
HISTSIZE
HISTFILESIZE
HISTTIMEFORMAT=“%F %T”
HISTCONTROL:
ignoredups忽略连续且相同的命令的历史缓存
ignorespace忽略以空白字符开头的命令
ignoreboth以上两个功能都启用 ctrl+c-->结束当前命令的运行
三、快捷键 ctrl+u-->删除光标所在位置至行首的命令信息
C-->ctrl ctrl+k-->删除光标所在位置至行尾的命令信息
M-->alt ctrl+l-->清屏
E-->esc ctrl+a-->光标跳转命令行首
DEL-->backspace ctrl+e-->光标跳转命令行尾
四、命令补全机制:
两个方面的理解:
命令本身的字符串补全
参数的补全
shell的执行过程:
1、shell会根据输入enter判断用户的输入结束
2、shell会将手机的命令信息,根据空白字符来分段,第一段理解为命令字段
3、判断第一字段是内外命令 ,如果是内部则直接运行,如果是外部命令,通过pash变量所指示的路径信息。去查找相关的位置,已确定是否存在同名文件,如果有,则运行,没有,报错。
4、判断选项是否正确,判断参数是否正确
使用tab键可以完成命令补全:
如果输出的字符串不能作为唯一标识,则bash不予补全,再次敲击tab键,bash会给出参考列表 ,如果参考列表中的参数过多,bash会显示是否显示该列表
根据参数路径来进行补全,如果参数没有任何提示信息,则默认从工作目录进行查找
五、命令行展开:
~:bash会自动将其展开为当前用户的家目录
~STRING:bash会自动将其展开为“STRING”为用户的家目录
~+:调用shell变量“PWD”的值
~-:调用shell变量“OLDPWD”的值
{ }:在括号中可以填充以“,”分割的路径列表,bash会将其展开为多个独立的路径
六、命令的执行结果:
任何一个Linux命令都有两种执行结果:
其一:命令的正常结果
跟用户需求相关的返回内容
``:反向单引号,反引号
$():反标准的命令引用格式
其二:命令的执行状态返回值
跟命令执行成功与否相关的内容
保存在bash的一个特殊变量中
0:命令执行成功
1,2,127:bash内置状态返回值
1:小问题
2:严重问题
127:命令本身出现问题
3-126,128-255:用户自定义用户信息
wc统计一个文件中的行数、字数、字节数
-c只显示字节数
-l只显示行数
-w:只显示 字数
七、引用功能:
``:强引用:
凡是被单引用引用的内容,bash一律将其视为普通字符,即便其本身有特殊功能和作用也是如此,单单引号本身就是个例外
“”:弱引用
北双引号引用的内容中,有些特殊字符 仍然会保留其特殊含义 如:$ /
八、转义功能:
:bash中定义的特殊字符,只能是最后一个字符失去特殊意义
九、Globbing:文件名通配,简称为glob
元字符:
*:匹配任意长度的任意字符,某些特殊位置的“.”字符不能被匹配
?:匹配任意的单个字符
[]:匹配指定范围内的单个字符
字符集:
[:lower:]:所有的小写字母
[[:lower:]]:统配任意小写字母
[:upper:]:所有的大写字母
[:alpha:]:所有的大小写字母
[:digit:]:所有的十进制数字
[:allnum:]:所有的大小写字母以及十进制数字
[:space:]:空白字符
[:punct:]:所有的标点符号
^:取反匹配
快捷键:
十、输入输出重定向
在使用计算机的时候,实现某种功能的主题是:程序
程序=指令+数据
数据:文件,通过IO(输入、输出)方式找到数据
可以用于输入的设备:文件(键盘设备、文件系统中的常规文件、网卡设备、声卡设备等)
可以用来输出的设备:文件(显示器、文件系统中的常规文件、网卡设备、声卡设备)
每一种程序都有三种形式的数据流:
输入数据流:微程序获取数据的数据流,默认的输入数据流的来源是键盘
输出数据流:将程序所处理的数据结果展示给用户,默认的输出数据流的终点是显示器
错误数据流:将程序无法处理或处理过程中出现错误的结果展示给用户的数据流,默认的错误数据流的终点是显示器
从键盘实现的输入数据流成为标准输入
到显示器上的输出数据流程为标准输出
到显示器上的错误数据成为标准错误输出
文件描述符:File Descriptor,FD
0:标准输入(stdin)
1:标准输出(stdout)
2:标准错误(stderr)
IO重定向:采用非标准设备文件实现的IO操作
简单来说,
不是从键盘设备完成的数据流输入就可以成为输入重定向或重定向输入
输出重定向:
>:覆盖输出重定向
~]#set -C 开启防误覆盖开关
>>:追加输出重定向
~]#set +C 关闭防误覆盖开关
错误重定向:
2>:覆盖错误重定向
2>>:追加错误重定向
合并标准输入和标准输出的重定向:
1)&>,&>>(新的)
2)COMMAND >|>> /PATH/TO/SOMEFILE 2>$1(老的)和上面一样
/dev/null:BlackHole,BitBucket(位桶)黑洞
ls /tmp/a.txt &> /dev/null
= ls /tmp/a.txt > /dev/null 2>$1
输入重定向:
<:唯一
<<:此处文档
<<:此处字符串
十一、管道:
|:COMMAND1 | COMMAND2 | COMMAND3
注意:所有用于管道连接的命令,都应该是能够有标准数据输出流的命令
命令tee:保存并显示文档内容
bash特性小结&bash变量
时间就是金钱效率就是生命一、bash编程 |---------------||应用 ||-----------| ||壳|库函数 | | //可以直接针对系统调 查看详情
bash特性
bash的基础特性(1): (1)命令历史history系统中history环境变量:HISTSIZE:命令历史记录的条数;HISTFILE:~/.bash_history;HISTFILESIZE:命令历史文件记录历史的条数; history-dOFFSET(具体删除第几条历史记录)history-c 清空所有... 查看详情
bash基础特性
...的环境变量可以通过ehco$#查看#为环境变量 bash的基础特性:(1)命令历史 history 环境变量: HISTSIZE:命令历史记录的条数 HISTFILE;~/.bash_history HISTFILESIZE:命令历史文件记录历史的条数 history-doffset删除某条历史命令 his... 查看详情
bash的特性
bash的特性Bash(GNUBourne-AgainShell)是许多Linux发行版的默认Shell。事实上,还有许多传统UNIX上用的Shell,例如tcsh、csh、ash、bsh、ksh等等,ShellScript大致都类同,当您学会一种Shell以后,其它的Shell会很快就上手,大多数的时候,一个Shel... 查看详情
bash基础特性命令引用
...D` 这是反引号:就是ESC键下面的那个反引号bash的引用特性: 引用 强引用:‘‘单引号弱引用:""双引号命令引用:$(COMMADN) bash特性:快捷键 ctrl+a:跳转至命令行首ctrl+e:跳转至命令行行尾ctrl+u:删除行首至光标... 查看详情
bash特性
bash特性一、命令别名:(自定义命令) 用alias命令查看 alias命令可以用来定义和现实命令的别名 但是使用alias命令定义的别名,其生命仅为当前shell的生命期 对于每个用户来说,都有一个私有的bash文件,用于保... 查看详情
bash特性之五
一、bash特性之四,命令别名alias,shell的内建命令,显示当前系统所有的命令别名alias别名="原始命令"ualias别名撤销已经定义的别名。命令使用命令本身,而非命令别名。二、bash特性之五,globbing,统配符 *:匹配任意长度的... 查看详情
bash及其特性
...:Gnome,KDE,XfaceCLI:sh,csh,ksh,bash(兼具sh、csh等各种特性,功能更强大,且遵循开源协议),tcsh,zsh进程:在每个进程看来,当前主机上只存在内核和当前进程进程是程序的副本,进程是程序的执行过程用户工作环境:窗... 查看详情
bash及其特性
bash及其特性: 1.程序只有一个,但可以有多个进程,在每个进程来看,当前主机上只存在内核与当前进程 2.进程是程序的副本,进程是程序的执行实例 ... 查看详情
bash特性及用户和组管理
bash特性及用户和组管理 上篇博文中总结了bash的一些特性,这次做补充: bash变量 变量:一段由名称的连续的内存空间;这段内存空间的名称,就是变量名,在这 段内存空间存储数据 就是变量值;&nb... 查看详情
bash特性
BashLinux系统终端概述图形化 服务器终端切换:Ctrl+Alt+F1_F6 虚拟机终端切换:Ctrl+Shift+Alt+F1_F6 字符终端 服务器终端切换:Alt+F1_F6 pkill-9-ttty2& 查看详情
bash基础特性
对BASH做一下总结一、命令历史特性: historyshell进程会其会话中保存此前用户提交执行过的命令history是shell的内置命令650)this.width=650;"src="http://s5.51cto.com/wyfs02/M00/78/1F/wKiom1Z2ZjWSJrjdAAA9gP4LoMo818.jpg"title="未命名图片.jpg"width="400 查看详情
08-bash基础特性及基础命令
bash的基础特性 (1)命令历史 history HISTSIZE:命令历史记录的条数: HISTSIZE:~/.bash_history HISTFILESIZE:命令历史文件记录的条数: history-dOFFSET -c history#:显示历史最近的#条命令: -a:手动追加当前会话... 查看详情
bash的特性之多命令执行
bash的特性之多命令执行 一上午的时间学习了bash的特性之多命令执行,和对shell脚本编程的初步学习。bash的特性的多命令执行的顺序执行结构就是把几个命令用分号隔开。而选择执行结构有与、或、非三种运算法则。shel... 查看详情
bash的基本特性
Bash基本特性: 首先得从逻辑运算来说起: 与运算 && 两个判断条件都必须为真时,状态才为真,否则都为假,在此1是真,0是假 1&&1=1 1&&0=0 0&&1=0 0&&0=0 或运算|| 两个判断条件中都必须... 查看详情
bash的特性
&n 查看详情
bash相关特性
一、bash的快捷键: C:Ctrl键;M:Alt键;E:ESC键 C-l:清屏,相当于clear命令; C-a:将光标跳转至命令行编辑模式的行首;&nb 查看详情
bash的工作特性及命令状态返回查询
bash的基础特性:命令的执行状态结果 命令执行的状态结果: bash通过状态返回值来输出此结果: &nb 查看详情