一分钟教你编写Linux全局内置命令
前言:在linux命令使用中,有些命令总是又长又难记,就算是经常使用的命令每次都敲也真的很烦,所以今天教大家一个方法,来简化命令,创建我们自己的内建命令!!!
创建内置命令
创建命令存储目录
现在linux上创建一个保存我们自己命令文件夹
[root@localhost /]# cd /
[root@localhost /]# mkdir scprict
[root@localhost /]# cd scprict
编写命令
[root@localhost scprict]# vi hello
进入文档编译模式后,按i
开始编写命令,内容如下
#!/bin/sh
echo hello
按ESC
后,再按Shift+:
,当屏幕下方出现:
后,输入wq
敲击回车保存,这样命令就创建好了。使用ll
命令查看
授权命令
注意,这时的命令还不可以直接执行,不然会提示你权限不够,我们需要对命令进行授权
[root@localhost scprict]# chmod 777 hello
授权后,我们来查看一下,并执行命令
可以看到,授权后的命令是绿色的,并且执行后也输出了hello
Shell命令变内置命令
我们目前虽然已经完成了Shell命令的创建,但此时还存在两个问题:
- hello命令需要在前边加上
./
方能执行 - 此命令的使用范围目前仅限于当前文件夹
所以此时的hello命令仅仅是个Shell命令,我们还需要把它变为内置命令,操作如下
[root@localhost scprict]# cp hello /bin
你没看错,我们只需要把这个命令复制到bin目录下就可以了,然后我们来试一下
可以看到,经过现在无论是在哪个目录下都可以直接执行hello
命令了,而且当我们输入部分命令然后按TAB
键时,系统还会自动补全命令进行提示,是不是很奈斯~。
至此,我们就完成了创建内置命令的操作,下面给出了一些我以docker命令为样本编写的内置命令。
Docker命令示例
示例1:以docker ps -a
命令缩写的dp命令
命令:
#!/bin/sh
docker ps -a
示例2:以docker logs
命令为缩写的ds命令
命令:
#!/bin/sh
docker logs -f "$@"
示例3:以docker exec
命令缩写的de命令
命令:
#!/bin/sh
docker exec -it "$@" sh
总结
至此,我们就掌握了如何创建Linux全局内置命令,我们来回顾一下步骤:
1. 创建命令存储目录
2. 编写命令
3. 授权命令
4. 移入bin目录下
在Linux中还有好多命令是我们常用但有非常长还难记的,我们就可以用这种方式来简化一下常用的使用命令,但需要注意
一点,那就是创建的命令不要和/bin目录下的原有命令重名!
。
最后,如果大家有更好的命令缩写,欢迎大家留言在下方,咱们一起交流和探讨。感谢观看!
一分钟教你编写Linux全局内置命令的更多相关文章
- 10分钟 教你学会Linux/Unix下的vi文本编辑器
10分钟 教你学会Linux/Unix下的vi文本编辑器 vi编辑器是Unix/Linux系统管理员必须学会使用的编辑器.看了不少关于vi的资料,终于得到这个总结.不敢独享,和你们共享. 首先,记住v ...
- <linux下内置命令和外部命令>
Linux下内置命令和外部命令 1.linux的命令可以分为内部命令和外部命令: 内部命令在系统启动时就调入内存,是常驻内存的,所以执行效率高. 而外部命令是系统的软件功能,用户需要时才从硬盘中读入内 ...
- 【PHP】五分钟教你编写一个实时弹幕网站
由于博主是个忠实的英雄联盟粉丝,所以经常观看一些明星大神的直播.而一谈到直播,肯定会看到满屏幕飘来飘去的弹幕.那么问题来了,这些视频弹幕网站如何做到实时同步的?PHP如何开发一个类似的网站? 首先要搞 ...
- 5分钟教你在Linux下安装VMware
如果我们只有一台笔记本,又想要搭建一个小集群,怎么办?虚拟机帮你实现梦想,市面上较为常用的虚拟机软件有VMware.VirtualBox.Xen.KVM.hyper-v等,本文主要介绍如何在Linux ...
- JS基础-全局内置对象
对象 JS中有那些内置对象 数据封装类对象 String.Array.Object.Boolean.Number 其他对象 Math.Date.RegExp.Error.Function.Argume ...
- Linux bash内置命令集
man cd -->查询不到,所以会提示bash的内置命令 . alias bg bind break builtin caller cd command compgen complete c ...
- linux 查看内置命令
使用: man shell builtins 查找结果如下:
- linux全方位掌握一个命令--思路比方法更重要
Linux命令众多,当不清楚一个命令的使用方法时,我们该怎样了解命令的属性和帮助? 1.用type命令了解一个命令的属性 [root@zejin240 testdir]# type cd cd ...
- 手把手教你调试Linux C++ 代码(一步到位包含静态库和动态库调试)
手把手教你调试Linux C++ 代码 软件调试本身就是一项相对复杂的活动,他不仅要求调试者有着清晰的思路,而且对调试者本身的技能也有很高的要求.Windows下Visual Studio为我们做了很 ...
随机推荐
- Spring Cloud第一篇 | Spring Cloud前言及其常用组件介绍概览
本文是Spring Cloud专栏的第一篇文章,了解本篇文章内容有助于更好的理解后面文章 一.网站架构演变过程 1-1.传统架构 传统的SSH架构,分为三层架构 web控制层.业务逻辑层.数 ...
- 如何使用Git命令克隆仓库代码
今天我的电脑装了新系统,刚装了Git到电脑上,突然有一个大胆的想法,以后不适用可视化工具了. 要逐步锻炼我的命令的操作能力,不能太依赖可视化工具. 今天先记录一下如何使用git命令克隆仓库代码 git ...
- es6 proxy浅析
Proxy 使用proxy,你可以把老虎伪装成猫的外表,这有几个例子,希望能让你感受到proxy的威力. proxy 用来定义自定义的基本操作行为,比如查找.赋值.枚举性.函数调用等. proxy接受 ...
- 微信小程序使用pako.js的踩坑笔记
问题 今天组长跟我们讨论了个问题,说是文章存储占用有点大,消耗宽带流量费,让我看看能不能找个方法解决一下(文章存储的是html字符串).第一反应是没什么头绪,能想到的就是将相同的字符串替换成一个标识之 ...
- 在ASP.NET Core中使用托管启动(hosting startup)程序集,实现批量注册service
在启动ASPNET Core时可以从外部程序集向应用添加增强功能.例如,外部库可以用托管启动( hosting startup) 实现为应用程序提供附加配置(Configuration)或服务(ser ...
- Shell排序 C&&C++
Shell排序 Shell排序是大量数据需要排序时,更为高效的插入排序.它的算法思想基于插入排序的算法思想 流程: (1)将n个元素数组分成n/2个数字序列,第一个数据和第n/2个数据为一对,等等 ...
- forEach()和for/in循环的缺点与for-of循环
以数组为例,JavaScript 提供多种遍历语法.最原始的写法就是for循环. for (var index = 0; index < myArray.length; index++) { c ...
- 【MyBatis-Plus】使用学习
[MyBatis-Plus]使用学习 ============================================== 1.插入和更新字段空和非空控制 2.插入和更新字段填充策略 ==== ...
- Spring、SpringMVC、SpringBoot、SpringCloud的区别与联系
前言 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架.Spring使你能够编写更干净.更可管理.并且更易于测试的代码. Spring MVC是Spring的一个模块,一个w ...
- 安装mysql5.7(亲手实操)
https://files-cdn.cnblogs.com/files/yucoder/%E5%AE%89%E8%A3%85mysql5.7.pdf