走入系統命令

一、inode節點號

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

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

              有關文件的其他數據

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

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

        走入系統命令

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

       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/76936

(0)
danrandanran
上一篇 2017-05-25
下一篇 2017-05-26

相關推薦

  • N25-第4周作業(用戶權限,grep用法)

    復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有訪問權限.      [root@bogon ~]# chmod -R o=—,g=— /home/tuser1/ [root@bogon ~]# chmod -R o=,g= /home/tuser1/ 編輯/etc/…

    Linux干貨 2016-12-26
  • centos7或centos6中如何編譯安裝源碼程序包

    yum倉庫配置、程序的編譯安裝

    2017-12-02
  • 開學第一天

      今天是我來到馬哥教育的第一天,來之前心情非常之忐忑,因為沒有接觸過linux系統,感覺是個新事物,來到教室里,一百多人的大集體,年齡的差異,使我感覺到壓力。首先馬哥和張sir的講話,非常的幫,其中令我記憶最深刻的是那句話,取上者得中,取中者得下。一個人在奮斗的時候如果給自己的目標定的低,那就收獲的還要低。所以要高標準的要求自己,一開始給自己定一…

    Linux干貨 2018-03-26
  • java基礎篇—內存分析

    Java的并發采用的是共享內存模型(而非消息傳遞模型),線程之間共享程序的公共狀態,線程之間通過寫-讀內存中的公共狀態來隱式進行通信。多個線程之間是不能直接傳遞數據交互的,它們之間的交互只能通過共享變量來實現 同步是顯式進行的。程序員必須顯式指定某個方法或某段代碼需要在線程之間互斥執行。 1、多線程通信 1.1 內存模型 Java線程之間的通信由Java內存…

    Linux干貨 2015-03-16
  • GREP命令學習筆記

    GREP命令,全稱:Global search REgular expression and Print out the line. 是一個非常強大的文本搜索命令,與SED(stream editor,文本編輯工具)和AWK(文本分析、報告生成器)并稱文本處理三劍客。 一.GREP命令基本使用格式 grep [OPTIONS] PATTERN [FILE&#…

    Linux干貨 2016-06-22
  • lvs-keepalived

    keepalived: vrrp協議:Virtual Redundant Routing Protocol        術語:        虛擬路由器:Virtual Router &n…

    Linux干貨 2017-05-13
欧美性久久久久