linux-shell的重要性
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
最先检查的文件。与系统有关的最重要的环境 变量都在该文件中定义。 例如:PATH,USER,LOGNAME,MAIL, HOSTNAME,HISTSIZE,INPUTRC,ulimit 等。 阅读教材p218的shell设置文件
~/.bash.profile
这是每一位用户的bash环境设置文件,存在与用 户的主目录下,系统执行完/etc/profile后,接 着执行该文件,设置USERNAME,
TERM:终端的类型。
UID:当前用户的标识符,取值是由数字构成的字符串。
PWD:当前工作目录的绝对路径名,该变量的取值随cd命令的 使用而变化。
PS1:主提示符,在特权用户下,缺省的主提示符是“#”,在 普通用户下,缺省的主提示符是“$”。
PS2:在shell接收用户输入命令的过程中,如果用户在输入行 的末尾输入“\”然后回车,或者当用户按回车键时shell判断出用 户输入的命令没有结束时,显示这个辅助提示符,提示用户继续 输入命令的其余部分,缺省的辅助提示符是“>”。
$exit 可以退出这个子shell。
bash的功能
• 交互式处理(命令解释功能) • 命令补全功能(按tab或连续按两次esc) • 查阅历史命令history • 别名功能 • 后台处理 • 输入输出重定向 • 管道
Shell中的特殊字符
特殊字符: *:可以匹配任意长度的字符串 ?:可以匹配任何一个字符 ;:分隔多个命令 #:注释 `(倒引号):包含在一对倒引号中的字符串代
Fra Baidu bibliotek
关于批量创建多用户
/etc/passwd中的密码加密后存放在/etc/shadow中 以增强系统的安全性。而即使是root也只能读 取shadow文件的内容而无法修改其内容。
这两个配置文件的一致性由系统自动维护。
系统提供的两个命令:pwunconv和pwconv pwunconv:将存放在shadow中的加密密码写回
表命令 []:指定字符范围 [!]:排除指定范围
控制组合键
常见的控制组合键见教材p214
Shell环境变量介绍与设置
像高级程序设计语言一样,shell也提供说明和使 用变量的功能。对shell来讲,所有变量的取值 都是一个字符串,shell程序采用$var的形式来 引用名为var的变量的值。 Shell有以下几种基本类型的变量:
Shell是一个命令解释器,它解释由用户输 入的命令并且把它们送到内核。Shell有 自己的编程语言,允许用户编写由shell 命令组成的程序。Shell类似高级语言编 程。用这种编程语言编写的Shell程序与 其他应用程序具有同样的效果。
用户输入的命令的类型
可以将用户输入的命令分为两类:
• 内部命令:由操作系统提供,与操作系统内核 联系比较紧密的命令,在操作系统自举过程中 已经作为进程被启动,常驻内存。运行比较快。
正则表达式
正则表达式是指由shell 事先定义的一些特殊符 号,来协助搜索字符串或替换文件中特定的字 符串。类似于win word中的“查找于替换”, 但功能更加强大。
在linux中可以用来执行正则表达式的工具很多, 包括VI,grep,sed,awk,ed,csplit等。
Vi中处理正则表达式见教材p223-224
第十章 shell的重要性
• Shell基本概念 • Shell功能介绍 • Shell环境变量介绍与设置 • Shell设置文件 • Shell脚本 • 在Shell中使用正则表达式
Shell基本概念
Shell是系统的用户界面,提供了用户与内 核进行交互操作的一种接口。它接收用 户输入的命令并把它送入内核去执行。
(2)sh < SHELL程序文件名
格式为:
bash<SHELL程序文件名
这种方式就是利用输入重定向,使shell命令 解释程序的输入取自指定的程序文件。
(3)用chmod命令使shell程序成为可执行的
一个文件能否运行取决于该文件的内容本 身可执行且该文件具有执行权。对于shell程序, 当用编辑器生成一个文件时,系统赋予的许可 权限都是644(rw-r-r--),因此,当用户需要运 行这个文件时,只需要象运行任何一个外部命 令那样运行该 shell脚本即可。
作为程序设计语言,它定义了各种变量和参
数,并提供了许多在高级语言中才具有的
控制结构,包括循环和分支。它虽然不是 Linux系统核心的一部分,但它调用了系统 核心的大部分功能来执行程序、建立文件
并以并发的方式协调各个程序的运行。因 此,对于用户来说,shell是最重要的实用程 序,深入了解和熟练掌握shell的特性极其使 用方法,是用好Linux系统的关键。可以说, shell使用的熟练程度反映了用户对Linux使 用的熟练程度。
使用shell脚本的步骤2
运行脚本程序:
执行shell程序的方法有三种: (1)sh shell程序文件名 这种方法的命令格式为:
bash shell程序文件名 这实际上是调用一个新的bash命令解释程序, 而把shell程序文件名作为参数传递给它。新启 动的shell将去读指定的文件,执行文件中列出 的命令,当所有的命令都执行完结束。该方法 的优点是可以利用shell调试功能。
使用shell脚本的步骤1
1。编写脚本
用户可以用任何文本编辑器(vi,emacs等)来编 写shell程序。因为shell程序是解释执行的,所 以不需要编译装配成目标程序,按照shell编程 的惯例,以bash为例,程序的第一行一般为 “#!/bin/bash”,其中#表示该行是注释,叹 号“!”告诉shell运行叹号之后的命令并用文 件的其余部分作为输入,也就是运行/bin/bash 并让/bin/bash去执行shell程序的内容。
passwd文件,并删除shadow文件。 pwconv:创建shadow文件,将存放在passwd中的
加密密码移动到shadow 文件中
用下面的命令来查看你自己的shell类型:
echo $SHELL $SHELL是一个环境变量,它记录用户所使用的 shell类型。你可以用命令:
#shell-name 来转换到别的shell,这里shell-name是你想要尝试 使用的shell的名称,如ash等。这个命令为用户又启 动了一个shell,这个shell在最初登录的那个shell之后, 称为下级的shell或子shell。使用命令:
执行方法:直接在命令提示符下输入命令名及 其选项和参数。
• 外部命令
– 由操作系统提供的不常驻内存的部分命令,需要 由与该命令对应的可执行的程序存放在硬盘上。
– 任何可执行的程序。 执行方法:命令(程序)的路径+名字 选项,参数
Shell的类型
Linux支持的shell的类型都记录在/etc/shells中。 目前比较常用的shell有ash、bash、ksh、csh、zsh等,
~/.bash_history
记录用户先前使用的历史命令。
Shell脚本
其实作为命令解释程序交互式地解释和执行用 户输入的命令只是shell功能的一个方面,shell 还可以用来进行程序设计,它提供了定义变量 和参数的手段以及丰富的程序控制结构。使用 shell编程类似于DOS中的批处理文件,称为 shell script,又叫shell程序或shell脚本。
设置环境变量
利用格式 环境变量名=变量值 即可重新设置环境变量。 查看所有环境变量的命令:set
Shell设置文件
改变环境变量的方法由两个: 1。赋值语句 2。Shell设置文件 当用户登陆时,系统会检查shell 设置文件来进
行环境变量的设置。
与shell有关的设置文件
• /etc/profile 这是系统最重要的设置文件,也是用户登陆时
BASH—ENV,PATH等环境变量。
~/.bashrc
系统检查完前两个文件后,就检查该文件。 前两个文件只有用户登陆时才检查,而该文件
每执行一次bash就检查一遍该文件。 该文件主要定义一些终端机设置和shell提示符。
~/.bash_login
这是用户的登陆文件,如果~/.bash_profile不存 在,就转而读取该文件。
用户每次登陆时该文件都会被读取,所以该文 件中一般存放一些登陆后必须执行的命令。
~/.profile
该文件的功能与~/.bash_profile一样,当 ~/.bash_profile和~/.bahs_login都不存在时,系 统检查该文件。
~/.bash_logout
当用户注销时,shell 在结束前读取的文件,主 要执行一些善后的工作,例如清空屏幕,临时 文件夹等。
(1)shell定义的环境变量 (2)用户定义的变量 (3)位置参数 (4)预定义变量
环境变量: shell在开始执行时就已经定义了一些和系统的工作环 境有关的变量,这些变量用户还可以重新定义,常用的shell环境 变量有:
HOME:用于保存注册目录的完全路径名。
PATH:用于保存用冒号分隔的目录路径名,shell将按PATH变 量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的 可执行文件将被执行。
~/.bash.profile
这是每一位用户的bash环境设置文件,存在与用 户的主目录下,系统执行完/etc/profile后,接 着执行该文件,设置USERNAME,
TERM:终端的类型。
UID:当前用户的标识符,取值是由数字构成的字符串。
PWD:当前工作目录的绝对路径名,该变量的取值随cd命令的 使用而变化。
PS1:主提示符,在特权用户下,缺省的主提示符是“#”,在 普通用户下,缺省的主提示符是“$”。
PS2:在shell接收用户输入命令的过程中,如果用户在输入行 的末尾输入“\”然后回车,或者当用户按回车键时shell判断出用 户输入的命令没有结束时,显示这个辅助提示符,提示用户继续 输入命令的其余部分,缺省的辅助提示符是“>”。
$exit 可以退出这个子shell。
bash的功能
• 交互式处理(命令解释功能) • 命令补全功能(按tab或连续按两次esc) • 查阅历史命令history • 别名功能 • 后台处理 • 输入输出重定向 • 管道
Shell中的特殊字符
特殊字符: *:可以匹配任意长度的字符串 ?:可以匹配任何一个字符 ;:分隔多个命令 #:注释 `(倒引号):包含在一对倒引号中的字符串代
Fra Baidu bibliotek
关于批量创建多用户
/etc/passwd中的密码加密后存放在/etc/shadow中 以增强系统的安全性。而即使是root也只能读 取shadow文件的内容而无法修改其内容。
这两个配置文件的一致性由系统自动维护。
系统提供的两个命令:pwunconv和pwconv pwunconv:将存放在shadow中的加密密码写回
表命令 []:指定字符范围 [!]:排除指定范围
控制组合键
常见的控制组合键见教材p214
Shell环境变量介绍与设置
像高级程序设计语言一样,shell也提供说明和使 用变量的功能。对shell来讲,所有变量的取值 都是一个字符串,shell程序采用$var的形式来 引用名为var的变量的值。 Shell有以下几种基本类型的变量:
Shell是一个命令解释器,它解释由用户输 入的命令并且把它们送到内核。Shell有 自己的编程语言,允许用户编写由shell 命令组成的程序。Shell类似高级语言编 程。用这种编程语言编写的Shell程序与 其他应用程序具有同样的效果。
用户输入的命令的类型
可以将用户输入的命令分为两类:
• 内部命令:由操作系统提供,与操作系统内核 联系比较紧密的命令,在操作系统自举过程中 已经作为进程被启动,常驻内存。运行比较快。
正则表达式
正则表达式是指由shell 事先定义的一些特殊符 号,来协助搜索字符串或替换文件中特定的字 符串。类似于win word中的“查找于替换”, 但功能更加强大。
在linux中可以用来执行正则表达式的工具很多, 包括VI,grep,sed,awk,ed,csplit等。
Vi中处理正则表达式见教材p223-224
第十章 shell的重要性
• Shell基本概念 • Shell功能介绍 • Shell环境变量介绍与设置 • Shell设置文件 • Shell脚本 • 在Shell中使用正则表达式
Shell基本概念
Shell是系统的用户界面,提供了用户与内 核进行交互操作的一种接口。它接收用 户输入的命令并把它送入内核去执行。
(2)sh < SHELL程序文件名
格式为:
bash<SHELL程序文件名
这种方式就是利用输入重定向,使shell命令 解释程序的输入取自指定的程序文件。
(3)用chmod命令使shell程序成为可执行的
一个文件能否运行取决于该文件的内容本 身可执行且该文件具有执行权。对于shell程序, 当用编辑器生成一个文件时,系统赋予的许可 权限都是644(rw-r-r--),因此,当用户需要运 行这个文件时,只需要象运行任何一个外部命 令那样运行该 shell脚本即可。
作为程序设计语言,它定义了各种变量和参
数,并提供了许多在高级语言中才具有的
控制结构,包括循环和分支。它虽然不是 Linux系统核心的一部分,但它调用了系统 核心的大部分功能来执行程序、建立文件
并以并发的方式协调各个程序的运行。因 此,对于用户来说,shell是最重要的实用程 序,深入了解和熟练掌握shell的特性极其使 用方法,是用好Linux系统的关键。可以说, shell使用的熟练程度反映了用户对Linux使 用的熟练程度。
使用shell脚本的步骤2
运行脚本程序:
执行shell程序的方法有三种: (1)sh shell程序文件名 这种方法的命令格式为:
bash shell程序文件名 这实际上是调用一个新的bash命令解释程序, 而把shell程序文件名作为参数传递给它。新启 动的shell将去读指定的文件,执行文件中列出 的命令,当所有的命令都执行完结束。该方法 的优点是可以利用shell调试功能。
使用shell脚本的步骤1
1。编写脚本
用户可以用任何文本编辑器(vi,emacs等)来编 写shell程序。因为shell程序是解释执行的,所 以不需要编译装配成目标程序,按照shell编程 的惯例,以bash为例,程序的第一行一般为 “#!/bin/bash”,其中#表示该行是注释,叹 号“!”告诉shell运行叹号之后的命令并用文 件的其余部分作为输入,也就是运行/bin/bash 并让/bin/bash去执行shell程序的内容。
passwd文件,并删除shadow文件。 pwconv:创建shadow文件,将存放在passwd中的
加密密码移动到shadow 文件中
用下面的命令来查看你自己的shell类型:
echo $SHELL $SHELL是一个环境变量,它记录用户所使用的 shell类型。你可以用命令:
#shell-name 来转换到别的shell,这里shell-name是你想要尝试 使用的shell的名称,如ash等。这个命令为用户又启 动了一个shell,这个shell在最初登录的那个shell之后, 称为下级的shell或子shell。使用命令:
执行方法:直接在命令提示符下输入命令名及 其选项和参数。
• 外部命令
– 由操作系统提供的不常驻内存的部分命令,需要 由与该命令对应的可执行的程序存放在硬盘上。
– 任何可执行的程序。 执行方法:命令(程序)的路径+名字 选项,参数
Shell的类型
Linux支持的shell的类型都记录在/etc/shells中。 目前比较常用的shell有ash、bash、ksh、csh、zsh等,
~/.bash_history
记录用户先前使用的历史命令。
Shell脚本
其实作为命令解释程序交互式地解释和执行用 户输入的命令只是shell功能的一个方面,shell 还可以用来进行程序设计,它提供了定义变量 和参数的手段以及丰富的程序控制结构。使用 shell编程类似于DOS中的批处理文件,称为 shell script,又叫shell程序或shell脚本。
设置环境变量
利用格式 环境变量名=变量值 即可重新设置环境变量。 查看所有环境变量的命令:set
Shell设置文件
改变环境变量的方法由两个: 1。赋值语句 2。Shell设置文件 当用户登陆时,系统会检查shell 设置文件来进
行环境变量的设置。
与shell有关的设置文件
• /etc/profile 这是系统最重要的设置文件,也是用户登陆时
BASH—ENV,PATH等环境变量。
~/.bashrc
系统检查完前两个文件后,就检查该文件。 前两个文件只有用户登陆时才检查,而该文件
每执行一次bash就检查一遍该文件。 该文件主要定义一些终端机设置和shell提示符。
~/.bash_login
这是用户的登陆文件,如果~/.bash_profile不存 在,就转而读取该文件。
用户每次登陆时该文件都会被读取,所以该文 件中一般存放一些登陆后必须执行的命令。
~/.profile
该文件的功能与~/.bash_profile一样,当 ~/.bash_profile和~/.bahs_login都不存在时,系 统检查该文件。
~/.bash_logout
当用户注销时,shell 在结束前读取的文件,主 要执行一些善后的工作,例如清空屏幕,临时 文件夹等。
(1)shell定义的环境变量 (2)用户定义的变量 (3)位置参数 (4)预定义变量
环境变量: shell在开始执行时就已经定义了一些和系统的工作环 境有关的变量,这些变量用户还可以重新定义,常用的shell环境 变量有:
HOME:用于保存注册目录的完全路径名。
PATH:用于保存用冒号分隔的目录路径名,shell将按PATH变 量中给出的顺序搜索这些目录,找到的第一个与命令名称一致的 可执行文件将被执行。