IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux shell -> 正文阅读

[系统运维]Linux shell

SHELL的功能及分类

SHELL是UNIX作业系统中的’‘命令编译器’’,它基本上是一个常驻的执行程式,主要功能是接受使用者的指令、寻找命令的所在位置并加以执行。

UNIX系统中SHELL大致可分为两大阵营:

  • 一是1970年代前期由美国贝尔实验室所发展的sh(Bourne Shell),它是UNIX系统中的标准SHELL,此阵营后来又发展出ksh(Korne Shell)、bash(Bourne Again Shell)等功能更多的介面;
  • 二是美国柏克来大学在1970年代后期发展的csh(C Shell),和它属于同一阵营的有tcsh等。

无论上述的那一种shell,它的基本功能与作用都是相同的。

在UNIX系统中,使用者可视自己的需要来选择ksh、bash、csh、tcsh;

各个shell的配置文件

  • sh阵营(bash)相关配置文件

    系统级别:/etc/profile

    用户级别:$HOME/.profile 或者 $HOME/.bashrc

  • csh阵营,即C shell 的相关配置文件

    系统级别:/etc/profile

    用户级别:$HOME/.profile 或者 $HOME/.cshrc & $HOME/.login

常用的csh 和bash 区别

bash 是大多数Linux系统以及Mac OS X默认的shell

主要是上面两大阵营的区别,导致了如下的区别。

配置文件上的区别

.cshrc 	是 	csh的配置文件
.bashrc 是 	bash的配置文件

设置环境变量上的区别

csh

setenv LANG             "zh_CN.GBK"
setenv NLS_LANG         "SIMPLIFIED CHINESE_CHINA.AL32UTF8"

bash

export LANG="zh_CN.UTF-8"
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"

了解下其他概念

用户变量: 用户定义,可以修改;

环境变量: 系统提供,不用定义, 可以修改。

在bashrc中,可以利用export将用户变量转为环境变量

set JAVA_HOME=/usr/share/jdk1.5.0_05
export JAVA_HOME
set PATH=$JAVA_HOME/bin:$PATH
export PATH
set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH

set主要是用来设置变量,这里的变量是普通变量,就像C语言里一样,使用一个变量之前要申明一下。

相关配置设置

UNIX环境中能使用中文

sh系列: $HOME/.profile

 stty -istrip cs8
 LC_CTYPE=ISO_8859_1
 export LC_CTYPE

csh系列:$HOME/.cshrc

stty -istrip cs8 
setenv LC_CTYPE iso_8859_1

提示符号后面能随着路径更动而改变

sh系列: $HOME/.profile

PS1=''`PWD`> ''

或

PS1="w> "

csh系列:$HOME/.cshrc

set prompt=''%~> ''

umask设置

新增档案或目录的属性(mode): 默认是系统管理者以create所设定的属性减去设置的umask值,

如系统管理者所设定的档案权利状态是777,而使用者又自行设定了umask 022,

则这个使用者在他个人帐号下的每一个新产生的档案的权利状态都将会是755(777-022)。

Function 与 Alias

我们可以用function或alias指令实现用一简短字串来代替这一个或一连串的指令,

function的用法如:

vi(){
 mesg n
 /usr/ucb/vi $*
 mesg y
 }

其中’‘vi’‘是function的名称,{}之间是’‘vi’'这个function所包含的指令内容,需要注意的是:function的名称不能与shell的内键指令名称相同,否则这个function无法成立。

alias指令的用法如:

alias vi "mesg n; /usr/ucb/vi !*; mesg y"

其中vi即是’’’'中所包含字串的别名,别名与各shell的名称可以一样(alias本身也是一个内键指令)。

若我们在某一shell中同时建立一名称相同的function与alias,则alias的执行次序优先function 的执行。

设置变量

sh系列

[VAR]=[STRING or NUMBER]

csh系列

set [var] = [STRING or NUMBER]

设置环境变量

与变量的区别: 当我们离开shell、进入另一个程序之后,仍需要使用这个变量,我们需要设置这个变量为环境变量

sh系列

export [VAR]

csh系列

setenv [var] [STRING or NUMBER]
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-11-28 11:39:26  更:2021-11-28 11:41:34 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 2:28:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码