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

前言

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

什么是 alias

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

使用

  1. 查看别名
  • alias -p
    2595955-a0d164fc9bdcb0a9.jpg
    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' 就完成了一个 别名的定义

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值