Linux学习之Bash特性

1、命令行补全、路径补全

Tab;按两次Tab可以给出系统所有的命令

命令补全:根据我们所给出的字符串在PATH环境变量中定义的路径进行查找;多于一个按两次Tab可以给出列表,否则直接补全

路径补全;根据我们所给出的起始路径下的文件名进行补全

2、命令别名

alias可以查看系统中定义的别名

alias 别名=命令

删除别名使用unalias 别名

在shell中定义的别名只对当前shell的生命周期生效,别名的有效范围仅为当前shell

如果要执行一个命令本身而非别名时使用 \命令 的方式,例如执行rm本身而非命令别名则使用\rm

3、命令替换

把某条命令中的子命令替换为其执行的结果

$(命令)或`命令`(反引号)

例如创建一个以$HISTSIZE变量值为名的文件 touch $(echo $HISTSIZE)或touch `echo $HISTSIZE`

bash支持的引号

`` 反引号 命令替换

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

"" 双引号 弱引用,可以实现变量替换

4、文件名通配

* 匹配任意长度的任意字符

?匹配任意单个字符

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

[abc]匹配a、b、c中的任意一个

[a-z]匹配a-z字母中的任意一个

[A-Z]匹配A-Z字母中的任意一个

[0-9]匹配0-9数字的任意一个

[a-zA-Z]匹配a-z、A-Z中的任意一个

[0-9a-zA-Z]匹配0-9、a-z、A-Z中的任意一个

[[:space:]]第一个括号代表匹配符,[:space:]代表的是一个字符串

[:space:]空白字符

[:punct:]标点符号

[:lower:]小写字符

[:upper:]大写字母

[:alpha:]大小写字母

[:digit:]数字

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

可以使用man 7 glob查看此列表

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

当然也有很多无法使用通配符进行匹配的,例如;就需要使用正则表达式了

5、命令历史

history 变量HISTSIZE记录使用过的命令,默认值为1000

-n 显示最近使用过的n个命令

-a 添加记录

-r 读取记录,但不会添加内容记录

-w 覆盖现有的history文件

-c 清除记录

!n 执行历史命令的第n条 n为编号

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

!! 执行上一条命令

!字符串 执行命令历史最近一个以指定字符串开头的命令

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

ESC .(按ESC后松开再按.) 同上

Alt+. (ALT和.同时按)不支持模拟终端)同上

6、命令行编辑

光标跳转;

Ctrl + a :跳转到行首

Ctrl + e :跳转到行尾

Ctrl + u :删除光标到行首的内容

Ctrl + k :删除光标到行尾的内容

Ctrl + l :清屏

Ctrl + C :中断操作

Ctrl + D :退出shell

时间: 2024-10-10 20:59:24

Linux学习之Bash特性的相关文章

Linux学习之bash总结(持续进行中….)

Linux总结之Bash特性 命令历史: 使用命令:history 环境变量: HISTSIZE:命令历史缓冲区中记录的条数,默认为1000: HISTFILE:记录当前登录用户在logout时历史命令存放文件: HISTFILESIZE:命令历史文件记录历史的条数,默认为1000: 操作命令历史: history d OFFSET删除指定行的命令历史: history c 清空命令历史缓冲区中的命令: history # 显示历史中最近的#条命令: history a 手动追加当前会话缓冲区中

Linux总结之Bash特性

Linux总结之Bash特性 命令历史: 使用命令:history 环境变量: HISTSIZE:命令历史缓冲区中记录的条数,默认为1000: HISTFILE:记录当前登录用户在logout时历史命令存放文件: HISTFILESIZE:命令历史文件记录历史的条数,默认为1000: 操作命令历史: history d OFFSET删除指定行的命令历史: history c 清空命令历史缓冲区中的命令: history # 显示历史中最近的#条命令: history a 手动追加当前会话缓冲区中

linux自学笔记--bash特性

bash特性 1.{}和() {}:类似集合,mkdir -p ./test/{a,b} copy /etc/passwd{,.bak} ():引用命令的执行结果,mkdir $(date) 2.执行结果判断 echo $? 成功:0 失败:1~255 3.常用快捷键 ctrl+l:清屏 ctrl+a:光标跳转行首 ctrl+e:光标跳转行尾 ctrl+u:删除光标之前 ctrl+k:删除光标之后 ESC+.:输出上次所执行的对象 4.globbing通配机制 *:匹配任意长度任意字符 ?:匹配

linux学习12 bash的常见特性及文本查看命令实战

一.回顾 1.FHS,命令及bash命令历史 a.FHS: /bin,/sbin,/lib,/lib64,/etc /home,/root /boot /media,/mnt /proc,/sys /tmp /srv /opt /dev /usr bin,sbin,lib,lib64,share,local,include,... /var cache,lib,log, 2.命令:which,whereis,who,w,alias,unalias 3.命令历史:history 二.bash的基础

Linux学习笔记——bash命令及shell变量简介

bash 及其特性 shell  外壳 GUI :Gnome  KDE  xface CLI :shell  csh  ksh  bash 程序,进程 进程:每个进程看来,当前主机上只存在内核和当前进程 进程是程序的副本,进程是程序执行实例 用户的工作环境: bash: #   root用户 $   普通用户 shell  ,子shell bash : 1.命令历史 2.管道,重定向 3.命令行编辑 4.命令别名 5.命令行展开 6.文件名通配 7.变量 8.编程 命令行使用技巧: Ctrl +

Linux总结之Bash特性(未完,待续….)

命令历史: 使用命令:history 环境变量: HISTSIZE:命令历史缓冲区中记录的条数,默认为1000: HISTFILE:记录当前登录用户在logout时历史命令存放文件: HISTFILESIZE:命令历史文件记录历史的条数,默认为1000: 操作命令历史: history d OFFSET删除指定行的命令历史: history c 清空命令历史缓冲区中的命令: history # 显示历史中最近的#条命令: history a 手动追加当前会话缓冲区中的命令至历史文件中: 调用历史

linux学习之bash

变量赋值 myname=VBird 2.  变量显示  echo $myname 3.  双引号内特殊字符保持原有特性:var="lang is $LANG",得var为lang is en_US 4.  单引号内特殊字符仅为一般字符:var='lang is $LANG',得var为lang is $LANG 5.  调用其他指令:version=$(uname -r) 6.  使变量成为环境变量:export PATH 7.  取消变量:unset myname

Linux学习笔记--bash脚本编程之二、条件判断

 bash脚本编程之二.条件判断 条件判断: 如果用户不存在 添加用户,给密码并显示添加成功: 否则 显示用户已存在,没有添加 bash中如何实现条件判断? 整数测试 字符测试 文件测试 条件测试的表达式:     [expression]     [[expression]]     test expression 整数比较: -eq:测试两个整数是否相等:比如 $A -eq $B     -ne:测试两个整数是否不等:不等,为真:相等,为假:     -qt:测试一个数是否大于另一个数:大于

Linux学习笔记--bash脚本编程之一变量、变量类型

bash脚本编程之一变量.变量类型 shell编程: 编译器,解释器 编程语言:机器语言.汇编语言.高级语言 静态语言:编译型语言 强类型(变量)语言 事先转换成可执行格式 C.C++.JAVA.C# 动态语言:解释型语言       on the fiy                                   弱类型 边解释边执行 ASP.ASP.net.PHP.shell.Python.perl 面向过程:shell.C   面向对象:JAVA.Python .Perl.C++