當前位置:首頁 » 網頁前端 » shell腳本獲取文件大小MB
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

shell腳本獲取文件大小MB

發布時間: 2022-10-28 20:13:04

⑴ 如何用腳本語言生成大文件

Linux shell腳本語言:
dd if=/dev/zero of=~/test.bin bs=1k count=1000
這是生成1M大小文件(test.bin)的方法。
稍作解釋:
if - File used as stdin
of - File used as stdout
bs - Bytes of a block
count - number of blocks
修改bs和count這兩個值可以控制生成文件的大小。

⑵ shell腳本:需根據文件的大小進行壓縮

sh -x yourshell
看看每個步驟
你的第一步就有問題了, file就是把目錄下的文件全都列出來了,取第二列就是文件名了。怎麼去和2000000比較???
tar也有問題,你壓縮成什麼?少了參數吧。。。
rm也有問題。你才壓縮一個文件,就把整個目錄幹掉了、、、

find . -size +2M 這樣不就把文件大於2M的弄出來了。。。僅供參考:
[root@localhost ~]# ls -sh a
27M a
[root@localhost ~]# find . -size +2M
./a
[root@localhost ~]# find . -size +2M -exec tar cjf /tmp/{}.tar.bz2 {} \;
[root@localhost ~]# ls /tmp/
a.tar.bz2

⑶ 如何使得shell腳本的if語法來判斷一個文本文件的大小 例如 if [ ] ;then 如果這

#!/bin/sh
a=` -s yourfile.txt | awk '{print $1}'`
if [ $a -eq 1024 ]
then
echo "OK"
else
echo "ERROR"
fi

⑷ linux shell腳本判斷某個文件的大小,符合條件則備份並重命名

cat test.sh
#!/bin/sh
file=$1
file_size=` $file | awk '{print $2}'`
if [ $file_size -ge 10485760 ]
then
cp -p $file $file-bak
fi
chmod +x test.sh
./test.sh 1.txt
逐行解釋
1.
查看腳本文件test.sh
2.
定義腳本默認用sh執行
3.
將文件路徑賦予file變數。$1
表示位置變數即下面的1.txt
4.
計算文件大小並賦予file_size變數
5.
如果文件大小大於等於10m.
10485760為10m,-ge為大於等於。
6.
if語法關鍵字
7.
將文件重命名備份
8.
if語法關鍵字
9.
空行
10.
賦予腳本test.sh可執行許可權
11.
執行腳本,輸入位置變數1.txt.

⑸ 如何使用shell腳本生成一個大小為300M的文件

有時候,我們需要生成指定大小的隨機文件,比如在學習過程中使用的測試文件。
dd命令用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換。
注意:指定數字的地方若以下列字元結尾則乘以相應的數字:b=512;c=1;k=1024;w=2
命令:

Linux:/qinys # dd if=/dev/zero of=tmp.data bs=100m count=3

命令解釋:
該命令會創建一個大小為100m的文件tmp.data;if代表輸入文件(input file),of代表輸出文件(output file),bs代表以位元組為單位的塊大小(block size,BS),count代表被復制的塊數。(如果把count=3,那麼文件大小為300M)《Linux就該這么學》一起學習linux
/dev/zero是一個字元設備,他會不斷的返回0值位元組(\0)

⑹ linux的shell 腳本里怎麼用if 判斷文件大小呀

需要幾個工具 基本上思路是 用 配合awk取得文件大小 ,然後if判斷
偽代碼如下

s=` -k logfile|awk '{print $1}'`
if [ $s -gt 1024000000 ]
then
停止oracle監聽進程
rm -rf logfile && touch logfile
啟動oracle監聽進程
else
continue
fi

⑺ linux的shell 腳本里怎麼用if 判斷文件大小呀

find有一個參數 -size +10000M

你可以定義一個變數 它的值為
查找目錄下 是否滿足同時名字叫123.cap 並且尺寸大於10000M的
是就賦予var

先執行tcpmp 後台運行

然後做一個循環 每隔一秒判斷這個var
var=$(find . -name "123.cap" -size +10000M)

判斷這個var是否不為空

當不為空 那麼代表文件超出10g了 那麼就完畢吧 exit

思路這樣 你自己試試看

⑻ Shell腳本得到文件夾大小

ls -ld 文件夾路徑 | awk '{print int($5/1024)}'
或者:
-b 文件夾路徑 | awk '{print int($1/1024)}'

跟你上面計算文件大小類似,得到的都是以KB為單位的大小。
如果要以Byte為單位,不要除以1024也不要int取整就是了。

注意:Linux的ext2或ext3文件系統會給目錄分配一個inode塊(索引節點),用來記錄文件信息,所以文件夾的大小不是簡單地將其中文件大小累加就能得到的,還包括了這個索引節點的大小。索引節點是一個結構,它包含了一個文件的長度、創建及修改時間、許可權、所屬關系、磁碟中的位置等信息。

⑼ 求高手幫忙編寫shell腳本統計當前目錄中普通文件總的大小

你這樣出來不只是普通文件 包括目錄或者其他類型文件

ls -l |grep ^- |awk '{print $5}'|awk '{$sum=$sum+$1}END{print $sum}'

⑽ linux shell腳本判斷某個文件的大小,符合條件則備份並重命名

cattest.sh
#!/bin/sh
FILE=$1
FILE_SIZE=`$FILE|awk'{print$2}'`
if[$FILE_SIZE-ge10485760]
then
cp-p$FILE$FILE-bak
fi

chmod+xtest.sh
./test.sh1.txt

逐行解釋

  1. 查看腳本文件test.sh

  2. 定義腳本默認用sh執行

  3. 將文件路徑賦予FILE變數。$1 表示位置變數即下面的1.txt

  4. 計算文件大小並賦予FILE_SIZE變數

  5. 如果文件大小大於等於10M. 10485760為10M,-ge為大於等於。

  6. if語法關鍵字

  7. 將文件重命名備份

  8. if語法關鍵字

  9. 空行

  10. 賦予腳本test.sh可執行許可權

  11. 執行腳本,輸入位置變數1.txt.