天天看點

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

一、Linux檔案目錄結構

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

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

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

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

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

二、常用檔案和目錄指令

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

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

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

            參數:給指令加上範圍

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

            $ls

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

            $ls -ll

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

            $ls -l test.py

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

    2).幫助指令

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

            如:

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

      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 你好

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

        cat:檢視檔案内容、 建立檔案、 檔案合并、 追加檔案内容等功能(不存在先建立,再合并追加,存在直接操作),常與管道(接下來有講述)配合使用。選項有-n和-b等,分别輸出行号和非空行的行号,例如

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

          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謝謝

繼續閱讀