UNIX基础--Shells
Shells
Shell提供了一个和操作系统交互的命令行接口。shell的主要功能就是从输入取得命令然后去执行。FreeBSD内含了一些shell,包括:Bourne shell(sh)、 extended C shell(tcsh)。 其他shell也可在FreeBSD的Ports得到,例如:zsh和bash。
Shell的特点:
- 文件名补全
- 使用环境变量
Common Environment Variables
Variable Description
USER Current logged in user's name.
PATH Colon-separated list of directories to search for binaries.
DISPLAY Network name of the Xorg display to connect to, if available.
SHELL The current shell.
TERM The name of the user's type of terminal. Used to determine the capabilities of the terminal.
TERMCAP Database entry of the terminal escape codes to perform various terminal functions.
OSTYPE Type of operating system.
MACHTYPE The system's CPU architecture.
EDITOR The user's preferred text editor.
PAGER The user's preferred utility for viewing text one page at a time.
MANPATH Colon-separated list of directories to search for manual pages.
怎样设置环境变量:不同的shell有不同的方法。
- 在tcsh和csh这样的C-Style shell,使用
setenv设置环境变量 - 在sh和bash这样的Bourne shell,使用,
export设置环境变量
例如:设置或改变EDITOR环境变量,将EDITOR设为/usr/local/bin/vim.
在csh或tcsh下
setenv EDITOR /usr/local/bin/vim
在sh或bash下
export EDITOR="/usr/local/bin/vim"
命令行中在环境变量前加一个$字符,可以取得环境变量查看当前设置。
shell里有许多特别的字符代表着特别的内容,我们把叫做meta-characters。最常用的就是*字符,它可代表文件名的任何字符。为了防止shell去分析这些特别字符, 我们可在它之前加一个 \字符去说明它只是普通字符。
改变Shell
改变Shell的最简单方法是使用 chsh 命令。
- 执行 chsh 将根据EDITOR 环境变量进入到那个编辑器,假如没有设定,就会进入vi编辑器。 请改变“Shell:”这行对应值。
- 可使用chsh 的-s选项, 这样就能设置您的shell却又不用编辑器。假如想把shell改为bash:
chsh -s /usr/local/bin/bash
注意:新的shell必须在
/etc/shells文件里列出。 如果从ports里安装一个shell,应该默认自动添加到这个文件了。如果没有添加,用下面的命令添加:echo "/usr/local/bin/bash" >> /etc/shells,然后从新运行chsh.
Shell高级技巧
Advanced Shell Techniques
- 重定向:
>< - 管道:
|
UNIX基础--Shells的更多相关文章
- UNIX环境高级编程--第一章 UNIX基础知识
第一章 UNIX基础知识 1.2 UNIX体系结构 从严格意义上说,可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境.我们将这种软件称为内核(kernel),因为 它相对较小,且 ...
- 《UNIX环境高级编程》(APUE) 笔记第一章 - UNIX基础知识
1 - UNIX基础知识 Github 地址 1. 操作系统 可将操作系统定义为一种软件,它控制计算机硬件资源,提供程序运行环境.通常将这种软件称为 内核 (kernel) .( Linux 是 GN ...
- Unix 基础IO
内核通过文件描述符引用打开的文件,通常通过open函数或者create函数返回文件描述符. 基本函数: unix中基础的文件操作函数只有5个,分别是open,close,lseek,read,writ ...
- UNIX基础--安装应用程序: Packages 和 Ports
Packages and Ports 概述 FreeBSD 将许多系统工具捆绑作为基本系统的一部分.另外,FreeBSD 提供了两种补充的技术来安装第三方软件:FreeBSD Ports Collec ...
- UNIX基础上
时光飞逝,转眼已经毕业快2年了,觉得自己学的东西多却不精.对此深深的思考一下,觉得有必要连载unix环境编程文章,以此激励自己学习.在此立贴为证,2天一篇博客从零开始阐述unix的环境编程. 参考书籍 ...
- UNIX环境高级编程 第1章 UNIX基础知识
所有操作系统都为运行在它之上的程序提供各种服务,典型的服务包括:执行新程序.打开文件.读写文件.分配存储空间.提供时间等. UNIX体系结构 严格来说,操作系统是一种软件,它控制计算机硬件资源,提供程 ...
- UNIX基础概念
UNIX基本概念 进程 从用户观点来看:进程是程序的一个执行实例. 从UNIX系统内部来看,是为运行程序提供执行环境的实体,是系统进行资源分配和调度运行的一个单位. 进程有三个特点: 1)进程有一个控 ...
- 《UNIX环境高级编程》笔记——1.UNIX基础知识
这一章节侧重一些基本概念和书中用到的一些名词. 一.引言 所有的操作都提供服务,典型的服务包括:执行新程序.打开文件.读写文件.分配存储区以及获得当前时间等. 二.UNIX体系结构 其实linux常见 ...
- 第一章:UNIX基础知识
本章内容主要是为了学习UNIX的基本知识和一些最基本的系统函数. 学习的关键就是跟随者书本敲代码.本节遇到的第一个问题就死本书的apue.h这个文件:一开始没有注意这个文件,盲目的去百度,一番百度之后 ...
随机推荐
- 四.redis 事务
redis对事务的支持目前还比较简单.redis只能保证一个client发起的事务中的命令可以连续的执行,而中间不会插入其他client的命令. 由于redis是单线程来处理所有client的请求的所 ...
- Play 起步
*****************jdk下载地址: http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.ta ...
- NHIBERNATE的简单框架的设计
NHIBERNATE的简单框架的设计 上次的 NHibernate的Session管理策略和NHibernateHelper 发布并提供下载,给NHibernate刚入门的同学们带来很多便利. 最近有 ...
- tastypie Django REST framework
Its one of the primary authors' lecture on pyCon: http://www.youtube.com/watch?v=Zv26xHYlc8s&nor ...
- linux常见笔试题
一.填空题: 1. 在Linux系统中,以 文件 方式访问设备 . 2. Linux内核引导时,从文件 /etc/fstab 中读取要加载的文件系统. 3. Linux文件系统中每个文件用 i节点 来 ...
- oralce 10g 官方认证的操作系统版本
oralce 10g 官方认证的操作系统版本 Operating system x86 Red Hat Enterprise Linux AS/ES 3 (Update 4 ...
- 总结 React 组件的三种写法 及最佳实践 [涨经验]
React 专注于 view 层,组件化则是 React 的基础,也是其核心理念之一,一个完整的应用将由一个个独立的组件拼装而成. 截至目前 React 已经更新到 v15.4.2,由于 ES6 的普 ...
- HTML5 智能表单
HTML5 智能表单 1.表单新增属性 ☀ autofocus 属性 <input type="text" autofocus/>设置 autofocus 属性,使文 ...
- Dos.ORM Select查询 自定义列
自定义列 .Select( p = >new{ test = p.id}) // 同sql 列名 as 新列名 如下是 自己在写代码的例子,查询,分页,where条件,排序 var where ...
- AC日记——字典 codevs 4189
4189 字典 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 大师 Master 题解 查看运行结果 题目描述 Description 最经,skyzhong得到了 ...