<CTRL—i> 向后搜索你的命令历史是一个伟大的工具,linux用户使用他们的历史(命令)习惯以后能够提高效率和使用他们的shell的速度,今天小编就来说说关于环境变量初始化?下面更多详细答案一起来看看吧!

环境变量初始化(第七章设置环境变量)

环境变量初始化

7.25 历史命令的技巧1.使用上下方向键卷动找到想用的先前命令;2.键入<CTRL—r> 去搜索命令历史中的一个命令;

<CTRL—i> 向后搜索

3.使用<ESC> — . 或 <ALT> — . 从以前的命令恢复上一个参数

你的命令历史是一个伟大的工具,linux用户使用他们的历史(命令)习惯以后能够提高效率和使用他们的shell的速度。

你能够把命令历史中忽略重复的完全相同的命令和重复的行,只留不同的命令行,只要向你的.bashrc文件加入以下行:

export HISTCONTROL=ignoreboth

7.26 输入长命令的技巧1.键入 <TAB>去补充完整命令行。2.Bash将输完整个命令和文件名。

$ xboa <TAB>

$ xboard

你能够配置修正的命令去忽略真正的文件命令。例如:忽略以 .bak结尾的文件,将这一行加入到你的 .bashrc文件。

export FIGNORE=‘.bak’

7.27 命令编辑技巧1. 命令的快捷键。

【CTRL—A】 移动到行的开头

【CTRL—E】 移动光标到行尾

【CTRL—K】 删除到行尾

【ESC—f】 移动光标到下一个单词开始

【ESC—b】 移动光标到以前的或当前(现在)单词的开头

2. 命令行编辑:

将命令行编辑与历史(命令)相结合是一个修改先前运行的命令的好办法。bash 里的默认键盘组合与那些文本编辑器emass一样;vi编辑器中流行的键盘组合也可为用户所利用。

3. 默认的bash使用emacs格式键盘组合来编辑命令。4. 键入set -o vi去改变键盘组合到vi格式。5. 在$ HOME/.inputrc中,使默认的vi加入相关的命令。

键盘组合:

更多的用户更喜欢emacs格式键盘组合,然而,vi的用户通常更喜欢拥有自己的vi键盘组合。

7.28 设置shell命令set1.查询当前所有的变量

$ set

BASH=/bin/bash bash文件所在位置

BASH-ENV=/home/irchen/.bashrc bash配置文件所在位置

BASH-VERSION=1.14.7(1) bash的版本

ColumNs=80 纯文模式的画面宽度为80列

EUID=504

HISTFILESIZE= /home/irchen/.bash-history 指令历程记录文件

HISTFILESIZE=1000 所在的位置

HISTSTZE=1000 指令历程最多存储1000条

HOME=/home/irchen 用户的工作目录

HOSINAME=shadow . flag . com . tw 本机计算机的网络名称

HOSTTYPE=i386 计算机类型,i386代表是X86平台

IFS

INPUTRC=/etc/inputrc

KDEDIR=/usr

LANG=zh—TW . BIGS 语言设置为台湾区Big5

LINES=24 纯文本模式画面的高度为24行

LOGNAME=irchen 用户帐号的名称

MAIL=/var/spool/mail/irchen 用户邮件存放目录

MAILCHECK=60 每60秒就检查是否有新的电子邮件

OPTERR=1

OPTIND=1

OSGYPE=linux 操作系统为linux

PATH=/usr/local/bin:/bin:/usr/bin:/usr/x11Rl/bin:/home/irchea/bin

执行指令时的查找路径

PPID=8695

PS1=[\u\h\w]\$ shell的提示符

PS2=>

PS4=

PWD=/home/irchen 当前用户所在目录

SHELL=/bin/bas 当前使用的shell为bash

SHLRL=1

TERM=ansi 终端型号为ansi

UID=504

USER=irchen

当前用户的名称

USERNAME=Teyy

2. 使重定向的文件去覆盖已经存在的文件:

$ set -c

$ cat:file1>file2 无法覆盖现有文件

$ set c 恢复原来的设置

$cat file>file2 可以覆盖现有文件

7.29 设置或显示环境变量命令export1. 语法:

export [-fn] [变量名称] [=变量设置值]

或export -p

⑴ 在shell 中执行程序时,shell会提供一组环境变量。

⑵ export可新增、修改或删除环境变量,供后续执行的程序使用。

⑶ export的作用范围仅及于该次登录操作。

-n 删除指定的变量。变量实际上并未删除。

-p 列出所有shell赋予程序的环境变量。

2. 举例说明

