关闭

如何用C实现Linux下的ls命令

发表于:2009-8-21 10:16

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:网络转载

#
Linux

  首先我讲一下写这篇东西的目的。我觉得对于很多linux新手。尤其是在自学的同学。最好的学习的方法就是通过具体的例子。通过一个实践的例子,在学习相关的知识点的同时,就把它们应用到这例子中。这样不仅知道了原理。也知道了怎么去应用。下面就开始用一个常用的命令“ls”开始。所有的东西都是从最基本的原理开始。一步步来教你怎么实践出一个命令。

  (一)ls命令简单介绍

  第一步当然是要明白ls究竟是做什么的。如果你要做一个东西却不知道要用来干嘛。会不会很搞笑?所以下面就简单的介绍ls命令的作用和怎么使用。

  1.Ls可以列出文件名和文件的属性

  在命令行输入ls:

ls 命令.jpg

  Ls的默认动作是找出当前所有文件的文件名。按字典排序后输出。

  Ls还能显示其他的信息。如果加上-l就会列出每个文件的详细信息。也叫ls的长格式:

ls -l命令.jpg

  2.列出指定目录或文件的信息

  Linux系统中会有很多目录。每个目录中又会有很多文件。如果要列出一个非当前目录的内容或者是一个特定文件的信息,则需要在参数中给出目录名或文件名。如:

  ls /tmp //列出/tmp目录中各文件的文件名

  ls – docs //列出docs目录中各文件的属性

  ls *.c //列出当前目录下与*.c匹配的文件,即当前目录下所有以.c为后缀的文件

  3.经常用到的命令行选项

  ls -l 在前面已经提到过,-l就是输出文件详细的信息。也叫长格式;

  ls -a 列出的内容包含以“.“开头的让文件,即所谓有隐藏文件

  ls –lu 显示最后访问时间

  ls –t 输出时按时间排序

  ls –F 显示文件类型

  ls 命令的参数选项非常多,大多也可以组合使用。所以还是比较复杂的。但是我们第一步要实现的就是它最基本的功能:列出当前目录下的所有文件或子目录。

  (二)学习必备的知识

  既然是列出文件和目录,那么肯定是和linux文件系统有关系的,所以要写ls命令,至少要对文件系统的基本原理有一定的了解。为了不至于使这个帖子内容过于复杂,我把这方面的知识介绍单独开了一个帖子:

  linux 文件系统详解

  如果你对这些已经有所了解。就会知道linux下的文件都是以/为根目录的树型结构,虽然linux下有普通文件、目录文件、链接文件、设备文件、管道文件这几种类型。但链接文件、设备文件、管道文件都可以当做普通文件看待,那实际也就只要区分普通文件和目录文件这两种了。而目录文件的内容就是它所包含所有文件和子目录的一个列表,所以只要打开目录文件并读取对应目录块里的那个列表数据,就可以得到些目录下所有文件和子目录的名称了。其实这个流程简单,就是:打开目录->读取内容->显示文件名称->关闭打开的目录。用伪代码流程表示如下:

  Mani(){

  Opendir

  While(readdir)

  Print d_name

  Closedir;

  }

21/212>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号