Linux文件系統

1. Linux系統主要目錄及內容:
 
目錄 內容
/bin           構建最小系統所須要的命令(最經常使用的命令)
/boot 內核與啓動文件
/dev 各類設備文件
/etc 系統軟件的啓動和配置文件
/home
用戶的主目錄
/lib
C編譯器的庫
/media
可移動介質的安裝點
/opt
可選的應用軟件包(不多使用)
/proc
進程的映像
/root
超級用戶root的主目錄
/sbin
和系統操做有關的命令
/tmp
臨時文件存放點
/usr
非系統的程序和命令
/var
系統專用的數據和配置文件
   
 
2.查看目錄和文件:
 
ls  的用法
         ls  -F:  會在每一個目錄後加上/,在可執行文件後加*,在連接文件後加上@,在沒法顯示顏色的終端上有用:
         ls  -a:  顯示全部的文件,包括隱藏文件如".adobe";
         ls  -l:  查看文件的各類屬性。
               「-rwxr-xr-x  1  root  root  38096  2008-11-13  14:54  /bin/login」:
                         第1個字段的第1個字符表示文件類型;
                         而後3組位權限:屬主,屬組和其餘人的權限
                         權限後的數字,表示連接數
                         root和root分別是屬主和屬組
                         最後4個分別表示文件大小、最後修改日期和時間、文件的完整路徑
               
文件類型
符號
文件類型
符號
普通文件
-
本地域套接字
s
目錄
d
有名管道
p
字符設備文件
c
符號連接
l
塊設備文件
b
 
 
 
查看文本文件 cat(一次顯示全部的內容)和 more(一頁一頁的顯示)和 less(優先選)
         cat  文本文件名(能夠加多個文件名)
         cat  -n (顯示行號)  文本文件名 (能夠加多個文件名)
      對於more的詳細說明:      
         例子:  
               # more -dc/etc/profile    注:顯示提示,並從終端或控制檯頂部顯示;
               # more +4/etc/profile      注:從profile的第4行開始顯示;
               # more -4/etc/profile      注:每屏顯示4行;
               # ls  -l/etc  | more           注:查看一個目錄下的文件時,能夠和管道「|」結合起來
         more [參數選項] [文件]  
                +num           從第num行開始顯示;
                -num            定義屏幕大小,爲num行;
                +/pattern      從pattern 前兩行開始顯示;
                -c                  從頂部清屏而後顯示;
                -d                  提示Pressspace to continue, 'q' to quit.(按空 鍵繼續,按q鍵退出),禁用響鈴功能; 
                -l                   忽略Ctrl+l(換頁)字符;
                -p                  經過清除窗口而不是滾屏來對文件進行換頁。和-c參數有點類似;  
                -s                   把連續的多個空行顯示爲一行;
                -u                   把文件內容中的下劃線去掉
          more 的動做指令:
               Enter                            向下n行,須要定義,默認爲1行;
               Ctrl+f(或空格)           向下滾動一屏;
               Ctrl+b                          返回上一屏;
               =                                  輸出當前行號
               q                                   退出more (退出後,不返回剛纔more的位置,回到顯示文檔後面)
     對less的詳細說明:           
          less [參數] 文件
                -c    從頂部(從上到下)刷新屏幕,並顯示文件內容。而不是經過底部滾動完成刷新;
               -f      強制打開文件,二進制文件顯示時,不提示警告;
               -i      搜索時忽略大小寫;除非搜索串中包含大寫字母;
               -I      搜索時忽略大小寫,除非搜索串中包含小寫字母;
     -m    顯示讀取文件的百分比;
               -M    顯法讀取文件的百分比、行號及總行數;
               -N    在每行前輸出行號;
               -p     pattern搜索pattern;好比在/etc/profile搜索單詞MAIL,就用 less -p MAIL/etc/profile
               -s      把連續多個空白行做爲一個空白行顯示;
               -Q     在終端下不響鈴;                     
          動做指令:
               回車鍵      向下移動一行;
               y           向上移動一行;
               空格鍵      向下滾動一屏;
               b           向上滾動一屏;
               d           向下滾動半屏;
               h           less的幫助;
               u           向上洋動半屏;
               w           能夠指定顯示哪行開始顯示,是從指定數字的下一行顯示;好比指定的是6,那就從第7行顯示;
               g           跳到第一行;
               G           跳到最後一行;
               p n%(貌似不能用)      跳到n%,好比 10%,也就是說比整個文件內容的10%處開始顯示;
               /pattern 搜索pattern ,好比 /MAIL表示在文件中搜索MAIL單詞;
               v           調用vi編輯器;
               q           退出less
               !command 調用SHELL,能夠運行命令;好比!ls 顯示當前列當前目錄下的全部文件;  
 
