Shell基础

Shell基础

Shell基础
1.接收指令 2.解析成二进制 3.返回信息

shell(翻译员)

Shell的分类

最早Bourne Shell (sh)  包括:sh、ksh、Bash(Linux常用)、psh、zsh
C Shell  Unix系统通用    包括:csh、tcsh

 

查看当前Shell 

echo   $SHELL

 

Bash:Bash与sh兼容,现在使用的Linux就是使用Bash作为用户的基本Shell。

 

Linux支持的Shell

cat  /etc/shells

 

shell可以生出子shell

 

2.脚本执行方式

echo输出命令

echo [选项] [输出内容]

选项:

     -e:支持反斜线控制的字符转换

Shell基础
"\e[1;31m hello world \e[0m"    :\e[1;开启颜色      \e[0关闭颜色

Shell基础

写第一个脚本

Shell基础
第一句必须有

#是注释

chmod 755 hello.sh(给权限)

./hello.sh(执行)

或者bash hello.sh

Bash的基本功能

命令别名与快捷键

查看与设置别名

解决:适应用户已有习惯,

alias :查看系统中所有的命令别名

 

alias 别名=‘原命令’:设定命令别名

(一重启失效)

unalias  别名 #删除别名

 

永久生效与删除别名

vi ~/.bashrc #写入环境变量配置文件(~用户家目录)

source ~/.bashrc #生效

Shell基础

常用快捷键

Shell基础

历史命令

history [选项] [历史命令保存文件]

选项:

-c:清空历史命令

-w:把缓存中的历史命令写入历史命令保存文件~/.bash_history


如果正确退出,会写入到~/.bash_history,即使没有-w
历史命令默认会保存1000条,可以在环境变量配置文件/etc/profile中进行修改

 HISTSIZE

 

历史命令的调用

 Shell基础
Shell基础
两下有提示

 

输出重定向

Shell基础
一切皆文件

使用文件描述符代替设备文件名

Shell基础
>(覆盖)    2>(错误信息)   2是文件描述符

>>(追加) 

date >> date.txt

本身显示在显示器中,显示到文本上。

 

datecong 2>>test.log  (>>没有空格隔开test.log)
Shell基础
1. &>>   2.2>&    3.  >> 2>>文件2

ls &>/dev/null  #扔掉黑洞,找不到(不需要的过程)
Shell基础

Shell基础

wc < access.log

wc << ddy

...

ddy(很少用)

 

管道符

1、多命令顺序执行

;      命令1;命令2   多个命令顺序执行,命令之间没有任何逻辑联系(出错也照样执行)

&&    命令1&&命令2   当命令1正确执行,则命令2才会执行

||        命令1||命令2       命令1执行不正确,则命令2才会执行,否则不执行

执行内容 && echo yes || echo no

2、管道符

命令1 | 命令2

命令1的正确输出作为命令2的操作对象(命令2要能操控命令1的输出)

ls -l /etc | more

netstat -an | grep ESTABLISHED | wc -l

 

3、通配符

Shell基础
^逻辑非[^0-9] 一个不是数字的字符

Shell基础

a=ls

echo ‘$a’打印$a

echo "$a"  #输出$a的内容

a=`ls`   #执行ls,结果给a

a=$(ls)  效果同上





 

 

 

 

 

 




 

 

 

 

 


 

 

 

 


 

你可能感兴趣的:(Shell基础)