Linux文件與目錄管理

Linux目錄配置
     
 文件種類:
      
  [-]   普通文件     有純文本文件(regular file)、二進制文件(ASCⅡ)、數據格式文件(data)。
  
  [d]   目錄
  
  [l]   連接文件

  [b]   塊設備文件
  
  [c]   字符設備文件
  
  [s]   套接字  (sockets)   數據接口文件 , 通常在/var/run目錄中可以看見這種文件類型。
  
  [p]   管道 (FIFO, pipe)  first-infirst-out

 Linux 文件擴展名: 
   
        *.sh                                        腳本或腳本批處理文件(scripts)
  
  *Z  *.tar   *.tar.gz    *.zip      *.tgz    經過打包的壓縮文件
  
  *.html    *.php                             網頁相關文件       
  
 Linux 目錄: 
  
  /bin       binary普通用戶和管理員都能用的可執行的命令,可執行的命令
  
  /boot      引導文件,系統啓動,kernel,bootloader(grub)
  
  /sbin      管理類的文件,通常只有管理員能用
  
  /dev       設備文件所在目錄
  
  /etc       配置文件
  
              /etc/sysconfig, 服務額外配置文件,及網絡設備相關配置文件

                 /etc/init.d, 服務的管理腳本   
  
  /home      用戶的主目錄     ~:代表目前這個用戶的主文件夾; ~dmtsai:代表dmtsai的主文件夾。
  
  /lib       庫文件
  
  /media     可刪除的設備,包括軟盤、光盤、DVD等設備。   /media/floppy, /media/cdrom
  
  /mnt       暫時掛載某些額外的設備。
  
  /opt       可選的,有些第三方軟件,把此目錄當作默認安裝位置,Nessus, Oracle
  
  /root      管理員root的主文件夾
  
  /tmp       臨時文件存放位置
  
  /misc      雜項
  
  /proc      僞,內存中的內核相關信息的映射
  
  /sys       比如像磁盤這樣存儲設備或某些總線設備的驅動程序相關屬性信息
  
  /srv       服務運行中中間文件的存放位置
  
  /var,   經常發生變化的文件存放位置
              
      /var/log
     
               /var/run
    
               /var/mail
    
  /usr    基本日常管理
             
     /usr/bin
              
     /usr/sbi
     
              /usr/etc
    
              /usr/lib
    
              /usr/include    頭文件
    
        /usr/local (第三方軟件)
  
              /usr/local/bin
    
              /usr/local/sbin
    
              /usr/local/etc
    
              /usr/local/lib
  
  /lost+found       /disk/lost+found  設備文件
  
  /proc             虛擬文件系統  
  
目錄與路徑
    絕對路徑與相對路徑
 
     絕對路徑:由根目錄(/)開始寫起的文件名或目錄名稱,例如:/home/dmtsai/.bashrc。
       
       相對路徑:相對於目前路徑的文件名寫法,例如:./home/dmtsai或../../home/dmtsai等。
  
 .:代表當前的目錄,也可以用./來表示。

    ..:代表上一層目錄,也可以用../來表示。
 
