Linux : shell基础(慕课网Linux达人养成计划课程笔记)

Shell概述

  • shell是Linux中的命令行解释器,为用户提供了一个向Linux内核发送请求一边运行程序的界面系统级程序,用户可以用shell来启动、挂起、停止甚至编写一些程序。
  • shell还是一个功能相当强大的编程语言,易编写,易调试,灵活。是解释执行的脚本语言,在shell中可以直接调用Linux系统命令。

Shell的种类
主要是B shell和C shell两类,两种不同的语法类型,彼此不兼容。

  • Bourne家族主要包括:sh, ksh,Bash【Linux中的标准shell】,pash,zsh
  • C家族: csh,tcsh,Unix中用的多
  • 查看linux中的shell类型:
    Linux : shell基础(慕课网Linux达人养成计划课程笔记)
  • Linux中支持的shell类型:查看 /etc/shells文件
    Linux : shell基础(慕课网Linux达人养成计划课程笔记)

脚本执行方式
1、echo 输出命令:将制定内容输出到屏幕上
echo 选项
选项:
-e:支持反斜线控制的字符转换
Linux : shell基础(慕课网Linux达人养成计划课程笔记)

颜色控制:
[root@localhost~]# echo -e "e[1;31m 待输出内容 e[0m"
开始标志:e[1;31m(31m=红色,32m=绿色,33m=黄色.....)
输入标志:e[0m
Linux : shell基础(慕课网Linux达人养成计划课程笔记)

2.第一个脚本
[root@localhost~]# vim hello.sh
创建后按i进入输入模式

#!/bin/bash
#此处写注释
echo -e "my first shell,n ello world!"

写完后esc退出输入模式,键入wq保存退出。

3、脚本执行
两种方法

  • 赋予执行权限,直接运行
    chmod 775 hello.sh #赋予权限
    ./hello.sh #相对路径,调用脚本
  • 通过bash调用执行脚本
    bash hello.sh
    Linux : shell基础(慕课网Linux达人养成计划课程笔记)

Bash的基本功能
1.命名别名与快捷键
命令别名==人的小名
查看与设定别名
alias #查看系统中所有的命令别名
Linux : shell基础(慕课网Linux达人养成计划课程笔记)
alias 别名=‘原命令’ #设定命令别名、计算机重启后失效
Linux : shell基础(慕课网Linux达人养成计划课程笔记)
别名永久生效与删除别名
vi ~/.bashrc #写入环境变量配置文件,重新登录后永久生效
Linux : shell基础(慕课网Linux达人养成计划课程笔记)

unalias 别名 #删除别名,临时删除
vi ~/.bashrc 永久删除

命令生效顺序:
第一顺位执行用绝对路径或相对路径执行的命令
第二顺位执行别名
第三顺位执行bash的内部命令
第四顺位执行按照¥PATH环境变量定义的目录查找顺序找到的第一个命令

常用快捷键:
Linux : shell基础(慕课网Linux达人养成计划课程笔记)

2.历史命令
history 选项
选项
-c:清空历史命令
-w:把缓存中的历史命令写入历史命令保存文件~/.bash_history(只记录这次登录之前的历史命令)
历史命令默认保存100条,可以在环境变量配置文件中的/etc/profile中进行修改(his size)

历史命令的调用:
使用上下箭头调用以前的历史命令
使用“!n”重复执行第n条历史命令
使用“!!”重复执行上一条命令
使用“!字串”重复只想能够最后一条以该字串开头的命令

命令与文件补全:
在bash中,在输入命令或文件时按“TAB”进行补全。
按一下:
按两下:显示所有以输入字符为开头的命令

3.输出重定向

Linux : shell基础(慕课网Linux达人养成计划课程笔记)
Linux : shell基础(慕课网Linux达人养成计划课程笔记)
注意: 正常输出> >>符号左右有空格“ ”
错误输出> >>符合左右不能加空格!
正确输出和错误输出要求不一样的命令,现实中不常用。
Linux : shell基础(慕课网Linux达人养成计划课程笔记)

Linux : shell基础(慕课网Linux达人养成计划课程笔记)
[root@localhost~]#wc <文件名 #统计文件内容
[root@localhost~]#wc <<标记 #统计开始输入字符到标记之间的内容

4.多命令顺序执行
Linux : shell基础(慕课网Linux达人养成计划课程笔记)
Linux : shell基础(慕课网Linux达人养成计划课程笔记)

5.shell中的特殊符号
Linux : shell基础(慕课网Linux达人养成计划课程笔记)
Linux : shell基础(慕课网Linux达人养成计划课程笔记)

相关推荐