例如查看此文件的大小,文件:/home/oucanrong/iso/CentOS-610-x86_64-minimaliso
1:使用stat命令查看
stat命令一般用于查看文件的状态信息。stat命令的输出信息比ls命令的输出信息要更详细。
命令:stat ~/iso/CentOS-610-x86_64-minimaliso
2:使用wc命令
wc命令一般用于统计文件的信息,比如文本的行数,文件所占的字节数。
命令: wc -c ~/iso/CentOS-610-x86_64-minimaliso
3:使用du命令
du命令一般用于统计文件和目录所占用的空间大小。 命令
:du -h ~/iso/CentOS-610-x86_64-minimaliso
4: 使用ls命令
ls 命令一般用于查看文件和目录的信息,包括文件和目录权限、拥有者、所对应的组、文件大小、修改时间、文件对应的路径等等信息。 命令:
ls -lh ~/iso/ubuntu-18041-live-server-amd64iso
5:使用ll命令(其实就是ls -l的别名)
在大部分的Linux系统中,都已经设置了ls -l的别名为ll,所以并不存在ll的命令,ll只是一个别名命令而已。
命令: ll -h ~/iso/ubuntu-18041-live-server-amd64iso
C语言中获取文件大小方式有很多,在不使用任何系统命令,仅使用C自身库函数情况下,常用方式有两种:
一、获取文件系统属性,读取文件大小。
在C语言库函数中有stat函数,可以获取文件的基本信息,其中就有文件大小。
#include <sys/stath>//包含头文件。int file_size(char filename)//获取文件名为filename的文件大小。
{
struct stat statbuf;
int ret;
ret = stat(filename,&statbuf);//调用stat函数
if(ret != 0) return -1;//获取失败。
return statbufst_size;//返回文件大小。
}
二、通过C语言文件 *** 作,获取文件大小。
以fopen打开的文件,通过fseek可以定位到文件尾,这时使用ftell函数,返回的文件指针偏移值,就是文件的实际大小。
代码如下:
#include <stdioh>//包含头文件。int file_size(char filename)//获取文件名为filename的文件大小。
{
FILE fp = fopen(filename, "rb");//打开文件。
int size;
if(fp == NULL) // 打开文件失败
return -1;
fseek(fp, 0, SEEK_END);//定位文件指针到文件尾。
size=ftell(fp);//获取文件指针偏移量,即文件大小。
fclose(fp);//关闭文件。
return size;
}
三、注意事项:
第一种方式为直接读取文件信息,无需打开文件,所以更高效。
四、测试代码:
以上接口函数,均可以用如下主函数测试:
#include <stdioh>int main()
{
char s[100];
int size;
scanf("%s",s);//输入文件名
size = file_size(s);//获取文件大小。
if(size == -1) printf("无法获取文件大小,可能文件并不存在或不可读\n");
else printf("文件大小为%d\n", size);
return 0;
}
const size = await utilsgetFileSize(filePath);
getFileSize(file) {
file = decodeURI(file);
return new Promise((resolve) => {
if (!file) {
resolve(0);
return;
}
const filePath = pathresolve(__dirname, "/public", file);
fsstat(filePath, (err, data) => {
if (err == null) {
resolve(datasize);
return;
}
resolve(0);
});
});
},
stat函数不需要,只要文件名就行(你的文件在当前路径下,要不还需将路径名加上),int state(const char path,struct stat buf);这是函数原型。在struct state这个结构体中有个st_size这个变量,他就是文件大小的变量。具体你可以查一下man手册。与它类似的还有一个fstat,他需要open文件得到文件描述符。
函数名: stat
功 能: 读取打开文件信息
用 法: int stat(char pathname, struct stat buff);
程序例:
#include <sys\stath>
#include <stdioh>
#include <timeh>
#define FILENAME "TEST$$$"
int main(void)
{
struct stat statbuf;
FILE stream;
/ open a file for update /
if ((stream = fopen(FILENAME, "w+")) == NULL)
{
fprintf(stderr, "Cannot open output file\n");
return(1);
}
/ get information about the file /
stat(FILENAME, &statbuf);
fclose(stream);
/ display the information returned /
if (statbufst_mode & S_IFCHR)
printf("Handle refers to a device\n");
if (statbufst_mode & S_IFREG)
printf("Handle refers to an ordinary file\n");
if (statbufst_mode & S_IREAD)
printf("User has read permission on file\n");
if (statbufst_mode & S_IWRITE)
printf("User has write permission on file\n");
printf("Drive letter of file: %c\n", 'A'+statbufst_dev);
printf("Size of file in bytes: %ld\n", statbufst_size);
printf("Time file last opened: %s\n", ctime(&statbufst_ctime));
return 0;
}
以上就是关于linux如何查看文件夹大小全部的内容,包括:linux如何查看文件夹大小、如何用C语言获取文件的大小、Node.js如何获取文件大小等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)