文件系統以及基本命令講解

文件系統基礎

   操作系統用於明確存儲設備或分區上文件的存儲結構,在存儲設備上組織文件的方式,它主要負責爲用戶創建文件、存入、讀出、修改、刪除、複製、剪切等來控制文件。


Linux文件系統結構:一個倒立的樹狀結構,層級,有索引

    /:原始起點

        /dev/pts/2:

                最左側/:爲根目錄

            其它/:爲路徑分隔符


    文件路徑表示:

        絕對路徑:以根目錄爲起點的路徑

        wKioL1ed94Kxwvg-AAAFcN6WpxQ772.png從根目錄開始的路徑(絕對路徑)

        相對路徑:以指定目錄爲起點的路徑

        wKiom1ed9_XQNR46AAAFUxIJUOY374.png從當前目錄開始的路徑(相對路徑)

    

    文件命名法則:

        1.不能超過255個字符

        2.嚴格區分大小寫

        3.同一級目錄下,不可出現兩個文件名同名

        4.可以使用/以外的所有字符


    文件系統結構:

        /boot:存放開機啓動文件,內核文件,Bootloader引導程序

        /etc:存放配置文件

        /dev:存放特殊文件

            b:block設備,隨機訪問,以塊爲單位

             c:character設備,線性訪問,以字符爲單位

        /home:存放普通用戶的家目錄

        /bin:存放基本用戶命令,普通用戶可執行

        /sbin:存放管理命令,只有管理員纔有權限執行

        /usr:存放共享文件以及二進制文件

        /var:經常可變化的文件

        /lib:存放程序所依賴的庫文件

        /lib64:存放用於x86_64系統上的庫文件

        /root:管理員家目錄

        /opt:第三方程序文件

        /mnt:默認文件系統掛載點

        /media:默認光盤掛載點

        /tmp:存放臨時文件

        /srv:系統上運行的服務用到的數據

        /proc:用於輸出內核與進程相關信息的僞文件系統

        /sys:用於輸出當前系統上硬件相關信息的僞文件系統


linux上的程序組成:

    1.二進制文件:/bin, /sbin, /usr/bin, /usr/sbin, /usr/local/bin, /usr/local/sbin

    2.庫文件:/lib, /lib64, /usr/lib, /usr/lib64, /usr/local/lib, /usr/local/lib64

    3.幫助文件:/usr/share/man, /usr/share/doc, /usr/local/share/man, /usr/local/share/doc

    4.配置文件:/etc, /etc/DIRECTORY, /etc/local/etc


linux下文件類型:


    -:普通文件

    d:目錄文件

    l:鏈接文件

    b:塊設備文件

    c:字符設備文件

    p:管道文件

    s:套接字文件


基礎命令

cd命令:切換當前用戶的工作目錄

    cd [OPTIONS...] DIORECTORY

        cd /PATH:切換至指定工作目錄

        wKioL1ed_GehK4LpAAATL55r5lc326.png

        cd ~:切換至用戶家目錄

        wKioL1ed_KTTD4yWAAAQgccDQc4271.png

        cd ~USERNAME:切換指定用戶的家目錄

        wKiom1ed_R-AIYA2AAARkN5i8Qs985.png

        cd -:與上一次所在工作目錄之間來回切換

        wKiom1ed_Y7Qz2CpAAAS32W9UD4629.png

        cd ..:切換之上一級目錄

        wKioL1ed_cvTzbBMAAALVNpzjWE696.png

    

    ls命令:顯示當前目錄或指定目錄下的文件列表

        ls [OPTIONS...] DIRECTORY

            -l:顯示文件的詳細信息wKiom1ed_3mRFzJwAAAqimL8wgQ644.png

            -d:只顯示目錄文件本身

wKioL1ed_9qg1pjsAAAOG9ZPUHs505.png

            -i:顯示每個文件的inode號

wKioL1eeADyg3-kaAABFQhXfXhg527.png

            -h:對文件大小做單位換算,一般和-l選項結合用

wKiom1eeAIqgES5iAAAxLs1LBNU378.png

            -R:遞歸顯示目錄下所有文件以及子目錄下的文件

wKiom1eeAPvRW4-WAAAUsgZqpTo105.png

            -r:逆序顯示文件列表

wKioL1eeAWGBBxGYAABeNSeLgas125.png

            -a:顯示目錄下所有文件,包括以.開頭的文件

wKiom1eeAb-w-7DEAAAnYh9CBLg521.png

            -A:除了.和..以外,其餘都顯示

wKioL1eeAg2yAeO8AAAbPFn3NFY489.png

            -S:文件以大到小排序顯示

wKioL1eeAm_izeFJAAA0-nNCMx4315.png

            -Sr:文件從小到大顯示

wKioL1eeAsKwe5qMAAA2A9q2TUI209.png

文件通配符:

    *:匹配任意字符任意次

    ?:匹配任意單個字符

    []:匹配指定範圍內任意單個字符

    [^]:匹配指定範圍外任意單個字符

    [0-9]:匹配數字範圍

    [a-z]:匹配字母範圍

    [abc123]:範圍內任意一個字符