文件與目錄管理

    pwd 顯示當前目錄
 
    cd  切換目錄
 
    ls  查看文件與目錄
   
    -a   全部的文件,連同隱藏文件
   
    -d   僅列出目錄本身
   
    -l   列出長數據串,包含文件的屬性與權限等數據
   
    -i   列出inode號碼
   
    -n   列出UID與GID,而非用戶與用戶組的名稱
   
    創建一個空白文件:
 
    # touch
 
       -a 僅修改訪問時間
   
       -m 僅修改mtime
   
       -t [[CC]YY]MMDDhhmm.ss
   
       -c 僅修改文件的時間,若文件不存在則不創建新文件

 複製文件:
 
    # cp SRCFILE DEST
 
    # cp SRCFILE...DEST
 
       -a, 相當於-rp。
   
       -f,強制複製。
   
       -i,交互式。
   
       -p,連同屬性一起復制。
   
       -r(R),可複製目錄。
   
    創建一個新目錄:
 
    # mkdir  /tmp/x/y/z
 
       -v  verbose  詳細信息
   
       -p  parents  幫助你直接將所需要的目錄(包含上層目錄)遞歸創建起來。
   
    刪除一個空目錄:
 
    # rmdir
 
    文件刪除命令:
 
    # rm
 
       -r(R) 遞歸刪除目錄中的內容
   
       -f  強制刪除
   
       -v 顯示刪除內容和類型
   
    移動文件或目錄:
 
    mv SRCFILE DEST
 
    mv SRCFILE...DEST
 
       -f 強制移動
   
       -u 若目標文件已經存在,且source比較新,纔會更新(update)。

文件內容查閱
   
 cat    由第一行開始顯示文件內容(顯示全部內容)  不能分頁顯示
 
      -n 顯示行號
  
         -E 顯示行結束符 --show-ends
  
         -v 顯示非打印字符
  
         -T 顯示打印字符
 
 tac    從最後一行開始顯示,tac是cat的倒寫形式
 
 nl     顯示的時候,順便輸出行號
 
 more   一頁一頁地顯示文件內容
 
 less   與more類似,但可以往前翻頁,可以一行一行地顯示
 
 head   只看頭幾行
 
 tail   只看結尾幾行
 
      -f 不退出一直查看文件 ( Ctrl+c 退出   )
 
 od     以二進制的方式讀取文件內容
 
 wc     words counter
   
      -l 行數     -w 統計單詞數            -c 字符數
  
    cut      切割之後進行排序                              /etc/passwd
 
         cut -d : -f1-7
  
         cut -d : -f1,7
  
         cut -d'' -f1-7
  
    sort 按字母排序顯示
 
         -r 逆序顯示
  
         -n 以數值大小進行比較
  
         -f
  
         -u 如有相同的行則只顯示一次
  
    uniq 排完序才能使用          、、、、與sort一起使用
 
         -u 只顯示不重複的行
  
         -d 只顯示重複的行(顯示一次)
  
         -c 顯示重複的次數
  
    # tr  SET1 SET2    轉換字符
 
    # tr 'abc' 'ABC' /etc/passwd
 
    # tr -d 'abc'   刪除字符

文件與目錄的默認權限與隱藏權限
   
 文件默認權限:
 
     umask      0022
  
        uamsk -S   u=rwx,g=rx,o=rx
 
 文件隱藏屬性:
       
        chattr

        lsattr
  
