国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

shell腳本-批量獲取目錄下所有文件的md5值、大小、inode值

這篇具有很好參考價(jià)值的文章主要介紹了shell腳本-批量獲取目錄下所有文件的md5值、大小、inode值。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

批量獲取MD5值

MD5的全稱是Message-Digest Algorithm 5,它一種被廣泛使用的密碼散列函數(shù),可以產(chǎn)生出一個(gè)128位(16字節(jié))的散列值(hash value),用于確保信息傳輸完整一致。MD5值等同于文件的ID,它的值是唯一的。 如果文件已被修改,其MD5值將發(fā)生變化。

#!/bin/bash

if [ ! -n "$1" ]
then
	echo "請(qǐng)帶上要查詢目錄的絕對(duì)路徑"
	exit 1
fi

#定義全局變量存放首層路徑
first_path=$1

#獲取文件函數(shù)
function getfile(){
	#進(jìn)入目錄
	cd "$1"
	for item_path in *
	do
		#排除目錄為空的情況
		if  [ "${item_path}" != "*" ]
		then
			#拼接成絕對(duì)路徑
			path=$1"/"${item_path}
			#判斷是不是目錄,是的話調(diào)用方法遍歷獲取目錄下的文件
			if [ -d ${path} ] && [ "item_path" != "*" ]
			then
				getfile "${path}"
			else
				#求出文件MD5值,但去掉根路徑
				#井號(hào)用于代替分隔符,因?yàn)槁窂街蟹?hào)會(huì)影響它
				echo `md5sum ${path}`  | sed "s#${first_path}##g"
			fi
		fi
	done
}

#調(diào)用函數(shù)
getfile ${first_path}
 

運(yùn)行結(jié)果:

shell獲取路徑下所有文件,shell腳本,服務(wù)器,linux,運(yùn)維,bash

批量獲取文件大小、inode值

文件儲(chǔ)存在硬盤上,硬盤的最小存儲(chǔ)單位叫做"扇區(qū)",每個(gè)扇區(qū)儲(chǔ)存512字節(jié)。

操作系統(tǒng)讀取硬盤的時(shí)候,不會(huì)一個(gè)個(gè)扇區(qū)地讀取,這樣效率太低,而是一次性連續(xù)讀取多個(gè)扇區(qū),即一次性讀取一個(gè)"塊"(block)。這種由多個(gè)扇區(qū)組成的"塊",是文件存取的最小單位。"塊"的大小,最常見的是4KB,即連續(xù)八個(gè) sector組成一個(gè) block。

文件數(shù)據(jù)都儲(chǔ)存在"塊"中,那么很顯然,我們還必須找到一個(gè)地方儲(chǔ)存文件的元信息,比如文件的創(chuàng)建者、文件的創(chuàng)建日期、文件的大小等等。這種儲(chǔ)存文件元信息的區(qū)域就叫做inode,中文譯名為"索引節(jié)點(diǎn)"。

#!/bin/bash

if [ ! -n "$1" ]
then
	echo "請(qǐng)帶上要查詢目錄的絕對(duì)路徑"
	exit 1
fi

#定義全局變量存放首層路徑
first_path=$1

#獲取文件函數(shù)
function getfile(){
	#進(jìn)入目錄
	cd "$1"
	for item_path in *
	do
		#排除目錄為空的情況
		if  [ "${item_path}" != "*" ]
		then
			#拼接成絕對(duì)路徑
			path=$1"/"${item_path}
			#判斷是不是目錄,是的話調(diào)用方法遍歷獲取目錄下的文件
			if [ -d ${path} ] && [ "item_path" != "*" ]
			then
				getfile "${path}"
			else
				inode=`stat ${path} | grep Inode | awk '{print $4}'`
				inode_len=`echo ${inode} | awk '{print length($0)}'`
				let inode_len=10-inode_len
				inode_len=`printf "%${inode_len}s"`
				size=`du -h ${path} | awk '{print $1}'`
				size_len=`echo ${size} | awk '{print length($0)}'`
				let size_len=10-size_len
				size_len=`printf "%${size_len}s"`
				filename=`echo ${path} | sed "s#${first_path}##g"`
				echo "${inode}${inode_len}${size}${size_len}${filename}"
			fi
		fi
	done
}

#打印標(biāo)題
echo "Inode     Size      FileName"
#調(diào)用函數(shù)
getfile ${first_path}

運(yùn)行結(jié)果:

shell獲取路徑下所有文件,shell腳本,服務(wù)器,linux,運(yùn)維,bash文章來源地址http://www.zghlxwxcb.cn/news/detail-698214.html

