第一周:Linux基礎之常用命令(二)

一、Linux的命令使用格式

命令的語法通用格式:

~]# COMMAND  OPTIONS  ARGUMENTS   命令  選項  參數

1.  COMMAND,命令:發起命令時將請求內核將某個二進制程序運行為一個進程,命令本身是一個可執行的程序文件,二進制格式的文件有可能會調用共享庫文件。

多數系統命令程序文件都存放在:/bin,/sbin,/usr/bin,/usr/sbin,/usr/local/bin,/usr/local/sbin,它們又分為普通命令和管理命令。

       普通命令:存放在/bin,/usr/bin,/usr/local/bin

       管理命令:存放在/sbin,/usr/sbin,/usr/local/sbin

用到的庫文件都存放在:/lib,/lib64,/usr/lib,/usr/lib64,/usr/local/lib,/usr/local/lib64,它們分為32位和64位的庫文件,32位使用于32位的操作系統,64位使用于64位的操作系統,64位兼容32位,而32不兼容64

                                         32位庫:存放在/lib,/usr/lib,/usr/local/lib

                                         64位庫:存放在/lib64,/usr/lib64,/usr/local/lib64 

                 命令分為兩類:

                                         由shell自帶的命令,叫作內嵌命令(builtin)

                                         獨立的可執行程序文件,文件名即命令名,叫作外部命令

             查看命令的類型:

                                         type命令: 例:~]#  type COMMAND  

[root@app1 ~]# type mkdir                                        
mkdir is /bin/mkdir
[root@app1 ~]# type alias
alias is a shell builtin

2.  OPTIONS,選項: 指定命令的運行特性,有兩種表現形式:

                                      短選項:-C,例如 ls -l ,-d    注:有的命令選項沒有 – ,同一命令同時使用多個短選項可合并:ls -ld

                                      長選項:–word,例如 ls –help,有時候選項也帶參數,例:du -h –max-depth=1    注:長選項不能合并

3.  ARGUMENTS,參數:命令的作用對象,命令對什么生效,例:ls /etc ,作用在/etc 。注:有些命令可以可同時帶多個參數,以空白分隔

二、常用命令介紹

1. ifconfig

OPTIONS
            -a    顯示所有可用網絡接口狀態信息
            -s    簡單顯示網絡狀態,類似netstat –i
            Interface 只顯示$interface的配置信息及網絡狀態
            up/down    用法是:ifconfig interface up/down    啟動/關閉interface接口
            
