鸟哥的Linux学习笔记-bash
1. /bin/bash是linux预设的shell,也是Linux发行版的标准shell,它兼容sh,可以看作是sh的功能加强。
2. bash具有命令记录功能,在bash中通过上下键就可以翻找之前用过的命令,这些命令记录在个人主目录的.bash_history,不过这个文件记录的是前一次登录所执行过的命令,而当前登录的用户所执行的命令都还暂存在内存中,当成功注销系统后,该指令记忆才会记录到.bash_history中.
3. 命令与文件补齐功能,tab键,这个按键的功能在bash里头才有。tab接在一串指令的第一个词之后是命令补齐,接在第二个词之后作用则是文件补齐。
4. 命令别名功能, alias lm='ls -al'.
5. 支持通配符 *
6. 变量
规则: 变量与变量内容以=连接,等号两边不能接空格符;变量名称只能是英文和数字,并且不能以数字开头;变量内容如果有空格,则需要使用双引号或单引号包裹,注意单引号或者双引号要成对存在;可以使用转移字符将特殊符号变为一般字符,如\$ ; version=$(uname -r)或者version=`uname -r`是限制性()或者``内的指令,然后将执行完的指令的结果赋给左边的变量;PATH="$PATH":/bin/abc,这种语法是给已存在的变量添加内容;取消变量的指令是unset 变量名;export 变量名 的作用是将自定义变量导出为环境变量,这样其他线程也可以使用这个变量了。
进入当前核心的模块目录:不同版本,所在的目录不同,通过uname -r将变化的部分设成了一个变量。
cd /lib/modules/`uname -r`/kernel 或者 cd /lib/modules/$(uname -r)/kernel
注意点(:是有作用的):
1. 给PATH添加路径: PATH=$PATH:/abc 等效于 PATH="$PATH":/abc 等效于 PATH=${PATH}:/abc
在变量name后面添加yes: name=$nameyes这样是不对的,这样相当于name的内容是$nameyes这个变量
正确的方式应该是name="$name"yes 或者 name=${name}yes
2.单引号和双引号的区别在于双引号可以保有变量的内容
name=vBird
myname="$name its me" 打印的是vBird its me
myname='$name its me' 打印的是$name its me
7. 查看环境变量使用env或者export命令。
8. 读取键盘输入read
read [-pt] variable
-p后面可以接提示字符
-t后面接等待的秒数
9. declare定义变量
declare [-aixr] variable
-a, 将变量定义为数组类型
-i, 将变量定义成整数类型. declare -i sum=100+300; 然后$sum的值就是400,如果不加-i,那么$sum是100+300
-x,和export一样的作用,将自定义变量变为环境变量,如果将-变成+则是撤销该环境变量,如declare +x name将name变的不再是环境变量。
-r,将变量定义成readonly的,不能被更改,不能被unset
鸟哥的Linux学习笔记-bash的更多相关文章
- 跟着鸟哥学Linux系列笔记3-第11章BASH学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 跟着鸟哥学Linux系列笔记2-第10章VIM学习 认识与学习bash 1. ...
- 跟着鸟哥学Linux系列笔记2-第10章VIM学习
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 跟着鸟哥学Linux系列笔记1 常用的文本编辑器:Emacs, pico, nano, joe, vim VI ...
- 跟着鸟哥学Linux系列笔记1
跟着鸟哥学Linux系列笔记0-扫盲之概念 跟着鸟哥学Linux系列笔记0-如何解决问题 装完linux之后,接下来一步就是进行相关命令的学习了 第五章:首次登录与在线求助man page 1. X ...
- 跟着鸟哥学Linux系列笔记0-如何解决问题
跟着鸟哥学Linux系列笔记0-扫盲之概念 在发生问题怎么处理: 1. 在自己的主机.网络数据库上查询How-To或FAQ -Linux 自身的文件数据: /usr/share/doc -CLDP中 ...
- 跟着鸟哥学Linux系列笔记0-扫盲之概念
相关缩写全称: POSIX(Portable Operation System Interface):可携式操作系统接口,重点在于规范内核与应用之间的接口,由IEEE定义发布 IEEE: 美国电气与电 ...
- 《鸟哥的Linux私房菜-基础学习篇(第三版)》(三)
第2章 Linxu怎样学习 1. Linux当前的应用角色 当前的Linux常见的应用可略分为企业应用和个人应用双方面. 首先谈了企业环境的利用. 1)网络server. 2)关键任务 ...
- 《鸟哥的Linux私房菜》部分章节学习笔记整理
简介 此笔记为<鸟哥的Linux私房菜·基础学习篇>中部分章节的学习笔记. 目录 0 计算机概论 1 Linux是什么与如何学习 2 主机规划与磁盘分区 3 安装CentOS7.x 4 首 ...
- Linux学习笔记——基于鸟哥的Linux私房菜
Linux学习笔记--基于鸟哥的Linux私房菜 ***** ARM与嵌入式linux的入门建议 (1) 学习基本的裸机编程:ARM7或ARM9,理解硬件架构和控制原理 (这一步是绝对的根基) (2) ...
- 鸟哥的Linux私房菜笔记第四章
前言 对着<鸟哥的Linux私房菜-基础版>做了简化笔记.不想让自己知其然而不知其所然.所以写个博客让自己好好巩固一下,当然不可能把书中的内容全部写下来.在这里就简化一点把命令写下来. 让 ...
随机推荐
- 利用自定义动画 animate() 方法,实现某图书网站中“近 7 日畅销榜”中的图书无缝垂直向上滚动特效:当光标移入到图书上时,停止滚动,鼠标移开时,继续滚动
查看本章节 查看作业目录 需求说明: 利用自定义动画 animate() 方法,实现某图书网站中"近 7 日畅销榜"中的图书无缝垂直向上滚动特效:当光标移入到图书上时,停止滚动,鼠 ...
- Shell自动上传下载文件到SFTP服务器
1.说明 本文提供一个Shell脚本, 可以自动连接到SFTP服务器, 然后上传或者下载指定的文件, 进而可以使用Linux的corntab命令, 定时执行脚本上传下载文件, 实现文件的同步或者备份功 ...
- Zookeeper基础教程(五):C#实现Zookeeper分布式锁
分布式锁 互联网初期,我们系统一般都是单点部署,也就是在一台服务器完成系统的部署,后期随着用户量的增加,服务器的压力也越来越大,响应速度越来越慢,甚至出现服务器崩溃的情况. 为解决服务器压力太大,响应 ...
- 图像数据到网格数据-1——Marching Cubes算法的一种实现
概述 之前的博文已经完整的介绍了三维图像数据和三角形网格数据.在实际应用中,利用遥感硬件或者各种探测仪器,可以获得表征现实世界中物体的三维图像.比如利用CT机扫描人体得到人体断层扫描图像,就是一个表征 ...
- 使用 try-catch
ECMA-262 第 3 版引入了 try-catch 语旬,当 try-catch 语句中发生错误时, 浏览器会认为错误已经被处理了 ,因而不会报告错误.对于那些不要求用户懂技术,也不需要用户理解错 ...
- AI系统——梯度累积算法
明天博士论文要答辩了,只有一张12G二手卡,今晚通宵要搞定10个模型实验 挖槽,突然想出一个T9开天霹雳模型,加载不进去我那张12G的二手卡,感觉要错过今年上台Best Paper领奖 上面出现的 ...
- hisql orm update表数据更新文档
更新 HiSql数据更新 HiSql 提供了好几种数据更新的方式下面一一介绍一下 如果你的表中增加了这四个字段 字段 描述 类型 CreateTime 创建时间 DateTime CreateName ...
- preg_match绕过总结
preg_match绕过总结 什么是preg_match 绕过方法 1.数组绕过 preg_match只能处理字符串,当传入的subject是数组时会返回false 2.PCRE回溯次数限制 PHP利 ...
- JUC之线程池的实现原理以及拒绝策略
线程池实现原理 向线程池提交任务后,线程池如何来处理这个任务,之前我们了解了7个参数,我们通过这些参数来串联其线程池的实现原理. 1.在创建了线程池后,开始等待请求 2.当调用execute()方法添 ...
- 2022GDUT寒训专题一C题
题目 题面 马在中国象棋以日字形规则移动. 请编写一段程序,给定n×m大小的棋盘,以及马的初始位置 (x, y),要求不能重复经过棋盘上的同一个点,计算马可以有多少途径遍历棋盘上的所有点. 输入格式 ...