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
下一篇 2017-07-15

相关推荐

  • Linux程序包管理

    软件包管理   API:Application Programming Interface POSIX:Portable OS                程序源代码–>预处理–…

    Linux干货 2016-08-29
  • 脚本之循环的特殊用法及函数的使用

    一、本文主要时针对while for select循环结果的特殊用法进行讲解。     1、while循环的特殊用法                 while read…

    Linux干货 2016-08-21
  • 推荐-LAMP的编译安装

    首先解释一下LAMP,L:Linux;A:apache;M:MariaDB;P:php。Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件。 本文就是介绍编译安装apache2.4,MariaDB5.5,以及php(基于模块化和fpm的这两种方式来配合php提供服务)。 因为php是…

    Linux干货 2016-04-11
  • 计算机组成与Linux基础

    一 计算机组成 冯诺依曼体系 计算机处理数据和指令一律用二进制表示 指令和数据不加混合存储在同一存储器中 顺序执行程序每一条指令 计算机硬件由运算器、控制器、存储器、输入设备以及输出设备组成 计算机组成部分 CPU:含有指令集,对程序进行运算和判断并分为两个主要单元分别为算术逻辑单元和控制单元。其中算术逻辑单元主要负责程序运算与判断,控制单元负责协调组件与个…

    Linux干货 2017-07-30
  • 新手上路,多多担待,分享linux的ls 常用选项

    ls 命令   ls[OPTION]…[FILE]….选项 和 参数可有可无。 定义:显示指定路径下的文件列表。  -a: 全拼是all,所有的意思,ls  -a能显示出所有的文件,包括隐藏的。点开头和..开头的隐藏文件都能看见。  -l:后跟文件 可以查看文件的大小,和权限(一般用户都有读的权…

    2017-05-21
  • Linux基础知识之WMware Tools的安装

    该博文以CentOS6.8_x86_64系统为基础,tty终端登录CentOS6.8系统,以root身份登录系统。 为什么要安装WMware Tools?                    VMware Tools是VMware虚拟机中自带的一种增强工具,…

    Linux干货 2016-07-29