本文主要是Shell学习过程中的一些记录,方便后续使用。

1. Shell概述

Shell是什么

  • shell是一个命令行解释器,也就是操作界面。它为用户提供了一个向Linux内核发送请求以便运行程序的界面系统级程序。
  • shell还是一个功能强大的编程语言。shell是解释执行的脚本语言,在shell中可以直接调用Linux系统级命令。

Shell的分类

Shell的两种语法类型有Bourne Shell和C Shell。

  • Bourne Shell: 1979年起Unix中使用,主文件名为sh;
  • C Shell : 主要在BSD版本的Unix中使用,其语法与C语言类似而得名。

Bourne Shell家族主要包括 sh , ksh , Bash , psh , zsh;C家族(主要给unix使用)主要包括csh,tcsh。Bash是Linux中的标准Shell。

常用命令

  • 查看Shell版本: echo $SHELL ($的意思是变量,SHELL是变量名字)

  • 查看Linux支持的Shell : vi /etc/shells

  • 切换Shell : sh / bash / csh。退出exit

  • 新建文件 : touch hello.sh

  • 新建文件夹 : mkdir testmdic

  • 查看文件 : cat hello.sh

  • 复制 :cp

  • 粘贴 : mv
  • 查看系统中已经生效的别名 : alias

  • 设置别名: alias ll='ls -l --color=auto'(重启后失效)

  • 永久改变别名,需修改环境变量配置文件 vi ~/.bashrc(对每个用户单独生效)(需重新登录,不想重新登录执行source .bashrc)
  • 删除别名 unalias 别名 (临时删除)

常用快捷键

  • ctrl+u :从光标所在行删到行首
  • ctrl+a :光标移到行首
  • ctrl+e :光标移到行尾
  • ctrl+r : 历史命令中搜索

脚本执行方式

vi/vim基本用法

vi/vim 共分为三种模式,分别是命令模式(Command mode)输入模式(Insert mode)底线命令模式(Last line mode)。 这三种模式的作用分别是:

命令模式:

用户刚刚启动 vi/vim,便进入了命令模式。

此状态下敲击键盘动作会被Vim识别为命令,而非输入字符。比如我们此时按下i,并不会输入一个字符,i被当作了一个命令。

以下是常用的几个命令:

  • i 切换到输入模式,以输入字符。
  • x 删除当前光标所在处的字符。
  • : 切换到底线命令模式,以在最底一行输入命令。

输入模式

在命令模式下按下i就进入了输入模式。光标移到行尾,按ESC键可随时退出输入模式。

底线命令模式

在命令模式下按下:(英文冒号)就进入了底线命令模式。

在底线命令模式中,基本的命令有(已经省略了冒号):

  • q 退出程序
  • w 保存文件

脚本执行

执行脚本有两种方式

1. 赋予执行权限,直接运行(常用)

1
2
3
4
#755=>111 101 101 
#对应所有者 所属组 其他人的 rwx 读/写/执行权限
chmod 755 hello.sh
./hello.sh

2. 通过Bash调用执行脚本

1
bash hello.sh

Bash的基本功能

命令别名与快捷键

查看系统中已经生效的别名 : alias

设置别名: alias ll='ls -l --color=auto'