Linux文件管理命令詳解

·複製和移動文件

    ->cp命令,複製文件的命令

        格式:cp SRC(可以有多個SRC) DEST(只能有一個DEST)

           1,如果SRC爲一個文件,DEST也爲一個文件,那麼表示將DEST文件中的內容覆蓋爲SRC文件中的內容:

            wKiom1fCZeXzEetoAAAcUrf_Cpg984.png

           2,如果SRC爲多個文件,DEST爲一個目錄,那麼表示將SRC文件悉數複製進DEST目錄中:

            wKioL1fCZsTgfNzNAAAnkXN9GQ0692.png

           3,如果SRC爲一個文件,DEST也爲一個文件,但是DEST文件不存在,則表示新建一個DEST文件並且覆蓋爲SRC文件中的內容:

            wKioL1fCZ5bTwJeIAAAgXk7gU7o569.png

        cp命令默認不可以複製目錄,而只能複製文件(ommiting->表示略過的意思),但是cp -r選項可以複製目錄:

        ->如果DEST目錄存在,則表示將SRC目錄放入到DEST目錄裏面

            wKiom1fGLlLg6zOsAAAiDBn6sEQ455.png

        ->如果DEST目錄不存在,則表示新建一個DEST目錄,如果SRC目錄有文件,則連同目錄裏面的文件一起復制過去

            wKiom1fGLy7zvuGbAAApurE7wk8842.png

            ATTR LIST表示屬性列表的意思

        -p(=--preserve)選項表示的是,在複製文件的過程中保留源文件的元數據,因爲我們的cp命令在複製文件的過程中,DEST文件的屬主是執行cp命令的那個用戶:

            wKioL1fGNRjAySLXAABPwVEAku8519.png

        -a(=--archive)選項表示歸檔存放,常用於備份文件,比-p選項保留信息的更多,將文件原封不動的複製:

            wKiom1fGNn7SLDwoAAAvBYuy624842.png

        Symbolic Link->表示的是符號鏈接文件即軟鏈接文件,相當於Windows中的快捷方式:

            wKioL1fGN1mjBPXuAAApJ06leUs910.png

            上圖中文件位的小寫字母l表示的就是鏈接文件的意思

        複製鏈接文件:

            格式->cp SRC(軟鏈接) DEST

            wKioL1fGOiTj8SgbAAAr0qDiCsY308.png

            -L選項表示複製軟鏈接文件所指向的文件,dereference

            wKioL1fGOwLxga1vAABWXWXt8EQ476.png

            -P和-d選項都是將軟鏈接文件複製成爲軟鏈接文件,稱爲保持軟鏈接文件,複製後的軟鏈接文件指向的還是原文件

            wKioL1fGPA_CFOEyAAA4Iy1ZjJc006.png

            -R選項和-r選項的功能一樣,表示複製目錄

            wKioL1fGPKuRkBMiAAAv7kf4j6I694.png

            cp命令也支持花括號展開機制

            wKioL1fGPaGCM-1vAAAhD9gmkDQ885.png

    ->mv命令

        mv(move)表示的是移動文件

        格式:

            mv SRC(可以有多個) DEST(只能有一個)

                wKioL1fGPoTCp-kMAAArKeKI5Aw681.png

              mv SRC DEST(若DEST文件不存在,則表示將SRC文件重命名爲DEST文件)

                wKiom1fGP4aTuuMlAAAVWUwJ5Z0416.png

            mv SRC(目錄) DEST

                ->若DEST不存在,則表示將SRC目錄重命名爲DEST目錄

                    wKiom1fGQEuhBqd7AAAXGGTJ-38631.png

                ->若DEST存在,但是如果DEST不是目錄,則不允許移動

                    wKiom1fGQKPgT59TAAAhjbXCViU296.png

                ->若DEST存在且DEST爲目錄,則表示將SRC目錄的上一層路徑改爲DEST目錄的路徑

                    wKioL1fGQVSwsfW-AAAv5ivVEnM034.png

            mv SRC DEST->若SRC與DEST都存在,且同爲文件或同爲目錄,如果同爲文件,則表示將SRC文件重命名爲DEST文件,但是將DEST文件裏的內容覆蓋爲SRC文件裏的內容:

                wKiom1fGQ2bAKJ0SAAAgXYFpbmA960.png

            如果同爲目錄,則表示將SRC目錄重命名爲DEST目錄,並且將SRC目錄得上一層路徑改爲DEST目錄的路徑:

                wKioL1fGRWDAbgktAAAkIFpi4MQ043.png

            mv命令是mv -i命令的命令別名,表示mv命令默認進入交互模式,而mv -f表示強制覆蓋文件內容,不進入交互模式:

                wKiom1fGRxuiI4O8AAAzVqrsauA621.png

            -t選項表示反向更改文件或目錄路徑

                格式:mv -t DEST(必須爲目錄) SRC

                wKiom1fGWX3xg8U9AABBcytKokY087.png

    ->install命令

        install命令用來複制文件,並指定文件屬性

            格式:install SRC DEST,使用install命令複製的文件有執行權限

            wKiom1fGWy3ApjD1AAAVIe5FllE609.png

            install命令相當於cp命令

                -d選項表示創建目錄,可以創建多個目錄

                wKiom1fGW8mQ1lxDAAAWyEnrAWE888.png

                install不可以用來複制目錄

                wKioL1fGXFrxt7ffAAAU5-2iAD8323.png

                -t選項和mv -t的功能一模一樣

                wKiom1fGXNWAsZd1AAAniM0AC6c723.png



