#include <sys/types.h>
#include <sys/stat.h>
#include <stdio.h>
#include <dirent.h>
int main(int argc,char *argv[]){
int i;
struct stat buf;
char *ptr;
if (argc<2){
printf("filename error");
exit(1);
}
if (lstat(argv[1],&buf)<0){//lstat和stat 判断文件属性,但lstat只判断连接文件本身,不追踪真实文件
perror("lstat error");
}
if (S_ISREG(buf.st_mode)) ptr="普通文件";
else if(S_ISDIR(buf.st_mode)) ptr="目录";
else if(S_ISCHR(buf.st_mode)) ptr="字符设备";
else if(S_ISFIFO(buf.st_mode)) ptr="有名管道";
else if(S_ISLNK(buf.st_mode)) ptr="符号链接";
else if(S_ISBLK(buf.st_mode)) ptr="块设备";
else if(S_ISSOCK(buf.st_mode)) ptr="SOCKET";
else ptr="未知设备";
printf("FILE %s is %s file",argv[1],ptr);
if (S_ISREG(buf.st_mode)){//如果是文件名
printf("file size is %d bytes.\n",buf.st_size);
}
//链接: http://deepfuture.iteye.com/blog/763368
if (S_ISDIR(buf.st_mode)){//如果是目录名,则ls目录的文件
DIR *dp;
struct dirent *dirp;
if ((dp=opendir(argv[1]))==NULL) perror("opendir error");
while ((dirp=readdir(dp))!=NULL){
printf("%s\n",dirp->d_name); //输出目录下的文件名
}
closedir(dp);
free(dirp);
}
return 0;
}
分享到:
相关推荐
Linux 操作系统文件和目录操作报告 Linux 操作系统中的文件类型可以分为普通文件、目录文件、链接文件、设备文件、套接字文件和管道文件。普通文件是存储数据的文件,目录文件是存储文件的文件,链接文件是指向其他...
通过这些实验,学习者可以深入理解Linux系统中的文件操作,包括标准输入输出的使用、文件的复制以及查看文件属性的方法。这些基本技能对于进行Linux系统编程至关重要,也常常是编写系统工具和应用程序的基础。
本文将深入探讨Linux文件属性的相关知识。 首先,Linux文件的属性由`ls -l`命令显示,包括文件类型、权限、所有者、所属组等信息。例如,`drwxr-xr-x`是一个典型的文件属性字符串,其中第一个字符`d`表示这是一个...
#### 二、Linux文件属性概述 在Linux系统中,我们可以通过`ll`或`ls -l`命令来查看文件的各种属性,包括文件类型、权限、属主、属组等信息。例如: ``` [root@www/]# ls -l total 64 dr-xr-xr-x 2 root root 4096 ...
用户可以通过一系列命令来管理和操作文件及目录,从而实现数据的存储、检索和管理等功能。Linux提供了丰富的命令工具来支持这些操作,例如: - `ls`:列出目录内容。 - `cd`:更改当前工作目录。 - `pwd`:显示当前...
它使用一种基于文本的配置语言——`CMakeLists.txt`,在这个文件中,你可以定义项目的基本属性,如项目名、版本、所需的库、编译选项等。CMake支持多种构建类型(如Debug和Release)以及跨平台的构建,使得在不同...
4. 修改Hadoop配置文件:根据提供的预配置文件,可能包括`core-site.xml`(配置HDFS的基本属性)、`hdfs-site.xml`(定义HDFS的副本数和存储位置)、`yarn-site.xml`(配置YARN以管理集群资源)和`mapred-site.xml`...
本篇将详细阐述Linux文件属性及其重要性。 首先,我们要理解Linux文件信息的基本组成。当我们查看一个文件时,最常用的命令是`ll`,它会显示文件或目录的详细信息。这些信息主要包括以下几个方面: 1. **类型...
本文将详细介绍Linux文件目录的权限和属性,并通过实际操作来加深理解。 #### 二、文件权限的基本概念 Linux中的文件权限主要包括读(Read)、写(Write)和执行(Execute)三种基本类型,分别用字母r、w和x表示。...
Linux 操作系统中,文件是基本的存储单元。认识文件类型、权限、SELinux 等概念对 Linux 系统的管理和安全非常重要。本节将详细介绍 Linux 文件相关知识点。 文件类型 Linux 文件类型可以分为七种:目录文件、普通...
- **文件属性**: - `stat`:获取文件的详细信息。 - `chmod`:修改文件权限。 - `chown`:更改文件的所有者。 - `utime`:修改文件的访问和修改时间戳。 - `truncate`:调整文件大小。 - **链接操作**: - `...
### Linux安装与文件目录操作详解 #### 一、实验目的 ...通过以上实验步骤的学习与实践,可以有效地提升学生对于Linux系统安装及基本文件目录操作的掌握程度,为进一步深入学习Linux系统打下坚实的基础。
Linux 文件属性概说 在 Linux 操作系统中,每一个文件和目录都具有丰富的属性信息。这些属性不仅帮助用户了解文件的基本信息,还提供了对文件进行管理所需的控制机制。主要的属性包括: - **inode**:索引节点,...
在IT行业中,尤其是在Java开发领域,与Linux服务器的交互是一项重要的技能。本篇文章将深入探讨如何使用Java来实现对...在开发过程中,理解这些基本操作及其背后的原理,是成为一名合格的Java/Linux开发者的关键步骤。
文件属性的第一部分由10个字符组成,其中第0位表示文件类型,如d表示目录,-表示普通文件,b和c分别表示块设备和字符设备文件。接下来的9个字符按照"rwx"的顺序分别代表文件所有者、同组用户和其他用户的权限。 ...
首先,创建目录是管理文件系统的基本操作之一,用来新建一个或多个目录。在Linux中可以使用mkdir命令来创建目录。当创建多级目录时,使用-p参数可以确保所有上级目录如果不存在,会一并被创建。例如: ``` mkdir ...
#### 二、文件属性 **2.1 文件分类** 在 Linux 中,文件可以分为以下几种类型: - **普通文件**:通常包含文本或二进制数据。 - **目录文件**:用于组织其他文件和目录。 - **链接文件**:包括硬链接和软链接...
它包含了对Linux环境的库支持,但这里编译的是裸机程序,意味着只使用了基本的C语言功能,没有链接到任何Linux内核函数。 2. **运行在Mini2440**:Mini2440是一款基于S3C2440 ARM9处理器的嵌入式开发板,广泛用于...
在 Linux 操作系统中,文件属性是描述文件特性和行为的关键信息。了解这些属性对于有效管理和操作文件至关重要。 - **节点(inode):** inode 是文件系统的数据结构,用于存储除文件名外的所有文件元数据,如文件...
### Linux的档案属性与目录配置 #### 使用者与群组 **群组概念** 在Linux环境下,除了档案拥有者(owner)的概念之外,还有一个重要的概念即为“群组”(group)。群组的设计主要是为了方便同一团队或部门内的...