初入命令世界

一、inode節點號

        在linux中,每一個文件都有唯一的inode號,inode號也是系統識別的唯一編碼,而文件名僅僅是為了使用者區分辨認, inode (index node )表中包含文件系統所有文件列表 一個節點(索引節點)是在一個表項,包含有關文件的信息(元數據 ),包括:

              文件類型,權限,UID ,GID
              鏈接數(指向這個文件名路徑名稱個數)
              該文件的大小和不同的時間戳
              指向磁盤上文件的數據塊指針

              有關文件的其他數據

        目錄的數據內容就是目錄里面的文件列表,目錄引用的是inode號,也就是目錄下的文件名和文件inode號之間的映射

        ls -i 查看文件的節點編號

        初入命令世界

        節點編號是由分區分配的,不是由磁盤分配,在同一個分區中,不會存在相同的節點編號,
        節點編號是唯一的。但在不同的分區中,節點編號可以相同
        在centos7中,根上的目錄文件的節點號都是64開始,centos6中,跟上的目錄文件的節點號為2,/sys、/proc文件在內存中,節點編號為1,節點編號是有限的
         初入命令世界                  初入命令世界

       df -i 查看磁盤分區上的可用節點號

         初入命令世界

         whatch -n1 每秒掃描一次

         創建大量節點號

初入命令世界

        每秒掃描一次觀察df節點號的變化

        初入命令世界

 初入命令世界

        當系統節點數被占用完時,再創建新文件會提示報錯,節點編號是可以耗盡的

       初入命令世界

       初入命令世界

       ls file* 會因為參數過多無法顯示報錯,故使用ls命令即可

       初入命令世界

        xargs 逐一的傳遞參數,從而解決參數過多的問題,將ls列出的參數逐一的傳遞給rm從而刪除

        初入命令世界

       cp和inode號
        分配一個空閑的inode號,在inode表中生成新條目,在目錄中創建一個目錄項,將目錄與inode編號關聯拷貝數據生成新的文件
在同分區移動文件時,僅移動目錄的數據塊信息,如果不是在同一個分區,則需要同事將節點編號和原數據同時移動。
刪除文件時,僅僅是先刪除inode節點號,數據并不會刪除,但在其他文件寫入時,可能會覆蓋占用被刪除節點的數據空間
       rm和inode
          使用rm 命令:
                鏈接數遞減,從而釋放的inode 號可以被重用
                把數據塊放在空閑列表中
                刪除目錄項
                數據實際上不會馬上被刪除,但當另一個文件使用數據塊時將被覆蓋。
        mv和inode
          如果mv 命令的目標和源在相同的文件系統,使用mv 命令
                用新的文件名創建對應新的目錄項
                刪除舊目錄條目對應的舊的文件名
                不影響inode 表(除時間戳)或磁盤上的數據位置:沒有數據被移動!

         如果目標和源在一個不同的文件系統, mv相當于cp 和rm

2、shred:文件粉碎工具(覆蓋原文件)

          徹底刪除文件

                  shred -u file

          shred會用一些隨機內容覆蓋文件所在的節點和數據塊,并刪除文件(-u參數)。

          假如想清除的更徹底一點可以也可使用-z 參數,意思是先用隨機數據填充,最后一次再用0填充。

                   shred -u -z file

另外shred還可以清除整個分區或磁盤,如果想徹底清除/dev/sdb1分區的內容可以這樣:

         shred /dev/sdb1 (但是不能加-u參數)

還有一些其他參數如下:

-f, –force 更改權限允許寫入(如有必要)

-n, –iterations=N 重寫N次,默認為3次

–random-source=FILE 從指定文件讀取數據

-s, –size=N 將文件粉碎為固定大小 (可使用后綴如K、M、C等)

-u, –remove 重寫后截短并移除

-v, –verbose 顯示進度

-z, –zero – add 用0覆蓋數據

–help 顯示幫助

–version 顯示版本信息

初入命令世界

3、復制

             cp 復制文件

                   -i:覆蓋前提示 是否覆蓋

                   –n: 不覆蓋原文件 -i、-n最后的生效

                     初入命令世界      

初入命令世界

-r, -R: 遞歸復制目錄及內部的所有內容

-a: 歸檔,相當于-dR –preserv=all
-d:–no-dereference –preserv=links 不復制原文件,只復制鏈接名

初入命令世界

–preserv[=ATTR_LIST]

         mode: 權限

         ownership: 屬主

         timestamp:時間戳

         links:復制鏈接文件

        xattr

         context 安全上下文

         all

初入命令世界 

-p:等同–preserv=mode,ownership,timestamp

-v:–verbose 顯示復制過程

-f:–force 如果原文件不能打開,則刪除原文件后再次重新寫入,屬性發生改變

                   初入命令世界