12. 顯示一個命令的幫助:
         命令  --help(或--h)
 
13. 閱讀文件的開頭和結尾
         head  -n  2(指定顯示行數)  文件名(可多個)
         tail(用法同head)
 
14. 查找文件內容
         grep  un  day(爲了在文件day中查找包含un的行)
 
15. 在指定目錄下查找東西
         find  目錄  -name  *.zip  -print(打印出絕對路徑)
 
16.更快速的定位文件: locate
          locate  *.doc          ##locate用於搜索大批量的文件,不須要知道放在了哪一個盤
 
17.通配符
          」 *「   用於匹配文件名中任意長度的字符串;
          」 「 只匹配一個字符;
          」 [ ]「 用於匹配全部出如今方括號內的字符;例:ls text [1A]  ##列出以text開頭而僅以1或A結束的文件名;
          」 -「   指定一個字符集範圍;例:ls text [1-3];
 
18.命令行補全:
          一次table鍵,或連續兩次table鍵
 
3.修改文件和目錄         
  1. 新建目錄:mkdir
              mkdir  -v  【文件夾名】          ##-v會顯示最後結果
              mkdir  document  picture       ##新建兩個目錄
              mkdir  ~/picture/remp             ##在主目錄下新建名爲temp的目錄(不能在一個沒有的文件中建立文件)
              mkdir  -p  ~/tempx/job          ##能夠完整的建立一個子目錄
 
  1. 刪除目錄和文件:rmdir 和 rm
               rmdir  test               ## rmdir 只能刪除空目錄
               rm  test/*.pnp          ## rm能夠一次刪除 一個或幾個文件
               rm   -i  test/hello          ##刪除文件前會提示,並等用戶通知(對於有寫保護的普通文件,不加「-i」也會提示)
               rm   -f  hello_bak          ##「-f」避免交互,自動對這些問題回答y
               rm   -r  Photos/          ##遞歸的刪除目錄下的全部文件和子目錄,最後刪除Photos目錄            
 
  1. 新建空文件: touch
               touch hello               ##新建一個hello的空文件
               touch hello.php         ##修改文件的創建日期      
 
  1. 移動和重命名:mv 
               mv hello bin/          ##複製文件
               mv Photos/ 桌面/     ##複製目錄
               mv   -i  hello  test/         ##若是已有文件,顯示:mv:是否覆蓋「test/hello?"
                mv  -b  hello  test/          ##在移動文件以前,首先在同名文件的文件名後加一個」~「
 
  1. 改變文件全部權:chown和chgrp
               sudo chown  lewis:root  days            ##修改days的全部權
               sudo chown  guest  days                  ##只修改文件屬主
               sudo chown  :root  days                    ##只修改文件的屬組
               sudo chown   -R  lewis  iso/               ## "-R" 表示改變一個目錄及其下全部文件(和子目錄)的全部權
               sudo chgrp  nogroup  days              ##改變文件的屬組
               sudo chgrp  nogroup  ios/              ##改變目錄的屬組
 
  1. 改變文件的權限:chmod
               chmod   u+rwx  days          ## "用戶組 +(增長)/ -(撤銷)權限",用戶組包括了文件屬主(u), 文件屬組(g),其餘人(o),和全部人(a)
                                                          ## 不寫該字段默認改變全部人的權限
                                                          ## 權限包括了讀取(r)、寫入(w)、執行(x)
               chomd   ug=rw,o=r  days     ## "用戶組=權限" 
               chmod  o=u  days               ## "用戶組1=用戶組2",將用戶組1的權限和用戶組2的權限設爲徹底相同。
                八進制表示文件權限「rwx」二進制( 111)=八進制(4+2+1)=7
 
  1. 創建連接:ln
               「符號連接」(軟連接)須要使用帶 -s 參數的 ln 命令,只是取了一個別名,刪除連接的名字,不會影響源文件
               ln  -s  days  my_days          ##文件創建一個名爲my_days的符號連接指向文本文件days(起別名)
               ln  -s  /usr/local/share/  local_share          ## 目錄創建符號連接
               「硬連接」,不帶參數,將兩個獨立的文件聯繫在一塊兒,和符號連接的區別:硬連接是直接引用,符號連接是名稱引用
               ln  days  hard_days
 
  1. 輸出重定向:「>」「>>」"<<"
               標準輸出老是指向顯示器
               ls  >  ~/ls_out                    ##若是ls_out文件不存在,那麼「>」會試圖創建這個文件,
                                                         ##若是已經存在,則「>「會刪除文件中原有的內容,而後用新內容替代
               echo  "Hello"  > hello         ##將Hello字符串輸入到hello文件中
                echo  "www"   >> hello      ##將字符串 追加 到文本的後面
                uname  -r  >> hello          ##將uname產生的版本信息  追加 到hello中   
                date  >>  hello                  ##將date命令產生的當前日期時間追加到hello中
              例子:  「當即文檔」
               cat  <<  EOF                    ##cat命令從鍵盤接收兩行輸入,並送往標準輸出
                    >hello
                    >bye
                    > EOF
               cat  << END > hello          ##首先讓cat命令以當即文檔的方式獲取輸入,而後再把cat的輸出重定向到hello文件中
                    >hello world
                    >bye
                    > END
  1. 管道「|」          
            例子:ls 首先列出當前目錄下的全部文件名, 管道「|」接收到這些輸出,並把它們發送給grep命令做爲輸入。最後grep在這堆文件列表中查找              
           包含字符串ay的文件名,並在標準輸出(也就是顯示器)中顯示。
           ls  |  grep  ay
           days
           hard_days
           mplayer
           mplayer~
           my_days
 
  1. 打開文本文件:vi、vim、sudo gedit  文件路徑(可絕對可相對,在gedit中打開) 
          sudo gedit 文件路徑          ##若是沒有該文件,系統會自動建立
 
  1. 壓縮工具:gzip和bzip2
          gzip(或gunzip)支持的擴展名有 . gz、. Z、-gz、. z、-z 和 z
          gzip  test.tar               ##壓縮 ,會被壓縮成 test.tar.gz( 替換)
          gunzip test.tar.gz       ##解壓縮,方法1
          gzip   -d  test.tar.gz     ##解壓縮,方法2
          gzip   -l  test.tar.gz      ##查看壓縮效果,文件大小以字節爲單位
          gzip  -tv  test.tar.gz    ##-t選項用來測試壓縮文件的完整性,-v 顯示測試結果
       
          bzip2能夠識別壓縮文件的格式包括.bz二、.bz、.tbz二、.tbz和bzip2,與gzip用法基本一致,有更高的壓縮率,可是以壓縮速度爲代價
          bzip2  test.tar             ##壓縮,會被壓縮成 test.tar.bz2( 替換)
          bunzip2 test.tar.bz2    ##解壓縮,方法1
          bzip2 -d test.tar.bz2    ##解壓縮,方法2
 
  1. 存檔工具:tar、dd
          文件打包:tar(和gzip不一樣的是, tar不會刪除原來的文件
               tar   -cvf  test.tar  test/          ##將Shell目錄連同其下的文件一同打包成文件test.tar
                    -c 指導tar建立歸檔文件,
                    -v 用於顯示命令的執行過程,
                    -f 則用於指定歸檔文件的文件名                  
               tar   -xvf  test.tar                    ##解開歸檔文件
                    -x 用於解開歸檔文件
               tar  -cv wf  test.tar  test/          ##壓縮徵求用戶意見
               tar  -xv wf  test.tar                    ##抽出時徵求用戶意見
                    -w 用於每次將單個文件加入(或者抽出)歸檔文件時徵求用戶的意見,y/n
               tar  -czvf  shell.tar.gz  shell/     ##直接將文件壓縮成shell.tar.gz格式
                    -z 先調用tar命令,再調用gzip命令,等同於兩條指令                   
               tar  -xzf shell.tar.gz                   ##直接解壓成shell
                    -z 先調用gunzip指令,再調用tar指令
          轉移文件:dd
                dd  if=/dev/cdrom   of=CD.iso          ## dd命令使用  if 選項指定輸入端的文件系統,而  of選項則指定其輸出端。
                                                                       ##這條命令將一張CD完整的轉儲爲iso鏡像文件
 
 
 
 ————————參考《Linux從入門到精通》劉憶智
相關文章
相關標籤/搜索