linux脚本命令前面加什么(还搞不懂Linux脚本执行)
比如我们在/root/下编写了一个脚本,名字为hello.sh。那么怎么调用执行它呢?有两种办法:
(1)直接通过bash,如下:
bash hello.sh
注:采用bash执行脚本,不需要赋予执行权限。但是这不符合习惯,一般不推荐使用。
(2)先赋予权限,然后直接调用:
chmod 755 hello.sh
/root/hello.sh
注:上面的第一句就是为脚本赋予权限,第二句就是执行命令。一般推荐这种执行方式。
别名
在shell中有时候命令很长,也有时候我们想用新的命令覆盖原来的命令,这个时候就会用到命令别名。下面就系统的讲一讲
这个关于别名的一些知识。
(1)查看系统中存在的别名
很简单,一个命令搞定: alias
例如我的系统中的命令别名都有如下一些:
比如ll是命令“ls -l --color=auto”的别名
(2)编辑自己的别名
上面就是当前系统中存在的所有命令别名,现在我们只要将自己的命令别名加入进去即可。比如如下:
可以看到,我新加了vi=’vim’这个命令别名。
然后再执行source /root/.bashrc 命令即可立即生成,如果你不想立即生效,可以重启后生效。总之这种
添加别名的方式是永久的。
(3)删除别名
删除别名的也很简单,如下:
unalias 命令别名
注意:这种删除方式也是临时有效的,即当前系统中这个别名失效了。如果重启后,这个别名还是有效的。原因就是
/root/.bashrc中的别名没有真正删除的(如果你在这个文件中编辑了这个别名)。你可以运行alias看一下,发现
别名已经被删除,但是运行vim /root/.bashrc发现.bashrc中的别名还存在。因此只有删除了.bashrc中的别名,
才真正删除了这个别名(当然如果你没有在.bashrc中编辑这个别名就无所谓了)
(4)命令生效的顺序
在命令覆盖的时候(即别名和原来的命令名相同),例如我们上例中vi=’vim’就覆盖掉了系统原来的命令vi,你肯定有疑问
为什么不会再去调用原来的命令了呢?明明都是一样的名字啊。其实这是Linux中规定的命令生效顺序。下面介绍Linux中的
命令有效的顺序。
先后顺序如下:
第一顺位执行用绝对路径或相对路径执行的命令
第二顺位执行别名
第三顺位执行Bash内部的命令
第四顺位执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令
我们发现别名的执行级别还是挺高的哈。好了,关于别名的知识就讲到这里。
快捷键
我们记住下面的常用快捷键即可,没有什么好说的。如下:
ctrl c 强制终止当前命令
ctrl l 清屏
ctrl a 光标移动到命令行首
ctrl e 光标移动到命令行尾
ctrl u 从光标所在位置一直删除到行首
ctrl z 把命令放入后台
ctrl r 在历史命令中搜索
历史命令
history [选项] [历史命令保存文件]
选项:
-c 清空历史命令
-w 把缓存中的历史命令写入历史命令保存文件”~/.bash_history”
如果你在命令行只输入命令history,就是查看当前的所有历史命令(包括你之前登录的和当前登录的)
如果你在命令行只输入命令history -c ,则会删除当前登录的所有历史命令。
如果你输入命令 history -w ,就会把当前的历史命令写入~/.bash_history文件中。
注意:.bash_history这个文件只会保存之前登录的历史命令,当前登录只有退出后才会将历史命令
写入这个文件。因此使用选项 -w可以立即写入。
自动补全
shell中自动补全只要你按下Tab键即可。如果按下去没有自动补全,说明有多种补全方式,你再按一下Tab键,就会
将多种补全方式显示出来,这样子你就可以选择适合自己的补全方式了。
,免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com