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.www58058.com/76507

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

相關推薦

  • Btrfs文件系統

    btrfs文件系統特性: 1、多物理卷支持 Btrfs可由多個底層物理卷組成:支持raid,以聯機添加,移除,修改 2、寫時復制機制(cow) ????復制,更新及替換指針,而非就地更新。在文件進行修改的時候,首先將文件復制一份出來,在復制的文件中進行修改,修改完成后,將指向原有文件的指針指向到修改完成的文件上,若修改完成的文件出現錯誤,則我們可以通過源文件…

    2016-04-10
  • N25第三周視頻博客 find命令詳解

    視頻作業:find命令詳解 大綱:         1、什么是find 2、find能實現什么功能 3、為什么要使用find 4、如何使用find 5、find各參數詳解   1、什么是find      find是linux 命令,它將檔案系統內符合 expression(表達…

    Linux干貨 2016-12-15
  • LVS詳解及基于LVS實現web服務器負載均衡

    前言 LVS(Linux Virtual Server)Linux虛擬服務器,是一個虛擬的服務器集群系統。本項目在1998年5月由章文嵩博士成立,是中國國內最早出現的自由軟件項目之一。通過LVS提供的負載均衡技術和Linux操作系統可實現一個高性能、高可用的服務器群集,從而以低成本實現最優的服務性能。 集群基礎 集群簡介 集群(Cluster)是一組相互獨立…

    Linux干貨 2015-06-01
  • shell腳本編程3

    補充,shift使用方法 root@localhost wang]# cat jiaoben1.sh  #!/bin/bash echo "$1" echo "$*" shift echo "$1" echo &quot…

    Linux干貨 2016-08-24
  • Linux程序包管理

    Linux程序包管理 RPM包基礎 RPM YUM 編譯安裝 概述 Linux上的程序包管理,是我們的必備技能,本文將從三個視角:rpm、yum、源碼編譯來淺析Linux的程序包管理。首先,我們來看下本文的主要內容: – 程序包的命名- RPM: 程序包管理器    安裝、卸載、升級、查詢…

    Linux干貨 2016-08-29
  • shell腳本編程之一

    shell腳本編程之一 shell腳本基礎 shell腳本是包含一些命令或聲明,并符合一定格式的文本文件 格式要求:首行shebang機制 #!/bin/bash #!/usr/bin/python #!/usr/bin/perl shell腳本的用途有: 自動化常用命令 執行系統管理和故障排除 常見簡單的應用程序 處理文本或文件 創建shell腳本 第一步…

    Linux干貨 2016-08-18
欧美性久久久久