<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‘
,