·GPL

    General Public License(通用公共許可證),GNU項目的版權(Copyleft)

·BSD(FreeBSD)

    Berkerley Software Distribution,Unix的一個重要分支,由Bill Joy開發,Sun公司的創始人

·Apache

    以上都是自由軟件的開源協定,以及版權描述

·Linux官方網站

    www.kernel.org,Linux僅提供內核與內核提供的工具,而GNU/Linux提供由源代碼編譯好的外圍軟件

·發行版

    即可安裝載體(Linux Distribution->提前編譯好的套件=kernel+softwares+tools)

    三大主流Linux發行版:

        ->RedHat

            Fedora爲RedHat提供桌面,Centos基於RedHat,RedHat、Fedora以及Centos都以RPM的方式安裝軟件

        ->SUSE

            SUSE也是以RPM的方式安裝軟件

        ->Debian

            Ubuntu和Mint基於Debian,Debian和Ubuntu使用dpkg的方式安裝軟件

    編譯指的是將源程序轉換爲可以在相應硬件平臺上執行的二進制程序的過程,因爲我們的計算機能執行的只是一些編譯好的二進制程序

    我們的RedHat系統利用的是使用通用格式編譯好的一堆外圍軟件

    Gentoo系統的外圍軟件得自己在自己的硬件平臺上編譯

    LFS(Linux From Scratch(起跑線))系統,這個系統更甚於Gentoo,這是一個深度掌握Linux的工具

·Linux目錄管理命令

    ls命令

    cd命令

    pwd命令

        -P選項,表示的是打印當前目錄的真實路徑而不是當前路徑的軟鏈接路徑

            wKiom1fHzcLSCyFSAAAPmu5DKrY726.png

    mkdir命令

        -m選項,表示直接指定目錄權限

            wKioL1fHzsbT9Mx2AAAct3oq9Co530.png

    rmdir命令

    tree命令

