1. 程式人生 > >基礎Linux命令——檔案管理

基礎Linux命令——檔案管理

一、獲得幫助的方式

 1.   更新幫助資訊  ----  mandb

[[email protected] Desktop]$ mandb

 2.   檢視命令用途 ----- whatis

[[email protected] Desktop]$ whatis  cd

 3.  檢視命令的幫助 ------- 命令  --help

[[email protected] Desktop]$ ls --help

       命令的幫助中   []    選加

                                  ...   加的個數任意

                                  <>    必須加入

 4.   檢視命令的幫助 ------ man  

[[email protected] Desktop]$ man cd

   "q"   退出命令的幫助

二、檔案管理

1.新建

(1)新建檔案

  touch

[[email protected] Desktop]$ touch file

  注意:touch預設用來建立檔案,同時也可以修改檔案的時間戳

(2)新建目錄

  mkdir            dir(資料夾)

  mkdir    -p       dir1/dir2/dir3(目錄)

            "注意:-p的意思是建立路徑"

[[email protected] Desktop]$ mkdir westos
[[email protected] Desktop]$ mkdir -p linux/redhat/student

2、刪除

(1)刪除檔案

  rm    - f     file1 file2 file3

[[email protected] Desktop]$ rm -f file

(2)刪除目錄

  rm -fr dir   

  注意: -f ----- force 強制刪除不提示

               -r -------recursive 遞迴刪除

 [[email protected] Desktop]$ rm -fr westos

  rm -fr dir*    刪除dir中的所有檔案

[[email protected] Desktop]$  rm -fr *

3、複製  ---------複製是按照模板新建的過程

(1)複製檔案

  cp   file   dest             ##複製單個檔案

  cp    file1 file2 file3   dir        ##複製多個檔案到指定目錄中

[[email protected] Desktop]$ cp  file  linux
[[email protected] Desktop]$ cp file2 file3 westos1

(2)複製目錄

  cp    -r    sorcedir1 sourcedir2        destdir      ##複製目錄到目錄中

[[email protected] Desktop]$ cp -r westos1 westos2

4、移動

      "注意": 同磁碟檔案移動重新命名(比如,都是檔案或者都是目錄)

                     不同磁碟檔案移動複製後刪除(比如,檔案移動到目錄下)

  mv   file   file1      ##相當於檔案的重新命名

[[email protected] Desktop]$ mv  file redhat

  mv    file    dir       ##將檔案移動到目錄裡

[[email protected] Desktop]$ mv redhat westos

  mv     dir    dir1    ##目錄的重新命名

[[email protected] Desktop]$ mv westos linux

5、檔案檢視

  (1)cat               file   ##顯示檔案全部內容

                        -n      file   ##顯示檔案內容並在每行前加入行號

                        -b      file   ##顯示檔案內容並在每行前加入行號,但是不包括空白行

[[email protected] Desktop]$ cat file
hello

word! 
[[email protected] Desktop]$ cat -n file
     1	hello
     2	
     3	word! 
[[email protected] Desktop]$ cat -b file
     1	hello

     2	word! 

  (2) less                       file        ##分頁瀏覽

                           上|下                   ##逐行檢視

                     Pgup|Pgdn               ##逐頁檢視

                        /關鍵字                  ##搜尋關鍵字並高亮顯示,“n”向下匹配一個關鍵字,“N”向上匹配一個關鍵字

[[email protected] Desktop]$ less /etc/passwd

 (3) head           file              ##顯示檔案前10行

            head   -n  3   file             ##顯示檔案前3行

(4)  tail           file                  ##顯示檔案後10行

            tail   -n  3   file                ##顯示檔案後3行

6、檔案修改

(1)圖形工具

          gedit file

(2)vim

          vim  file

7、檔案統計

 (1) wc        file             ##統計檔案(顯示行數,詞數以及位元組數)

[[email protected] Desktop]$ wc /etc/passwd
  39   70 2005 /etc/passwd

  (2)wc    -c        file     ##統計檔案的位元組數

[[email protected] Desktop]$ wc -c  /etc/passwd
2005 /etc/passwd

  (3)wc    -m       file     ##統計檔案的字元數

[[email protected] Desktop]$ wc -m  /etc/passwd
2005 /etc/passwd

                       "注意:一個漢字兩個位元組,是一個字元;一個字母佔一個位元組,是一個字元"

  (4)wc    -w      file     ##統計檔案的詞數

             wc     -l       file     ##統計檔案的行數

