linux的学习之路--(五)bash及其特性
操作系统组成作用shell是离用户最近的程序
shell:外壳
两类
GUI:Gnome,KDE,Xfce
CLI:sh, csh,ksh,bash(都是程序,就是功能支持的不同而已)
进程:在每个进程看来,当前主机只存在内核和当前进程
进程是程序的副本,进程是程序执行实例
不同的用户,登陆系统的时候可以使用同一个shell,也可以使用不同的shell
同个用户,多次登陆系统也可以使用不同的shell
用户工作环境时可以各不相同
bash:
1.命令历史
2.管道,重定向
3.命令别名
4.命令行展开
5.命令行编辑
光标跳转
ctrl+a:跳到命令行首
ctrl+e:跳到命令行尾
ctrl+u:删除光标至命令行行首的内容
ctrl+k:删除光标至命令行行尾的内容
ctrl+l:清屏
命令历史:
history
-c:删除缓存区中的历史命令
-d:删除第500个 history -d 500
history -d 500 10 从第500个开始删除10个
-w:将缓存去的命令写入文件
环境变量:
PATH:命令搜索路径
HISTSIZE:命令历史大小,缓存去大小
命令历史命令的使用技巧
!n:执行命令历史中的第n条命令
!-n:执行命令历史中倒数第n条命令
!!:执行上一条命令
!string:执行命令历史中最近一个以指定字符串开头的命令
定义别名
alias CMDALIAS='COMMAND [options] [arguments]'
在shell中定义的别名仅在当前shell生命周期有效,别名的有效范围仅为当前的shell进程
取消别名
unlias CMDALIS
命令替换
$(COMMAND),反引号 `COMMAND`
把命令中某个子命令替换为其执行结果的过程
echo "The current directory is $(pwd))"
touch ./file-$(date +%F-%H-%M-%S).txt
bash支持的引号
``:反引号,命令替换
"":双引号,弱引用,可以实现变量替换
'':单引号,强引用,不完成变量替换
文件名通配:
man 7 glob
globbing
*:任意长度的任意字符
?:匹配任意单个字符
[]:匹配指定范围内的任意单个字符
[abc],[a-m],[a-z],[A-Z],[0-9],[a-zA-Z]
[^0-9]*:所有非数字开头的文件
[0-9a-zA-Z]:表示以数字或者大写字母或者小写字母开头的文件
[^]:匹配指定范围之外的任意单个字符
[:space:]:表示所有的空白字符
[:punct:]:标点符号
[:lower:]:小写字符
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字母
[[:alpha:]]*[[:space:]]*[[:alpha:]]:字母开头,字母结尾,中间有空白字符
6.文件名通配
7.变量
8.编程
linux的学习之路--(五)bash及其特性的更多相关文章
- 嵌入式Linux驱动学习之路(五)u-boot启动流程分析
这里说的u-boot启动流程,值得是从上电开机执行u-boot,到u-boot,到u-boot加载操作系统的过程.这一过程可以分为两个过程,各个阶段的功能如下. 第一阶段的功能: 硬件设备初始化. 加 ...
- Linux内核学习之路
每当学习到一定阶段自己觉得还行时,就会搜一些别人的文章. 这篇文章是原作者14年3月写的.转过来与自己共勉.学习累了就换着学也挺好 原文: 现在回首看看,接触Linux已经很长时间了. 在大三的时候开 ...
- 嵌入式Linux驱动学习之路(二十五)虚拟网卡驱动程序
一.协议栈层次对比 设备无关层到驱动层的体系结构 1).网络协议接口层向网络层协议提供提供统一的数据包收发接口,不论上层协议为ARP还是IP,都通过dev_queue_xmit()函数发送数据,并通过 ...
- 嵌入式Linux驱动学习之路(十五)按键驱动-定时器防抖
在之前的定时器驱动程序中,我们发现在连续按下按键的时候,正常情况下应该是一次按下对应一次松开.而程序有时候会显示是两次按下,一次松开.这个问题是因为在按下的时候,因为是机械按键,所以电压信号会产生一定 ...
- Linux学习之路2 Bash的基本操作
一.SHELL的介绍 shell分为两种:CLI(command Line Interface)和GUI(Graphical User Interface) 操作系统中的shell: GUI:GNOM ...
- 嵌入式linux的学习之路[转]
我认为的一条学习嵌入式Linux的路: 1)学习 Linux系统安装. 常用命令.应用程序安装. 2) 学习 Linux 下的 C 编程.这本书必学<UNIX 环境高级编程>.<UN ...
- Linux的学习之路
linux的安装配置.常用命令: 基本上学习任务: 1.在VMware(9)虚拟机上安装Linux操作系统(安装CentOs操作系统) 2.了解Linux操作系统 3.通过XShell工具操作Linu ...
- MongoDB学习之路(五)
MongoDB $type 操作符 类型 数字 备注 Double 1 String 2 Object 3 Array 4 Binary data 5 Undefined 6 已废弃 Object i ...
- 嵌入式Linux驱动学习之路(二十七)字符设备驱动的另一种写法
之前讲的字符设备驱动程序,只要有一个主设备号,那么次设备号无论是什么都会和同一个 struct file_operations 结构体对应. 而本节课讲的是如何在设备号相同的情况下,让不同的次设备号对 ...
随机推荐
- PAT甲级 1004 树
思路:直接遍历整棵树判定每个结点是否有孩子,没有则把当前高度的叶子节点数加一. AC代码 #include <stdio.h> #include <string.h> #inc ...
- python 下载新的模块
首先, 进入到python的安装目录 在安装目录下有一个Scripts文件夹. 然后里面有一个pip.exe 文件, 这个文件就是执行安装包的. 执行: pip.exe install django ...
- SpringCloud @FeignClient的类注解@ReqestMapping无效报错:No message available","path":"/xxxx
最近在使用Feign组合微服务的时候发现在@FeignClient接口类上使用@ReqestMapping无效. 像下面的这个代码: @FeignClient("xxx") @Re ...
- KVM虚拟化网络优化技术总结
https://www.intel.com/content/dam/www/public/us/en/documents/technology-briefs/sr-iov-nfv-tech-brief ...
- shell脚本基础 循环机构
循环结构 for循环格式一格式:for 变量 in 值1 值2 ........(值不一定是数字,可以是命令或者其他的)do 命令done [root@ceshiji ~]# vim a.sh #!/ ...
- 3.3.3 PCI设备对可Cache的存储器空间进行DMA读写
PCI设备向"可Cache的存储器空间"进行读操作的过程相对简单.对于x86处理器或者PowerPC处理器,如果访问的数据在Cache中命中,CPU会通知FSB总线,PCI设备所访 ...
- 一款PHP环境整合工具—VertrigoServ介绍
Vertrigo简介 VertrigoServ 是一个Windows平台下的非常专业的.易于安装的免费网络开发环境,它集成了Apache, PHP, MySQL, SQLite, SQLiteMana ...
- C#扩展方法类库StringExtensions
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 由js深拷贝引起的对内存空间的一些思考
数据类型 js常用数据类型分为基本类型和引用类型 基本类型:null.undefined.数值型.字符串型.布尔型 引用类型:数组.对象 内存空间 var a = [1, 2, 3]; var b = ...
- C#图解教程 第二十三章 预处理指令
预处理指令 什么是预处理指令基本规则#define和#undef指令条件编译条件编译结构诊断指令行号指令区域指令#pragma warning 指令 预处理指令 什么是预处理指令 源代码指定了程序的定 ...