linux shell编程基础

来源:互联网 发布:电脑板绘软件 编辑:程序博客网 时间:2024/06/10 01:55

Linux shell基础

1. shell概述:Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核去执行。

2. Bash的基本功能:

1>.alias 别名=‘原命令’ 代表设定命令别名。eg:alias vi=’vim’。alias命令可以查看命令别名。此种方式随着系统重启就会消失,也就是临时生效。让别名永久生效 vim /root/.bashrc。unalias可用于删除别名。

2>.Bash常用快捷键:

Ctrl+C强制终止当前命令Ctrl+L 清屏,相当于clearCtrl+U 删除或者剪切光标之前的所有命令,比退格方式更快捷Ctrl+K 删除或者剪切光标之后的所有命令Ctrl+Y 粘贴Ctrl+U或者Ctrl+K剪切的内容Ctrl+R 实现搜索历史命令,先输入Ctrl+R,然后回车再输入需要搜索的历史命令Ctrl+D 退出当前终端Ctrl+Z 暂停命令并且放入后台,不能经常使用Ctrl+S 暂停屏幕输出Ctrl+Q 恢复屏幕输出

3. Bash输入输出重定向:

a) Linux标准输入输出设备:设备设备文件名类型文件描述符键盘/dev/stdin标准输入0显示器/dev/stdout标准输出1显示器/dev/srderr标准错误输出2b) 标准命令重定向:1>命令 > 文件 或者  命令 >> 文件  把命令的正确输出输出到指定文件或设备。2>输入重定向:.wc [选项][文件名] -c统计字节数-w 统计单词数-l统计行数Eg: wc –l a.txt 统计a.txt的行数。

4. shell多命令顺序执行:

1>. dd命令可以执行数据复制,分区复甚至整个硬盘,不只是复制分区或者     硬盘的数据,也复制了分区或者硬盘的文件系统。例子:date ; dd if=/dev/zero of=/root/testfile bs=1k count=100000;date指的是复制/dev/zero文件到/root/testfile测试文件,复制100000次,每次复制1k字节,也就是创建一个约100M的testfile文件。开始结束的时候分别输出系统时间,可以计算出复制文件的时间。2>.  ls && echo yes; 会输出yesls 不存在的文件 && echo yes;   不会输出yes例子:命令 && echo yes || echo no 

5. 管道符:|

命令1 | 命令2命令1的正确输出作为命令2的操作对象例子:ll –a /etc/ | morenetstat –an | grep ESTABLISHED   netstat为显示系统当前所有网络连接。

6. 通配符与其他特殊符号:


其他符号:


例子:  1> name=sc echo ‘$name’ 结果为‘$name’ 2>echo “$name“ 输出sc2> name=`date`或者name=$(date)   echo $name 输出当前日期3> echo $(date) 输出日期 echo \$(date) 输出$(date)

7. 变量分类:


 1>.用户自定义变量:变量定义:name=”chen chao”  。注意:等号两侧不能有空格。变量叠加:aa=123 ; aa=”$(aa)”456 ; aa=”$(aa)”789调用变量:$变量查看所有变量:set删除变量:unset  bb

2> 环境变量:

定义:用户自定义变量只会在当前的shell中生效,而环境变量会在当前shell和这个shell的所有子shell中生效。如果把环境变量写入相应的配置文件,那么这个环境变量就会在所有的shell中生效。设置环境变量:a>.声明变量:export 变量名=变量值b>.查询变量:envc>.删除变量:unset 变量名PATH路径:系统查找命令的路径。编写一个脚本hello.sh执行cp hello.sh /bin/此时不用使用相对路径,直接输入hello.sh就能执行。删除此shell可以使用rm –rf /bin/hellp.sh。使用PATH=$PATH:/root(变量叠加)将root下的shell脚本添加到环境变量。

3>.位置参数变量:只是按照位置接受


$n例子:

创建脚本            执行脚本 执行脚本时输入参数

 

例子:

 

 

 4>.预定义变量:


例子:执行ls,然后输入echo  $?输出数字0,如果输入错误命令则返回非0数字。 


接受键盘输入:

 

 

8. 数值运算和运算符:

 

 

或者


 或者

 

变量测试与内容替换:

 

 

9. 环境变量配置文件简介:

 

1>.source 配置文件“ 或者 “.配置文件“作用是使修改的配置文件立即生效。

2>.系统主要有以下几种环境变量配置文件:


1,2,5对所有用户生效,3,4只对当前用户生效。

3>.环境变量配置文件作用:

 


4>.其他配置文件和登录信息:

*注销时生效的环境变量配置文件:~/.bash_logout

*历史命令的保存文件:~/bash_history

*登陆系统时候的本地终端欢迎信息:/etc/issue


*远程终端欢迎信息:/etc/issue.net

*/etc/motd 不管远程还是本地都显示欢迎信息

 

0 0