Linux命令格式、獲取幫助、文件系統

一、Linux的命令

    (一)、概念和意義:

            發起一個命令:請求內核將某個二進制程序運行為一個進程;

                程序 –> 進程

                靜態 –> 動態(有生命周期)

            命令本身是一個可執行的程序文件:二進制格式的文件,有可能會調用共享庫文件;

                多數系統程序文件存放目錄:

                    普通命令:/bin, /usr/bin, /usr/local/bin

                    管理命令:/sbin, /usr/sbin, /usr/local/sbin

                共享庫存放目錄:

                    32bits的庫:/lib, /usr/lib, /usr/local/lib

                    64bits的庫:/lib64, /usr/lib64, /usr/local/lib64

                注意:并非所有的命令都有一個在某目錄與之對應的可執行程序文件

    (二)、遵循特定格式規范:

            exe, msi, ELF(Linux)

                ~]# file /bin/ls

                    查看命令規范    

    (二)、分類

            (1):由shell程序的自帶的命令:內置命令(builtin)

                shell程序是獨特的程序,負責解析用戶提供的命令

                解析流程:從環境變量PATH存儲的目錄中自左往右尋找執行的命令對應的二進制程序,并調用之。

                環境變量PATH的查看方法:

                        ~]# echo $PATH

                            /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

                        查找次序:自左而右;

            (2):獨立的可執行程序文件,文件名即命令名:外部命令

            查看命令類型:

                type COMMAND

    (三)、書寫格式或者是使用方法

        # COMMAND OPTIONS ARGUMENTS

            COMMAND: 

                執行命令的名稱

            OPTIONS:

                (1) 指定命令的運行特性:

                        比如命令執行需要返回的那些參數等等,不同的命令有不同的特性區分。

                (2) 表現形式:

                        短選項:-C, 例如-l, -d

                            注意:有些命令的選項沒有-;

                            如果同一命令同時使用多個短選項,多數可合并:-l -d = -ld

                        長選項:–word, 例如–help, –human-readable

                            注意:長選項不能合并;

                    注意:有些選項可以帶參數,此稱為選項參數;

            ARGUMENTS:

                命令的作用對象;命令對什么生效;一般為文件、數據等

                注意:不同的命令的參數;有些命令可同時帶多個參數,多個之間以空白字符分隔;

二、獲取某個命令的使用幫助

    內部命令和外部命令不同:

    (一)、內部命令

            help COMMAND

    (二)、外部命令

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

                # COMMAND –help

        (2) 使用手冊:manual

            位置:/usr/share/man

            # man COMMAND

                打開某個命令手冊后的使用介紹:

                    NAME:功能性說明

                    SYNOPSIS:語法格式

                        []:可選內容;

                        <>:必須提供的內容;

                        a|b|c:多選一;

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

                    DESCRIPTION:描述

                    OPTIONS:選項

                    EXAMPLES:使用示例

                    AUTHOR: 作者

                    BUGS: 報告程序bug的方式

                    SEE ALSO: 參考

                    … 

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

                /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文件系統

    (一)、概念

        文件系統是Linux中有索引的層級結構的一張倒叉樹結構。

            原始起點為/,稱為根目錄。

    (二)、分類

            (1) 目錄:路徑映射

                    路徑表示方法分類兩種:

                        [1]:相對路徑

                        [2]:決定路徑

            (1) 文件:存儲空間存儲的一段流式數據,對數據可以做到按名存取

    (三)、Linux目錄規范

        FHS(Filesystem Hierarchy Standard)

            /bin:所有用戶可用的基本命令程序文件;

                /sbin:供系統管理使用的工具程序;

                /boot:引導加載器必須用到的各靜態文件:kernel, initramfs(initrd), grub等;

                /dev:存儲特殊文件或設備文件;

                    設備有兩種類型:字符設備(線性設備)、塊設備(隨機設備);

                /etc:系統程序的配置文件,只能為靜態;

                /home:普通的家目錄的集中位置;一般每個普通用戶的家目錄默認為此目錄下與用戶名同名的子目錄,/home/USERNAME;

                /root:管理員的家目錄;可選;

                /lib:為系統啟動或根文件系統上的應用程序(/bin, /sbin等)提供共享庫,以及為內核提供內核模塊

                    libc.so.*:動態鏈接的C庫;

                    ld*:運行時鏈接器/加載器;

                    modules:用于存儲內核模塊的目錄;

                /lib64:64位系統特有的存放64位共享庫的路徑;

                /media:便攜式設備掛載點,cdrom, floppy等;

                /mnt:其它文件系統的臨時掛載點;

                /opt:附加應用程序的安裝位置;可選路徑;

                /srv:當前主機為服務提供的數據;

                /tmp:為那些會產生臨時文件的程序提供的用于存儲臨時文件的目錄;可供所用戶執行寫入操作;有特殊權限;

                /usr:usr Hierarchy,全局共享的只讀數據路徑;

                    bin, sbin

                    lib, lib64

                    include:C程序頭文件;

                    share:命令手冊頁和自帶文檔等架構特有的文件的存儲位置

                    local:另一個層級目錄;

                    X11R6:X-Window程序的安裝位置

                    src:程序源碼文件的存儲位置

                /usr/local:Local hierarchy,讓系統管理員安裝本地應用程序;也通常用于安裝第三方程序;

                /var:/var Hierarchy,存儲常發生變化的數據的目錄;

                    cache    Application cache data

                    lib        Variable state information

                    local    Variable data for /usr/local

                    lock    Lock files

                    log        Log files and directories

                    opt        Variable data for /opt

                    run        Data relevant to running processes

                    spool    Application spool data

                    tmp        Temporary files preserved between system reboots    

                /proc:基于內存的虛擬文件系統,用于為內核及進程存儲其相關信息;它們多為內核參數,例如net.ipv4.ip_forward, 虛擬為net/ipv4/ip_forward, 存儲于/proc/sys/, 因此其完整路徑為/proc/sys/net/ipv4/ip_forward;

                /sys:sysfs虛擬文件系統提供了一種比proc更為理想的訪問內核數據的途徑;其主要作用在于為管理Linux設備提供一種統一模型的的接口;

                    參考:https://www.ibm.com/developerworks/cn/linux/l-cn-sysfs/

    (四)、Linux文件類型

        [1]、-    常規文件即f(file)

        [2]、d    directory,目錄文件;

        [3]、b    block device,塊設備文件,支持以“block”為單位進行隨機訪問

        [4]、c    character device,字符設備文件,支持以“character”為單位進行線性訪問

                    major number:主設備號,用于標識設備類型,進而確定要加載的驅動程序

                    minor number:次設備號,用于標識同一類型中的不同的設備;

                        8位二進制:0-255

        [5]、l    symbolic link,符號鏈接文件;

        [6]、p    pipe,命名管道;

        [7]、s    socket,套接字文件;

    (五)、文件名(目錄也屬于文件的一種)使用法則:

        [1]、嚴格區分字符大小寫:file1, File1, FILE1

        [2]、目錄也是文件,在同一路徑下,兩個文件不能同名;

        [3]、支持使用除/以外的任意字符【但是不推薦使用特殊字符】

        [4]、最長不能超過255個字符;

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

