LINUX–命令的格式、类型、别名的概述及运用

命令格式

      COMMAND [OPTIONS…] [ARGUMENTS..]

     [OPTIONS..] 选项:用于启用或关闭命令的某个或某些功能
                         短选项: -c ,例如:-l ,-a ,-h…
                         长选项:–all, 例如:–utc, –help,–word, –human-readable 
     [ARGUMENTS..]参数:命令的作用对象,比如文件名,用户名等

       注意:多个选项以及多参数和命令之间使用空白字符隔开
               取消和结束命令执行:Ctrl+c(强制退出)  Ctrl+d(正常退出)
               多个命令一起执行用 “;”隔开

                             例:ls;pwd;hostname;alias


命令的类型

    命令是怎样执行的呢?输入命令后按回车,提请shell程序找到键入命令所对应的可执行程序或代码 ,

    并由其分析后提交给内核分配资源将其运行起来。               

   在shell中可执行的命令有两类        

        命令分为内部命令和外部命令
        内部命令:是shell内部自带的,内部命令依赖与shell类型,内部命令优先于外部命令!
              # help          内部命令列表
              # enable cmd    启用内部命令
              # enable -n cmd 禁用内部命令
              # enable -n     列出所有禁用的内部命令
         外部命令:在文件系统路径下有对应的可执行程序文件
                     查看路径:which COMMAND        列出外部命令路径
                                    which -a COMMAND      显示别名以及外部命令所有路径
                                    which –skip-alias COMMAND 忽略别名只显示外部命令路径
                                    whereis COMMAND        列出外部命令所有路径以及命令本身man帮助文档

    判断当前生效的命令是内部或外部命令:
          # type COMMAND
          # type -a COMMAND 显示内部命令和外部命令
          # type -P COMMAND 显示外部命令的路径
                      例:~]#type history
                            history is a shell builtin

执行外部命令
   HASH缓存表:系统初始hash表为空,当外部命令执行时,默认会从PATH路径下寻找
   该命令,找到后会将这条命令的路径记录到hash表中,当再次使用该命令时,shell
   解释器首先会查看hash表,存在将执行之,如果不存在,将会去PATH路径下寻找。

hash基本用法:
     # hash  显示hash缓存
     

         LINUX--命令的格式、类型、别名的概述及运用

     # hash -l  显示hash缓存详细信息 
   

     # hash -d name   清除name(别名)缓存

            LINUX--命令的格式、类型、别名的概述及运用

     
     # hash -t name   显示单个name(别名)路径
              LINUX--命令的格式、类型、别名的概述及运用

     # hash -p path name   将命令全路径path起别名为name
              LINUX--命令的格式、类型、别名的概述及运用


      # hash -r    清空所有缓存
                LINUX--命令的格式、类型、别名的概述及运用

执行命令的顺序:
  1.先从内部命令查找,如果有将直接执行
  2.再从hash pash 里查找
  3.最后再查找$PATH

命令别名

    列出当前shell进程所有可用的命令别名
      # alias

  定义别名NAME,其相当于执行命令VALUE
              alias NAME=’VALUE’
              例:alias cdnet=’cd /etc/sysconfig/network-scripts/’

   在命令行中定义的别名,仅对当前shell进程有效 

   如果想永久有效,要定义在配置文件中 
     
     仅对当前用户:  ~/.bashrc 
     
     对所有用户有效:/etc/bashrc

           例:~]#nano .bashrc   
                     alias rm=’rm -i’  
                    alias cdnet=’cd /etc/sysconfig/network-scripts/ ‘  
                 
  LINUX--命令的格式、类型、别名的概述及运用

        编辑配置给出的新配置不会立即生效 

         bash进程重新读取配置文件 

                    source .bashrc或. .bashrc

取消别名NAME,只能临时取消:  # unalias name
                                            # unalias -a name  

如果原始命令和别名同名,要执行原始命令

                         # \COMMAND
                         # ‘COMMAND’









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

(0)
shenjialongshenjialong
上一篇 2017-05-21 10:21
下一篇 2017-05-21 12:27

相关推荐

  • LVM 逻辑卷管理

    一、概述: LVM: logical Volumn Manager  LVM是建立在硬盘和分区之上的一个逻辑层。可以将多个物理分区整合起来,无需停机,可以对文件系统的大小进行调整。同时,还提供快照功能 二、概念及实现过程: PE :每一个物理卷PV被划分为称为PE(Physical Extents)的基本单元,具有唯一编号的PE是可以被LVM寻址的…

    Linux干货 2015-10-05
  • rpm包管理、yum仓库、ftp、http服务、编译安装

    一、软件包管理 1.1 软件包管理 API:Application Programming Interface  应用程序开发接口;程序员面对的编程接口 POSIX:portable operating system:可移植操作系统接口 v   程序源代码 –> 预处理 …

    Linux干货 2016-11-27
  • Linux的终端类型

    1、串行端口终端(/dev/ttySn):       串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这些串行端口所对应的设备名称是/dev…

    Linux干货 2016-10-14
  • wk_02 作业

    Linux 文件管理命令 cp命令 功能 Linux 系统中cp命令是用来复制目录/文件的。 概要 单源复制 cp [OPTION]… [-T] SOURCE DEST DEST不存在则事先创建此文件,并复制源文件的数据流至DEST中; DEST存在 DEST是非目录文件:则覆盖目标文件; DEST是目录文件:则先…

    Linux干货 2016-12-11
  • httpd服务归纳:httpd基本配置(周边常用工具,httpd 编译安装)

    一、 服务器status页     内生的status信息,可以通过web予以显示, 可以映射为url地址进行访问     1. 配置路径有几种不同方式          如果URL可以映射…

    Linux干货 2015-05-27
  • linux入门学习动手部分

    linux入门学习了几天,各种命令跟选项如果靠记忆很容易忘记,通过下面随堂实验加深记忆 实验操作部分 enable 命令使用 禁用内部命令 enable -n echo 禁用echo命令 重新启用echo命令 enable echo type 命令使用 type -a echo 列出所有echo的内部命令外部命令 type -p cd 显出cd外部命令的路径…

    Linux干货 2017-05-20