預定義的字符類:#man 7 glob 可查看幫助

    [:digit:]:匹配任意單個數字

    [:alpha:]:匹配任意單個大小寫字母

    [:space:]:匹配空白字符

    [:punct:]:匹配任意特殊字符

    [:upper:]:匹配大寫字母

    [:lower:]:匹配小寫字母

    [:alnum:]:匹配字母或數字


    pwd命令:顯示當前用戶所在工作目錄

        wKioL1eeA3qD_g1wAAAMlShi6iI711.png

    當前工作目錄環境變量$PWD

    上一次所在目錄環境變量$OLDPWD

    wKioL1eeBBTzQpD-AAAXwMjCV-c235.png

    

    stat命令:查看文件元數據,包括文件時間戳,權限,大小,屬主屬組,鏈接數等

        文件三個時間戳:

            Access time:訪問時間,讀取文件內容時將改變此時間戳

            Modify time:修改時間,修改文件內容時將改變此時間戳

            Change time:改變時間,文件元數據發生變動時,將改變此此時間戳

wKioL1eeBb2zsWpOAAAm6UnYeJs977.png


    touch命令:修改文件時間戳或創建空文件

        touch [OPTIONS...] FILE...

            -a:更新文件的訪問時間戳

wKiom1eeCGujkl7yAABQtQ8xk0w888.png

            -m:更新文件的修改時間戳

wKioL1eeCN2hQUoeAABe7okuZMQ951.png

            -c:刷新文件的所有時間戳,如果文件不存在,則不予創建

wKiom1eeCTbD97YPAABaj87dJr0629.png

            -t DATE:明確指定文件時間戳

                YYmmddHHMM.S

wKiom1eeCjWRon8aAABSLnWt8lc833.png

            touch FILE:創建空文件

wKiom1eeCm6DJ4LhAAAfHHt1PsM744.png


    cp命令:複製文件或目錄

        cp [OPTIONS...] SOURCE DEST

        cp SRC DEST:單源複製

            如果DEST存在,且爲文件,把SRC文件內容覆蓋至DEST

            如果DEST不存,則創建,並把文件內容覆蓋至DEST

            如果DEST存在,且爲目錄,在DEST目錄下創建一個與SRC同名的文件,並把內容填充至此

        cp SRC... DEST:多源複製

            如果DEST不存在,則報錯

            如果DEST存在,且爲目錄,則將SRC...複製到DEST目錄下

            如果DEST存在,且爲文件,報錯

        cp SRC DEST:單源複製,源爲目錄,需要加-r選項

            如果DEST存在,且爲目錄,將SRC目錄複製到DEST目錄下

            如果DEST存在,則爲文件,報錯

            如果DEST不存在,則創建DEST目錄,並把SRC目錄下所有文件複製到DEST目錄

        -r:複製目錄文件,默認只能複製文件

wKiom1eeD0CjIAUdAAAMHl6vTvc833.png

        -f:強制

        -i:交互式

wKiom1eeD4bTv6t_AAAPIDpIzRk165.png

         -p:保留原文件的ownership,mode,timestamp屬性

wKiom1eeD-PCc-X7AAA5wdDl2as485.png

        -a:歸檔

        -v:顯示詳細過程

wKioL1eeEFKRto4TAAAOCWjtjS4289.png

        --preserv=

           mode:權限

           ownership:屬主屬組

          timestamp:時間戳

          link:鏈接屬性

          all:所有


命令別名:定義別名可以簡化操作,提高命令執行效率

alias:顯示當前shell進程所定義的別名

定義別名:

    alias NAME='COMMAND'

wKiom1eeEbbDT6DtAAAmBr9g92E041.png

撤銷別名:

    unalias NAME

wKioL1eeEhOgaRXlAABHfMEX6zE656.png

執行原始命令:

    \COMMAND

    'COMMAND'

    /PATH/TO/COMMAND

wKioL1eeFNCi0FBtAAArdlEvIcI706.png

在命令行定義別名只對當前shell進程有效,如果想永久有效,則需要定義在配置文件當中

/etc/bashrc:全局配置,所有用戶都生效

~/.bashrc:只對當前用戶生效


練習:

    1、定義別名命令baketc,每天將/etc/目錄下所有文件,備份到/testdir獨立的子目錄下,並要求子目錄格式爲backupYYYY-mm-dd,備份過程可見

wKiom1eeE8LAq5mBAAAXsywSLfs210.png

    2、創建/testdir/rootdir目錄並複製/root所有下文件到該目錄內,要求保留原有權限

wKiom1eeFBeAhcJOAAAck-EpZaU359.png


mv:移動或重命名文件或目錄

    工作機制與cp命令一致

    mv [OPTIONS...] SRC DEST

        -i:交互式

        -f:強制

    重命名文件名:mv NAME NEWNAME

     wKiom1eeFfuwJ_cQAAAPrqsUJ1w618.png


rm:刪除文件或目錄

    rm [OPTIONS...] FILE...

        -r:遞歸刪除

        -f:強制刪除

        -i:交互式

    注意:危險操作 rm -rf /*

wKiom1eeFx_RBpiBAAAPF1YVYCQ982.png



tree命令:以樹狀格式查看目錄結構

-L:查看目錄級別

-d:只顯示目錄

wKiom1eeF9zgvKeCAAAJvXiDFv4853.png

mkdir命令:創建目錄

-p:遞歸創建

-v:顯示詳細信息

-m MODE:創建目錄時,指定權限

wKioL1eeGDDge6i1AAAPAs1lefE195.png

rmdir命令:刪除空目錄

-p:遞歸刪除空目錄

-v:顯示過程


file命令:查看文件內容類型

file [OPTIONS...] FILE...

-b:列出命令結果,不顯示文件名

-c:顯示命令執行過程

-f:列出指定文件中的文件的類型

-L:查看軟鏈接文件對應的文件類型

-F:使用指定分隔符號替換輸出文件名後默認的”:”分隔符

-i:輸出mime類型的字符串

-z:嘗試去解讀壓縮文件的內容

wKiom1eeGK-R1iyvAAAvulNYYSM658.png


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章