初识Shell
来源:互联网 发布:mac怎么写入移动硬盘 编辑:程序博客网 时间:2024/06/07 04:56
一、什么是Shell
用户登录Linux后,就会出现一个系统提示符号,可以在符号后输入一大堆命令,并获得预期效果,到底幕后是谁在帮我们处理这一大堆事情呢? 就是Shell,当用户登录时,实际上是进入到一个叫Shell的程序中。 Shell担任了翻译的角色,将用户输入的每个命令翻译成Linux系统能够识别的指令。
下面是Shell中需要了解的几个概念:
1. 交互模式
当Shell收到用户输入命令后,就开始执行这项命令,并把结果显示到屏幕上,结束后Shell又会显示系统提示符,等待用户输入下一条命令。
2. 后台运行
后台运行的符号为”&”,在命令后面加上“&”符号,就可以将程序放到后台运行。 在后台执行的程序怎么使它恢复到前台来运行呢?执行fg命令。程序已经在前台运行,执行ctrl+z就可以放入后台。如果有多个进程在后台运行,执行jobs命令,能够列出所有在后台执行的进程,那个中括号([ ])里面的数字就是 jobs 的代号 ,通过fg %number 就可以恢复指定的后台进程。
3. 输入输出重定向
通过重定向符”>””<”将标准输入输出重新定向。
4. 管道
通过管道符号“|”完成一系列命令的顺序处理。
5. 通配符
通配符的作用是在处理文件的时候用通配符模糊匹配一个或多个字符
6. 环境变量
Shell是个庞大的程序,为了使工作环境符合用户的习惯或者应用的需要,可以让用户自行设置Shell使用环境。
7. Shell Script
Shell最重要也是最负责的就是Shell Script。Shell除了解释命令以外还有重要的功能就是程序语言,可以通过Shell Script进程程序设计,完成更加复杂的功能。
二、Shell变量
既然Shell能够编程,当然就一定具备变量定义的功能。 变量分为预定义变量和环境变量。
预定义变量---通常是用户自行定义的特殊用途变量,有效返回限于定义变量的Script中。
环境变量---通常用来定义系统重要的设置,主要功能为提供程序执行时的参考。
定义预定义变量的语法是:varName=value
在Shell中定义变量很简单,不需要定义变量类型,只需要用“=”给变量赋值即可。变量名称与等号之间不能有空格,否则Shell会认为是错误的命令。使用变量的值,只需要在变量前加“$”。
set---查看所有已经设置的变量。
unset varName---删除设置的变量。
设置环境变量使用export命令,语法是:export varName=value
env---显示当前环境变量。
export –n varName 删除设置的环境变量。
环境变量的作用域
在.bash_profile中定义的变量在用户登录后一直有效。 在普通脚本文件中定义的变量只在脚本内部有效。
几个常用的环境变量如下表所示:
变量名
说明
PWD
显示当前路径
UID
用户ID
BASH_VERSION
Bash的版本
HOSTTYPE
显示计算机平台
OSTYPE
显示操作系统种类
PATH
系统命令,文件查找路径
HOME
用户的home目录
bash设置文件
/etc/profile 这是系统的Shell设置文件,用户可以将系统最重要的环境变量定义到这个文件中。每次登陆的时候Bash都会读这个文件。
~/.bash_profile 是用户个人的Bash设置文件,用户登录的时候bash就会读取该用户目录下的.bash_file文件。
~/.bashrc 每次启动shell时候都会读取这个文件。
- Shell初识
- Shell初识
- 初识shell
- 初识Shell
- 初识SHELL
- 初识shell
- shell 初识
- 初识shell
- 初识shell
- 初识Shell
- 初识Shell
- shell编程一:初识shell
- 初识 shell 脚本
- 初识shell编程
- 初识 shell 脚本
- 初识linux的shell
- 初识shell编程
- 初识 linux shell
- 公司电脑上关于自己的文档分类规划(些许图文说的明白)
- 关于QObject::connect: Cannot queue arguments of type"..."
- android 获取屏幕分辨率
- ejb使用EntityManager调用数据库的配置
- FZU--2150--Fire Game【BFS】
- 初识Shell
- Phoenix Framework中为Tree的每个节点设置不同图标的方法
- 我的ac自动机模板
- HDOJ 题目18651sting(大数 斐波那契)
- 小卧室的装修设计需要注意的须知
- 在 Eclipse中配置 tomcat
- Codeforces#258 (Div.2) E - Devu and Flowers 容斥
- 1407251704-hd-求绝对值.cpp
- E -What's Cryptanalysis?