(0)
小江小江
上一篇 2016-08-15
下一篇 2016-08-15

相關推薦

  • C++的std::string的“讀時也拷貝”技術!

    C++的std::string的讀時也拷貝技術! 嘿嘿,你沒有看錯,我也沒有寫錯,是讀時也拷貝技術。什么?我的錯,你之前聽說寫過時才拷貝,嗯,不錯的確有這門技術,英文是Copy On Write,簡寫就是COW,非常’?!?!那么我們就來看看這個’?!夹g的效果吧。 我們先編寫一段程序 #include <string> #include…

    Linux干貨 2015-04-03
  • 搭建yum倉庫

    搭建yum倉庫 背景: 在學習完如何搭建yum倉庫后,覺得搭建yum倉庫很有意義,將自己學習中的感悟和理解記錄下來,以備日后復習。 介紹: yum:全稱是Yellow dog Updater, Modified。它是一個在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器?;赗PM包管理,能夠從指定的服務器自動下載RPM包并且安裝,可…

    2017-08-05
  • 8-4 文本處理工具

    本節主要了解文本處理工具 文件查看命令:cat  tac  rev     cat [OPTION]… [FILE]…         -E:顯示行結束符$    &…

    Linux干貨 2016-08-07
  • N25-第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限。 1.  [root@jizo etc]# ls –d skel 2.  skel 3.  [root@jizo etc]# cd /home 4.  [root@jizo …

    Linux干貨 2016-12-26
  • 用戶管理命令之NBA版

    用戶管理命令之NBA版 本文純屬扯淡,如有不嚴謹之處,還請海涵。 1 groupadd 作用:創建一個屬組 格式:groupadd [選項] 屬組名 選項: -:選項為空 創建新屬組 -g:指定組GID,默認是GID+1 實例 1.1 添加屬組team,指定組ID為1111      groupadd -g …

    Linux干貨 2017-03-27
  • Linux中的分區管理

    1. 磁盤分區類型 磁盤分區主要分為兩種類型: MBR  MBR是一個比較古老的分區類型了,不支持2TB的大硬盤。在磁盤的0磁道0扇區的512字節存放的就是MBR的信息。前446字節為bootloader,后面64字節存放的是分區表,后面2字節存放的是55aa的分區標識符。MBR分區類型最多只能支持4個主分區和擴展分區,其余的分區只能是邏輯分區。 …

    2017-04-22
欧美性久久久久