[[email protected] Desktop]$ wc -w  /etc/passwd
70 /etc/passwd
[[email protected] Desktop]$ wc -l  /etc/passwd
39 /etc/passwd

     注意:

                  以上統計均統計最後的轉義符

    (5) wc  -L file     ##統計檔案的最長行的長度(即位元組數)

[[email protected] Desktop]$ wc -L  /etc/passwd
85 /etc/passwd

                      "注意:統計長度時不統計最後的轉義符"

8、檔案路徑

(1)相對路徑

          相對與當前系統位置,檔名稱的簡寫,此名稱前會自動新增“pwd”命令的輸出

          相對路徑檔名稱前不會出現“/”

(2)絕對路徑

           檔案在系統中的真實位置,在任何情況下都可以使用

           絕對路徑一定以“/”開頭

(3)linux 的系統結構及目錄分類

          linux是一個倒數型結構,頂級目錄“/”是根目錄

         “/”下的二級命令:

                /bin      ##系統常規命令

                /boot     ##系統啟動目錄

                /dev      ##裝置影射檔案

                /etc      ##系統配置檔案

                /home     ##普通使用者家目錄

                /lib      ##32位函式庫

                /lib64    ##64位函式庫

                /media    ##光碟臨時掛載

                /mnt      ##手動臨時掛載(掛載u盤)

                /run      ##自動臨時掛載

               /opt      ##第三方軟體安裝位置

               /proc     ##系統程序資訊和執行資訊

               /root     ##超級使用者家目錄

              /sbin     ##系統管理命令

              /srv      ##系統資料

              /sys      ##核心相關調式

              /tmp      ##臨時檔案

              /usr      ##使用者相關設定

              /var      ##系統資料

(4)關於系統路徑的命令

         pwd               ##顯示當前路徑

[[email protected] Desktop]$ pwd

9、顯示

(1)ls        dir            ##顯示路徑資訊

(2)ls    -l       file       ##顯示目標屬性(檔案或者目錄)

[[email protected] Desktop]$ ls -l file
-rw-r--r-- 1 kiosk kiosk 7 Oct  4 05:56 file
[[email protected] Desktop]$ ls -l linux
total 0
-rw-r--r-- 1 kiosk kiosk 0 Oct  4 04:21 redhat

(3)ls    -d                  ##顯示當前這個目錄本身

[[email protected] Desktop]$ ls -d
.

(4)ls   -R    dir              ##遞迴顯示目錄中的所有內容

[[email protected] Desktop]$ ls -R
.:
file  linux  檔案管理程式碼

./linux:
redhat

(5)ls    -a                    ##顯示所有檔案包括以"."開頭的隱藏檔案

[[email protected] Desktop]$ ls -a
.  ..  file  linux  檔案管理程式碼

(6)ls     -ad                          ##同上

[[email protected] Desktop]$ ls  -ad
.

(7)ls    -ad     .*              ##顯示所有隱藏檔案

[[email protected] Desktop]$ ls -ad  .*
.  ..

(8)ls     .*                   ##顯示以"."開頭的目錄(路徑)的路徑資訊

[[email protected] Desktop]$ ls .*
.:
file  linux  檔案管理程式碼

..:
anaconda-ks.cfg  Documents  Music     Public     Videos
Desktop          Downloads  Pictures  Templates

10、路徑切換

(1)cd     ~                ##進入當前使用者家目錄

          cd   /mnt             ##進入mnt目錄

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

           cd    -                 ##當前目錄和進入當前目錄之前所在目錄之間的切換

(2) ~                        ##當前使用者家目錄

          ~username      ##指定使用者家目錄

          ~+                    ##當前目錄

          ~-                     ##當前目錄之前的目錄

11、檔案批處理

(1)*                    ##匹配0~任意字元

(2)?                  ##匹配單個字元

(3)[[:alpha:]]       ##匹配單個字母

          [[:lower:]]   ##匹配單個小寫字元

          [[:uper:]]           ##匹配單個大寫字元

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

          [[:punct:]]          ##匹配的那個符號

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

          [[1][2]]              ##匹配1或者2

  注意:特殊意義的符號要加上"",進行全部轉譯( 例如: &,*,$及空格等)

(4){}                  ##精確匹配

[[email protected] Desktop]$ touch file{1..3}
[[email protected] Desktop]$ touch file{a..c}

 (5) []                ##模糊匹配

         [a-c]           ##a或者b或者c

         [1-3]

         [!a-c]            ##不是a也不是b也不是c

         [^a-c]          ##不是a也不是b也不是c