欧美vvv,亚洲第一成人在线,亚洲成人欧美日韩在线观看,日本猛少妇猛色XXXXX猛叫

新聞資訊

    管是 Windows 電腦還是 Linux 電腦,在使用的過程中,或多或少都會留下很多重復(fù)的文件。這些文件不僅會占用我們的磁盤,還會拖累我們的系統(tǒng),所以,很有必要干掉這些重復(fù)的文件。

    本文將介紹 6 種方法找到系統(tǒng)里的重復(fù)文件,讓你快速釋放硬盤空間!

    1. 使用 diff 命令比較文件

    在我們平常操作當(dāng)中,比較兩個文件的差異最簡單的方法可能就是使用 diff 命令。diff 命令的輸出將使用 < 和 > 符號顯示兩個文件之間的差異,利用這個特性我們可以找到相同的文件。

    當(dāng)兩個文件有差異時,diff 命令將輸出差異點:

    $ diff index.html backup.html
    2438a2439,2441
    > <pre>
    > That's all there is to report.
    > </pre>

    如果你的 diff 命令沒有輸出,則表示兩個文件相同:

    $ diff home.html index.html
    $

    但是, diff 命令的缺點是它一次只能比較兩個文件,如果我們要比較多個文件,這樣兩個兩個比較效率肯定非常低下。

    2. 使用校驗和

    校驗和命令 cksum 會根據(jù)一定的算法將文件的內(nèi)容計算成一個很長的數(shù)字(如2819078353 228029)。雖然算出的結(jié)果不是絕對唯一,但是內(nèi)容不相同的文件導(dǎo)致校驗和相同的可能性跟中國男足進(jìn)世界杯差不多。

    $ cksum *.html
    2819078353 228029 backup.html
    4073570409 227985 home.html
    4073570409 227985 index.html

    在我們上面的操作中,我們可以看到第二個和第三個文件校驗和是相同的,所以我們可以認(rèn)為這兩個文件是一樣的。

    3. 使用 find 命令

    雖然 find 命令沒有查找重復(fù)文件的選項,但是它卻可用于按名稱或類型搜索文件并運行cksum 命令。具體操作如下。

    $ find . -name "*.html" -exec cksum {} \;
    4073570409 227985 ./home.html
    2819078353 228029 ./backup.html
    4073570409 227985 ./index.html

    4. 使用 fslint 命令

    fslint 命令可以用來專門查找重復(fù)文件。但是這里有個注意事項,就是我們需要給它一個起始位置。如果我們需要運行大量文件,該命令可能需要相當(dāng)長的時間才能完成查找。

    $ fslint .
    -----------------------------------file name lint
    -------------------------------Invalid utf8 names
    -----------------------------------file case lint
    ----------------------------------DUPlicate files    <==home.html
    index.html
    -----------------------------------Dangling links
    --------------------redundant characters in links
    ------------------------------------suspect links
    --------------------------------Empty Directories
    ./.gnupg
    ----------------------------------Temporary Files
    ----------------------duplicate/conflicting Names
    ------------------------------------------Bad ids
    -------------------------Non Stripped executables

    Tips:我們必須在系統(tǒng)上安裝 fslint ,還需要將它添加到搜索路徑中:

    $ export PATH=$PATH:/usr/share/fslint/fslint

    5. 使用 rdfind 命令

    rdfind 命令還將尋找重復(fù)的(相同內(nèi)容的)文件。被稱為“冗余數(shù)據(jù)查找”,該命令可以根據(jù)文件日期確定哪些文件是原始文件,這對我們選擇刪除重復(fù)項很有幫助,因為它會刪除較新的文件。

    $ rdfind ~
    Now scanning "/home/alvin", found 12 files.
    Now have 12 files in total.
    Removed 1 files due to nonunique device and inode.
    Total size is 699498 bytes or 683 KiB
    Removed 9 files due to unique sizes from list.2 files left.
    Now eliminating candidates based on first bytes:removed 0 files from list.2 files left.
    Now eliminating candidates based on last bytes:removed 0 files from list.2 files left.
    Now eliminating candidates based on sha1 checksum:removed 0 files from list.2 files left.
    It seems like you have 2 files that are not unique
    Totally, 223 KiB can be reduced.
    Now making results file results.txt

    我們還可以在 dryrun 中運行。

    $ rdfind -dryrun true ~
    (DRYRUN MODE) Now scanning "/home/alvin", found 12 files.
    (DRYRUN MODE) Now have 12 files in total.
    (DRYRUN MODE) Removed 1 files due to nonunique device and inode.
    (DRYRUN MODE) Total size is 699352 bytes or 683 KiB
    Removed 9 files due to unique sizes from list.2 files left.
    (DRYRUN MODE) Now eliminating candidates based on first bytes:removed 0 files from list.2 files left.
    (DRYRUN MODE) Now eliminating candidates based on last bytes:removed 0 files from list.2 files left.
    (DRYRUN MODE) Now eliminating candidates based on sha1 checksum:removed 0 files from list.2 files left.
    (DRYRUN MODE) It seems like you have 2 files that are not unique
    (DRYRUN MODE) Totally, 223 KiB can be reduced.
    (DRYRUN MODE) Now making results file results.txt

    rdfind 命令還提供一些忽略空文件(-ignoreempty)和跟隨符號鏈接(-followsymlinks)之類的選項。下面詳細(xì)解釋它的常用選項。

    選項 意義 -ignoreempty 忽略空文件 -minsize 忽略小于特定大小的文件 -followsymlink 遵循符號鏈接 -removeidentinode 刪除引用相同inode的文件 -checksum 標(biāo)識要使用的校驗和類型 -deterministic 決定如何排序文件 -makesymlinks 將重復(fù)文件轉(zhuǎn)換為符號鏈接 -makehardlinks 用硬鏈接替換重復(fù)文件 -makeresultsfile 在當(dāng)前目錄中創(chuàng)建結(jié)果文件 -outputname 提供結(jié)果文件的名稱 -deleteduplicates 刪除/取消鏈接重復(fù)文件 -sleep 設(shè)置讀取文件之間的休眠時間(毫秒) -n,-dryrun 顯示本應(yīng)執(zhí)行的操作,但不要執(zhí)行

    這里需要我們注意一下,rdfind命令提供了使用 -deleteduplicates true 設(shè)置刪除重復(fù)文件的選項。顧名思義,使用這個選項它將自動刪重復(fù)的文件。

    $ rdfind -deleteduplicates true .
    ...
    Deleted 1 files.    <==

    當(dāng)然,前提是我們也必須在系統(tǒng)上安裝 rdfind 命令。

    6. 使用 fdupes 命令

    fdupes 命令也可以很容易地識別重復(fù)文件,并提供了大量有用的選項。在最簡單的操作中,它會把重復(fù)文件放在一起,如下所示:

    $ fdupes ~
    /home/alvin/UPGRADE
    /home/alvin/mytwin
    
    /home/alvin/lp.txt
    /home/alvin/lp.man
    
    /home/alvin/penguin.png
    /home/alvin/penguin0.png
    /home/alvin/hideme.png

    -r 選項代表遞歸,表示它將在各個目錄下面使用遞歸的方式來查找重復(fù)文件。但是,Linux 下有許多重復(fù)文件是很重要的(比如用戶的 .bashrc 和 .profile 文件),如果被刪除將導(dǎo)致系統(tǒng)異常。

    # fdupes -r /home
    /home/shark/home.html
    /home/shark/index.html
    
    /home/dory/.bashrc
    /home/eel/.bashrc
    
    /home/nemo/.profile
    /home/dory/.profile
    /home/shark/.profile
    
    /home/nemo/tryme
    /home/shs/tryme
    
    /home/shs/arrow.png
    /home/shs/PNGs/arrow.png
    
    /home/shs/11/files_11.zip
    /home/shs/ERIC/file_11.zip
    
    /home/shs/penguin0.jpg
    /home/shs/PNGs/penguin.jpg
    /home/shs/PNGs/penguin0.jpg
    
    /home/shs/Sandra_rotated.png
    /home/shs/PNGs/Sandra_rotated.png

    fdupes 命令的常用選項如下表所示:

    選項 意義 -r --recurse 遞歸 -R --recurse 遞歸指定的目錄 -s --symlinks-H --hardlinks 遵循符號鏈接目錄 -H --hardlinks 將硬鏈接視為重復(fù)鏈接 -n --noempty 忽略空文件 -f --omitfirst 省略每組匹配中的第一個文件 -A --nohidden 忽略隱藏文件 -1 --sameline 相同列表匹配單行 -S --size 顯示重復(fù)文件的大小 -m --summarize 匯總重復(fù)文件信息 -q --quiet 進(jìn)度指示器 -d --delete 提示用戶保存文件 -N --noprompt 與--delete一起使用時無效,保留集合中的第一個文件 -I --immediate 在遇到它們時刪除重復(fù)項 -p --permissions 權(quán)限不會將具有不同所有者/組或權(quán)限位的SONCIDER文件作為重復(fù)項 -o --order=WORD 根據(jù)規(guī)范的WORD訂單文件 -i --reverse 排序時反向逆序 -v --version 顯示fdupes版本 -h --help 顯示幫助

    小結(jié)

    Linux 系統(tǒng)為我們提供了很多用于定位和刪除重復(fù)文件的工具,使用這些工具將快速找到磁盤里的重復(fù)文件并刪除它們。希望本次分享能給大家?guī)韼椭鷡

    概念:

    磁盤分區(qū)組成部分:Block存儲區(qū) 和 inodes 存儲區(qū)。

    Block存儲區(qū):存儲文件的數(shù)據(jù)內(nèi)容
    inodes存儲區(qū):由許多的inode組成的列表,每個 inode 中存儲 文件屬性信息(文件大小,創(chuàng)建者,創(chuàng)建時間等)
    	每一個磁盤分區(qū)inodes的大小是有限制的,當(dāng)inodes的使用率很高時,就會存在文件無法寫入的風(fēng)險。

    inodes存儲文件屬性信息:

    1、文件大小
    2、文件類型(常規(guī)文件、目錄、軟連接等)
    3、權(quán)限(讀寫執(zhí)行權(quán)限)
    4、屬主(所屬用戶)
    5、屬組(所屬用戶組)
    6、鏈接數(shù)(有多少個文件名指向這個inode)
    7、文件創(chuàng)建時間
    8、文件最近訪問時間
    9、文件最近修改時間
    10、文件內(nèi)容所在Block位置
    
    #查看文件inode信息
    stat test.txt

    inodes編號:

    每一個文件都有一個inode編號,根據(jù)iNode編號獲取inodes信息,從而獲取文件存儲在blocked區(qū)的位置信息,從block存儲區(qū)中讀取文件內(nèi)容。

    #查看文件名對應(yīng)的inode號碼
    ls -li

    inodes大小:

    每個inode節(jié)點的大小,一般是128字節(jié)或256字節(jié)。inode節(jié)點的總數(shù),在格式化時就給定,一般是每1KB或每2KB就設(shè)置一個inode。假定在一塊1GB的硬盤中,每個inode節(jié)點的大小為128字節(jié),每1KB就設(shè)置一個inode,那么inode table的大小就會達(dá)到128MB,占整塊硬盤的12.8%。

    #查看每一個inodes節(jié)點信息大小:
    #dumpe2fs -h /dev/vda1 | grep "Inode size"
    dumpe2fs 1.42.9 (28-Dec-2013)
    Inode size: 128

    查看每個文件系統(tǒng)中 inode 的使用情況:

    df -ih

    系統(tǒng)查看文件內(nèi)容過程:

    獲取目錄的inode編號--->找到目錄文件block數(shù)據(jù)塊--->找到目錄下某一個文件的inode編號--->找到文件block塊--->讀取block塊中的數(shù)據(jù)

    通過inode編號查找文件:

    find . -inum 3412

    通過 inode 刪除文件:

    find -inum 3412 -delete
網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權(quán)所有