Linux学习----基础篇(shell、命令及vi使用)

1、shell

1.1、简介

shell的本意是“壳”的意思,是围绕在Linux内核之外的一个“壳”程序,用户在操作系统上完成的所有任务都是通过shell与Linux系统内核的交互来实现的。

Linux下除了默认的Bourne again shell(bash),还有很多其他的shell,例如C shell(csh)、Korn shell(ksh)、Bourne shell(sh)和Tenex C shell(tcsh)等。每个版本的shell功能基本相同,现在的Linux系统发行版一般都以bash作为默认的shell。

为了加快命令的运行,同时更有效地定制shell程序,shell中定义了一些内置的命令,一般我们把shell自身解释执行的命令称为内置命令,例如cd、pwd、exit和echo等命令,都是属于bash的内置命令。

除了内置命令,Linux系统上还有很多可执行文件,这些可执行文件也可以作为shell命令来执行。其实Linux上很多命令都不是shell的内置命令,例如ls就是一个可执行文件,存放在/bin/ls中。这些命令与shell内置命令不同,只有当它们被调用时,才由系统装入内存执行。

shell执行命令解释的具体过程为:用户在命令行输入命令提交后,shell程序首先检测是否为内置命令,如果是,就通过shell内部的解释器将命令解释为系统调用,然后提交给内核执行;如果不是shell内置的命令,那么shell会按照用户给出的路径或者根据系统环境变量的配置信息在硬盘寻找对应的命令,然后将其调入内存,最后再将其解释为系统调用,提交给内核执行。

1.2、shell基本语法

1.2.1、shell命令一般格式

用户登录系统后,shell命令行启动。shell遵循一定的语法格式将用户输入的命令进行分析解释并传递给系统内核。shell命令的一般格式为:

command [options] [arguments]

# -- command:命令的名称
# -- options:命令的选项
# -- arguments:命令的参数

# 在命令行中,选项是包含一个或多个字母的代码,主要用于改变命令的执行方式,一般在选项前有一个“-”用于区别参数

根据习惯,我们一般把具有以上格式的字符串称为命令行。命令行是用户与shell之间对话的基本单位。

1.2.2、shell中的通配符

通配符主要是为了方便用户对文件或者目录的描述,例如用户仅仅需要以“.sh”结尾的文件时,使用通配符就能很方便地实现。各个版本的shell都有通配符,这些通配符是一些特殊的字符,用户可以在命令行的参数中使用这些字符,进行文件名或者路径名的匹配。

  • “*”:匹配任意一个或多个字符
  • “?”:匹配任意单一字符
  • “[]”:匹配任何包含在方括号内的单字符

例如:

[root@localhost ~]# ls *.sh
# 匹配以.sh结尾的文件

[root@localhost ~]# ls ?.sh
# 匹配文件名只有一个字符的.sh文件

[root@localhost ~]# ls [xyz].sh
# 匹配文件名为x.sh或y.sh或z.sh的文件

猜你喜欢

转载自www.cnblogs.com/yu2006070/p/9243328.html