一分钟教你编写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为我们做了很 ...
随机推荐
- 如何编写可怕的Java代码?
我决定告诉你如何编写可怕的Java代码.如果你厌倦了所有这些美丽的设计模式和最佳实践,并且想写些疯狂的东西,请继续阅读. 如果你正在寻找有关如何编写良好代码的建议,请查看其它文章! 对一切使用异常 你 ...
- 学习索引结构的一些案例——Jeff Dean在SystemML会议上发布的论文(下)
[摘要] 除了范围索引之外,点查找的Hash Map在DBMS中起着类似或更重要的作用. 从概念上讲,Hash Map使用Hash函数来确定性地将键映射到数组内的随机位置(参见图[9 ],只有4位开销 ...
- 使用 NTP/Chrony 同时 Centos7 网络时间
Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,提供高精准度的时间校正服务. 在 Centos ...
- 第4节:Java基础 - 必知必会(中)
第4节:Java基础 - 必知必会(中) 本小节是Java基础篇章的第二小节,主要讲述抽象类与接口的区别,注解以及反射等知识点. 一.抽象类和接口有什么区别 抽象类和接口的主要区别可以总结如下: 抽象 ...
- POJ2528 Mayor's poster
The citizens of Bytetown, AB, could not stand that the candidates in the mayoral election campaign h ...
- 快速掌握zabbix配置
有人说zabbix难点在配置,面对很多的配置项,不知道所以然了,其实我觉得这是没掌握好zabbix的学习方法,要掌握了zabbix的学习思路,可以在一个小时内快速掌握zabbix的各种配置,下面我将重 ...
- Hadoop完全分布式集群搭建
Hadoop的运行模式 Hadoop一般有三种运行模式,分别是: 单机模式(Standalone Mode),默认情况下,Hadoop即处于该模式,使用本地文件系统,而不是分布式文件系统.,用于开发和 ...
- redis(6)--redis集群之分片机制(redis-cluster)
Redis-Cluster 即使是使用哨兵,此时的Redis集群的每个数据库依然存有集群中的所有数据,从而导致集群的总数据存储量受限于可用存储内存最小的节点,形成了木桶效应.而因为Redis是基于内存 ...
- 3年Java开发都知道的Redis数据结构和通用命令
Redis的数据结构 Redis支持多种不同的数据结构,包括5种基础数据结构和几种比较复杂的数据,这些数据结构可以满足不同的应用场景. 五种基础数据结构 String:字符串,是构建其他数据结构的基础 ...
- 4个点说清楚Java中synchronized和volatile的区别
作者 : Hollis 回顾一下两个关键字:synchronized和volatile 1.Java语言为了解决并发编程中存在的原子性.可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如sy ...