• unix & Linux 教程学习_8


    13.17 历史列表: 设置大小

    对于Bourne shell家族,需要设置HISTSIZE环境变量。例如,要指定历史列表存放50条命令:

    export HISTSIZE=50
    set history = 50 (~~~~~~)//C-shell家族

    13.18 历史列表示例:避免删错文件

    假设您希望一组名为temp、temp_backup、extral和extra2的文件。您考虑输入下述命令:

    rm temp* extra?

    但是,您忘了还有一个重要的文件temp.important. 如果输入上述命令的话,那这个文件也将被删除了。
    避免误删的方式是,先用ls命令:

    ls temp* extra?

    如果发现有被遗忘的文件temp.important,可以不再像之前那样用rm命令。 如果文件列表符合预期。则可以将ls替换成rm并重新执行该命令删除所有的文件:

    fc -s ls=rm
    ^ls^rm
    (~~~~~~)//C-Shell家族

    13.19在shell提示中显示事件编号&工作目录

    参见P273

    13.20 自动补全

    shell 补全单词 显示所有可能
    Bash <Tab> <Tab><Tab>
    Korn Shell <Esc><Esc> <Esc>=
    C-Shell <Esc> ^D
    Tcsh <Tab> ^D

    13.21 自动补全: 高级应用

    参见P277

    13.22 为好玩和赌注使用自动补全

    参见P279

    13.23 命令行编辑:bindkey

    参见P280

    13.24 别名:alias、 unalias

    别名就是赋予一条命令或者一列命令的名称。可以将别名作为缩写,或者使用别名创建已有命令的自定义变体。
    假设您发现自己经常输入下述命令:

    ls -l temp*

    如果给这条命令赋一个别名lt, 那么就可以通过键入下述命令来简化上一条命令:

    lt

    创建别名需要用alias命令。 对于Bourne shell家族来说,语法为:

    alias [name=commands]
    alias [name commands] (~~~~~~)//C-Shell家族

    确定等号的两边不要有空格(创建变量时也有这样的要求)。
    name是希望创建的别名名称,而commands是一个包含一条或多条命令的列表。例:

    alias lt='ls -l temp*'
    alias lt 'ls -l temp*'(~~~~~~)//C-Shell家族

    例:为alias本身创建一个缩写:

    alias a=alias
    一旦定义了这个别名,就可以输入:
    a info='date; who'

    要显示别名info的含义,可以使用:

    alias info

    要同时显示所有的别名,可以输入没有参数的alias命令:

    alias

    使用unalias命令可以移除别名。该命令的语法为:

    unalias name
    其中name是别名的名称。例如,要移除刚才定义的别名,可以使用:
    unalias info

    如果希望同时移除所有的别名:

    unalias -a(~~~~)//Bourne shell家族
    unalias *(~~~~~)//C-Shell家族

    使用type命令可以查看某条特定是不是别名。例如,查看之前的info:

    type info
    info is aliased to 'date; who'

    您可以将所有自己喜爱的别名定义放置在一个初始化文件中。 每当启动新shell时, 这些别名命令就会自动执行。

    13.25 临时挂起别名

    假设您发现, 在使用ls命令时, 几乎总是用-l选项。 那么, 为了节省每次键入选项的时间, 可以定义下述别名:

    alias ls="ls -l"

    现在, 只需要简单地输入命令本身,就可以显示“长”列表,不再需要键入选项:

    ls
    这将生成一个长列表, 就像输入下述命令一样:
    ls -l

    当使用这样的别名时, 您将发现, 有时我们希望运行原始的命令, 而不是别名。 例如,您希望运行没有-l选项的ls命令。 为了临时挂起一个别名,只需在命令名称的开头键入一个(反斜线)字符:

    ls
    这样就告诉shell运行实际命令本身,而不是别名。

    13.26 别名示例: 避免删错文件

    前面我们讨论过的例子:

    rm temp* extra?
    为了避免删错,我们可以先用ls, 然后再用fc -s
    ls temp* extra?
    fc -s ls=rm

    为了使用这条命令更容易使用, 我们定义一个命为del的别名:

    alias del='fc -s ls=rm'

    对于C-Shell,参见P824
    一旦定义了这个del别名,首先,我们输入ls命令,以及描述希望删除的文件的模式。 例:

    ls temp* extra?
    如果该模式显示的文件名称符合我们的期望, 接下来可以输入:
    del
    这样就可以将文件删除。

    13.27 别名示例: 从历史列表中重用命令

    P285

    13.28 别名示例: 在shell提示中显示工作目录名称

    P287

  • 相关阅读:
    Unity的动态加载简单使用
    枚举的使用总结
    IIS WEB程序如何访问共享目录
    AngularJS之页面跳转Route
    ASP.NET MVC4 BundleConfig的注意事项
    Android自动化测试------monkey自定义脚本(四)
    Android自动化测试------monkey(三)
    Android自动化测试------monkey(二)
    Android自动化测试------monkey(一)
    (一)adb命令的使用
  • 原文地址:https://www.cnblogs.com/cnyxj/p/11447184.html
Copyright © 2020-2023  润新知