初入命令世界

一、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
下一篇 2017-05-27

相關推薦

  • 三大家族輕松管理CentOS 7網絡屬性配置

    一、簡單介紹        在CentOS 7中對網絡管理還是有不少變化的,例如管理服務的命令變為systemctl,許多命令可以更改后直接生效,還有許多獨有的工具,本文以CentOS 6與CentOS 7對比進行講解,下面現總體介紹一下網絡屬性配置工具。    &nb…

    Linux干貨 2016-04-25
  • 進程管理

    linux進程管理     內核的功能:進程管理、文件系統、網絡管理、驅動程序、安全功能等     Pcrocess:運行中的程序的一個副本,是被載入內存中的一個指令集和         PID:進程…

    Linux干貨 2016-09-12
  • 馬哥教育網絡班21期+第四周課程練習

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 ~]# cp -r /etc/skel /home/tuser1; chmod -R gx=— /home/tuser1 [root@mag…

    Linux干貨 2016-08-02
  • grep,find

    顯示當前系統上root、fedora、user用戶的默認shell: 2.找出/etc/rc.d/init.d/functions文中單詞后跟一組小括號的行 3.使用echo命令輸出一個絕對路徑,使用grep取出其基名: 4.找出ifconfig命令結果中的1-255之間的數字 5.寫一個模式,匹配合理的ip地址 6.寫一個模式,匹配出郵箱地址 7.查找/v…

    Linux干貨 2016-11-27
  • N25_第九周作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; 2、寫一個腳本     (1) 獲取當前主機的主機名,保存于hostname變量中;     (2) 判斷此變量的值是否為localhost,如果是…

    Linux干貨 2017-02-02
  • N25-第四周作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限。 1.  [root@jizo etc]# ls –d skel 2.  skel 3.  [root@jizo etc]# cd /home 4.  [root@jizo …

    Linux干貨 2016-12-26
欧美性久久久久