文档章节

偷懒 尝试下自定义shell命令

王二铁
 王二铁
发布于 2013/09/24 14:49
字数 442
阅读 77
收藏 0
点赞 0
评论 0

场景:经常需要在自己的目录下写代码:/home/work/jiankuiwang/, 然后cp到测试环境 /home/work/website/。 写的多了,cp的也会恶心。然后练习shell命令就写了个自定义的wcp 命令。

原理简单的很,直接码。

#! /bin/sh

if [ $# -eq 0 ]
then
    echo "use as : wcp XX"
    exit
else
    filename=$1
fi

echo $filename
now_pwd=`pwd`
echo $now_pwd

common_s='/home/work/jiankuiwang'
common_d='/home/work/website'

des_pwd=${now_pwd/$common_s/$common_d}
echo $des_pwd
cp $filename $des_pwd

2.  设置成一个系统命令,先简单用alias实现:

alias wcp='/home/work/jiankuiwang/wcp.sh'

    参考了:

如何创建linux命令”快捷方式”或”自定义命令” 

3. alias方案只对当前登陆环境有效,参考文档修改 ~/.bashrc

/etc/bashrc:为每一个运行bash shell的用户执行此文件.bash shell被打开时,该文件被读取。有些linux版本中的/etc目录下已经没有了bashrc文件。
~/.bashrc:该文件包含专用于某个用户的bash shellbash信息,当该用户登录时以及每次打开新的shell,该文件被读取.


2013-01-06 update   rm 删错担心无法恢复怎么办?

自定义一个lazy rm吧,简单的很:创建一个Trash目录,然后封装一个lrm命令,原理是mv想删除的文件到Trash目录。这样即实现了删除又不会因为误删没办法恢复。

1.  创建文件   vi lrm.sh

 #! /bin/sh
 
 if [ $# -eq 0 ] 
 then
     echo "use as : lrm XX"
     exit
 else
     filename=$1
 fi
 
 echo $filename
 
 mv $filename ~/Trash

2.  写到bashrc的 alias中

    alias lrm='/home/jiankuiwang/lrm.sh'

3. sourch ~/.bashrc

以后就用lrm替代rm吧,妈妈再也不用担心我删错文件啦!!!

后续研究下Linux的rm原理,再考虑写工具来做数据恢复试试。


© 著作权归作者所有

共有 人打赏支持
王二铁

王二铁

粉丝 85
博文 62
码字总数 41123
作品 0
北京
后端工程师
一记组合拳,批量SSH弱密码爆破检测工具分享

  前言   SSH登录密码的破解工具已然有许多,但偶尔还是存在不能满足任务需求的情况。比如,批量地对IP列表里的IP地址进行SSH登录破解,现有的工具直接使用起来总觉得不方便。那么,能否...

FreeBuf ⋅ 05/13 ⋅ 0

Fish shell 入门教程

命令行是程序员的必备技能。图形界面虽然好看,解决问题还是要靠命令行。 命令行由 Shell 提供。各种命令通过 Shell,传递给操作系统的内核。学习命令行就是在学习 Shell。 Shell 有好几种,...

阮一峰 ⋅ 2017/05/02 ⋅ 0

Shell 命令行扩展--The Fuck

开发者都或多或少接触过 linux 接触过命令行,当然肯定也都被命令行狠狠地“fuck”过。我很多时候都是微不足道的原因导致了命令行出错,例如将 python 输入成 ptyhon,例如将 输入成 而导致出...

红薯 ⋅ 2015/05/09 ⋅ 0

Spring boot remote shell 自定义命令 应用篇

关于官方文档上对于使用的基本配置已经有所描述,案例中使用 Groovy 创建自定义命令交互; 在这里将主要使用 Java 再实现一次,并结合 maven 使用,可供参考。 本篇前提默认大家对 spring b...

fabself ⋅ 2016/07/08 ⋅ 0

linux 常用命令2

Touch 创建一个文件 例如:创建了3个txt文件 也可以作为一行创建例如 当然创建文件的方式很多.例如 恩 cat 是查看文件内容的 还有顶顶大名的 vi 例如 vi demo.txt 按insert 进行插入 然后随便...

大苹果 ⋅ 2011/01/21 ⋅ 1

PySpark-MongoDB Connector

问题反馈 在使用中有任何问题,可以反馈给我,以下联系方式跟我交流 Author: Leo Wechat: Leo-sunhailin E-mail: 379978424@qq.com --- 目录 项目环境 下载方式 小问题 解决办法和过程 代码示...

NullSpider ⋅ 2017/11/27 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

使用 Python 创建你自己的 Shell (上)

(提示:你可以在这里查找本博文使用的源代码,代码以 MIT 许可证发布。在 Mac OS X 10.11.5 上,我使用 Python 2.7.10 和 3.4.3 进行了测试。它应该可以运行在其他类 Unix 环境,比如 Linu...

linuxprobe ⋅ 2016/08/15 ⋅ 0

ubuntu 16.04 修改mysql数据目录

升级完ubuntu16.04后,mysql-server服务起不来了。删除mysql,重新安装(apt-get install),还是无法启动,重启电脑,还是无法启动。 尝试使用"mysqld"手动启动,提示innodb无法读写到ibdat...

逐浪人 ⋅ 2016/12/18 ⋅ 0

shell基础--1

shell介绍 Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕返回给用户。这种对话方式可以...

在也不会是我 ⋅ 01/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

熊掌号收录比例对于网站原创数据排名的影响[图]

从去年下半年开始,我在写博客了,因为我觉得业余写写博客也还是很不错的,但是从2017年下半年开始,百度已经推出了原创保护功能和熊掌号平台,为此,我也提交了不少以前的老数据,而这些历史...

原创小博客 ⋅ 59分钟前 ⋅ 0

LVM讲解、磁盘故障小案例

LVM LVM就是动态卷管理,可以将多个硬盘和硬盘分区做成一个逻辑卷,并把这个逻辑卷作为一个整体来统一管理,动态对分区进行扩缩空间大小,安全快捷方便管理。 1.新建分区,更改类型为8e 即L...

蛋黄Yolks ⋅ 今天 ⋅ 0

Hadoop Yarn调度器的选择和使用

一、引言 Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。 上图是Yarn的基本架构,其中ResourceManager是整个架构的核心组件,它负...

p柯西 ⋅ 今天 ⋅ 0

uWSGI + Django @ Ubuntu

创建 Django App Project 创建后, 可以看到路径下有一个wsgi.py的问题 uWSGI运行 直接命令行运行 利用如下命令, 可直接访问 uwsgi --http :8080 --wsgi-file dj/wsgi.py 配置文件 & 运行 [u...

袁祾 ⋅ 今天 ⋅ 0

JVM堆的理解

在JVM中,我们经常提到的就是堆了,堆确实很重要,其实,除了堆之外,还有几个重要的模块,看下图: 大 多数情况下,我们并不需要关心JVM的底层,但是如果了解它的话,对于我们系统调优是非常...

不羁之后 ⋅ 昨天 ⋅ 0

推荐:并发情况下:Java HashMap 形成死循环的原因

在淘宝内网里看到同事发了贴说了一个CPU被100%的线上故障,并且这个事发生了很多次,原因是在Java语言在并发情况下使用HashMap造成Race Condition,从而导致死循环。这个事情我4、5年前也经历...

码代码的小司机 ⋅ 昨天 ⋅ 2

聊聊spring cloud gateway的RetryGatewayFilter

序 本文主要研究一下spring cloud gateway的RetryGatewayFilter GatewayAutoConfiguration spring-cloud-gateway-core-2.0.0.RC2-sources.jar!/org/springframework/cloud/gateway/config/G......

go4it ⋅ 昨天 ⋅ 0

创建新用户和授予MySQL中的权限教程

导读 MySQL是一个开源数据库管理软件,可帮助用户存储,组织和以后检索数据。 它有多种选项来授予特定用户在表和数据库中的细微的权限 - 本教程将简要介绍一些选项。 如何创建新用户 在MySQL...

问题终结者 ⋅ 昨天 ⋅ 0

android -------- 颜色的半透明效果配置

最近有朋友问我 Android 背景颜色的半透明效果配置,我网上看资料,总结了一下, 开发中也是常常遇到的,所以来写篇博客 常用的颜色值格式有: RGB ARGB RRGGBB AARRGGBB 这4种 透明度 透明度...

切切歆语 ⋅ 昨天 ⋅ 0

CentOS开机启动subversion

建立自启动脚本: vim /etc/init.d/subversion 输入如下内容: #!/bin/bash## subversion startup script for the server## chkconfig: 2345 90 10# description: start the subve......

随风而飘 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部