一分钟教你编写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目录下的原有命令重名!
。
最后,如果大家有更好的命令缩写,欢迎大家留言在下方,咱们一起交流和探讨。感谢观看!
再回首能否就能天宽地阔,撒一段青春,留给山河评说,执步向前不回头就能解脱,含笑接受错过,秋风悲过叶落,家燕明年依然返穴,太阳的升月亮的缺,有失也必会有得