Linux命令执行

Linux命令

Linux命令是对Linux系统进行管理的命令。对于Linux系统来说,无论是中央处理器、内存、磁盘驱动器、键盘、鼠标,还是用户等都是文件,Linux系统管理的命令是它正常运行的核心,与之前的DOS命令类似。linux命令在系统中有两种类型:内置Shell命令和外部命令。

  • 命令格式

COMMAND [OPTIONS…] [ARGUMENTS…]
OPTIONS 选择 包括长选项和短选项 长选项:–all 短选项:-a
ARGUMENTS 参数 命令作用的对象,不如文件名,用户名等

一个命令可以有多个选项  比如 ls -a -l /etc
取消命令Ctrl+c
多个命令之间用;隔开
一个命令可以用 \ 分行

  • 内置Shell命令与外部命令

  • 内置Shell命令

shell自带的命令称为内置Shell命令,可以通过help命令(help本身也是Shell内置命令)来查看Shell内置命令列表;

enable cmd 可以启用内部命令;

enable -n cmd 可以禁用内部命令;

enable -n 可以查看所有被禁用命令。

禁用内置命令不代表这个命令不可用,如果这个命令同时还是外部命令,那禁用这个命令后,系统会去外部查找这个命令。比如echo这个命令。我们可以使用type来查看这个命令是Shell内置还是外部命令。

Linux命令执行

可见echo是内部命令,这时我们禁用这个命令后在用那个type看看。

Linux命令执行

这时它不再是内部命令而变成了外部命令。

  • 外部命令

在文件系统路径下有对应的可执行程序文件
可使用which -a或者whereis来查看一个命令的路径

  • Hash缓存表

  • 什么是Hash缓存表?

Hash缓存表是用来缓存用户执行过的外部命令,当执行一个命令时,系统首先判断它是内部命令还是外部命令,如果是内部命令直接使用,如果是外部命令,则去查找Hash缓存表,如果有缓存则直接调用,如果没有则去PATH路径下查找。

  • hash常见用法

hash 显示hash缓存的所有命令,包括命中次数
hash -l 显示hash缓存的所有命令,包括相关详细信息如路径,命令类型
hash -p path name 将命令的全路径取个别名为name
hash -t name 打印缓存中的name路径
hash -d name 清楚名为name的缓存
hash -r 清除hash表中所有的缓存

  • 别名 alias

使用alias命令可以查看所有的命令别名,alias NAME=”echo”,当用户执行NAME时相当于执行了echo命令。
直接这样写别名是不能永久生效的,需要去配置文件写,
仅对当前用户有效:~/.bashrc
对所有用户有效:/etc/bashrc
配置好后不会立即生效,需要重新登录或者使用source或者 . 来重新读取配置文件 比如 . /etc/bashrc。
unalias命令可以取消别名 -a 可以取消所有别名
如果别名和原命重名而需要执行原命令时,可用”\command”或者’command’ 或/PATH/command

  • 命令执行优先级

别名(alias)>内置Shell命令>缓存(hash)>外部命令($PATH)

原创文章,作者:657188918,如若转载,请注明出处:http://www.178linux.com/80585

(0)
657188918657188918
上一篇 2017-07-15 15:32
下一篇 2017-07-15 15:45

相关推荐

  • Bash Shell编程初学基础篇之二

    Bash Shell编程初学基础篇之二    时间如白驹过隙,一晃过去了几周,一切的计划都没有变化快。当你制定计划实施时,在这期间却会发生许多打乱我们计划的事情,但是我们还是要坚持下去,胜利是属于坚持到最后的人!实践出真理,中级基本结束了,需要回过头了好好总结一下了。心中总有好多话想找个同行唠唠;不废话了,估计大家都烦了!总有一天,你会成…

    Linux干货 2015-05-11
  • Linux 文 本 处 理 工 具

    Linux 文 本 处 理 工 具 一.学习大纲: ◎各种文本工具来查看、分析、统计文本文件 文件内容查看工具:cat, tac,rev,more,less 文件截取:head和tail 按列抽取:cut,paste 分析文本的工具:wc , sort , uniq,diff和patch 命令使用练习题 ◎文本过滤与处理工具: grep与正则表达式…

    Linux干货 2016-08-05
  • bash的基础特性

    1、Bash的命令补全      使用tab键可以实现命令补全或者路径补全 2、Bash的命令行展开      使用~,可以展开为用户的家目录;             例如#cd ~ 表示切换目录到当前用户家目录中   &nbs…

    Linux干货 2016-11-02
  • ThirdWeek_SecondDay

    Python学习笔记整理

    Linux干货 2017-10-09
  • LVS入门

    随着互联网进入寻常百姓家,网络流量愈来愈大,大规模的网路访问如果都使用一个服务器提供服务,那么网络通讯注定会拥堵不堪。为了解决这些问题,达到使网络流量均衡地分散到各个服务器上的目的,一些技术大牛发明了LVS负载均衡技术。   LVS简介   LVS(Linux Virtual Server)即为Linux虚拟服务器,使由章文嵩博士主导开发…

    Linux干货 2017-05-09
  • 文件查看和正则表达式

    文件查看工具         cat,tac,rev,more,less,head,tail cat:查看文本          cat [OPTION]… [FILE]… &…

    Linux干货 2016-08-07