Linux成長之路(二)——Linux目錄結構和對文件的基本操作

一. Linux目錄結構

Windows系統與Linux系統在文件管理上是不同,Windows最頂層文件目錄是用存儲介質(磁盤)來區分的,除系統文件外,用戶文件放在哪個盤裏都一樣,而Linux整個文件系統都是由文件目錄(樹形目錄)來管理的,所以目錄在Linux中是非常重要的概念。

  • FHS標準(Filesystem Hierarchy Standard 文件系統層次結構標準)
    圖片來自實驗樓
    (圖片來自實驗樓)
    附上FHS標準文檔鏈接: FHS_2.3 標準文檔

    FHS 是根據以往無數 Linux 用戶和開發者的經驗總結出來的,並且會維持更新,FHS 依據文件系統使用的頻繁與否以及是否允許用戶隨意改動(注意,不是不能,學習過程中,不要怕這些),將目錄定義爲四種交互作用的形態:
    這裏寫圖片描述

  • 目錄路徑

    • 路徑
      使用cd命令來切換目錄,.表示當前目錄,..表示上一級目錄,上一篇博客說過以.開頭的文件是隱藏文件,因此這兩個目錄也是隱藏目錄。可以使用ls -a命令來查看隱藏目錄。
      這裏寫圖片描述

      “cd”命令演示:
      這裏寫圖片描述

    • 絕對路徑
      絕對路徑就是從文件系統的起始目錄(根目錄)開始,到達目標目錄的完整目錄路徑。

    • 相對路徑
      相對路徑是以當前目錄爲起始目錄(.)開始,到達目標目錄的完整目錄路徑。
      演示:
      這裏寫圖片描述

      注意:
      1、具體使用哪一種目錄看你當前方便使用哪一種。
      2、在進行目錄切換的過程中請多使用 Tab 鍵自動補全,可避免輸入錯誤,連續按兩次Tab可以顯示全部候選結果

二. Linux文件的基本操

  • 新建

    • 新建空白文件
      “touch”命令:其主要是來更改已有文件的時間戳的(比如,最近訪問時間,最近修改時間),但其在不加任何參數的情況下,只指定一個文件名,則可以創建一個爲指定文件名的空白文件(不會覆蓋已有同名文件),當然你也可以同時指定該文件的時間戳。
      這裏寫圖片描述

    • 新建目錄
      “mkdir”命令用來創建空白目錄:
      這裏寫圖片描述
      同時創建父目錄“mkdir -p”:
      這裏寫圖片描述
      (-p 後面也可以是絕對路徑名)

  • 複製

    • 複製文件
      “cp”複製文件到指定目錄:
      將前面/home/gcg目錄下的gcg文件複製到/home/gcg/gcg_dir/father/son目錄中:
      這裏寫圖片描述
      (是複製不是剪切)

    • 複製目錄
      先來一個錯誤的示範:
      先創建一個目標目錄,將前面的gcg_dir複製進去,結果出錯:
      這裏寫圖片描述
      正確方法是在”cp”後面加上“-r”或“-R”,表示連同目錄裏面的所有目錄和文件一起復制:
      這裏寫圖片描述

  • 刪除

    • 刪除文件
      “rm”指令刪除文件,這裏需要注意當刪除只讀文件時,系統會給出提示。我們先把前面創建的gcg文件改爲只讀,再刪除它:
      這裏寫圖片描述

    • 刪除目錄
      刪除目錄和複製目錄道理一樣,不能直接rm,需要在rm後面加上-r或者-R:
      這裏寫圖片描述

  • 移動文件與文件重命名

    • 移動文件
      移動文件在windows中相當於剪切文件的功能,使用“mv”指令。演示:
      這裏寫圖片描述
    • 重命名
      mv也可以重命名:
      這裏寫圖片描述
      如果上述實驗中,gcg_dir和gcg_dir2都存在,那麼【mv gcg_dir gcg_dir2】到底是將它重命名爲gcg_dir2還是將它移動到gcg_dir2中呢?
      這裏寫圖片描述
      答案顯而易見:是移動了(其實同一個目錄中也不允許有相同的目錄名)。

      再做一個實驗:
      這裏寫圖片描述
      這個實驗是將一個文件重命名爲另一個已存在的文件名,這時會覆蓋先前的文件。

    • 批量重命名
      批量重命名的話使用mv就太麻煩了,相信大家都知道rename這個命令,不過這兒要批量重命名還需要用到正則表達式,這個在以後的文章中會詳講,這兒只是做個演示:
      這裏寫圖片描述
      第二個參數是匹配所有需要修改名字的.txt文件,第一個參數是通過正則表達式來修改文件名。這兒只用記住rename可以批量重命名就行。
  • 查看文件
    1、”cat”、”tac”、”nl”可以用來查看文件
    原文件:
    這裏寫圖片描述
    使用三種不同命令查看的結果:
    這裏寫圖片描述
    這三個命令的區別:【nl】=【cat -n】,不過nl更專業,tac是倒序打印。

    2、當文件內容很多時,使用上述命令需要用鼠標來滾輪來翻頁,如果沒有鼠標怎麼辦?這時可以使用“more”和“less”命令來查看文件,他們是專業的閱讀文件的命令。
    使用方法:打開後默認只顯示一屏內容,終端底部顯示當前閱讀的進度(百分比)。可以使用Enter鍵向下滾動一行,使用Space鍵向下滾動一屏,按下h顯示幫助,q退出。

    3、”head”和“tail”查看文件:
    head只顯示最開始十行,tail只顯示最後十行,不足十行的文件全顯示:
    這裏寫圖片描述
    (關於tail命令,不得不提的還有它一個很牛的參數-f,這個參數可以實現不停地讀取某個文件的內容並顯示。這可讓我們動態查看日誌起到實時監視的作用)

  • 查看文件類型
    使用“file”命令:
    這裏寫圖片描述

  • 編輯文件
    如果是在終端裏,可能大家用得多的是vim編輯器,這裏可以先學學vim編輯器的使用,這是學習地址Vim編輯器快速入門,如果是在可視化系統中的話可以雙擊文件也能像Windows中的記事本那樣編輯文件。

三. 總結

這一篇主要介紹了目錄結構和對文件目錄的基本操作,其中涉及到了一些很常用的命令,下一節將學習環境變量與文件查找的相關內容。
這一次的實驗是在虛擬機做的,不過學習的文檔還是來自實驗樓,這裏再給大家推薦一個學習的好網址Linux菜鳥教程

參考文獻:https://www.shiyanlou.com/courses/1/labs/59/document

注:轉載請註明原文出處:
作者:CUG_UESTC
出處:http://blog.csdn.net/qq_31192383/article/details/52823500

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