linux的shell基础(慕课网笔记)

来源:互联网 发布:淘宝客申请推广理由 编辑:程序博客网 时间:2024/06/06 07:36
Shell是一个命令解释器,提供了用户与内核进行交互操作的一种接口

查看当前的shell: 
echo $SHELL

脚本执行方式:

echo输出命令:    作用:把指定内容输出到屏幕上
echo [选项] [输出内容]
选项: -e  支持反斜线控制的字符转换
eg.    echo "hello,world"        #屏幕输出:hello,world

第一个脚本:
编写:
vi hello.sh
内容:
#!/bin/bash
#the first program
echo -e "\e[1;34m 天下掉下个林妹妹 ! \e[0m"

Tips:
#!/bin/bash    是linux脚本的标注内容,放在第一行,不是注释

执行脚本:
方法一:赋予执行权限,直接运行
chmod 755 hello.sh
./hello.sh            #./表示在当前目录下的hello.sh
方法二:通过Bash调用执行脚本(不用执行权限)
bash hello.sh

Bash的基本功能:
1.命令别名与快捷键
2.历史命令
3.输出重定向
4.多命令顺序执行
4.shell中特殊符号

1.命令别名与快捷键
查看系统的别名:alias
设定命令别名:(重启失效,临时有效)
alias 别名='原命令'
eg    alias cc='rm'    alias vi='vim'
永久生效与删除别名:
vi ~/.bashrc    #写入环境变量配置文件
unalias 别名    #删除别名(临时删除)
source .bashrc    #调用这个文件一遍,就可以生效了

常用快捷键:
ctrl+c    强制终止当前命令
ctrl+l    清屏
ctrl+a    光标移动到命令行首
ctrl+e    光标移动到命令行尾
ctrl+u    从光标所在位置删除到行首
ctrl+z    把命令放入后台
ctrl+r    在历史命令中搜索

历史命令:
history [选项] [历史命令保存文件]
选项:
-c    清空历史命令
-w    把缓存中的历史命令写入历史命令保存文件~/.bash_history
Tips:历史命令默认保存1000条,可以在环境变量配置文件/etc/profile中进行修改
历史命令的调用:
使用上下箭头调用以前的历史命令
使用  !n  重复执行第n条历史命令
使用  !!  重复执行上一条命令
使用  !字串  重复执行最后一条以该字串开头的命令
例如:service network restart可以用  !ser  

命令和文件补全:
在Bash中,命令与文件补全是非常方便与常用的功能,我们只要在输入命令或文件时,按Tab键就会自动进行补全
命令补全其实是在echo $PATH环境变量中搜索相应的命令
目录补全是依赖操作目录

输出重定向
保存命令的正确输出:
ls > test.log    #命令执行不输出,而是保存到日志,新建test.log或者覆盖原来内容
ls >> test.log    #新建或者追加内容
cat test.log    #查看
保存命令的错误输出:
ddss 2>> test.log    #ddss是错误命令

正确错误输出同时保存:
命令 >> 文件 2>&1    #追加        
命令 &>> 文件            #追加
命令 > 文件 2>&1       #覆盖       
命令 &> 文件               #覆盖
eg    ifconfig >> test2.log 2>&1    ssdld >> test2.log 2>&1
ls &> /dev/null    #把命令输出扔掉,/dev/null是黑洞

命令 >> 文件1 2>>文件2    #正确的追加输出到文件1,错误的追加到文件2

输入重定向:
wc [选项] [文件名]
选项:    -c统计字节数    -w统计单词数    -l统计行数
wc -cwl test.log    #输出行数,单词数,字节数,文件名test.log
wc <acc.log    #把输出放到文件里面

管道符:
命令1 | 命令2    #命令1的正确输出作为命令2的操作对象
eg.        ls -l /etc | more








0 0
原创粉丝点击