`
deepfuture
  • 浏览: 4425655 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80283
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70705
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103896
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:287171
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15109
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:68196
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32460
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:46217
社区版块
存档分类
最新评论

linux-文件属性及目录基本操作

阅读更多

#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;
}
0
0
分享到:
评论

相关推荐

    linux操作系统实验文件和目录操作报告.pdf

    Linux 操作系统文件和目录操作报告 Linux 操作系统中的文件类型可以分为普通文件、目录文件、链接文件、设备文件、套接字文件和管道文件。普通文件是存储数据的文件,目录文件是存储文件的文件,链接文件是指向其他...

    Linux实验七:LinuxC-编程-文件与目录.doc

    通过这些实验,学习者可以深入理解Linux系统中的文件操作,包括标准输入输出的使用、文件的复制以及查看文件属性的方法。这些基本技能对于进行Linux系统编程至关重要,也常常是编写系统工具和应用程序的基础。

    Linux-文件基本属性简介.pdf

    本文将深入探讨Linux文件属性的相关知识。 首先,Linux文件的属性由`ls -l`命令显示,包括文件类型、权限、所有者、所属组等信息。例如,`drwxr-xr-x`是一个典型的文件属性字符串,其中第一个字符`d`表示这是一个...

    linux文件基本属性

    #### 二、Linux文件属性概述 在Linux系统中,我们可以通过`ll`或`ls -l`命令来查看文件的各种属性,包括文件类型、权限、属主、属组等信息。例如: ``` [root@www/]# ls -l total 64 dr-xr-xr-x 2 root root 4096 ...

    实验一 文件和目录操作(Linux基础教程 第二版)

    用户可以通过一系列命令来管理和操作文件及目录,从而实现数据的存储、检索和管理等功能。Linux提供了丰富的命令工具来支持这些操作,例如: - `ls`:列出目录内容。 - `cd`:更改当前工作目录。 - `pwd`:显示当前...

    Cmake-3.22.0-linux-x86_64安装包

    它使用一种基于文本的配置语言——`CMakeLists.txt`,在这个文件中,你可以定义项目的基本属性,如项目名、版本、所需的库、编译选项等。CMake支持多种构建类型(如Debug和Release)以及跨平台的构建,使得在不同...

    hadoop-3.1.3.tar jdk-8u212-linux-x64.tar 以及hadoop3.1.3配置文件(已修改好)

    4. 修改Hadoop配置文件:根据提供的预配置文件,可能包括`core-site.xml`(配置HDFS的基本属性)、`hdfs-site.xml`(定义HDFS的副本数和存储位置)、`yarn-site.xml`(配置YARN以管理集群资源)和`mapred-site.xml`...

    Linux基础课件-- Linux文件属性.pptx

    本篇将详细阐述Linux文件属性及其重要性。 首先,我们要理解Linux文件信息的基本组成。当我们查看一个文件时,最常用的命令是`ll`,它会显示文件或目录的详细信息。这些信息主要包括以下几个方面: 1. **类型...

    Linux文件目录的权限和属性实践讲解

    本文将详细介绍Linux文件目录的权限和属性,并通过实际操作来加深理解。 #### 二、文件权限的基本概念 Linux中的文件权限主要包括读(Read)、写(Write)和执行(Execute)三种基本类型,分别用字母r、w和x表示。...

    05-linux-认识文件

    Linux 操作系统中,文件是基本的存储单元。认识文件类型、权限、SELinux 等概念对 Linux 系统的管理和安全非常重要。本节将详细介绍 Linux 文件相关知识点。 文件类型 Linux 文件类型可以分为七种:目录文件、普通...

    linux-sys.zh

    - **文件属性**: - `stat`:获取文件的详细信息。 - `chmod`:修改文件权限。 - `chown`:更改文件的所有者。 - `utime`:修改文件的访问和修改时间戳。 - `truncate`:调整文件大小。 - **链接操作**: - `...

    Linux安装和文件目录操作

    ### Linux安装与文件目录操作详解 #### 一、实验目的 ...通过以上实验步骤的学习与实践,可以有效地提升学生对于Linux系统安装及基本文件目录操作的掌握程度,为进一步深入学习Linux系统打下坚实的基础。

    Linux 文件和目录的属性

    Linux 文件属性概说 在 Linux 操作系统中,每一个文件和目录都具有丰富的属性信息。这些属性不仅帮助用户了解文件的基本信息,还提供了对文件进行管理所需的控制机制。主要的属性包括: - **inode**:索引节点,...

    java上传文件到linux服务器,操作linux服务器上文件,下载linux服务器文件,删除linux服务器文件

    在IT行业中,尤其是在Java开发领域,与Linux服务器的交互是一项重要的技能。本篇文章将深入探讨如何使用Java来实现对...在开发过程中,理解这些基本操作及其背后的原理,是成为一名合格的Java/Linux开发者的关键步骤。

    Linux 文件基本属性.doc

    文件属性的第一部分由10个字符组成,其中第0位表示文件类型,如d表示目录,-表示普通文件,b和c分别表示块设备和字符设备文件。接下来的9个字符按照"rwx"的顺序分别代表文件所有者、同组用户和其他用户的权限。 ...

    Linux_目录文件茶操作.pdf

    首先,创建目录是管理文件系统的基本操作之一,用来新建一个或多个目录。在Linux中可以使用mkdir命令来创建目录。当创建多级目录时,使用-p参数可以确保所有上级目录如果不存在,会一并被创建。例如: ``` mkdir ...

    03-Linux文件和目录1

    #### 二、文件属性 **2.1 文件分类** 在 Linux 中,文件可以分为以下几种类型: - **普通文件**:通常包含文本或二进制数据。 - **目录文件**:用于组织其他文件和目录。 - **链接文件**:包括硬链接和软链接...

    arm-linux-gcc 裸机程序

    它包含了对Linux环境的库支持,但这里编译的是裸机程序,意味着只使用了基本的C语言功能,没有链接到任何Linux内核函数。 2. **运行在Mini2440**:Mini2440是一款基于S3C2440 ARM9处理器的嵌入式开发板,广泛用于...

    IMP_Linux 文件和目录的属性.pdf

    在 Linux 操作系统中,文件属性是描述文件特性和行为的关键信息。了解这些属性对于有效管理和操作文件至关重要。 - **节点(inode):** inode 是文件系统的数据结构,用于存储除文件名外的所有文件元数据,如文件...

    Linux 的档案属性与目录配置.doc

    ### Linux的档案属性与目录配置 #### 使用者与群组 **群组概念** 在Linux环境下,除了档案拥有者(owner)的概念之外,还有一个重要的概念即为“群组”(group)。群组的设计主要是为了方便同一团队或部门内的...

Global site tag (gtag.js) - Google Analytics