⑴ 设置默认编辑器:

$ export EDFTOR=/usr/bin/pico

$ echo $ EDITOR

$ export EDITOR= (空白为无效设置)

⑵ 设置HISTEILE SIZE变量

$ export HESTFILESIZE=750

$ echo $HISTFILESIZE

750

⑶ 删除HOME变量:

$ export -p

$ export -n HOME

$ echo $ HOME

$ exrort -p

7.30常用快捷键1.【Ctrl d】:输入结束。在shell下相当于一个exit。2.【Ctrl c】:键盘中断请求。3.【Ctrl s】 &【Ctrl q】:暂停 / 恢复屏幕输出。4.【Ctrl l】:清屏,相当于clear。5.【tab】:自动补完命令行与文件名。

——【tab】键双击可以列出所有可能匹配的选择。

7.31本单元重要文件和重要命令1.重要文件

/etc/profile

/etc/bashrc

~/.bashrc

~/.bash—prafile

2.重要命令

sh

bash

csh

ksh

tcsh

which

7.32设置环境变量试验—bash Shell

估计时间: 45分钟

目标:  深入了解bash shell,包括创建定制。

试验的起点:一个Red Hat Linux系统。

1.使用Aliases

任务:

⑴ 你决定创建一个alias,当你使用cls的时候,系统能够运行clear命令清除你的屏幕。使用student身份在tty1登录,然后输入下列命令.

$ alias cls=‘clear’

$ alias

$ cls

⑵ 当你重新登录的时候这个别名就丢失了。确信新的别名在用户student每次登录的时候都能够使用,可以执行一下几步。

$ cd

$ vi .bashrc

查找包含下列的文字:#User specific aliases and functions 添加到你的别名命令行:

alias cls=’clear’

保存并推出。

⑶ 测试你的改变当你注销的时候,重新登录到tty1上的时候,是下面的命令:

$ alias

$ cls

⑷ 现在使用ls 的man page 去创建一个叫lr的别名,利用ls的五个开关。测试并添加你的别名到.bashrc中.这个别名能够:

a)用长格式显示文件

b)显示隐含文件

c)给文件分类

d)用相反的顺序显示文件

e)按文件修改时间显示文件。

目标:

一条新的清屏命令和一条新的列文件命令。(都是别名)

2.改变你的bash提示。

情景/故事:

你决定定制你的bash提示以能够显示完全的路径和命令的序列号。

任务:

⑴ 在终端窗口,显示当前主要提示符的值。

$ echo $PS1

⑵ 改变你的提示符为一个字符串。

$ PS1=’Red Hat Linux ->’

⑶ 这个不常使用,因此恢复到有$提示符的情况下,同时加上主机名。

$ PS1=’\h $’

⑷ 在主机名和$符号之间插入bash表示历史纪录提示符的特殊字符 \!。

⑸ 查找bash 的man 手册,把当前的工作目录放入提示符中。

⑹ 你定制的提示符显示实例,如不同请继续修改。

station1:~ 21 $ cd /tmp

station1:/tmp 22 $

⑺ 编辑你重新定义的PS1 到你的.bashrc,然后打开新的终端窗口看看结果如何.

3.配置shell选项。

情景/故事:

使用set和shopt你定制几个bash shell 。

任务:

⑴ 以student身份登录tty1界面上.查看许多普遍的配置shell选项:

$ set –o

allexport off

braceexpand on

emacs on

errexit off

hashall on

… output truncated …

⑵ 查看目前ignoreeof的属性,用ctrl d 键看是否能logout.

⑶ 用student身份在tty1上登录,执行下面的改变,然后测试ignoreeof选项:

$ set –o ignoreeof

$ <ctrl-d>

$ 用 “logout” 退出shell

$ set o ignoreeof

$ <ctrl-d>

⑷ 当试图执行命令的时候可以看到提示信息.使用type的命令:

$ type cat

cat is hashed (/bin/cat)

$ type cls

cls is aliased to ‘clear’

$ type set

hopt is a shell builtin

$ type while

while is a shell keyword

结果:

现在你有一个更好的shell 选项.

4. 命令替代。

⑴ 确定完全路径名

$ which metacity

$ which <esc>.-message

$ ^message^window-demo

⑵ 重复执行上一个包含字符串ig的命令:

$ <ctrl-r>ig<return>

⑶ 当一个命令在另一个命令的后面用(‘ ‘)起来的时候,bash会先执行后面的命令并把执行的结果作为第一个命令的输入. 使用这个技术,看看下面命令的执行结果.

$ ls –l ‘which nautilus‘

,