精华内容
下载资源
问答
  • Linux下获取和比较文件大小

    千次阅读 2020-01-14 13:17:45
    titlecn Linux下获取和比较文件大小 author Charles Shih <schrht@gmail.com> date 2020-01-14 updated 2020-01-14 tags Linux,bash --- 正文 Linux下获取文件大小最直接的命令就是ls -l,然后取出对应字段:...
    ---
    titlecn	Linux下获取和比较文件大小
    author	Charles Shih <schrht@gmail.com>
    date	2020-01-14
    updated	2020-01-14
    tags	Linux,bash
    ---
    

    正文

    Linux下获取文件大小最直接的命令就是ls -l,然后取出对应字段:

    $ ls -l filename
    -rw-r--r--. 1 cheshi cheshi 21478375424 Jan 13 23:54 filename
    $ ls -l filename | awk '{print $5}'
    21478375424
    

    通过ls命令的-h参数,可以获得可读性较高的版本。

    $ ls -lh filename | awk '{print $5}'
    21G
    

    比较或判断特定文件大小可以参考如下代码:

    #!/bin/bash
    echo -e "\nEnlarge the image..."
    local fsize=$(ls -l $workspace/$image_file | awk '{print $5}')
    if [ "$fsize" -lt "$((20 * 1024 * 1024 * 1024))" ]; then
            # Enlarge the image...
    else
            echo -e "Already enlarged to 20GiB, skip this operation."
    fi
    
    展开全文
  • linux获取文件大小的函数fstat()

    万次阅读 2017-03-03 09:11:27
    C语言fstat()函数:由文件描述词取得文件状态 头文件:#include #include 定义函数:int fstat(int fildes, struct stat *buf); 函数说明:fstat()用来将参数fildes 所指的文件状态, 复制到参数buf ...

    C语言fstat()函数:由文件描述词取得文件状态



    头文件:#include <sys/stat.h>   #include <unistd.h>


    定义函数:int fstat(int fildes, struct stat *buf);


    函数说明:fstat()用来将参数fildes 所指的文件状态, 复制到参数buf 所指的结构中(struct stat). 
    fstat()与stat()作用完全相同, 不同处在于fstat()传入的参数为已打开的文件描述词. 详细内容请参考stat().


    返回值:执行成功则返回0, 失败返回-1, 错误代码存于errno.


    范例
    #include <sys/stat.h>
    #include <unistd.h>
    #include <fcntk.h>
    main()
    {
       struct stat buf;
       int fd;
       fd = open("/etc/passwd", O_RDONLY);
       fstat(fd, &buf);
       printf("/etc/passwd file size +%d\n ", buf.st_size);
    }
    执行:
    /etc/passwd file size = 705






    C语言stat()函数:获取文件状态


    头文件:#include <sys/stat.h>   #include <unistd.h>


    定义函数:int stat(const char * file_name, struct stat *buf);


    函数说明:stat()用来将参数file_name 所指的文件状态, 复制到参数buf 所指的结构中。


    下面是struct stat 内各参数的说明:
    struct stat
    {
        dev_t st_dev; //device 文件的设备编号
        ino_t st_ino; //inode 文件的i-node
        mode_t st_mode; //protection 文件的类型和存取的权限
        nlink_t st_nlink; //number of hard links 连到该文件的硬连接数目, 刚建立的文件值为1.
        uid_t st_uid; //user ID of owner 文件所有者的用户识别码
        gid_t st_gid; //group ID of owner 文件所有者的组识别码
        dev_t st_rdev; //device type 若此文件为装置设备文件, 则为其设备编号
        off_t st_size; //total size, in bytes 文件大小, 以字节计算
        unsigned long st_blksize; //blocksize for filesystem I/O 文件系统的I/O 缓冲区大小.
        unsigned long st_blocks; //number of blocks allocated 占用文件区块的个数, 每一区块大小为512 个字节.
        time_t st_atime; //time of lastaccess 文件最近一次被存取或被执行的时间, 一般只有在用mknod、utime、read、write 与tructate 时改变.
        time_t st_mtime; //time of last modification 文件最后一次被修改的时间, 一般只有在用mknod、utime 和write 时才会改变
        time_t st_ctime; //time of last change i-node 最近一次被更改的时间, 此参数会在文件所有者、组、权限被更改时更新
    };


    先前所描述的st_mode 则定义了下列数种情况:
    1、S_IFMT 0170000 文件类型的位遮罩
    2、S_IFSOCK 0140000 scoket
    3、S_IFLNK 0120000 符号连接
    4、S_IFREG 0100000 一般文件
    5、S_IFBLK 0060000 区块装置
    6、S_IFDIR 0040000 目录
    7、S_IFCHR 0020000 字符装置
    8、S_IFIFO 0010000 先进先出
    9、S_ISUID 04000 文件的 (set user-id on execution)位
    10、S_ISGID 02000 文件的 (set group-id on execution)位
    11、S_ISVTX 01000 文件的sticky 位
    12、S_IRUSR (S_IREAD) 00400 文件所有者具可读取权限
    13、S_IWUSR (S_IWRITE)00200 文件所有者具可写入权限
    14、S_IXUSR (S_IEXEC) 00100 文件所有者具可执行权限
    15、S_IRGRP 00040 用户组具可读取权限
    16、S_IWGRP 00020 用户组具可写入权限
    17、S_IXGRP 00010 用户组具可执行权限
    18、S_IROTH 00004 其他用户具可读取权限
    19、S_IWOTH 00002 其他用户具可写入权限
    20、S_IXOTH 00001 其他用户具可执行权限上述的文件类型在 POSIX 中定义了检查这些类型的宏定义
    21、S_ISLNK (st_mode) 判断是否为符号连接
    22、S_ISREG (st_mode) 是否为一般文件
    23、S_ISDIR (st_mode) 是否为目录
    24、S_ISCHR (st_mode) 是否为字符装置文件
    25、S_ISBLK (s3e) 是否为先进先出
    26、S_ISSOCK (st_mode) 是否为socket 若一目录具有sticky 位 (S_ISVTX), 则表示在此目录下的文件只能被该文件所有者、此目录所有者或root 来删除或改名.


    返回值:执行成功则返回0,失败返回-1,错误代码存于errno。


    错误代码:
    1、ENOENT 参数file_name 指定的文件不存在
    2、ENOTDIR 路径中的目录存在但却非真正的目录
    3、ELOOP 欲打开的文件有过多符号连接问题, 上限为16 符号连接
    4、EFAULT 参数buf 为无效指针, 指向无法存在的内存空间
    5、EACCESS 存取文件时被拒绝
    6、ENOMEM 核心内存不足
    7、ENAMETOOLONG 参数file_name 的路径名称太长


    范例
    #include <sys/stat.h>
    #include <unistd.h>
    main()
    {
        struct stat buf;
        stat("/etc/passwd", &buf);
        printf("/etc/passwd file size = %d \n", buf.st_size);
    }


    执行:

    /etc/passwd file size = 705


    使用lseek函数

    lseek(fd,0L,SEEK_END)

    表头文件
    #include<sys/types.h>
    #include<unistd.h>


    定义函数
    off_t lseek(int filde,off_t offset ,int whence);


    EEK_SET 将读写位置指向文件头后再增加offset个位移量。
    SEEK_CUR 以目前的读写位置往后增加offset个位移量。
    SEEK_END 将读写位置指向文件尾后再增加offset个位移量。
    当whence 值为SEEK_CUR 或SEEK_END时,参数offet允许负值的出现。
    下列是较特别的使用方式:
    1) 欲将读写位置移到文件开头时:
    lseek(int fildes,0,SEEK_SET);
    2) 欲将读写位置移到文件尾时:
    lseek(int fildes,0,SEEK_END);
    3) 想要取得目前文件位置时:
    lseek(int fildes,0,SEEK_CUR);

    返回值
    当调用成功时则返回目前的读写位置,也就是距离文件开头多少个字节。若有错误则返回-1,errno 会存放错误代码。
    可能设置erron的错误代码:
    EBADF: fildes不是一个打开的文件描述符。
    ESPIPE:文件描述符被分配到一个管道、套接字或FIFO。
    EINVAL:whence取值不当。


    展开全文
  • stat指令:文件/文件系统的详细信息显示。 stat命令主要用于显示文件文件系统的详细信息,该命令的语法格式如下: -f 不显示文件本身的信息,显示文件所在文件系统的信息 -L 显示符号链接 -t 简洁模式,只显示...

    一、stat命令

    stat指令:文件/文件系统的详细信息显示。

    stat命令主要用于显示文件或文件系统的详细信息,该命令的语法格式如下:

    -f  不显示文件本身的信息,显示文件所在文件系统的信息

    -L  显示符号链接

    -t  简洁模式,只显示摘要信息

    stat ljl.txt 
    

    在这里插入图片描述

    二、wc命令

    wc命令用来计算数字。利用wc指令我们可以计算文件的Byte数、字数或是列数,若不指定文件名称,或是所给予的文件名为“-”,则wc指令会从标准输入设备读取数据。

    wc -c filename 参数-c表示统计字符, 因为一个字符一个字节, 所以这样得到字节数

    wc -c ljl.txt 
    

    在这里插入图片描述

    三、du命令

    du命令也是查看使用空间的,但是与df命令不同的是Linux du命令是对文件和目录磁盘使用的空间的查看,还是和df命令有一些区别的。

    du -b filepath 参数-b表示以字节计数

    du -b ljl.txt
    

    在这里插入图片描述
    或者
    du -h filepath 直接得出人好识别的文件大小

    du -h ljl.txt
    

    在这里插入图片描述

    四、ls命令

    ls命令用来显示目标列表,在Linux中是使用率较高的命令。ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件。

    ls -l filepath 第五列为文件字节数

    ls -l ljl.txt
    

    在这里插入图片描述
    ls -h filepath h表示human, 加-h参数得到人好读的文件大小

    ls -lh ljl.txt
    

    在这里插入图片描述

    参考来自:https://blog.csdn.net/xiongyangg/article/details/54809810,https://www.cnblogs.com/renmengkai/p/9452883.html

    展开全文
  • Linux查看文件大小并排序

    万次阅读 2019-04-24 17:53:18
    du命令查看文件大小并排序一、du命令1、du排序2、du常用命令二,ls命令 一、du命令 1、du排序 按字节排序,按兆(M)加参数 ‘h’ du -s /usr/* | sort -rn 从大到小 du -s /usr/* | sort -n 从小到大 ...

    一、du命令

    1、du排序

    • 按字节排序,按兆(M)加参数 ‘h’
    du -s /usr/* | sort -rn   从大到小
    
    du -s /usr/* | sort -n    从小到大
    
    • 选择部分列出
    du -s /usr/* | sort -rn | head     前面的10个
    
    du -s /usr/* | sort -rn | tail     后面的10个
    

    2、du常用命令

    • du 參数:
      -a或-all显示每一个文件磁盘使用情况
      -b或-bytes 显示文件夹或文件大小时,以byte为单位。
      -c或–total 除了显示文件夹或文件的大小外,也显示全部文件夹或文件的总和。
      -D或–dereference-args 显示指定符号连接的源文件大小。
      -h或–human-readable 以K,M,G为单位,提高信息的可读性。
      -H或–si 与-h类似,可是K,M,G是以1000为换算单位,而不是以1024为换算单位。
      -k或–kilobytes 以1024 bytes为单位。
      -l或–count-links 反复计算硬件连接的文件。
      -L<符号连接>或–dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
      -m或–megabytes 以1MB为单位。
      -s或–summarize 仅显示总计,即当前文件夹的大小。
      -S或–separate-dirs 显示每一个文件夹的大小时,并不含其子文件夹的大小。
      -x或–one-file-xystem 以开始处理时的文件系统为准,其它不同的文件系统文件夹略过。
      -X<文件>或–exclude-from=<文件> 在<文件>指定文件夹或文件。
      –exclude=<文件夹或文件> 略过指定的文件夹或文件。
      –max-depth=<文件夹层数> 超过指定层数的文件夹后,予以忽略。
      –help 显示帮助。
      –version 显示版本号信息。

    • linux中的du常用命令:

    显示一个文件夹树及其每一个子树的磁盘使用情况

    du /home/linux
    

    显示一个文件夹树及其每一个子树的磁盘使用情况

    du -k /home/linux      以KB为单位
    du -m /home/linux      以MB为单位
    du -g /home/linux      以GB为单位
    

    查看当前文件夹下全部文件夹以及子文件夹的大小:

    du -h .                “.”代表当前文件夹下
    

    查看当前文件夹下user文件夹的大小,并不想看其它文件夹以及其子文件夹:

    du -sh user
    du -h --max-depth=0 user
    --max-depth=n表示仅仅深入到第n层文件夹,此处设置为0,即表示不深入到子文件夹。
    

    列出user文件夹及其子文件夹下全部文件夹和文件的大小:

    du -ah user      -a表示包含文件夹和文件
    

    列出当前文件夹中的文件夹名不包含xyz字符串的文件夹的大小:

    du -h –exclude='*xyz*'
    

    在一个屏幕下列出关于user文件夹及子文件夹大小的信息:

    du -0h user
    -0 表示每列出一个文件夹的信息,不换行,而是直接输出下一个文件夹的信息。
    

    仅显示一个文件夹树的全部磁盘使用情况

    du -s /home/linux
    

    查找上G和T的目录并排序

    du -h --max-depth=1 |grep [TG] |sort
    

    查看上G目录并排序

    du -h --max-depth=1 |grep 'G' |sort
    

    查看当前目录下所有一级子目录文件夹大小 并排序

    du -h --max-depth=1 |sort
    

    二,ls命令

    ls -Sl       从大到小排序
    ls -Slr      从小到大
    
    可加一个-h,表示"--human-readable",单位是k或者M ,结果列出后,更清楚。
    
    展开全文
  • Linux查看文件大小的简单指令

    千次阅读 2020-03-28 11:48:00
    查看当前目录下的文件大小 du -sh /home/* du -h -x --max-depth=1 ls 简单指令 查看隐藏文件(文件前缀带 点的) ls -al 当前目录下的文件按照大小(k/M/G)降序排序 ls -Shl 以 k/M/G 的...
  • linux查询文件大小,M为单位

    千次阅读 2018-11-29 09:31:18
    [root@bsso yayu]# du -h --max-depth=1 work/testing 27M work/testing/logs 35M work/testing [root@bsso yayu]# du -h --max-depth=1 work/testing/* 8.0K work/testing/func.php 27M work/testin...
  • linux中查看文件大小,以G为单位

    千次阅读 2020-11-19 19:42:34
    linux中查看文件大小,以G为单位 ls -lh 查看某个单独文件的大小:du -sh hteafile.tar
  • Linux查看文件大小

    千次阅读 2018-06-14 20:13:14
    stat filepath wc -c filename 参数-c表示统计字符, 因为一个字符一个字节, 所以这样得到字节数 du -b filepath 参数-b表示以字节计数 ...ls -h filepath h表示human, 加-h参数得到人好读的文件大小...
  • Linux查看文件大小的几种方法

    万次阅读 多人点赞 2017-02-01 17:57:40
    linux获取文件大小
  • linux c 获取文件大小

    千次阅读 2018-05-16 17:55:50
    问题描述:在使用c语言获取文件大小的时候发现有的文件大小可以正确获取,有的不能,以下为初始代码unsigned long get_file_size(const char *filename) { unsigned long size; FILE* fp = fopen( filename, &...
  • linux查看文件大小

    千次阅读 2018-09-12 15:43:44
    du命令用来查看目录或文件所占用磁盘空间的大小。常用选项组合为:du -sh du常用的选项:  -h:以人类可读的方式显示  -a:显示目录占用的磁盘空间大小,还要显示其下目录和文件占用磁盘空间的大小  -s:...
  • linux 文件大小单位显示

    万次阅读 2018-06-08 11:36:43
    linux中显示文件大小的时候,通常的做法是使用“ls -l”,显示的大小是文件的字节大小。但是,如果文件比较大的话,显示起来不是特别易读,这个时候,可以使用“ls -lh”,就可以使用比较接近文件大小的单位显示...
  • shell 删除 大小为0文件 ,不需要参数,直接在需要清除文件的目录下执行即可
  • Linux 查看文件大小并按照大小排序

    千次阅读 2019-10-08 09:51:42
    文件大小: 1 2 3 4 5 6 [root@node ~] # du -sh ./* 4.0K . /anaconda-ks .cfg 39M . /forex-web-4 .8.0.172.zip [root@node ~] # du -h...
  • 1.查看当前文件目录各个文件夹大小 du -h --max-depth=1 查看指定目录du -h --max-depth=1 /path 2. 查看当前目录下所有目录及子目录大小 du -h - . “.”代表当前目录下。也可以换成一个明确的路径 -h表示用...
  • linux文件大小到底多大

    千次阅读 2018-11-19 18:08:25
    文件的大小和实际占用的空间,是俩回事儿,一般情况下,文件大小 &amp;amp;lt; 其占用空间的大小, 即  ls -al file 小于 du -sk file 的大小 ,原因是:占用空间取决于文件系统的块(block)的大小,linux...
  • 一、修改PHP文件上传大小限制 找到php的配置文件php.ini 我的配置文件所在位置为:/etc/php5/fpm/,请自行查找配置文件存放位置,可通过find命令快速查找存放位置 find / -name php.ini 修改相关配置 把下列...
  • Linux查看文件和文件夹大小的几种方法
  • linux里ll命令查看文件单位大小

    万次阅读 2019-08-30 22:27:05
    1、单位显示表示字节数 2、字节B 1G=1024M=10241024KB=10241024*1024B 3、加参数h来直观显示大小,会使用G、M等来显示大文件,看着非常直观呀!哈哈, 来张前后对比图吧 4、ll是ls -l 缩写 通常会 ls -alh ...
  • linux调整文件系统大小

    千次阅读 2019-09-29 04:32:10
    特别注意的是:resize2fs命令 针对的是ext2、ext3、ext4文件系统xfs_growfs命令 针对的是xfs文件系统 1)ext2/ext3/ext4文件系统的调整命令是resize2fs(增大和减小都支持)lvextend -L 120G/dev/mapper/centos-...
  • linux获取文件大小的几种方法

    千次阅读 2016-01-27 14:27:18
    对于linux获取文件大小,有几种方式,首先是比较明显的方案,调用stat方式,该方式直接获取文件大小比较明显,剩下的两种方式都是采用间接方式,将文件游标指向文件末尾,然后获取游标相对于文件开头的偏移量。...
  • linux文件大小与windows下的区别

    千次阅读 2020-02-23 21:25:45
    一、linux文件大小 二、windows下文件大小 三、区别 注: 1、以下测试在ubuntu 9.10上进行,其他平台未测试。 2、本文只是我个人的理解,不一定完全正确 3、版权所有,转载请注明作者和出处 一、linux文件...
  • Linux 查看文件大小和时间

    千次阅读 2018-07-31 11:29:54
    Linux 查看文件大小和时间 ls -lh
  • Linux查看文件大小5个常用命令

    千次阅读 2019-10-03 19:53:05
    本文主要介绍Linux系统中,用于查看文件大小的命令。 Linux 查看文件大小5个常用命令 2. 使用stat命令查看 stat命令一般用于查看文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。 oucanrong@...
  • linux下查看文件大小

    千次阅读 2018-08-12 10:25:38
     在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件夹的方法。   1: ...
  • Linux 下C语言获取文件大小

    千次阅读 2019-09-18 11:18:12
    Linux 下C语言获取文件大小 C语言是一种比较底层的语言,有时在其他语言中很容易操作的事情,在c语言中就比较麻烦,例如获取一个文件的大小。Java中File类有个length函数,Python中os.path包中有个getsize函数,...
  • Linux 查看隐藏文件占用的空间大小

    千次阅读 2019-06-18 19:21:55
    1、前言 在linux运维中,经常会出现莫名的磁盘爆满,但...du命令用来看文件size,比如du -csh * 显示非隐藏文件大小,并统计文件占用总的空间大小 .[!.]* 是正则式, 意思是第一位是点, 第二位是除了点以外的任何字...
  • linux查看某个文件大小

    千次阅读 2019-09-16 02:41:02
    ls -sh filename # eg ls -sh dump.rdb 转载于:https://my.oschina.net/qiudaozhang/blog/2906941...
  • linux查找指定大小文件

    千次阅读 2020-07-14 14:27:06
    1、查找根目录下,文件大小大于1G的文件,并显示大小。 find / -size +1G | xargs du -sh 2、查找当前路径下,文件名包含“Hello”的所有文件。 find ./ -name "*Hello*" 3、查找当前路径下,文件内容中包含...
  • linux中查看文件大小

    万次阅读 2018-07-13 11:18:16
    ls -lht看文件大小du -sh *看文件大小du -sh /home 看对应目录下文件大小 

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 616,892
精华内容 246,756
关键字:

linux比较文件大小

linux 订阅