马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 moc 于 2018-11-15 19:33 编辑
1.什么是Shell
shell是核心程序kernel之外的指令解析器,是一个程序,同时是一种命令语言和程序设计语言。
shell是命令解析器,它提供一个到操作系统的接口,它收集用户的输入并根据输入来执行相应的程序,当程序执行结束后,他显示程序的输出。
查看当前系统安装的Shell: ==> cat/etc/shells
查看当前用户运行的shell: ==> echo $SHELLs
当前shell中运行其他shell: ==> /bin/sh
linux下默认的shell ==> bash
bash特点: 快速(上下键);tab键盘自动补齐;自动帮助功能help...
2.Shell代码
使用shell代码的原因: 功能强大、节约时间。#!/bin/bash
#shell代码
mytext="hello world"
echo $mytext
易犯错误:
1> 第一行#不是注释 其他#都是注释;
2> shell严格区分大小写
3> 代码需要添加执行权限 ==> chmod 775 xxx.sh OR chmod u+x xxx.sh
4> 代码运行方式=> ./xxx.sh <注意:$PATH 环境变量>
3.Shell特性
1> 别名 alias
查看本用户下的alias配置 ==> alias
自定义别名 ==> alias ll = ‘ls -alh’ (这里是单反引号)
查看用户下alias命名的配置 ==> cat $HOME/.bashrc
2> 后台处理 nohup commond &
将归档程序放入后台执行 ==> nohup tar –cvf 111.tar.gz &
查看后台正在运行的命令 ==> jobs –l
3> 管道
把一个命令的输出作为另外一个命令的输入。
如: ls -l| sort; ls | sort
4> 重定向 < 输入 >输出
与管道相关,可以改变程序运行的输入来源和输出地点.
从文件中按行读取数据排序后输出 ==> sort< myfile.txt
从文件中按行读取数据排序后输出到另一个文件中 ==> sort<myfile.txt >myfileSort.txt
5> 模式匹配
* ? 等作为特殊字符匹配字符串等...
正则表达式.
6> 特殊字符
双引号(“”) ==> 用来使shell无法认出空格、制表符和其他大多数特殊字符,如:建立带空格的文件touch “my file”
单引号(‘) ==> 用来使shell无法认出所有特殊字符。
反引号(`) ==> 用来替换命令
反斜杠(\) ==> 转义字符, 如: 创建带空格文件名 touch my\ file
分号(; ==> 允许在一行上放多个命令: mv 1.txt 2.txt; mv 2.txt 3.txt;
括号() ==> 创建成组的命令
大括号{} ==> 创建命令块。
竖杠(|) ==> 管道标示符
< > & ==> 重定向表示符
* ? [ ] ! ==> 表示模式匹配
& ==> 命令后台执行
$ ==>变量名的开头
# ==> 表示注释(第一行除外)
空格、制表符、换行符 ==> 当做空白 |