shell编程基础之认识与学习BASH

所属分类: 脚本专栏 / linux shell 阅读数: 593
收藏 0 赞 0 分享

1、认识Bash

通过Shell将输入的指令与Kernel沟通,让Kernel控制硬件工作
查看Shell:cat /etc/shell
登录后预设的shell类型记录在/etc/passwd中,与账户相关
命令别名:alias lm='ls -al' #注意有无空格
帮助:man bash
命令类型:type

复制代码 代码如下:

type ls # ls is aliased to `ls –color=auto'
type cat # cat is hashed (/bin/cat)
type cd # cd is a shell builtin


命令执行:

\[Enter]:将[Enter]转义,按下后不执行,而是另起一行

2、Shell的变量功能

概念:同一变量,不同用户可以有不同值,所以可以用变量来代表此值,而不用将具体的值 写入程序,如$PATH

复制代码 代码如下:

显示变量:echo $PATH
设定变量:PATH=xxx #注意空格有无
扩充变量:PATH=$PATH:xxx
取消变量:unset MAIL
查看环境变量:env
查看环境变量及自定义变量:set

PS1:提示字符设定
自定义变量转环境变量:export
为什么要转成环境变量:因为子程序会继承父程序的环境变量
语系支持
查看系统支持的语系:locale -a
查看与语系有关的变量:locale
键盘读取用户输入read: read atest #将用户输入读入atest变量
声明变量类型 declare: declare -i sum=100+50

3、命令别名与历史命令

别名

复制代码 代码如下:

alias lm='ls -al | more'
unalias lm

历史命令

复制代码 代码如下:

history

4、Bash shell的操作环境

指令执行时查找顺序
相对/绝对路径 -> alias -> bash内建 -> $PATH
bash配置文件

复制代码 代码如下:

login shell/non-login shell
login shell: 进入shell时需要输入账号密码
non-login shell: 通过图形界面登录,再启动shell时无需输入账号密码

配置文件

复制代码 代码如下:

login shell:
/etc/profile :系统整体设定
以下三个文件按顺序,如果存在,就读取,后面的就不再读取
~/.bash_profile
~/.bash_login
~/.profile

通配符

复制代码 代码如下:

* : 0到无穷个字符
? : 一个字符
[]: [abc] # a or b or c
[-]: [0-9] # 0 到 9
[^]: [^abc] # 不是a,b,c的一个字符

5、数据流重导向

复制代码 代码如下:

> :覆盖
>>:累加
/dev/null:接收信息但不显示
依次执行:cmd1,cmd2,cmd3
根据上一条执行结果确定下一条
cmd1 && cmd2
cmd1 || cmd2

6、管线命令

复制代码 代码如下:

ls | less
cut:同一行数据分割
echo $PATH | cut -d ':' -f 5 #以':'分割,第5个数据
grep:如果一行里有需要的信息,就返回这一行
sort:排序
uniq:重复内容只显示一次
wc:统计单词数
tee:双向重定向
tr:删除或替换数据
col:转化为纯文本
join:将两个文件中相关信息放在一起
paste:将两行并在一起,中间用[Tab]分开
expand:将[Tab]转为空格
split:将大文件传为小文件

更多精彩内容其他人还在看

关于ssh连不上问题的解决方法(必看)

下面小编就为大家带来一篇关于ssh连不上问题的解决方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Ubuntu用户之间相互切换方法(推荐)

下面小编就为大家带来一篇Ubuntu用户之间相互切换方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux 编程之进程fork()详解及实例

这篇文章主要介绍了Linux 编程之进程fork()详解及实例的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈安装ORACLE时在Linux上设置内核参数的含义

下面小编就为大家带来一篇浅谈安装ORACLE时在Linux上设置内核参数的含义。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详谈linux中sar的使用方法

下面小编就为大家带来一篇详谈linux中sar的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

设置Linux系统的空闲等待时间TMOUT的方法

下面小编就为大家带来一篇设置Linux系统的空闲等待时间TMOUT的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

关于Linux反空闲设置的两种方法总结

下面小编就为大家带来一篇关于Linux反空闲设置的两种方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

linux 查找大目录和大文件的方法(推荐)

下面小编就为大家带来一篇linux 查找大目录和大文件的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux makefile 和shell文件相互调用实例详解

这篇文章主要介绍了Linux makefile 和shell文件相互调用实例详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Windows与Linux共享文件夹互相访问

这篇文章主要介绍了 详解Windows与Linux共享文件夹互相访问的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多