系统编程
文章平均质量分 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 · 694 阅读 · 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 · 3601 阅读 · 2 评论 -
在Linux上实现自定义的 who命令(下)
这一篇实现了运用缓冲技术实现自定义的who命令,上一篇见:https://blog.csdn.net/qq_45893475/article/details/120928004 6. 在 who1.c 中运用缓冲技术 每次从 utmp 中读出一条记录,就如同要煎 3 个荷包蛋,每次到超市去买一个鸡蛋,煎好以后再去买一个,这是很低效率的方法,完全可以一次把 3 个鸡蛋都买回来。 对于 who 而言,完全可以一次读入多个记录放在缓冲区中,到缓冲区为空时,再向内核区读取数据。 在这里重构了代码,修改后的主函数不原创 2021-10-24 18:25:50 · 101 阅读 · 0 评论 -
在Linux上实现自定义的 cp命令
二、编写cp命令 1. 阅读联机帮助 将 SOURCE 复制到 DEST,或将多个 SOURCE(s) 复制到 DIRECTORY。 长选项的强制性参数对于短选项也是强制性的。 也就是说,cp命令是用来复制文件/目录的。 基本用法:cp 源文件 目标文件 如果目标文件不存在,cp就创建这个文件;如果存在就覆盖。 2. cp的工作原理 很容易猜到,cp命令无非就是从一个文件中读数据然后写入另外的文件中,与 who命令 从文件中读数据然后以一定的个数输出类似。 打开 源文件 创建 目标文件 从 源文件中读取原创 2021-10-24 16:23:56 · 2909 阅读 · 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 · 337 阅读 · 0 评论
分享