![](https://img-blog.csdnimg.cn/24b3408b7e5f404586afafb50c3e9faf.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
系统编程
文章平均质量分 79
Unix环境高级编程
ClimberCoding
基础不牢,地动山摇…
展开
-
在Linux上实现自定义的 pwd命令
文章目录四、编写pwd命令1. 阅读联机帮助2. pwd是如何工作的2.1 文件系统的结构2.2 创建一个文件的过程2.4 读取一个文件的过程*2.5 如何读取大文件(可跳过)2.6 回归正题--pwd是如何工作的3. 如何编写pwd3.1 算法步骤3.2 目录的读操作3.3 获取文件的信息3.4 改变目录位置3.5 最终代码四、编写pwd命令1. 阅读联机帮助打印当前工作目录的完整文件名。往下翻可以看到,可能后期会用到。通过 man手册的查询可以了解到,pwd命令 能够打印当前工作目录的路原创 2021-10-28 00:36:23 · 488 阅读 · 0 评论 -
在Linux上实现自定义的 ls命令
文章目录三、编写ls命令1. 阅读联机帮助2. ls是如何工作的3. 如何编写ls4. 改进ls命令5. ls -l 是如何工作的6. 如何编写 ls -l三、编写ls命令1. 阅读联机帮助列出有关文件的信息(默认为当前目录)。如果未指定 -cftuvSUX 或 --sort,则按字母顺序对条目进行排序。可以看到,ls命令 能够找出当前目录中所有文件的文件名,按字典序排序后输出。ls命令 还能显示其他信息,如果加上 -l 选项,ls 会列出每个文件的详细信息,也叫 ls的长格式,在 man手册原创 2021-10-25 23:52:45 · 3372 阅读 · 2 评论 -
在Linux上实现自定义的 who命令(下)
这一篇实现了运用缓冲技术实现自定义的who命令,上一篇见:https://blog.csdn.net/qq_45893475/article/details/1209280046. 在 who1.c 中运用缓冲技术每次从 utmp 中读出一条记录,就如同要煎 3 个荷包蛋,每次到超市去买一个鸡蛋,煎好以后再去买一个,这是很低效率的方法,完全可以一次把 3 个鸡蛋都买回来。对于 who 而言,完全可以一次读入多个记录放在缓冲区中,到缓冲区为空时,再向内核区读取数据。在这里重构了代码,修改后的主函数不原创 2021-10-24 18:25:50 · 82 阅读 · 0 评论 -
在Linux上实现自定义的 cp命令
二、编写cp命令1. 阅读联机帮助将 SOURCE 复制到 DEST,或将多个 SOURCE(s) 复制到 DIRECTORY。 长选项的强制性参数对于短选项也是强制性的。也就是说,cp命令是用来复制文件/目录的。基本用法:cp 源文件 目标文件如果目标文件不存在,cp就创建这个文件;如果存在就覆盖。2. cp的工作原理很容易猜到,cp命令无非就是从一个文件中读数据然后写入另外的文件中,与 who命令 从文件中读数据然后以一定的个数输出类似。打开 源文件创建 目标文件从 源文件中读取原创 2021-10-24 16:23:56 · 2755 阅读 · 0 评论 -
在Linux上实现自定义的 who命令(上)
Unix/Linux编程实践教程在尝试编写系统命令之前,学会以下4项技巧会有助于你的学习:阅读联机帮助搜索联机帮助阅读 .h 文件从参阅部分(SEE ALSO)得到启示一、编写who命令参考资料:Unix/Linux编程实践教程(第2章)man 文档(who、utmp、open、read、close)Linux/UNIX系统编程手册(第四章)1. 阅读联机帮助在终端下输入 who,回车可以看到,who 命令就是在终端上显示当前登录的用户信息。第一列:已登录用户,第二列:原创 2021-10-23 23:19:22 · 303 阅读 · 0 评论