備份配置文件-a,文件屬性信息完全復制,等同于備份)

cp -a /etc/passwd{,.bak}

cp -a /etc/passwd /etc/passwd.bak

 初入命令世界

            mknod 創建復制設備文件                

                    cp不能復制設備文件,復制設備文件用mknod

                    創建設備文件/app/sda

                    mknod /app/sda b 8 0 b表示設備文件,8表示設備的主設備號,0表示設備的次設備號

                    創建設備文件時,應制定文件類型b,以及主設備和次設備號                                  

                   初入命令世界

                   創建空設備文件

                   初入命令世界

4、rename 批量更改文件名

        rename ‘.txt’ ‘.txt.bak’ *.txt 將txt后綴名更改為txt.bak
        rename ‘.txt.bak’ ” *.txt 將txt.bak后綴名清除

       初入命令世界                                                        

       初入命令世界

5、tree 顯示目錄樹

            -d:只顯示目錄

             -L level:指定顯示的層級數目

             -P pattern:只顯示由指定pattern匹配到的路徑

            初入命令世界                      初入命令世界                

          初入命令世界          初入命令世界

6、mkdir 創建目錄

           -p: 遞歸創建目錄

           -v: 顯示詳細信息

           -m MODE: 創建目錄時直接指定權限 eg:-m 644

        初入命令世界                 初入命令世界

       初入命令世界

7、tr:轉換刪除字符

          tr [OPTION]… SET1 [SET2]

          選項:

                   -c –C –complement:取字符集的補集    

                   -d –delete:刪除所有屬于第一字符集的字符

                   -s –squeeze-repeats:把連續重復的字符以單獨一個字符表示

                   -t –truncate-set1:將第一個字符集對應字符轉化為第二字符集

初入命令世界         初入命令世界

替換重定向到另一文件,或則>>追加重定向

初入命令世界

初入命令世界

 s 重復字符壓縮

          初入命令世界         

         初入命令世界

          初入命令世界

原創文章,作者:danran,如若轉載,請注明出處:http://www.www58058.com/76999

(0)
danrandanran
上一篇 2017-05-26 17:09
下一篇 2017-05-27 12:59

相關推薦

  • shell腳本編程

    Shell腳本是包含一些命令或聲明,并符合一定格式的文本文件。 程序:指令+數據 程序編程風格 過程式  以指令為中心,數據服務于指令。 對象式  以數據為中心,指令服務于數據。 Shell程序:提供了編寫和能力,解釋執行。 編程邏輯處理方式:           順序執行   …

    Linux干貨 2016-08-15
  • 實現真實的機柜模擬圖[原創]

    一般能反映機房設備位置、結構我們都喜歡通過網絡拓撲圖來展現,但個人感覺還不夠直觀、明了的表現出自己想要的結果(自己太挑剔了,呵呵)。因此寫一個生成真實機柜模擬圖平臺,實現與真實服務器外觀、服務狀態、空閑位置等信息。在線效果圖http://blog.liuts.com/idc/系統截圖1、平臺顯示某一排截圖2、平臺顯示某臺服務器詳細信息截圖3、狀態說明2U服務…

    Linux干貨 2015-03-27
  • Nginx+Keepalived實現站點高可用

    Nginx+Keepalived實現站點高可用 vrrp 虛擬路由冗余協議(Virtual Router Redundancy Protocol,簡稱VRRP)是由IETF提出的解決局域網中配置靜態網關出現單點失效現象的路由協議,1998年已推出正式的RFC2338協議標準。VRRP廣泛應用在邊緣網絡中,它的設計目標是支持特定情況下IP數據流量失敗轉移不會引…

    Linux干貨 2016-11-07
  • shell中的引號用法

        SHELL引號  在shell里可以通過使用單引號,雙引號,反引號(TAB鍵上方的按鍵),反斜線來轉換某些shell元字符的含義。比如說,我們希望echo命令顯示出$本身字符的意義,而不是變量,我們需要使用某些功能來屏蔽$符號本身賦予的特殊含義,使其還原本身字面的意思。 主要講述四個比較特殊常用的符號。 1.反…

    2017-06-11
  • Nginx 功能概述與基礎應用!

           本篇博客主要有三個部分組成,目的在于讓大家了解ningx的主要功用及作為web server的基礎配置;通過本篇博客能夠讓您對nginx理解更加深入,以便于更好的使用它!                  …

    2017-05-14
  • Linux nginx服務之反向代理

                       Linux nginx服務之反向代理 Nginx服務之反向代理: GSLB:Global Service LB 全局服務負載均衡: SLB:Service LB 應用程序發布: 灰度模型:   ngx_http_…

    系統運維 2016-11-18
欧美性久久久久