set -o vi

再用esc+K键就可以使用上一条指令了

esc+k
esc+j
上下翻

ksh默认是emacs风格的。set -o emacs

在AIX下使用自己已经使用过的命令

在AIX下使用,默认的shell是KSH,和linux下的bash不一样的是,他不能采用我们大家已经熟悉的DOS下的键或者其他我们已经熟悉的快捷键来使用我们上次已经使用过的命令,比如在DOS命令状态下(我把我自己经常用的快捷键列出来,可能还其他的,慢慢补充),大家可以通过F7来取得你已经在当前DOS窗口中输入过的不重复的命令(Windows对你自己在当前窗口顺序输入的非重复命令进行排序,以0,1,2...来编号),F1重复上次同一个位置上的字符,F3重复上次所有的命令,F5和F8向上翻我已经输入过的命令,F9是可以输入你要显示的上次输入的非重复的命令ID(比如,进入某DOS窗口之后,我依次输入了两条命令:dir和cd test,那么本窗口的第0条命令就是dir,类推,当我按下F9的时候,系统提示我“输入命令号码”,这个时候我按照上次输入的顺序号进行输入即可,比如选择0那么这个时候就是dir命令,这个功能和F7的功能是一致的,只是F7可以选择,F9可以直接输入,这两个功能当你输入的命令比较长的时候是比较有用的)。
    要想在AIX下使用上次你已经使用过的命令,可以使用以下的方法:
    1、在ksh下,运行set -o vi,这个时候整个命令状态就是是VI编辑器了,操作的方法和VI编辑器一摸一样,要重复上次的命令,就在当前状态栏下按ESC,然后输入k,就可以看到下一条命令,按下k就可以查询上一条命令,h可以在当前行向前移动一个字符的位置,l可以在当前行向后移动一个字符的为止,当然这个时候相当于处于vi的状态,所有在vi状态下的对单行操作的命令都可以使用。编辑好之后直接按回车即可。
    2、如果不不是在ksh下,那么你可以在命令窗口下运行ksh -o vi,其他的命令和第一种方法一样
    3、在ksh的环境变量中设置EDITOR=vi即可,修改的方法即在.profile中直接加入EDITOR=vi;export EDITOR即可。
    4、删除历史命令,可以在当前用户的主目录下,查询到一个.sh_history的文件,里面记载了你所有在当前用户输入过的命令。可以将这个文件编辑一下,然后将其中的命令删除掉就可以了。当然你可以将自己喜欢的命令或者比较长的命令放在里面,以后你就直接调用就可以了。当然从这个文件可以看出上面几点讲的采用vi的命令来取得上次的命令,其实ksh是取得这个文件中的信息。
    5、以下小技巧:
     a、重复上一条命令可以直接在ksh状态下输入r
     b、你可以在ksh状态下执行r a=b,意思是先将上一条命令中的a字符用b字符替换,然后运行。

////////////////////

原因后来上网查了一下,暂且引用一下《FreeBSD使用大全》中的一段内容:

-----------------------------------------------------------------------------------------------

  • 配置用戶shell

  事實上sh與csh,并不是普通用戶的最佳選擇,因為這兩個shell在易用性方面做的不夠好,例如命令行編 輯功能不強、不能利用熱鍵重復執行命令等。較新的shell,如bash和tcsh都具有這些方便用戶使用的功能,但 必須安裝了這些shell程序之后,才能更改普通用戶的shell設置以使用這些shell程序。更改用戶的shell 可以使用pw、vipw或chsh。

  這兩個shell分別遵照sh和csh的風格,因此喜好csh風格的可以選擇tcsh,而喜歡sh風格的選擇 bash。除了這兩種shell之外,還有ksh、zsh等shell可供選擇。如果對兩種shell沒有偏好,可以 選擇bash,它是一個GNU軟件,比標准sh功能強大的多。

  使用了這兩些增強型shell之后,用戶就可以使用shell提供的命令行編輯功能。按照習慣的不同,可以選 擇vi風格的編輯方式或emacs風格的方式,缺省為emacs方式,這種方式使用方向鍵來回溯執行過的命令,并進行 修改,而vi風格使用字母命令作編輯鍵,例如使用h、j、k、l四個鍵來移動光標,vi風格的好處是不使用基本鍵盤之 外的控制鍵,因而可以適用于任何終端設備,并且進行編輯時手不需離開基本鍵盤,熟練操作之后最為快捷。emacs風格 比起vi風格更適合從個人計算機轉向Unix的使用者的習慣。bash, ksh ,zsh下使用下面的命令在emacs 風格和vi風格切換:

  bash$ set -o emacs

  bash$ set -o vi

  tcsh中使用不同的命令:

  % bind emacs

  % bind vi

  還可以為常用的命令設置別名,簡化用戶輸入,例如:

  bash$ alias ec=”echo This is a alias”

  bash$ ec

  This is a alias

  shell用于方便用戶操作的另一項能力是自動補全命令或文件名的功能,因為FreeBSD下的文件名可能很 長,將它們全部輸入比較麻煩。事實上可以輸入部分名字,然后按Tab鍵(在vi風格下是連續兩次按Esc鍵),shell 將自動補全文件名的剩余部分。如果已經輸入的這部分名字不能確定具體的命令或文件,那么shell只將能確定的部 分補上,然后響鈴通知使用者繼續輸入以明確具體的文件。

  事實上即使在基本的sh或csh下,也可以使用 “*” 等特殊字符,用模式匹配的方式來簡化輸入。

  bash$ cd /usr/loca*

  bash$ pwd

  /usr/local

  Unix中的多數程序都具備模式匹配的處理能力,而shell的模式匹配功能最為常用。shell可以使用這 些特殊模式來配置多個文件,達到簡化操作的目的。如果要熟練掌握Unix,必須掌握模式匹配。

  當試圖在bash下輸入漢字的時候,除了必須設置終端屬性能接受8位字符之外(執行stty pass8命令 ),還需要設置bash的輸入輸出轉換,可以在登錄腳本.profile文件中包括以下設置:

  bind 'set convert-meta off'

  bind 'set meta-flag on'

  bind 'set output-meta on'