FOR EXAMPLE:
[root@app1 ~]# ifconfig -a
eth0      Link encap:Ethernet  HWaddr 00:50:56:84:0D:85  
          inet addr:10.88.158.84  Bcast:10.88.158.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fe84:d85/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13271001 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12381904 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:3830321889 (3.5 GiB)  TX bytes:2327742771 (2.1 GiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:261858897 errors:0 dropped:0 overruns:0 frame:0
          TX packets:261858897 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:238693595641 (222.3 GiB)  TX bytes:238693595641 (222.3 GiB)

[root@app1 ~]# ifconfig -s
Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0 13271022      0      0      0 12381924      0      0      0 BMRU
lo        65536   0 261859213      0      0      0 261859213      0      0      0 LRU
[root@app1 ~]# ifconfig lo
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:261859889 errors:0 dropped:0 overruns:0 frame:0
          TX packets:261859889 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:238693742990 (222.3 GiB)  TX bytes:238693742990 (222.3 GiB)

2.  echo:回顯

      echo $PATH

[root@app1 ~]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin:/roo
t/bin

3.  tty:查看當前的終端設備

[root@app1 ~]# tty

/dev/pts/1

4.  startx:打開圖形界面(前提是Linux系統已經安裝圖形界面)

啟動GUI:在某一虛擬終端接口運行命令:startx &

5.  export:環境變量賦值,查看環境變量

      (1)  export  name=value

      (2)  name=value

            export name

[root@app1 ~]# export name=wlm
[root@app1 ~]# echo $name
wlm

6.  pwd:printing working directory  顯示工作目錄

7.  history:定制history的功能,可通過環境變量實現:

      HISTSIZE:shell進程可保留的命令歷史的條數;

      HISTFILE:持久保存命令歷史的文件;.bash_history(用戶家目錄下)

      HISTFILESIZE:命令歷史文件的大??;

    命令用法:

    history [-c] [-d 偏移量] [n] 

    或 history -anrw [文件名] 

    或 history -ps 參數 [參數…]

    -c: 清空命令歷史;

    -d offset:刪除指定命令歷史

    -r: 從文件讀取命令歷史至歷史列表中;

    -w:把歷史列表中的命令追加至歷史文件中;

    history #:顯示最近的#條命令;

    調用命令歷史列表中的命令:

    !#:再一次執行歷史列表中的第#條命令;

    !!:再一次執行上一條命令;

    !STRING:再一次執行命令歷史列表中最近一個以STRING開頭的命令;

    注意:命令的重復執行有時候需要依賴于冪等性;

    調用上一條命令的最后一個參數:

    快捷鍵:ESC, .

    字符串:!$

    控制命令歷史記錄的方式:

    環境變量:HISTCONTROL

    ignoredups:忽略重復的命令;

    ignorespace:忽略以空白字符開頭的命令;

    ignoreboth:以上兩者同時生效;

8.  關機命令

CentOS 7:

        systemctl poweroff   關機

        systemctl reboot     重啟

CentOS 6

        poweroff

        reboot

9. hwclock, clock:硬件時鐘

顯示或設定硬件時鐘

        -s, –hctosys:以硬件為準,把系統調整為與硬件時間相同;

        -w, –systohc:以系統為準,把硬件時間調整為與系統時鐘相同;

10. date:系統時鐘

顯示日期時間:date [OPTION]… [+FORMAT]

    FORMAT:格式符

            %F:以年-月-日顯示時間

            %Y:顯示年

            %m:顯示月

            %d:顯示日

            %H:顯示小時

            %M:顯示分鐘

            %S:顯示秒

            %s:從1970年1月1號(unix元年)0點0分0秒到命令執行那一刻經歷的秒數;

        設定時間:date [MMDDhhmm[[CC]yy][.ss]] 

[root@app1 ~]# date
Sun Sep 18 15:58:50 CST 2016
[root@app1 ~]# date +%F
2016-09-18
[root@app1 ~]# date +%Y%m%d%H%M%S
20160918155914
[root@app1 ~]# date +%s
1474185561

三、Linux上獲取命令幫助信息

獲取命令的使用幫助:

內部命令:help COMMAND

外部命令:

(1) 命令自帶簡要格式的使用幫助

        # COMMAND –help

(2) 使用手冊:manual

        位置:/usr/share/man

        # man COMMAND

        SECTION:

        NAME:功能性說明

        SYNOPSIS:語法格式

        DESCRIPTION:描述

        OPTIONS:選項

        EXAMPLES:使用示例

        AUTHOR: 作者

        BUGS: 報告程序bug的方式

        SEE ALSO: 參考

        SYNOPSIS: 

        []:可選內容;

        <>:必須提供的內容;

        a|b|c:多選一;

        …:同類內容可出現多個;

        使用手冊:壓縮格式的文件,有章節之分;

        /usr/share/man

        man1, man2, …

        1:用戶命令;

        2:系統調用;

        3:C庫調用;

        4:設備文件及特殊文件;

        5:文件格式;(配置文件格式)

        6:游戲使用幫助;

        7:雜項;

        8:管理工具及守護進行;

        ~]# man CHAPTER COMMAND

        注意:并非每個COMMAND在所有章節下都有手冊;

        查看:

        ~]# whatis COMMAND

        注意:其執行過程是查詢數據庫進行的;

        手動更新數據庫:

        ~]# makewhatis

        man命令打開手冊以后的操作方法:

        翻屏:

        空格鍵:向文件尾翻一屏;

        b: 向文件首部翻一屏;

        Ctrl+d:向文件尾部翻半屏;

        Ctrl+u:向文件首部翻半屏;

        回車鍵:向文件尾部翻一行;

        k: 向文件首部翻一行;

        G:跳轉至最后一行;

        #G: 跳轉至指定行;

        1G:跳轉至文件首部;

        文本搜索:

        /keyword:從文件首部向文件尾部依次查找;不區分字符大小寫;

        ?keyword:從文件尾部向文件首部依次查找;

        n: 與查找命令方向相同;

        N: 與查找命令方向相反;

        退出:

        q: quit

        選項:

        -M /PATH/TO/SOMEDIR:到指定目錄下查找命令手冊并打開;

(3) info COMMAND獲取命令的在線文檔;

(4) 很多應用程序

        會自帶幫助文檔:/usr/share/doc/APP-VERSION

        README:程序的相關的信息;

        INSTALL: 安裝幫助;

        CHANGES:版本迭代時的改動信息;

(5) 主流發行版官方文檔

        http://www.redhat.com/doc

        (6) 程序官方的文檔:

        官方站點上的“Document”

(7) 搜索引擎

        google

        keyword filetype:pdf

        keyword site:domain.tld

四、Linux基礎目錄功用及命名規則