到了這里,關(guān)于shell腳本-批量獲取目錄下所有文件的md5值、大小、inode值的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 安卓keytool獲取不到簽名文件的MD5

    安卓keytool獲取不到簽名文件的MD5

    目前通過 keytool -list -v -keystore xxx.jks 這種方法獲取簽名的md5時(shí),只能顯示SHA1和SHA256,不顯示md5: 解決辦法: 1.先將自己的keystore配置進(jìn)app下的build.gradle中: 2.打開AndroidStudio的Gradle,找到Tasks-android-signingReport,雙擊: 找到Config為release,Alias與你簽名文件的別名一致的信息,即可

    2024年02月11日
    瀏覽(22)
  • APP備案,iOS簽名文件MD5、公鑰獲取方法

    APP備案,iOS簽名文件MD5、公鑰獲取方法

    前言 2023年8月,國內(nèi)開始要求應(yīng)用市場(chǎng)上架的APP要備案,備案則需要提交安卓APP簽名文件中的MD5、公鑰等信息,如下圖是某平臺(tái)APP備案需要提交的信息。 獲取MD5等信息 最省事方法 針對(duì)沒有ide工具,沒有從事過iOS開發(fā),或想節(jié)省時(shí)間的朋友,建議通過我們開發(fā)的網(wǎng)頁來獲取

    2024年02月08日
    瀏覽(22)
  • 獲取安卓簽名文件的MD5值與SHA1碼

    獲取安卓簽名文件的MD5值與SHA1碼

    目錄 前言 一、用命令行的方式僅能獲取SH1、SHA256 ?編輯 二、用gradle的方式可以獲取MD5值 1.打開Android Studio,點(diǎn)擊右邊的Gradle 2.點(diǎn)擊大象,輸入查詢簽名信息的命令 總結(jié) 公司App項(xiàng)目要備案,要搜集MD5值與SHA1碼,用了以前的命令行方式只獲取到SHA1,奇怪,網(wǎng)上學(xué)習(xí)了下,原來

    2024年02月16日
    瀏覽(32)
  • vue(前端):大文件分片上傳(包括如何獲取文件MD5、邏輯注釋講解)

    3.1 原生input標(biāo)簽實(shí)現(xiàn)上傳 3.2 獲取文件的MD5 3.3 上傳文件 3.4 上傳文件到后臺(tái)

    2024年02月21日
    瀏覽(31)
  • 圖像/短視頻文件的MD5碼的定義、作用以及獲取方式

    圖像/短視頻文件的MD5碼的定義、作用以及獲取方式

    目錄 一、圖像/短視頻文件的MD5碼定義: 二、MD5碼的作用: 三、如何獲取一個(gè)圖像/短視頻文件的MD5碼: ????????MD5(Message-Digest Algorithm 5)是一種常用的哈希算法,用于計(jì)算文件的哈希值。哈希值是一個(gè)固定長(zhǎng)度的字節(jié)序列,可以用于驗(yàn)證文件的完整性和唯一性。 ???

    2024年02月15日
    瀏覽(24)
  • APP備案,最新獲取安卓簽名文件中MD5等信息方法

    APP備案,最新獲取安卓簽名文件中MD5等信息方法

    直接通過cmd執(zhí)行命令 輸入后回車會(huì)提示輸入密碼庫口令,直接輸入Keystore密碼(輸入過程中終端上不會(huì)顯示,輸完回車就行) 由于上述以前這種方式是可以打印出MD5,現(xiàn)在這種方式卻沒把MD5值打印出來,處理辦法如下 直接在as中的Terminal工具在命令行中輸入gradle命令: 1.導(dǎo)出

    2024年01月21日
    瀏覽(33)
  • Android創(chuàng)建簽名文件,并獲取簽名文件MD5,SHA1,SHA256值

    Android創(chuàng)建簽名文件,并獲取簽名文件MD5,SHA1,SHA256值

    一、創(chuàng)建Android簽名文件 ??????? 使用Android Studio開發(fā)工具,可視化窗口進(jìn)行創(chuàng)建 第一步:點(diǎn)擊AndroidStudio導(dǎo)航欄上的 Build→Generate Signed Bundle / APK 第二步:選擇APK選項(xiàng) ? ?第三步:創(chuàng)建簽名文件 第四步:輸入創(chuàng)建簽名的文件的各內(nèi)容信息 點(diǎn)擊ok,即可完成簽名的文件的創(chuàng)建

    2024年02月07日
    瀏覽(32)
  • go獲取文件md5后接著讀取file對(duì)象EOF的問題記錄

    目錄 背景 分析 第一步:讀取文件,獲得file對(duì)象 第二步:獲取文件md5 第三步:獲取到md5后繼續(xù)使用(讀?。ゝile對(duì)象,發(fā)現(xiàn)一次就讀完了(EOF),但實(shí)際一次不可能讀完 代碼如下: 如上代碼中,在獲得該文件的md5后,file對(duì)象此時(shí)已指向文件末尾,因此接著讀取必然是EOF直接

    2024年01月19日
    瀏覽(23)
  • 如何將一個(gè)目錄下的所有md文件導(dǎo)出成pdf

    要將一個(gè)目錄下的所有Markdown(.md)文件導(dǎo)出為PDF,您可以使用Node.js進(jìn)行編程來實(shí)現(xiàn)。以下是一種可能的方法: 首先,您需要設(shè)置Node.js環(huán)境并安裝依賴項(xiàng)。在命令行中導(dǎo)航到您的項(xiàng)目目錄,并運(yùn)行以下命令: 創(chuàng)建一個(gè)名為 convert.js 的JavaScript文件,并在其中編寫以下代碼:

    2024年02月16日
    瀏覽(22)
  • 用git bash調(diào)用md5sum進(jìn)行批量MD5計(jì)算

    用git bash調(diào)用md5sum進(jìn)行批量MD5計(jì)算

    對(duì)于非常大的文件或者很重要的文件,在不穩(wěn)定的網(wǎng)絡(luò)環(huán)境下,可能文件的某些字節(jié)會(huì)損壞。此時(shí),對(duì)文件計(jì)算MD5即可以校驗(yàn)其完整性。比如本次的 OpenStreetMap 導(dǎo)出包,我的學(xué)弟反饋說,有朋友通過網(wǎng)盤下載無法解壓,并建議我增加每個(gè)文件的MD5校驗(yàn)。 對(duì)于文件非常多的情況

    2024年01月24日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包