当前位置:首页 » 网页前端 » 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.