shell基础知识
2021/11/4 7:09:45
本文主要是介绍shell基础知识,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Shell 基础知识
什么是 Shell
Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户,下图所示用户、shell和操作系统的关系:
Shell也是一门编程语言,即shell脚本,shell是解释执行的脚本语言,可直接调用linux命令。(Java 语言是编译为class文件由JVM加载执行)
一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不相同的
# cat /etc/shells
Shell 种类
-
操作系统内核(kernel)与shell是独立的套件,而且都可被替换:
-
不同的操作系统使用不同的shell;
-
同一个kernel之上可以使用不同的shell。
常见的shell分为两大主流:
sh:(linux)
-
Bourne shell(sh) :Solaris,hpux默认shell
-
Bourne again shell(bash) :Linux系统默认shell
csh: (unix)
-
C shell(csh)
-
tc shell(tcsh)
查看使用 Shell
# echo $SHELL /bin/bash
Shell 环境定义
-
临时环境变量
所谓临时变量是指在用户在当前登陆环境生效的变量,用户登陆系统后,直接在命令行上定义的环境变量便只能在当前的登陆环境中使用。当退出系统后,环境变量将不能下次登陆时继续使用。
# aa=111 # echo $aa # set # 查看当前 bash 环境变量
-
将环境变量永久生效
通过将环境变量定义写入到配置文件中,用户每次登陆时系统自动定义,则无需再到命令行重新定义。定义环境变量的常见配置文件如下:
# vim /etc/profile #针对系统所有用户生效,此文件应用于所有用户每次登陆系统时的环境变量定义
.bash_profile:针对特定用户生效,$HOME为用户的宿主目录,当用户登陆系统后,首先继承/etc/profile文件中的定义,再应用.bash_profile文件中的定义。
# vim ~/.bash_profile
-
系统预定义的环境变量
系统环境变量对所有用户有效,如:$PATH、$HOME、$SHELL、$PWD等等,如下用echo命令打印上述的系统环境变量:
系统预定义了一些环境变量,这些环境变量对所有用户都有效
-
$PATH: 决定 shell 将到哪些目录中寻找命令或程序,PATH的值是一系列目录,当您运行一个程序时,Linux 在这些目录下进行搜寻编译链接
# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
-
$HOME: 当前用户的主目录(用户登录后缺省进入主目录)
# echo $HOME /root
-
$SHELL:当前用户使用的 shell 类型
# echo $SHELL /bin/bash
-
$PWD:当前用户的所在目录
# echo $PWD /root
-
这篇关于shell基础知识的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-10-06小米11i印度快充版ROM合集:极致体验,超越期待
- 2024-10-06【ROM下载】小米11i 5G 印度版系统, 疾速跃迁,定义新速度
- 2024-10-06【ROM下载】小米 11 青春活力版,青春无极限,活力全开
- 2024-10-05小米13T Pro系统合集:性能与摄影的极致融合,值得你升级的系统ROM
- 2024-10-01基于Python+Vue开发的医院门诊预约挂号系统
- 2024-10-01基于Python+Vue开发的旅游景区管理系统
- 2024-10-01RestfulAPI入门指南:打造简单易懂的API接口
- 2024-10-01初学者指南:了解和使用Server Action
- 2024-10-01Server Component入门指南:搭建与配置详解
- 2024-10-01React 中使用 useRequest 实现数据请求