Note For Linux By Jes(5)-认识与学习 BASH
正确的关机方法:
数据同步写入磁盘:sync
惯用的关机命令:shutdown
重新启动,关机:reboot, halt, poweroff
切换运行等级:init
run level 0:关机
run level 3:纯文本模式
run level 5:含有图形接口模式
run level 6:重新启动
认识BASH这个Shell
/etc/shells
/bin/sh (已经被/bin/bash 所取代)
/bin/bash (就是Linux 默认的shell)
/bin/ksh (Kornshell 由AT&T Bell lab. 发展出来的,兼容于bash)
/bin/tcsh (整合C Shell ,提供更多的功能)
/bin/csh (已经被/bin/tcsh 所取代)
/bin/zsh (基于ksh 发展出来的,功能更强大的shell)
Bash shell 的功能:
命令编修能力(history):
命令与文件补全功能:([tab] 按键的好处)
命令别名配置功能:(alias)
工作控制、前景背景控制:(job control, foreground, background)
程序化脚本:(shell scripts)
通配符:(Wildcard)
Bash shell 的内建命令:type
命令的下达:
如果命令串太长的话,如何使用两行来输出? [vbird@www ~]# cp /var/spool/mail/root /etc/crontab \ > /etc/fstab /root
Shell的变量功能
变量的取用与配置:echo,变量配置守则,unset
环境变量的功能:用env 观察环境变量与常见环境变量说明,用set观察所有变量(含环境变量与自定义变量),export:自定义变量转成环境变量
影响显示结果的语系变量(locale):
变量键盘读取、数组与宣告:read, array, declare
与文件系统及程序的限制关系:ulimit
变量内容的删除、取代与替换:
变量配置方式 |
说明 |
${变量#关键词} |
若变量内容从头开始的数据符合『关键词』,则将符合的最短数据删除 |
${变量%关键词} |
若变量内容从尾向前的数据符合『关键词』,则将符合的最短数据删除 |
${变量/旧字符串/新字符串} |
若变量内容符合『旧字符串』则『第一个旧字符串会被新字符串取代』 |
变量的测试与内容替换:
变量配置方式 |
str 没有配置 |
str 为空字符串 |
str 已配置非为空字符串 |
var=${str-expr} |
var=expr |
var= |
var=$str |
var=${str:-expr} |
var=expr |
var=expr |
var=$str |
var=${str+expr} |
var= |
var=expr |
var=expr |
var=${str:+expr} |
var= |
var= |
var=expr |
var=${str=expr} |
str=expr |
str 不变 |
str 不变 |
var=${str:=expr} |
str=expr |
str=expr |
str 不变 |
var=${str?expr} |
expr 输出至stderr |
var= |
var=$str |
var=${str:?expr} |
expr 输出至stderr |
expr 输出至stderr |
命令别名与历史命令
命令别名配置:alias, unalias
历史命令:history
Bashshell 的操作环境
bash 的进站与欢迎信息:/etc/issue, /etc/motd
bash 的环境配置文件:
终端机的环境配置:stty, set
通配符与特殊符号:
符号 |
意义 |
* |
代表『0 个到无穷多个』任意字符 |
? |
代表『一定有一个』任意字符 |
[ ] |
同样代表『一定有一个在括号内』的字符(非任意字符)。例如[abcd] 代表『一定有一个字符,可能是 a, b, c, d 这四个任何一个』 |
[ - ] |
若有减号在中括号内时,代表『在编码顺序内的所有字符』。例如[0-9] 代表0 到9 之间的所有数字,因为数字的语系编码是连续的! |
[^ ] |
若中括号内的第一个字符为指数符号(^) ,那表示『反向选择』,例如[^abc] 代表一定有一个字符,只要是非 a, b, c的其他字符就接受的意思。 |
符号 |
内容 |
# |
批注符号:这个最常被使用在script 当中,视为说明!在后的数据均不运行 |
\ |
跳脱符号:将『特殊字符或通配符』还原成一般字符 |
| |
管线(pipe):分隔两个管线命令的界定(后两节介绍); |
; |
连续命令下达分隔符:连续性命令的界定(注意!与管线命令并不相同) |
~ |
用户的家目录 |
$ |
取用变量前导符:亦即是变量之前需要加的变量取代值 |
& |
工作控制(job control):将命令变成背景下工作 |
! |
逻辑运算意义上的『非』not 的意思! |
/ |
目录符号:路径分隔的符号 |
>, >> |
数据流重导向:输出导向,分别是『取代』与『累加』 |
<, << |
数据流重导向:输入导向(这两个留待下节介绍) |
' ' |
单引号,不具有变量置换的功能 |
" " |
具有变量置换的功能! |
` ` |
两个『` 』中间为可以先运行的命令,亦可使用$( ) |
( ) |
在中间为子shell 的起始与结束 |
{ } |
在中间为命令区块的组合! |
数据流重导向(Redirection)
1>:以覆盖的方法将『正确的数据』输出到指定的文件或装置上;
1>>:以累加的方法将『正确的数据』输出到指定的文件或装置上;
2>:以覆盖的方法将『错误的数据』输出到指定的文件或装置上;
2>>:以累加的方法将『错误的数据』输出到指定的文件或装置上;
/dev/null 垃圾桶黑洞装置与特殊写法
standard input :< 与<<
命令运行的判断依据:; , &&, ||
命令下达情况 |
说明 |
cmd1 && cmd2 |
1. 若cmd1 运行完毕且正确运行($?=0),则开始运行cmd2。 |
cmd1 || cmd2 |
1. 若cmd1 运行完毕且正确运行($?=0),则cmd2 不运行。 |
管线命令(pipe):
撷取命令:cut, grep
排序命令:sort, wc(统计),uniq(仅列出一个显示)
双向重导向:tee
字符转换命令:tr, col, join, paste, expand
分割命令:split
关于减号– 的用途:[root@www ~]# tar -cvf - /home |tar -xvf -
Note For Linux By Jes(5)-认识与学习 BASH相关推荐
- Note For Linux By Jes(20)-Linux 核心编译与管理
编译前的任务:认识核心与取得核心原始码: 什么是核心(Kernel) Kernel:核心就是系统上面的一个文件而已,这个文件包含了驱动主机各项硬件的侦测程序与驱动模块,这个核心文件通常被放置成/boo ...
- Note For Linux By Jes(16)-软件安装:原始码与 Tarball
开放源码的软件安装与升级简介: 什么是开放源码.编译器与可运行档 什么是函式库: 什么是make与configure: 侦测程序会侦测的数据大约有底下这些: 是否有适合的编译器可以编译本软件的程序码: ...
- Note For Linux By Jes(13)-认识与分析日志文件
什么是登录文件: Linux 常见的登录文件档名 /var/log/dmesg: 记录系统在启动的时候核心侦测过程所产生的各项资讯.由於CentOS 默认将启动时核心的硬件侦测过程取消显示,因此额外将 ...
- Note For Linux By Jes(8)-Linux 账号管理与ACL权限控制
Linux的账号与群组: 使用者标识符:UID与GID 使用者账号:先找寻/etc/passwd里面是否有你输入的账号?如果没有则跳出,如果有的话则将该账号对应的UID与GID (在/etc/grou ...
- Note For Linux By Jes(19)-Linux 备份策略
备份要点: 备份数据的考量: 备份哪些文件: 哪些数据对系统或使用者来说是重要的?那些数据就是值得备份的数据!例如/etc/* 及/home/* 等. 选择什么备份的媒介: 是可读写光盘.另一颗硬盘. ...
- Note For Linux By Jes(4)-文件的压缩与打包
Linux系统常见的压缩命令:compress,gzip,zcat,bzip2,bzcat 打包命令:tar 压 缩:tar-jcv-f filename.tar.bz2 要被压缩的文件或目录名称 查 ...
- Note For Linux By Jes(12)-认识系统服务(daemons)
什么是daemon与服务(service): daemon 的主要分类: stand_alone:此daemon 可以自行单独启动服务 super daemon:一支特殊的 daemon 来统一管理 ...
- Note For Linux By Jes(14)-启动流程、模块管理与 Loader
Linux的启动流程分析: 启动流程一览 加载BIOS 的硬件资讯与进行自我测试,并依据配置取得第一个可启动的装置: 读取并运行第一个启动装置内MBR 的boot Loader (亦即是grub, s ...
- Note For Linux By Jes(1)-Linux 的文件权限与目录配置
第一个字符代表这个文件是『目录.文件或链接文件等等』: 当为[d ]则是目录,例如上表档名为『.gconf』的那一行: 当为[- ]则是文件,例如上表档名为『install.log』那一行: 若是[l ...
最新文章
- Vue 2 | Part 4 v-bind绑定元素属性和样式
- mysql blob 比较_MySQL下,text 、blob的比较
- 2012年度IT博客大赛50强报道:高俊峰
- .NET速度的问题,不是最重要的
- 机器学习之路: python 实践 word2vec 词向量技术
- Tomcat连接池配置
- 每一个程序员都应该知道的高并发处理技巧、创业公司如何解决高并发问题、互联网高并发问题解决思路、caoz大神多年经验总结分享...
- struts-config message-resources配置问题总结
- 解决用word修改博客后字体变大的问题
- ubuntu18 防火墙关闭_Ubuntu防火墙怎么关闭或打开?
- linux asio 读取串口,ASIO 串口编程
- 用python处理文本数据(5)
- Axure RP9使用指南
- 【12306抢票神器】抢票啦—请收下这份2022元旦春节抢票攻略
- HTML空格符号 nbsp; ensp; emsp; 介绍以及实现中文对齐的方法
- nacos 未读取到合法数据,请检查导入的数据文件
- 新手做seo该怎么做?seo新手入门基础教程
- 人脑的算力真的很弱吗
- 智能网联封闭测试场和开放道路测试政策情况全扫描(2022版)
- IBM TS3100磁带机更换磁带的方法