前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >alias 自定义参数——实现一个删除备份的指令

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

作者头像
solve
发布2019-10-30 18:32:42
发布2019-10-30 18:32:42
1.1K0
举报
文章被收录于专栏:大数据技术栈大数据技术栈

前言

这是一个简单的 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' 就完成了一个 别名的定义
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019.04.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
    • 什么是 alias
    • 使用
    • 这个命令有什么用
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档