命令與文件的查詢  

    file      查看文件類型
 
 which     腳本文件名的查詢     尋找執行文件
 
  
 文件名的查找:
 
 whereis  尋找特定文件
 
      -b   只找二進制格式的文件
  
   -s   只找soerce源文件
 
 locate    非實時 非精確,快速       依據/var/lib/mlocate內的數據庫記載,找出用戶輸入的關鍵字文件名
 
 find      實時  精確  速度慢        從磁盤查找
     
    # makewhatis
 
    # whatis

         # locate keyword
  
         # updatedb 手動生成locate所依賴的數據庫

               locate -n 10 keyword  查找前十行
     
               locate -c 10 keyword  統計字符

    find [dir1,...] [criteria,...] [action...]
 
    find [-H] [-L] [-P] [path...] [expression]

         find /etc -name "passwd"

         Criteria:
  
              -name ""             嚴格區分大小寫
    
              支持globbing方式的文件名通配
    
                   # find /etc -name "passwd*"
      
                   # find /etc -name "passwd?"
      
                   # find /etc -name "*passwd*"

              -iname "" 不區分文件名中的大小寫
    
              -regex "PATTERN"

              -user UID
    
                   # find /tmp -user redhat
      
                   # ls -l `find /tmp -user redhat`  命令替換
      
              -group GID   指定組名
    
              -uid    按uid查找
    
              -gid    按gid查找

              -nouser  查找所有沒有屬主的文件
    
              -nogrouop查找所有沒有屬組的文件

              -type (f d l b c s p)  按文件類型查找
         
                        # find /tmp -type s
      
             組合條件:
   
                      # find /tmp -iname "*LC*" -user redhat
                            -a
                            -o
                            -not
                                     # find /tmp -iname "*LC*" [ -a ] -user redhat
         
                                     # find /tmp -not -user redhat
         
                                     # find /tmp -iname "*LC*" -o -user redhat

                                     # find /tmp -not -user redhat -a -not -iname "*LC*"
         
                                     # find /tmp -not \( -user redhat -o -iname "*LC*" )

              -size# 指定文件大小
    
                          10M
       
                         -10M
                    
                         +10M
                              k|M|G

              -atime# 3   三天        -3     +3   訪問時間(天)
       
              -mtime                              修改時間(天)
    
              -ctime                              改變時間(天)

              -amin#  3   三分鐘     -3     +3    訪問時間(分鐘)
    
              -mmin                               修改時間(分鐘)
    
              -cmin                               改變時間(分鐘)

              -perm  根據權限查找
    
                    per 755        每一類用戶都必須滿足
     
                    per /755 (+755)  任何一類用戶權限滿足都可以
     
                    per -755      每一類用戶有一權限位必須滿足

             /mode: 任何一類用戶某一個權限符合條件     0 : 不作考察
   
             -mode:所有類別用戶所有權限都符合條件
   
    xarges
   
                 # find ./ -perm 644 | xarges chmod 755
    
                  例如:
     
                     1,查看/var目錄下屬主爲root並且屬組爲mail的所有文件:
     
                       # find /var -user root -group mail
       
                     2,查看/usr/目錄下不屬於root,bin,或student的文件:
     
                       # find /usr -not -user root -a -not -user bin -a -not -user student
       
                       # find /usr -not \( -user root -o -user bin -o -user student )
       
                       -not    ==     !
       
                     3,查看/etc目錄下最近一週內內容被修改過且不屬於root及apache用戶的文件# find /etc -mtime -7 -a -not \( -user root -o -user apache )
     
                     4,查找當前系統上沒有屬主或屬組且最近一天內曾被訪問過的文件,並將其屬主屬組均修改爲root:
     
                       # find / \( -nouser -o -nogroup \) -a -atime -1 -exec chown root:root {} \;
       
                     5,查找/etc目錄下大於1M的文件,並將其文件名寫入/tmp/etc.largefiles文件 中:
     
                       # find /etc -size +1M -exec basename {} >> /tmp/etc.largefiles \;
       
                     6,查找/etc目錄下所有用戶都沒有寫權限的文件,顯示其詳細信息;
     
                       # ls -l `find /etc -not -perm /222`
       
                       # find /etc -not -perm /222 -ls
       
Man的章節:

     1,用戶命令
 
     2,系統調用
 
     3,庫調用
 
     4,特殊文件說明
 
     5,文件格式(常指配置文件)
 
     6,遊戲
 
     7,雜項
 
     8,管理命令
 
     #whatis command 查看章節
 
     #man 章節號 command
 
     #man 章節號 文件名
 
     #manwhatis
 
     #makewhatis
 
     Man -M/usr/local/apache/man httpd
 
     EXAMPLES舉例
 
     Man mdadm
 
    翻屏: space鍵,往文件尾部翻一屏,或向上翻 -----b
 
       Enter鍵,往文件尾部翻一行,或向上翻 -----k
   
       G     跳轉文件尾部
   
       1G    跳轉文件首部
   
    字符串搜索: /keyword 由首部向尾部搜  n 下一個   :  N  下一個(反方向)
 
             /keyword 由尾部向首部搜
 
 
 

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