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这个文件:一开始没有注意这个文件,盲目的去百度,一番百度之后 ...
随机推荐
- C#HTTP代理的实现之注册表实现
HTTP代理的实现形式,可以通过修改注册表项,然后启动浏览器来实现,也可以通过SOCKET通信,构造HTTP头实现.下面是关于注册表实现的方式. 注册表实现,只需要修改几个关键的注册表项就可以了. 第 ...
- windows 服务器系统日志分析及安全
一.利用Windows自带的防火墙日志检测入侵 下面是一条防火墙日志记录 2005-01-1300:35:04OPENTCP61.145.129.13364.233.189.104495980 200 ...
- Select * 一定不走索引是否正确?
Select * 一定不走索引是否正确? 走索引指的是:SQL语句的执行计划用到了1.聚集索引查找 2.索引查找 ,并且查询语句中需要有where子句 根据where子句的过滤条件,去聚集索引或非 ...
- linux shell基础语法
1.第一个Shell脚本 打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码 ...
- 微信公众平台自定义菜单创建代码实现—java版
搞了两天的自定义菜单,终于搞定了,现在分享下心得,以便后来者少走弯路...... 好了,先看先微信官方的API 官方写的很详细,但是我看完后很茫然,不知道你们什么感觉. 我知道是post一个带参数的 ...
- Discuz开源论坛
Discuz开源论坛本地部署自动生成数据库 这个版本可能比较有点老,但是万变不离其宗,再新的版本都是在已有的基础上更新的,所以掌握方法是最重要的! 先上几张安装成功后的图 (安装成功的论坛首页 ...
- linux学习之linux的hostname修改详解《转》
linux的hostname是一个kernel变量,可以通过hostname命令来查看本机的hostname.也可以直接cat /proc/sys/kernel/hostname查看. #hostna ...
- 在MVC3中使用WebForm
Mvc和WebForm一直是有争议的两个平台,园子里也有很多人写过这方面的文章,给我印象比较深的是去年的时候看过的两篇文章http://www.cnblogs.com/mikelij/archive/ ...
- a5站长论坛和s8站长论坛-网上兼职做任务赚钱的两大网站
1.什么是做任务赚钱? 简而言之,就是你做别人不在行而你在行的技术 ,如 图片美化 网站建设 网站修改 网站推广等网络业务. 2.任务赚钱有什么特点? 完全免费,你付出的是技术和时间,完全免费,不过 ...
- android JNI--- 搭建环境(1)
搭建好我们的ndk开发环境,这部分网上资料一大堆,拿来主义~~~~ 工欲善其事必先利其器 , 下面介绍下 Eclipse SDK NDK Cygwin CDT 集成开发环境的搭建. 1.Android ...