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

文件系統基礎node

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


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

    /:原始起點
shell

        /dev/pts/2:
bash

                最左側/:爲根目錄
ide

            其它/:爲路徑分隔符
spa


    文件路徑表示:操作系統

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

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

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

        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:只對當前用戶生效


練習:

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

wKiom1eeE8LAq5mBAAAXsywSLfs210.png

    二、建立/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

相關文章
相關標籤/搜索