linux~大文件相关操作的总结

1.生成指定大小的文件

在当前目录下生成一个50M的文件:
  dd if=/dev/zero of=50M.file bs=1M count=50 
  truncate -s 2G ~/big.log.txt
truncate -s 将文件缩减或扩展至指定大小
  • 如果指定文件不存在则创建
  • 如果指定文件超出指定大小则超出的数据将丢失
  • 如果指定文件小于指定大小则用0 补足
ubuser@ubuser-OptiPlex-7010:~$ echo '123456'>a.txt
ubuser@ubuser-OptiPlex-7010:~$ cat a.txt
123456
ubuser@ubuser-OptiPlex-7010:~$ truncate -s 4 a.txt     #设置文件大小为4字节
ubuser@ubuser-OptiPlex-7010:~$ cat a.txt            #部分文件内容丢失
1234ubuser@ubuser-OptiPlex-7010:~$
ubuser@ubuser-OptiPlex-7010:~$ truncate -s 100k a.txt    #将文件size扩大到100k
ubuser@ubuser-OptiPlex-7010:~$ cat a.txt             #文件内容没发生变化
1234ubuser@ubuser-OptiPlex-7010:~$
ubuser@ubuser-OptiPlex-7010:~$ ls -l a.txt            #大小变了
-rw-rw-r-- 1 ubuser ubuser 102400 3月   5 11:04 a.txt
ubuser@ubuser-OptiPlex-7010:~$
ubuser@ubuser-OptiPlex-7010:~$ du -sh a.txt          #大小没变
4.0K    a.txt

2.查找大文件

find . -type f -size +800M #在当前目录下,超过800M大小的文件
find . -type f -size +800M  -print0 | xargs -0 ls -l #查找超过800M大小的文件,并显示一些文件属性或信息
find . -type f -size +800M  -print0 | xargs -0 du -h #查找超过800M大小文件,并显示查找出来文件的具体大小
find . -type f -size +800M  -print0 | xargs -0 du -h | sort -nr #对查找结果按照文件大小做一个排序
find . -size +1k -a -size -3k -exec ls -lh {} ; #查找根目录下文件大小大于1K小于3K的文件,并展示文件的详细信息,默认以字节作为单位。

 

 

原文地址:https://www.cnblogs.com/mianbaoshu/p/14485651.html