FHS(Filesystem Hierarchy Standard)規定了類Unix系統的各個系統目錄的功能及存儲文件,下面我們來解讀下linux系統中的目錄

        /: Root directory 根目錄,Linux內核掛載的起始位置

        /bin: Essential user command binaries (for use by all users) 基本的用戶命令文件,任何用戶均可調用,比如:cp、date、dd、rm

        /boot: Static files of the boot loader 系統引導加載程序的靜態文件,系統進入用戶模式之前的加載文件均在這里

        /dev: Device files 系統的設備文件 存儲著關于各部分硬件設備的資料,比如:tty、pts、mem(不可讀)

        /etc:Host-specific system configuration 主機的系統配置文件,幾個特殊的目錄如下:

                  X11/       Configuration for the X Window system (optional)
                  sgml/            Configuration for SGML (optional)
                  xml/           Configuration for XML (optional)

        /home:  User home directories (optional)  用戶的家目錄,創建用戶默認生成,一般目錄名同用戶名。例如:/home/USERNAME

        /lib:Essential shared libraries and kernel modules 基本的共享庫及內核模塊。

        /lib(qual):Alternate format essential shared libraries (optional) 交替格式共享庫。例如lib32、lib64

        /media:Mount point for removable media 可移動介質的掛載點,可以認為是擴展掛載點。與/mnt類似

        /mnt:Mount point for a temporarily mounted filesystem 其他臨時系統文件的掛載點。

        /opt:Add-on application software packages 留給附加的應用程序軟件包的

        /root:Home directory for the root user (optional) 超級管理員root的家目錄

        /run:Run-time variable data 運行時的變量數據,這個目錄包含系統信息數據描述了系統自啟動。這個目錄下的文件必須被清除(刪除或截斷)在引導過程的開始。

        /sbin:System binaries 管理員命令存儲目錄,沒有子目錄且不能隨意創建

        /srv:Data for services provided by this system 系統服務的相關數據

        /tmp:Temporary files 臨時文件存儲。

        /usr: shareable, read-only data,must not be written to。屬于系統文件的最主要部分(/除外),符合FHS用戶共用此目錄,其子目錄解讀如下:

                  bin/        Most user commands 大部分的用戶命令,比如:perl,python,tclsh

                  include/       Directory for standard include files 一些可能系統調用的C相關的文件

                  lib/        Libraries for programming and packages 庫程序和包

                  local/       Local hierarchy 本地的層級目錄,bin/,sbin/,lib/,lib64/,share/,src/,games/,include/等

                  sbin/       Non-essential standard system binaries 只有管理員調用的非標準的系統函數

                  share/       Architecture-independent data 系統雜項,但是有幾個重要的目錄

                                 man/ Manual pages 使用手冊目錄

                                 doc/ 程序的說明文檔

                                 zeroinfo/ Timezone information and configuration (optional)   時區信息和配置信息

                  src/        Source code (optional)源代碼文件可以存儲在這里,僅供參考

        /sys:Kernel and system information virtual filesystem 主要存儲的是硬件信息、驅動、個別內核信息

        /proc:Kernel and process information virtual filesystem 看解釋跟/sys一樣,只是此文件目錄存儲的是實際標準的流程和系統信息,比如CPU、內存等信息

        /var:/var contains variable data files. This includes spool directories and files, administrative and logging data, and transient and temporary files. 

                主要包括一些緩存文件、管理的log文件、動態生成的臨時文件、spoool、mail文件,也是比較重要的目錄

文件和目錄的命名規則:

1、文件名名稱嚴格區分字符大小寫;

2、文件可以使用除/以外任意字符;

3、文件名長度不能超過255字符;

4、以.開頭的文件為隱藏文件;

.: 當前目錄;

..: 當前目錄的上一級目錄;













原創文章,作者:dawning,如若轉載,請注明出處:http://www.www58058.com/47435

(0)
dawningdawning
上一篇 2016-09-18
下一篇 2016-09-18

相關推薦

  • LVS(Linux Virtual Server)學習筆記

    LVS(Linux Virtual Server)學習筆記 此文主要對lvs負載均衡學習的總結,一為記錄,二為鞏固。主要介紹:1、lvs基礎;2、lvs的配置;3、lvs的實現 前提:負載均衡(LB Cluster)     負載均衡實現方法有兩種:硬件實現和軟件實現;    &…

    Linux干貨 2017-02-13
  • LInux系統上的文件管理類型以及bash的基礎特性

    LInux系統上的文件管理類型以及bash的基礎特性

    2017-12-12
  • 設計模式 ( 十九 ) 模板方法模式Template method(類行為型)

    設計模式 ( 十九 ) 模板方法模式Template method(類行為型) 1.概述 在面向對象開發過程中,通常我們會遇到這樣的一個問題:我們知道一個算法所需的關鍵步驟,并確定了這些步驟的執行順序。但是某些步驟的具體實現是未知的,或者說某些步驟的實現與具體的環境相關。例子1:銀行業務辦理流程在銀行辦理業務時,一般都包含幾個基本固定步驟:取號排隊->…

    Linux干貨 2015-04-07
  • gitlib環境部署

         GitLab是利用 Ruby on Rails一個開源的版本管理系統,實現一個自托管的Git項目倉庫,可通過Web界面進行訪問公開的或者私人項目。它擁有與Github類似的功能,能夠瀏覽源代碼,管理缺陷和注釋??梢怨芾韴F隊對倉庫的訪問,它非常易于瀏覽提交過的版本并提供一個文件歷史庫。它還提供一個代碼片段收集功能可以輕松…

    2016-05-19
  • 磁盤管理

    1、創建一個10G分區,并格式為ext4文件系統。 (1)虛擬機添加21G硬盤 Disk /dev/sdb: 21.5 GB, 21474836480 bytes, 41943040 sectors Units = sectors of 1&nbsp…

    Linux干貨 2016-12-18
  • Linux 第十天: Linux文件查找和壓縮

      Linux 第十天: Linux文件查找和壓縮                     使用Linux的時候, 經常需要查找文件, 在Linux中, 有很多方法可以做到這一點.…

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