Linux基礎之常見命令用法(一)

一、Linux文件目錄結構

    在講述之前,先簡短的說說Windows文件結構,打開‘計算機’,看到的一個個的驅動器(盤符,例C盤、D盤等),點開其中任意盤符,看到的是一個個文件或文件夾,繼續打開...,每個盤都有自己的根目錄。若是把其打開過程畫下來,便可得到如下多棵倒樹並列的圖形:wKiom1nHhRyDp_ysAABH6-Y85bY188.png-wh_50

而在Linux下,看到的是文件夾(目錄),Ubuntu沒有盤符一說,只有一個根目錄(/表示),同樣畫下來:

wKioL1nHhzbBIsXEAAG1DlFxkuE034.png-wh_50         wKiom1nHh-SzB4H4AACTAp7Loeo476.png-wh_50

那有讀者可能會疑惑:Linux是多用戶操作系統,比較安全,而這裏只有一個根文件,也就是所有用戶都在根目錄下面,那用戶A可以隨意修改其中某一文件,對於用戶B來說可能會受到影響,怎麼還會是安全的呢?原因:Linux在創建不同的用戶時,會默認生成同名的組(group),每個組以及組內的每個用戶都有相應的操作權限,一般來說普通用戶是沒有權限修改其他組用戶或系統系統信息的(如密碼驗證,管理員權限,文件目錄權限等),所以多個用戶在同一個根目錄下一般是無權誇組跨權限更改系統、它組的信息。例如:以地球爲根目錄,每個家庭爲組,家庭成員爲組內用戶;小王、小吳是好鄰居,一天,小王想去小王家借鹽,前提是要進入小吳家中,就要有小吳的許可,進入之後,還要得到借鹽許可,小王方可借到鹽。Linux也一樣,所以Linux還是安全的。

二、常用文件和目錄命令

    1).終端命令格式: 命令 [-選項][參數]

            命令:相應功能英文單詞或者縮寫

            -選項:對命令進行選擇控制[注意:前面有一橫槓]

            參數:給命令加上範圍

            中括號表示可省略,例如:

            $ls

                wKiom1nHkr3igievAAAGxhNH38s153.png-wh_50

            $ls -ll

                    wKiom1nHk3bS4gpLAAAQiaBjTTY370.png-wh_50

            $ls -l test.py

                 wKioL1nHkqvBl5q_AAAT92QDiXQ113.png-wh_50

            

    2).幫助命令

            命令 --help 或者是 man 命令  (注意:這裏是雙橫槓,man是manual的簡寫,包含了Linux絕大部分的命令即使用說明)

            如:

                wKioL1nHlNXi21GMAABNGWZ8EPw541.png-wh_50

      3).增刪查改操作命令

           touch/mkdir/rm/ls/pwd/cat/find/grep/more/重定向等等   

        touch:新建文件,若文件存在,則把上一次操作的時間改成本次時間,內容不變                mkdir:新建文件夾(目錄),注意不能出現重名現象

            $touch 某路徑下xxx1 xxxx2....

            $mkdir 某路徑下yyy1 yyy2....

            注意:兩者支持批量創建,並且可指定路徑

        rm:remove的縮寫,用於刪除文件,加上選項 -r強行刪除文件夾,包括其子內容

            改命令不可恢復(無法撤銷)

        ls:list的縮寫,查看目錄下的內容 (例子在上面寫過)

                有-a、 -l、 -h常見選項,

                    -a:顯示指定目錄下所有子目錄和文件,包括隱藏的;

                    -l:以列表的方式顯示詳細信息;

                     -h:配合-l以列表的方式顯示文件的大小

        tree:顯示當前目錄下的層級關係,選項-d只顯示目錄層級關係;也可指定目錄

                $tree 

                $tree -d

                $tree -d 指定路徑下的某一目錄

        pwd : 顯示當前目錄的絕對路徑,print working directory

        echo:向屏幕顯示內容,作用像鏡子一樣

                $echo 你好

                        wKiom1nHpHXzXkr9AAACBnERh10176.png-wh_50

        cat:查看文件內容、 創建文件、 文件合併、 追加文件內容等功能(不存在先創建,再合併追加,存在直接操作),常與管道(接下來有講述)配合使用。選項有-n和-b等,分別輸出行號和非空行的行號,例如

            wKioL1nHppXgQU_eAAAIfaJtVAU577.pngwKioL1nHqRLzhMR3AABJTs8vEjY389.png

          history:查看此次在終端中輸入的歷史命令。

          cd:change directory的簡寫,用戶切換目錄;  

    cd ~ 和cd 切換到當前用戶的主目錄(/home/用戶目錄,即根目錄/家目錄)位置

    cd .. 上一級目錄

    cd . 當前目錄

    cd -  在當前與上一次目錄之間來回切換

         find:強大的搜索命令,用來在特定目錄下搜索符合條件的文件或目錄。

                find [路徑] -name "正則表達式"         

                如在當前目錄下查找以py結尾的文件:$find -name "*.py"  

         grep:強大的文本搜索工具,常和管道配合使用。

                常有-n、-i等選項,顯示符合條件[正則表達式]行的行號,-i忽略大小寫,

        管道:用 | 表示,將一個命令的輸出通過管道作爲另一個命令的輸入。

               例:$cat 1.txt 2.py | 4.txt  :將1.txt和2.py的內容輸入到4.txt

                   $cat 4.txt : 打印結果和3.txt一樣

                   $cat 1.txt 2.py | grep 'ghd':管道右側沒有指定文件名,則系統會將左邊結果臨時放到緩衝區中,再去緩衝區查找符合條件'ghd'字符串的行

        重定向:將執行結果重定向到一個文件。有>和>>兩種方式,前者表示輸出,會覆蓋文件原有的內容,後者表示追加,將內容追加到已有文件的末尾。如

            $1.txt 2.py > 4.txt  :左邊的結果會覆蓋右邊文件已有的內容  

            $1.txt 2.py >> 4.py  :左邊的結果追加到右邊內容的末尾,不會覆蓋

        more:功能類似於cat,但在文件內容多的情況下,more能夠分屏控制顯示,cat相對視覺體驗不夠好。選項:空格鍵、-b、-f、enter鍵、p:作用分別是顯示下一屏、回滾一屏、前滾一屏、滾動下一行、退出。

              $more xxx.log   : 分屏顯示日誌內容

                $more ifconfig | grep inet :將ifconfig網卡信息臨時放入緩衝區,並使用grep查找inet信息(即ip地址),注意在Windows中使用ipconfig查看網卡信息。

        小結:a)Linux命令若是忽略路徑,則默認使用當前路徑;

              b)有些命令是具備多種功能,如cat,不存在則先創建文件,在再執行響應操作

              c)重定向、more、grep,沒有指定文件,則默認操作緩衝區

              d)說一千道一萬,重要的事情說三遍:動手實踐、動手實踐、動手實踐,只有反覆去實踐,才能印象深刻,記住:實踐出真知!

        注意:本文默認是在Ubuntu虛擬機中進行編碼,日後若無特殊註明,均是在Ubuntu中進行。

                (若尚未安裝Linux虛擬機的朋友可以參考:在VMware虛擬機中安裝Ubuntu系統

        ---在下一篇:將繼續講解Linux常用命令(二) -----

        文章中若有不足或錯誤之處,真心希望您提出意見、建議,我會盡快完善的,謝謝O(∩_∩)O謝謝

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