·Linux文件管理命令

     ->touch命令

        創建新文件或者修改時間戳

        創建新文件:

        wKiom1fHz5qRTNvTAAARYGmwKkU129.png

        修改atime:

        wKioL1fH0IDA81QAAACIGKIQ4iw187.png

        修改mtime:

        wKiom1fH0OyixS6sAACHDv-gL0s024.png

        修改ctime:

        wKioL1fH0S7Q8ZkGAACJPWQQZek705.png

    ->stat命令

        查看文件或目錄的元數據

        wKiom1fH0c2AYceJAACJTdM-BrM121.png

    ->file命令

        查看文件或目錄的內容類型

        wKioL1fH0lnSa1eIAAAYkq2PPi4958.png

    ->nano

        文件編輯器

·日期時間相關命令

    date命令

    clock命令

    hwclock命令

    cal命令

·Linux系統中查看文本文件的命令

    ->cat命令

        cat(=dump傾倒)命令表示連接並顯示文本文件

            wKioL1fH032SFEA_AAAWc7VkWmY271.png

        -n選項表示顯示行號(常用選項)

            wKiom1fH0-TxV-fuAAAiYhYUf1c264.png

        -E選項表示顯示文本文件中每一行的結束符

            wKiom1fH1EyTBR97AAAZJWmX59c530.png

            Linux系統中文本文件的行結束符爲$($即爲回車鍵)

        -T選項表示顯示製表符

            wKiom1fH1SXjLctVAAAbAVncfP4259.png

            ^I即爲製表符

        -v選項表示顯示非打印字符

            wKiom1fH2HOhcFD_AAAUCcIuoUg188.png

        -A選項表示顯示所有符號

            wKioL1fH2NjyYp88AAAZZl85j9A942.png

    ->tac命令

        從尾部向首部依次顯示文本文件的內容

        wKioL1fH2cGRdL9HAAAnZ5KObyk551.png

        Ctrl+c表示interrupt終止命令

·分屏顯示文本文件內容的命令

    ->more命令:more命令到達文件尾部的時候會自動退出文件

        空格鍵表示向後翻一屏

        b鍵表示向前翻一屏

        回車鍵表示向後翻一行

    ->less命令

        相當於man手冊,我們的man手冊就是調用less命令來打開文本文件的

        q鍵退出文件

·查看文本文件部分內容的命令

    ->head命令

        查看文本文件的前n行內容,n默認爲10

        wKioL1fH28jBgeCrAAAPVzIp8Wk961.png

        -n #表示指定顯示前#行內容

        wKiom1fH3Cuw5ZuhAAAPl5ImxhE497.png

    ->tail命令

        查看文本文件的後n行內容,n默認爲10

          wKioL1fH3WmDSuVTAAAogQ_YzAc409.png

        -n #表示顯示指定的後#行內容

          wKiom1fH3nLz3rUAAAAP1sAIoMg896.png

        -f選項表示監控文本文件有沒有新增加的內容,因爲文本文件的新增內容都是從文件尾部添加進去的

        默認只監控文件的後10行

        wKiom1fH4FKSR7grAABbxYw6yHU399.png

        還可以加上-n #來指定監控的尾部行數

        wKioL1fH4M2TqBLVAAA06N9oUfM255.png

·文本處理命令

    ->cut命令

        文本剪切命令

        使用格式:cut -d(指定文本文件中的分隔符,默認爲空格) -f #(指定字段) file

            wKiom1fH5BzxCAurAABcOEhBXVE056.png

            -f選項表示指定要顯示的字段

                數字之間","隔開表示離散顯示字段

                wKioL1fH5JaBaclIAABiWveLuZk844.png

                數字之間"-"隔開表示連續顯示字段

                wKiom1fH5POTbGw0AABqY1kA_XI709.png

    ->join命令

        文本拼湊命令

    ->sed與awk命令

        這兩個命令難度很大,awk命令是一種報告生成命令

    Linux的三大文本處理利器:

        sed

        awk

        grep

·database(數據庫)

    MySQL是一種數據庫管理系統,而不是數據庫

    ->關係型數據庫

        表(二維表):可以沒有行,但是不能沒有列

        文本文件:利用分隔符隔開各個項目,比如我們的/etc/passwd文件