shell基础编程中有关bash的相关知识
1、认识Bash
type ls # ls is aliased to `ls –color=auto'
type cat # cat is hashed (/bin/cat) type cd # cd is a shell builtin
命令执行:
2、Shell的变量功能
显示变量:echo $PATH
设定变量:PATH=xxx #注意空格有无 扩充变量:PATH=$PATH:xxx 取消变量:unset MAIL 查看环境变量:env 查看环境变量及自定义变量:set
PS1:提示字符设定
3、命令别名与历史命令
alias lm='ls -al | more'
unalias lm
历史命令
复制代码代码示例:
history
4、Bash shell的操作环境
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:将大文件传为小文件 |