美文网首页
alias 自定义参数——实现一个删除备份的指令

alias 自定义参数——实现一个删除备份的指令

作者: code_solve | 来源:发表于2019-04-09 10:54 被阅读0次

前言

这是一个简单的 shell 指令 alias 的简单使用
有了它,你可以简化很多日常中常用的指令的输入

什么是 alias

顾名思义,就是别名的意思。
在shell 当中,我们可以给一个命令取一个别名 alias,当我们要调用这个命令的时候,就可以通过alias 进行调用了。当然,也许你会说,这有卵用啊。。。还不如直接用呢?但是有时候可能还是会有用的。。。

使用

  1. 查看别名
  • alias -p
    alias.jpg
  1. 创建别名
    alias key=[name]
    alias test_name='echo'
    alias -p
    可以看到如下列表,其中有一项 alias test_name='echo'

    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias print='echo && echo aaa'
    alias rm='delete_and_back_file'
    alias test_name='echo' ##重点
    
  2. 使用别名
    test_name hello
    可以发现 test_name 具有了和 echo 命令一样功能

    hello
    
  3. 取消别名
    unalias test_name
    alias -p

这个命令有什么用

  1. 预设参数
    系统内置的别名 alias ls='ls --color=auto'
    当我们使用 ls 的时候,通常可以发现,目录 和 文件是不同的颜色的,其实普通的 ls 默认是没有颜色的
    你可以取消别名后试试 或者直接使用 \ls ,其中 \ 是转义,即不使用别名

所以第一个作用就是对于一些命令的常用参数进行预设,可以简化指令,同时,当你自己指定参数的时候,是会覆盖别名的预设参数的,比如 ls --color=none就可以取消 颜色 的显示

  1. 自定义一些复杂的指令
    平时我们也许会用到多个命令的组合,这个时候也可以使用 别名。
    比如我们平时删除文件 rm -rf 很容易造成一些不可逆转的后果,这个时候我们可以自定义一个 别名,让他帮我们完成备份并删除的功能。
    但是,别名是不支持一些复杂逻辑的,所以需要另外想一个办法来实现,通常我们可以自定义一个函数,再将别名指向这个函数来完成这些操作,比如传参,命令组合什么的,下面就是一个 备份删除的列子

    function delete_and_back_file(){
    
        date=`date +%Y%m%d`
        path=`pwd $1`
        o_path=~/backup/$date/$path
        mkdir -p ${o_path}/
        mv $path/$1 ${o_path}/$1
      }
    
    alias rm='delete_and_back_file'
    

    我们把该段代码复制到 ~/,bashrc文件里面,然后source~/,bashrc再直接调用rm指令就可以删除文件了,并且可以在~/backup/找到删除的文件,实际上我们也可以发现,这个rm别名做的只是简单的将删除的文件移到了~/backup/`文件夹下对应的目录,所以我们可能还需要一个定时任务来定时删除不要的文件。

    对于简单的函数,也可以这样 alias t_alias='test(){ echo $1;};test' 就完成了一个 别名的定义

相关文章

  • alias 自定义参数——实现一个删除备份的指令

    前言 这是一个简单的 shell 指令 alias 的简单使用有了它,你可以简化很多日常中常用的指令的输入 什么是...

  • 自定义指令

    directive 使用vue的全局方法directive实现自定义指令该方法传递两个参数,第一个参数为指令名,第...

  • mac下使用alias

    让高频使用的命令更简单 功能说明:设置指令的别名。语法:alias [别名]=[指令名称]参数 : 若不加任何参数...

  • alias命令操作

    支持把Linux指令别名 设置别名:alias l=ll 删除别名:unaries l

  • Vue自定义键盘信息,自定义指令

    自定义指令 1、Vue.directive(id,definition)注册一个全局自定义指令,接收两个参数,指令...

  • 02Vue的常用特性

    Vue的常用特性 表单操作 表单元素 表单域修饰符 自定义指令 无参数自定义指令定义的语法规则 无参数自定义指令用...

  • AngularJS 笔记

    自定义指令 scope 的属性参数 & 自定义指令中的 Link 属性 jQLite 对象 AngularJS 中...

  • Vue 自定义指令

    Vue自定义指令 定义 通过directive方法,配合钩子函数及参数定义指令 定义全局自定义指令 定义局部自定义...

  • awd骚操作命令学习笔记

    alias Linux alias命令用于设置指令的别名。 用户可利用alias,自定指令的别名。若仅输入alia...

  • linux命令之系统设置命令

    alias 功能说明:设置指令的别名。语法:alias[别名]=[指令名称]补充说明:用户可利用alias,自定指...

网友评论

      本文标题:alias 自定义参数——实现一个删除备份的指令

      本文链接:https://www.haomeiwen.com/subject/uorpiqtx.html