set -o vi AIX下shell的更多相关文章

  1. 定制AIX操作系统的shell环境

    操作系统与外部最主要的接口就叫做shell.shell是操作系统最外面的一层.shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果. shel ...

  2. AIX下RAC搭建 Oracle10G(二)主机配置

    AIX下RAC搭建系列 AIX下RAC搭建 Oracle10G(二)主机配置 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AIX2 ...

  3. Linux 下shell显示-bash-4.1$不显示用户名路径的解决方法

    Linux CentOS下shell显示-bash-4.1$不显示用户名路径的解决方法   问题描述:   CentOS下新增一个用户,登录进去之后shell脚本的信息如下:     而不是我们经常看 ...

  4. CentOS下shell显示-bash-4.1#不显示用户名路径的解决方法

    CentOS下shell显示-bash-4.1$不显示用户名路径的解决方法 问题描述: CentOS下新增一个用户,登录进去之后shell脚本的信息如下: 而不是我们经常看到的username@hos ...

  5. CentOS下shell显示-bash-4.1$不显示用户名路径

    Linux CentOS下shell显示-bash-4.1$不显示用户名路径的解决方法. 问题描述: CentOS下新增一个用户,登录进去之后shell脚本的信息如下: -bash-4.1$ \ -b ...

  6. Linux 下Shell的学习

    1.Shell学习 1.什么是Shell    shell是一个命令解析器,在操作系统的最外层,负责和用户对话,将用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果.2.什么是shell脚本 ...

  7. Linux环境下shell和vim中乱码原因及消除办法

    shell和vim中乱码原因及消除办法 作者:Jack47 在Linux下开发,经常遇到乱码问题:shell或者vim中显示不了中文,或者能够显示,但不能输入中文.每次都是上网去搜,或者同事告诉我一些 ...

  8. AIX下tar解包问题

    今天,在AIX下安装tomcat,上传的版本是apache-tomcat-6.0.41.tar.gz,但用tar解压时出现以下问题: # tar xvf apache-tomcat-6.0.41.ta ...

  9. 06 Linux下Shell介绍

    一.概述 每个人在成功登陆Linux后,系统会出现不同的提示符号,例如$,~,#等,然后你就可以开始输入需要的命令.若命令正确,系统就会依据命令的要求来执行,直到注销系统为止,在登陆到注销期间,输入的 ...

随机推荐

  1. 常州day1p5

    给一个 n∗m 的矩阵,矩阵的每个格子上有一个不超过 30 的非负整数. 我们定义一条合法的路线是从(1,1)开始只能向右和向下移动到达(n,m)的路线. 定义数列 A1,A2,A3,..,An+m− ...

  2. 洛谷 P1854 花店橱窗布置 【dp】

    题目描述 某花店现有F束花,每一束花的品种都不一样,同时至少有同样数量的花瓶,被按顺序摆成一行,花瓶的位置是固定的,从左到右按1到V顺序编号,V是花瓶的数目.花束可以移动,并且每束花用1到F的整数标识 ...

  3. Codeforces 578B. "Or" Game(思维题)

    我们知道所有sigma(2^i){i<n}比2^n小,所以我们肯定是把这k次操作全部丢到一个数上看看能不能凑出二进制下一个更高位的1. 因为k最大只有10,我们可以求出每一个数乘以k次之后的值, ...

  4. Codeforces Round #207 (Div. 2)A B C E 水 思路 set 恶心分类

    A. Group of Students time limit per test 1 second memory limit per test 256 megabytes input standard ...

  5. poj3469 Dual Core CPU

    Dual Core CPU Time Limit: 15000MS   Memory Limit: 131072K Total Submissions: 25576   Accepted: 11033 ...

  6. SGU179 Brackets light

    179. Brackets light time limit per test: 0.25 sec. memory limit per test: 131072 KB input: standard  ...

  7. ubuntu系统安装与卸载软件常用命令

    一.unbuntu下的软件安装方式 1.deb包的安装方式 deb是debian系Linux的包管理方式,ubuntu是属于debian系的Linux发行版,所以默认支持这种软件安装方式,当下载到一个 ...

  8. NOIP模拟赛17

    5分.... T1 LOJ 计算几何瞎暴力 维护以下操作: 1.序列末尾加一个数 2.序列全体从小到大排序 3.查询区间和 4.序列全体异或一个数k 序列全体异或一个数,很明显是trie树 那么序列全 ...

  9. HDU 6053 TrickGCD 莫比乌斯函数/容斥/筛法

    题意:给出n个数$a[i]$,每个数可以变成不大于它的数,现问所有数的gcd大于1的方案数.其中$(n,a[i]<=1e5)$ 思路:鉴于a[i]不大,可以想到枚举gcd的值.考虑一个$gcd( ...

  10. Linux网络知识

    在思科上面模拟一下数据包的传递过程:一般上网使用的协议是tcp 交换机是一个2层的设备,它和Ip地址是没有关系的. 交换机上主要处理的是硬件地址(MAC),它只能分析到硬件地址,再到IP地址它就不管了 ...