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

相关推荐

  • RAID概述

    RAID 什么是RAID RAID(redundant arrays of independents disk,独立磁盘冗余阵列)是利用数组的方式组成磁盘组。RIAD大多是由廉价的磁盘组成容量巨大的磁盘组。,利用个别磁盘提供数据所产生的加成效果提升整个磁盘系统效能。 使用RAID目的 加快访问速度 使用一个虚拟磁盘,从而增加存储容量 减少磁盘失效带来不利的影…

    Linux干货 2016-11-22
  • 设计模式概论

    1. 设计模式        设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,设计模式使代码编制真正工程化,设计模式是软件工程的基石,如同大厦…

    Linux干货 2015-06-18
  • 第一周作业

    作业

    Linux干货 2018-03-20
  • linux系统基础

    一、计算机的组成   一)计算机硬件主要分为五个部分:        1. 控制器(Control):是整个计算机的中枢神经,其功能是对程序规定的控制信息进行解释,根据其要求进行控制,调度程序、数据、地址,协调计算机各部分工作及内存与外设的访问等。    2.…

    Linux干货 2016-09-12
  • N22-妙手 第4天视频课程练习

    一、Globbing文件名通配练习 练习1:显示/var目录下所有以l开头,以一个小写字母结尾,且中间出现任意一位字符的目录 [root@localhost ~]# ls -d /var/l?[[:lower:]] /var/lib  /var/log 练习2:显示/etc目录下,以任意一位数字开头…

    Linux干货 2016-08-22
  • 马哥教育网络班20期+第5周课程练习

    1、显示/boot/grub/grub.conf中以至少一个空白字符开头的行; grep "^[[:space:]]\+.*" /boot/grub/grub.conf   2、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行; grep&nb…

    Linux干货 2016-07-12