Linux文件操作及管理


---恢復內容開始---

一、Linux系統的結構

  1、Linux是一個倒樹型結構,最大的目錄名稱為“/”(根目錄)

  2、Linux系統的二級目錄

  /bin       ##binary二進制可執行文件,系統常規命令
  /boot     ##啟動目錄,存放系統自動啟動文件,內核,初始化程序
  /dev           ##系統設備管理文件
  /etc       ##大多數系統配置文件存放路徑
  /home      ##普通用戶家目錄(/home/student)
  /media     ##臨時的掛載點
  /lib         ##函數庫
  /lib64     ##64位函數庫(含有.bll)
  /mnt       ##臨時掛載點
  /run       ##自動臨時設備掛載點(u盤)
  /opt        ##第三方軟件安裝的位置
  /sbin      ##系統管理命令,通常只有root可以執行
  /proc      ##系統硬件信息和系統進程信息~~~~
  /srv        ##系統數據目錄
  /var        ##系統數據目錄
  /sys        ##內核相關數據
  /usr      ##用戶相關信息數據
  /tmp        ##臨時文件產生目錄
  /root        ##超級用戶家目錄

  ***使用mount命令來更改臨時設備的掛載點***

二、文件管理命令

  1、文件的建立

  命令:touch filename  ## 通常用來創建文件,也可以修改文件的時間戳

  注釋:時間戳分為atime、mtime、ctime

    atime :文件內容被訪問的時間標識

    mtime :文件內容被修改的時間標識

    ctime  :文件屬性或文件內容被修改的時間標識

  實例:使用*** touch  file *** 建立一個名為file的文件,並使用stat命令進行查看

  

  •  若進行文件的查看后,則訪問時間將會被改變,結果如下:

  

  •  若文件進行編輯后,則訪問時間、修改時間和文件改變時間三者均會變化,結果如下:

  

  注意:使用*** touch --help ***進行其他參數的查看

  2、目錄的建立

  命令:mkdir directory        ## 用來建立名為directory的目錄

       mkdir -p test/redcat/linux     ## -p 進行多級目錄的創建

  注釋:也可使用 mkdir  --help命令進行參數的查看

  實例:使用*** mkdir  niu ***創建一個目錄名為niu,結果如下:

  

  •  多級目錄創建結果如下:

  

  3、文件的刪除

  命令:rm  file     ## 進行文件的刪除

        rm  -f  test  ## -f 為強行刪除文件

  實例:使用*** ls  file ***命令刪除文件file,結果如下:

  

  4、目錄的刪除

  命令:rm  -r  directory  ## -r表示遞歸刪除所有內容

       rm   -r -f  dir   ## 刪除目錄不再提示

       rm  -rf  dir     ## j結果與上一個相同,且有 -a  -b  -c= - abc   = - cba 

  實例:使用*** rm  -rf   test*** 刪除test目錄以及test目錄下的所有內容,結果如下:

  

  5、文件編輯

  •  gedit 編輯器

     命令:gedit  file  ## 必須有圖形界面,進行file文件的編輯

  •  vim 編輯器

     命令:vim file ------> 按 i 進入insert 模式 ------> 書寫內容 ------> esc退出insert模式 -         -----> wq退出並保存

   實例:gedit使用(使用以下命令即可打開file文件,並進行編輯)

  

  •  使用vim.tiny實例應用如下:(vim 和vim.tiny功能類似)

  

 

  ###### 使用vim 會出現異常情況 ######

  當vim異常退出時,會生成.file.swp文件(原因是修改文件未保存)

  當helloc未保存后再次打開時,會出現以下情況:(下面文字接着圖的more)
     

   Swap file ".hello.swp" already exists!

  [O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it,   (Q)uit, (A)bort:
    只讀打開     繼續編輯   恢復數據   刪除swap文件     退出
  分析:無論按【o】【e】【r】【q】【a】任何一個都不會刪除.swp文件,再次打開還會

     有這樣的這個問題,直到按【D】后,.swp被刪除,vim恢復正常。

  6、文件的復制(復制目錄的時候用- r)

  命令:cp  sourcefile objectfile         ## 表示把遠文件復制到目標文件 

     cp  -r 源目錄 目的地目錄  

     cp  源文件1 源文件2 目的地目錄     ## 目的地目錄必須存在

     cp  -r  源目錄1 源目錄2 目的地目錄   ## 目的地目錄必須存在

  實例:把file文件中的內容復制到file1中,結果如下:

  

  •  使用  *** cp   -r   test test1 ***命令把test目錄下內容復制到test1目錄中,結果如下:

  

  •  使用 *** cp file1 file2  dir ***命令,把file1和file2文件復制到目錄dir下,結果如下:

  

  •  使用*** cp -r  dir dir1 dir2 ***把目錄dir1和dir2復制到目錄dir3下,結果如下:

  

  7、文件的移動

  命令:mv  源文件  目的地文件    ## 重命名

     mv  源目錄  目的地目錄

  實例:使用*** mv  file  file1***命令,把file重命名為file1,結果如下:

  

  使用*** mv  niu/file   test/ ***把niu目錄下的file文件移動到test目錄中,結果如下:

  

  (.代表當前目錄)例:把test目錄下的file1復制到當前目錄下,命令如下:

  

  注意:相同磁盤的文件移動是重命名的過程,不用磁盤的移動是復制刪除的過程。

  8、文件的查看

  命令:cat filename    ## 表示查看文件的全部內容

     cat  -b  filename   ## 查看內容並顯示行號

     less filename     ## 分頁瀏覽(以下命令在less命令之后的操作)

     上|下        ## 逐行移動

     pageu|pagedn     ## 逐頁移動

     /關鍵字       ## 高亮顯示關鍵字,n向下匹配,N向上匹配

     v          ## 進入vim模式,然后按i進行編輯,返回vim模式按esc

     q          ##退出vim模式

  實例:使用*** cat file1***命令查看file1中的內容,結果入下:

  

  •  查看內容並顯示行號,結果如下:

  

  •  less 命令既修改文件中的內容,也可以使用快捷鍵進行查找,在此就不放截圖了。

  9、文件的尋址

  相對路徑:

      相對與當前系統所在的目錄的一個文件名稱的簡寫;

      此名稱省略了系統當前所在目錄的名稱;

      此名稱不以“/”開頭;

      此名稱在命令執行時會自動在操作對象前加入"pwd”所顯示的值。

  絕對路徑:

      絕對路徑是文件在系統中的真實位置;

      此命令以“/”開頭;

      此命令在執行時不會考慮現在的位置的信息。

  注意:當操作對象是  對象1 空格 對象2 時,這兩個對象沒有任何關系

     親    ## 動作時被系統執行,不能作為名稱出現

     “親”    ## 引號的作用是把動作變成名稱字符,這種方法叫引用

     pwd   ## 顯示當前工作目錄

  10、自動補齊

  《tab》

     系統中的《tab》鍵可以實現命令的自動補齊;

     可以補齊系統中存在的命令,文件名稱,和部分命令的參數;

     當一次《tab》補齊不了時,代表以此關鍵字開頭的內容不唯一;

     可以使用《tab》兩次來列出所有一次關鍵字開頭的內容散

三、關於路徑的命令

  ls  --help    ## 用來查看關於ls的所有參數

  touch  .file   ## 建立一個隱藏文件.file,使用*** ls*** 顯示不出來

  注意:若是建立一個目錄為 -a ,則刪除的時候使用*** rm  -rf  ./-a ***來進行刪除

  實例:

  

  1、顯示路徑

  命令:pwd  ## 顯示的是絕對路徑

  

  2、切換路徑

  命令:cd  -      ## 當前目錄和當前目錄之前所在目錄之間的切換

     cd  ..        ## 進入當前目錄的上級目錄

     cd  ~      ## 進入當前用戶家目錄

     cd  ~user    ## 進入user家目錄

     cd  目錄名     ## 進入到制定目錄中

     cd  ~+       ## 表示跳轉到當前目錄

     cd ~-      ## 跳轉到當前用戶之前的目錄

  實例:使用***cd - ***命令切換在/etc和/home/niu123進行切換,結果如下:

  

  •  使用*** cd .. ***命令,使當前目錄切換到上一層/home目錄,顯示如下:

   

  •  使用***cd ~***命令切換到當前用戶家目錄,如下:

  

  •  使用***cd ~niu123***命令,同樣可以切換到niu132家目錄(也可切換到其他用戶名):

  

  •  使用 ***cd   目錄名***可以任意切換到指定得目錄中,顯示如下:

  

  •  使用命令***cd ~-***切換到上一個目錄(與cd -相似),cd ~+切換到當前目錄:

  

  2、路徑的查看

  命令:ls      ## 顯示當前目錄下的所有內容

     ls -l file  ## 文件的屬性

     ls dir      ## 目錄中包含的內容

     ls -d dir  ## 目錄本身(list  directory)

     ls  -a dir  ## 顯示所有文件包含隱藏的(all)

     ls  -S dir  ## 查看並且按大小排序

     ls  -ld    ## 表示的是目錄本身的屬性

     ls  -R    ## 顯示當前所在文件的所有文件和對應目錄的子目錄

  實例:使用命令*** ls  -S  Desktop***從大到小排序並顯示

  

  •  使用***ls  -R ***分級顯示文件和目錄對應的子目錄

  

  (在這就只顯示着兩個參數的結果,其他參數結果請回看“上一篇:Linux虛擬機基本操作”)

  4、文件查看

  命令:cat      ## 輸出文件全部內容

     less       ## 分頁瀏覽

     head file   ## 查看文件的前十行

       head -n 3 file    ## 查看文件的前3行

     tail  file   ## 查看文件的后十行

     tail  -n 3  file  ## 查看文件的后三行(數字是可以改變的)

     tail   -f file   ## 監控文件后十行內容的變化

  實例:由於前面寫過cat和less基本用法,這就不演示了。主要是head和tail的簡單操作,

     使用命令*** head  /etc/passwd ***顯示/etc/passed文件的前十行內容:

  

  •  使用命令*** head -n 3 /etc/passed ****顯示文件的前三行內容:

  

  •  使用命令*** tail  /etc/passwd***顯示文件的后十行內容:

  

  •  使用***tail  -n 2  /etc/passwd ***命令顯示文件后兩行內容:

   

  •  使用 ***tail  -n  3   -f   file ***來監控文件后3行的變化:

  

  注意:使用*** tail -f ***命令進行監控時,首先要打開一個終端,輸入監控命令;然后再桌

  面上打開另一個終端,利用echo進行輸入;此時就可以在第一個終端出看到輸入的字符

  了。若在第二個終端使用vim編輯器進行編輯,則在第一個終端不會看到相應的變化;這

  時可以用watch命令進行監控。

  5、文件大小統計

  命令:wc  filename   ## 顯示文件基本信息

     wc -l filename  ## 顯示文件內容的行數

     wc -c filename  ## 顯示文件的字節數

     wc -m filename  ## 顯示文件字符數

     wc -w filename  ## 顯示文件內容的單詞數 

  實例:顯示文件file的基本信息:

  

  其中,9表示文件的行數,10表示單詞數,66表示字符數,file為文件的名字。

  •  使用命令*** wc -l file ***顯示文件file的行數,結果如下:

       

  •  使用命令分別顯示file的字節數、字符數、單詞數,結果如下:(由於內容均為字母,

  一個字符是一個字節,故其結果是相同的)

  

  

四、系統中歷史記錄的調用

  命令:histroy    ## 查看歷史記錄

     history -c  ## 清空當前環境中的歷史

     !數字      ## 調用此行歷史,比如!5時表示執行歷史中第五條指令

     !test     ## 執行以test關鍵字開頭的最近一條歷史

      ctrl+r+關鍵字 ## 會調用最近一條含有關鍵字的命令

  實例:使用history查看歷史記錄

  

  •  使用*** !2 ***查看第二條命令並執行的結果如下:

  

  •  使用關鍵字查看,其結果是顯示ls開頭的歷史記錄,即第13條記錄的結果:

  

  •  使用***ctrl + r  + cd***查詢有關最近一條有關cd的命令並顯示結果:

  

  

  •  使用*** history -c***進行歷史記錄的清除:

  

五、系統中獲取幫助的方法

  1、查看命令的用途

  命令:whatis  命令    ##查看命令的用途

  實例:對cat命令進行查看

  

  2、查看命令的用法

  命令: --help    ## 查看命令的基本用法,適用於多數命令

  標識符:【】      ## 表示選項可以加也可以不加

      ...      ## 表示選項加入的個數是任意的

      <>     ## 表示選項是必須要加的

      usage    ## 表示命令用法

      Options   ## 對參數的作用作說明 

  3、查看命令或文件的說明手冊

  命令:man 命令    ## 查看命令的說明和用法

     man 5 文件    ## 查看文件的說明

  注意:man的級別有九種(1命令;2系統調用接口;3函數庫調用接口;4特殊設備

     文件;5系統配置文件;6為游戲規則說明;7包說明;8系統管理命令;9內核

     調用說明);配置文件的編寫用man(manual)

   man基本用法:

  上|下         ## 逐行查看

  pgup|pgsn        ## 分頁查看

  /關鍵字        ## 高亮顯示

  :q            ## 表示退出

  man -k 字符串  ## 查看當前字符串在系統中擁有的man級別

  man  man    ## 查看man的相關內容

六、系統中通用配置

  *        ## 表示匹配多個字符

  ?      ## 表示匹配單個字符

  [[:alpha:]]     ## 匹配單個字符

  [[:lower:]]   ## 單個小寫字母

  [[:upper:]]   ## 單個大寫字母

  [[:digit:]]    ## 單個數字

  [[:punct:]]    ## 單個符號

  [[:space:]]   ## 單個空格

  [[:alnum:]]   ## 單個數字和字母(除了用[![:alnum:]]表示)

  

  [1-9]      ## 表示1位,是1-9中任意數字

  [!3-5]       ## 1位,不是3-5的數字

  [^3-5]       ## 與上述情況相同

  [a-z]      ## 1位,a-z的任意字母

  {1..3}      ## 3個,表示1,2,3

  {1,3,5}    ## 三個,表示1,3,5

  實例:建立文件file1-file6結果如下:(兩種方式,文件建立的時候必須是精確的)

  

  

  •    使用單個字符進行刪除,如下圖所示,rm -rf file[1-2]刪除file1和file2;

        rm -rf file[!1-2]則刪除不是file1和file2的其他file{3,4,5,6}。

  

  • 命令*** rm -rf fi*  ***刪除文件以fi開頭的所有文件;*** rm  -rf  test[[:digit:]]***表示

  刪除以test開頭最后一個字符為數字的文件

  

  

 

 作業一

1、用一條命令建立12個文件WESTOS_classX_linuxY(X取值范圍1-2,Y取值范圍為1-6)

這些文件都包含在root用戶桌面的study目錄中;

 

2、用一條命令建立8個文件redhat_versionX(X的范圍1-8),且文件包含在/tem目錄下的

VERSION中;

3、用一條命令把redhat_versionX中帶奇數的文件復制到桌面的SINGLE中;

4、用一條命令把redhat_versionX中帶偶數的文件復制到桌面的SOUBLE中;

5、用一條命令把WESTOS_classX_linuxyY中class1的文件移動到桌面的LCASS1中;

6、用一條命令把WESTOS_classX_linuxyY中class2的文件移動到桌面的LCASS2中;

7、備份/etc目錄中名字帶數字且以.conf結尾的文件到桌面上的confdir中;

8、刪除掉剛建立或備份的所有文件

 

 

  

 

  

 

 

 

  

  

  

  

  

 

 

 

  

 

 

 

  

 

 

  

  

  

 

 

 

  

 

  

     

 

 

 

 

 

 

 

  

  

 

 

  

  

 

 

 

 

  

 

 

  

 

  

 

 

 

 

  

 

  

 

---恢復內容結束---


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM