shell 编程-01-认识 Bash

Posted shark_西瓜甜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell 编程-01-认识 Bash相关的知识,希望对你有一定的参考价值。

1 bash 的登录主机欢迎信息: /etc/issue, /etc/motd

当你登录到系统之前,想了解这个系统的一些简单的硬件及软件版本信息等可以做如下设置:

/etc/issue //修改这个文件的内容即可

/etc/motd //编辑这个文件,会在用户登录之后看到一些欢迎信息

2 Bash 快捷键


移动光标
Ctrl + a :移到命令行首
Ctrl + e :移到命令行尾
Ctrl + f :按字符前移(右向)
Ctrl + b :按字符后移(左向)
Alt + f :按单词前移(右向)
Alt + b :按单词后移(左向)
Ctrl + c  :  终止目前在进行的命令
Ctrl + g  : 忽略当前行的内容,重新开启一行

编辑
Ctrl + u :从光标处删除至命令行首
Ctrl + k :从光标处删除至命令行尾
Ctrl + d :删除光标处的字符
Ctrl + h :删除光标前的字符

Ctrl + t :交换光标处和之前的字符


Ctrl+d 输入结束(EOF),例如写邮件结束的时候

BASH 的通配符

通配符如下表:

Linux 系统的语系会影响字符的排序和匹配
查看本系统的语系使用命令 locale

LANG=C              >==由于与编码有关,先设置语系一下

范例一:找出 /etc/ 下面以 cron 为开头的文件名
ll -d /etc/cron*    >==加上 -d 是为了仅显示目录而已

范例二:找出 /etc/ 下面文件名“刚好是五个字母”的文件名
ll -d /etc/?????    >==由于 ? 一定有一个,所以五个 "?"  就对了

范例三:找出 /etc/ 下面文件名含有数字的文件名
ll -d /etc/*[0-9]*  >==记得中括号左右两边均需 *

范例四:找出 /etc/ 下面,文件名开头非为小写字母的文件名:
ll -d /etc/[^a-z]*  >==注意中括号左边没有 *

范例五:将范例四找到的文件复制到 /tmp/upper 中
[mkdir /tmp/upper; cp -a /etc/[^a-z]* /tmp/upper

BASH 特殊符号

特殊符如下:

# 批注符号
\\   转移符号,可以将具有特殊意义的符号变为一般字符
;   连续下达命令的分隔符
&   将一个工作置于后台

``   其内的命令可以先执行,建议用$( )取代
()  在中间为子shell的起始与结束
{}  在中间为命令区块的组合

以上是关于shell 编程-01-认识 Bash的主要内容,如果未能解决你的问题,请参考以下文章

shell编程笔记

认识与学习bash

认识与学习bash

第十一章认识与学习 BASH

第11章 认识和学习bash

认识和学习bash