实现mypwd和mybash】的更多相关文章

一.pwd 1.学习pwd命令 man pwd查看pwd功能 可以得知pwd功能是打印当前目录 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 (1)man -k directory | grep 2查看是否有可用命令 (2) 可以得知getcwd命令可以获得当前目录路径 man getcwd查看getcwd命令功能 找到所需要的头文件以及函数 #include <unistd.h> char *getcwd(char *buf, size_t size); (3)由…
目录: 一.mypwd 二.mybash 三.myod 四.读者.写者 一.实现mypwd 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试mypwd 1.pwd命令学习 pwd(print working directory) 作用:打印出当前路径全名 symlink :符号链接 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 由上可以看出: 系统调用命令:Getcwd 头文件和参数 #include <uni…
一.了解 mybash 1. 简介   bash 是 Bourne Again Shell 的缩写,是linux默认的标准shell(也是大家常说的系统内核),bash也是Unix/Linux上常见的Shell脚本解释器,既然bash是标准的shell,那么就有非标准的sh,csh,ksh等等,我们常说有多少种Shell,其实说的是Shell脚本解释器,Shell是一种脚本语言,那么,就必须有解释器来执行这些脚本,bash是基于Bourne shell创建的,并且吸收了C shell和Korn…
Mybash的实现 要求: 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 背景知识 1. fork 使用man 2 fork查看fork文档 计算机程序设计中的分叉函数. 若成功调用一次则返回两个值,子进程返回0,父进程返回子进程标记:否则,出错返回-1. 调用n次fork,会产生2^n个进程. 验证结果 2.exec 此处参考exec系列函数(execl,execlp,execle,execv,ex…
2017-2018-1 20155205 实现mypwd 课堂总结 根据上课对ls -l功能的实现,我总结了实现一个linux命令需要的步骤: 使用man -k xx | grep xx查看帮助文档,这里需要查看相关函数的参数.返回值和头文件,同时也要看一下SEE ALSO里与我们查找的功能相关的其他函数. 借鉴实现其他命令的思路,比如实现myod时,我们要opendir.readdir和closedir,其实每个命令都需要执行这两步,我们就可以按这个思路来写其他的命令. mypwd的实现 查看…
题目要求 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 学习fork,exec,wait fork man fork fork 这个英文单词在英文里是"分叉"意思, fork() 这个函数作用也很符合这个意思. 它的作用是复制当前进程(包括进程在内存里的堆栈数据)为1个新的镜像. 然后这个新的镜像和旧的进程同时执行下去. 相当于本来1个进程, 遇到fork() 函数后就分叉成两个进程同时执行…
20155227 实现mypwd 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 课堂学习笔记 实现mypwd 在linux 中的文件系统中,文件=N(N>=1)个inode +M(M>=1)个数据块. 数据块,存放文件的内容数据,数据块的数目根据文件内容的大小而定. i-node称为信息节点,作用有: 1.存储跟文件相关的属性信息,如修改时间.所有者.文件类型和文 2.存储指向文件内容数据块的指针信息. 在…
2017-2018-1 20155306 mypwd的实现 一.pwd的使用 功能: Linux中用 pwd 命令来查看"当前工作目录"的完整路径. 命令格式:pwd [选项] 命令参数: -L:当目录为连接路径时,显示连接路径 -P:显示实际物理路径,而非使用连接(link)路径 参数使用示例 1.:用 pwd 命令查看默认工作目录的完整路径 [root@localhost ~]# pwd 2.:使用 pwd 命令查看指定文件夹 [root@localhost ~]# cd /opt…
2017-2018-1 20155306 <信息安全系统设计基础>Mybash的实现 要求: 使用fork,exec,wait实现mybash 写出伪代码,产品代码和测试代码 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 知识基础: 1.shell shell命令分为 内建命令 & 外部命令 内建命令(builtin command) 是shell解释程序内建的,由shell直接执行,不需要派生新的进程. 外部命令分为两种: 二进制代码 或 shell脚本.shell执行…
1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 提交过程博客的链接 代码如图…
实现mypwd 要求: 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试mypwd pwd: 在Linux层次结构中,想要知道当前所处的目录,可以用pwd命令,该命令显示整个路径名.全称是Print Working Directory.这条命令是一条shell内建命令,并且在大多数shell中都可以使用. pwd的实现: pwd以绝对路径打印当前的工作目录.因为整个系统的文件组织是树形的,所以,可以从当前目录逐层向根目录进行查找,当找到根…
一.学习pwd命令 1. pwd命令简介 英文原名:Print Working Directory 指令功能:打印出当前工作目录 执行权限:All User 指令所在路径:/usr/bin/pwd 或 /bin/pwd 2. pwd命令基本语法 pwd [OPTION] 3. pwd命令参数 选项 描述 -L (即逻辑路径logical ) 使用环境中的路径,即使包含了符号链接 -P (即物理路径physical) 避免所有的符号链接 –help 显示帮助并退出 –version 输出版本信息并…
实现mypwd(选做,加分) 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 提交过程博客的链接…
使用fork,exec,wait实现mybash - 写出伪代码,产品代码和测试代码 - 发表知识理解,实现过程和问题解决的博客(包含代码托管链接) 1.fork 功能:创建一个新的进程 一个现存进程调用fork函数是linux内核创建一个新进程的唯一方法(交换进程.init进程和页精灵进程并不是这样,这些进程是由内核作为自举过程的一部分以特殊方式创建的). 参数:pid_t fork(void);返回值:一个是子进程返回0,第二个是父进程的返回值大于0.错误返回-1.头文件:include<u…
任务内容 1.使用fork,exec,wait实现mybash 查找资料: fork函数 通过fork()系统调用我们可以创建一个和当前进程印象一样的新进程.我们通常将新进程称为子进程,而当前进程称为父进程.而子进程继承了父进程的整个地址空间,其中包括了进程上下文,堆栈地址,内存信息进程控制块(PCB)等.通过man手册我们可以轻松知道fork()包含的头文件<sys/types.h>和<unistd.h>,功能就是创建一个子进程.函数原型:pid_t fork(void),pid…
20155228 2017-11-19 实现mypwd(选做,加分) 题目和要求 学习pwd命令 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 实现mypwd 测试mypwd 分析和设计 PWD命令 pwd [ -L | -P ] 描述 pwd 命令将当前目录的全路径名称(从根目录)写入标准输出.全部目录使用 /(斜线)分隔.第一个 / 表示根目录,最后一个目录是当前目录. 参数 -L:如果 PWD 环境变量包含了不包含文件名 .(点)或 ..(点点)的当前目录的绝对路径…
第五周加分题--mybash的实现 题目要求 1.使用fork,exec,wait实现mybash 2.写出伪代码,产品代码和测试代码 3.发表知识理解,实现过程和问题解决的博客(包含代码托管链接) exec函数组 一个程序如何运行另一个程序呢? 我们得搞清楚需要调用什么函数来完成这个过程.如果想使用man -k xxx这个命令进行搜索. 试试man -k program | grep execute 如下图: 再进一步使用man -k execute搜索,通过观察说明,我们找到了一系列相关的函…
Mypwd 的解读与实现 20155208 linux下pwd命令的编写 实验要求: 1 .学习pwd命令 2 . 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 .实现mypwd 4 .测试mypwd 对pwd的了解 以绝对路径的方式显示用户当前工作目录,命令将当前目录的全路径名称(从根目录)写入标准输出, 全部目录使用/分隔,第一个/表示根目录, 最后一个/ 表示当前目录. 执行pwd 命令可以立刻知道目前所在的工作目录的绝对路径名称. pwd--输出当前或者工作目…
第五周加分题--mybash的实现 题目要求 1.使用fork,exec,wait实现mybash 2.写出伪代码,产品代码和测试代码 3.发表知识理解,实现过程和问题解决的博客(包含代码托管链接) bash是什么 在百度中搜索bash查看它是什么,得知bash 是一个为GNU计划编写的Unix shell.bash 指的就linux常用的shell脚本语言,这个常见于脚本第一行 : #!/bin/bash或者 #!/bin/sh 这种shell脚本很简单,就和你在终端输入命令一样,一行一行执行…
20155326 2017-2018-1 <信息安全系统设计基础>课下加分项mypwd实现 pwd命令能做什么 在虚拟机中输入pwd查看其返回的是什么 通过上图得知pwd命令用来显示目录. man -f pwd直接运行命令,可以了解pwd的大致功能. 要进一步了解pwd的用法,需要借助联机帮助manpages,输入man 1 pwd: 重点看总览(SYNOPSIS)部分,这是命令的用法说明,包括命令格式.参数(arguments)和选项(Option)列表. 描述(DESCRIPTION)部分…
20165203 Mypwd的解读与实现 pwd 含义:在Linux层次结构中,想要知道当前所处的目录,可以用pwd命令,该命令显示整个路径名. 语法:pwd [option] 描述:pwd 命令将当前目录的全路径名称(从根目录)写入并进行标准输出.全部目录使用 /(斜线)分隔.第一个 / 表示根目录,最后一个目录是当前目录. 参数: 参数 用法 -L 使用环境中的路径(包含符号链接) -P 避免了所有的符号链接 -help 显示帮助信息 -version 输出帮助信息 用法:通常用于查看当前工…
实现mypwd(选做,加分) 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 提交过程博客的链接 实现过程 使用man -k pwd查看pwd在man手册中的说明.手册里的介绍是: pwd (1) - print name of current/working directory pwd命令的作用是p(rint name of )w(orking) d(irectory),打印正在工作或者最近的文件夹名.具体的…
pwd指令及其功能 命令格式: pwd [选项] 命令功能: 查看"当前工作目录"的完整路径 常用参数: 一般情况下不带任何参数 如果目录是链接时: 格式:pwd -P 显示出实际路径,而非使用连接(link)路径. mypwd实现代码 有关pwd命令实现的思考过程: 在课堂上老师讲解了目录其实也是一种文件,只不过这种文件比较特殊,它里面存储的是一张对应表,即文件名和i节点的对应关系表,而i节点才是记录此文件详细信息的结构,如文件大小,属性,权限,存在硬盘的那个块等. 我们在一个目录创…
2017-2018-1 20155209 实现mypwd 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 首先使用man命令查看pwd pwd命令主要用到文件系统的知识. 在linux 中的文件系统中,文件=N(N>=1)个inode +M(M>=1)个数据块. 数据块,存放文件的内容数据,数据块的数目根据文件内容的大小而定. inode称为信息节点,其作用有二:1.存储跟文件相关的属性信息,如修改时间.所有…
2017-2018-1 20155210 <信息安全系统设计基础> 实现mypwd 作业要求: 1.学习pwd命令 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3.实现mypwd 4.测试mypwd 学习pwd命令 代码: #include <stdio.h> #include <stdlib.h> #include <dirent.h> #include <sys/types.h> #include <sys…
2017-2018-1 20155214 <信息安全系统设计基础> 第9周课下测试-mypwd(深入版) 题目要求: 1 学习pwd命令 2 研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3 实现mypwd 4 测试mypwd 在第9周学习总结中,我直接调用了系统调用getcwd()输出当前绝对路径.这次我尝试用c语言实现它的功能. 函数原型 #include <unistd.h> char *getcwd(char *buf, size_t size);…
2017-2018-1 20155216 <信息安全系统设计基础> 实现mypwd 作业要求: 1.学习pwd命令 2.研究pwd实现需要的系统调用(man -k; grep),写出伪代码 3.实现mypwd 4.测试mypwd 1.学习pwd命令 pwd 命令查看默认工作目录的完整路径 -L 目录连接链接时,输出连接路径 -P 输出物理路径 当前目录被删除了,而pwd命令仍然显示那个目录 2.研究pwd命令 使用 man -k 查看系统调用 伪代码: 1.根据inode-number ,在当…
学习pwd命令 输入pwd命令 于是man 1 pwd查看pwd详细 然后查看pwd实现需要的系统调用man -k; grep 在这发现了一个功能相同的内核函数getcwd 到这步就很简单了,先查看这个函数man getcwd 实现mypwd #include <stdio.h> #include <stdlib.h> #include <dirent.h> #include <sys/types.h> #include <sys/stat.h>…
2017-2018-1 20155224 加分项-实现mypwd 1. 学习pwd命令 pwd命令以绝对路径的方式显示用户当前工作目录.命令将当前目录的全路径名称(从根目录)写入标准输出.全部目录使用 / 分隔.第一个 / 表示根目录,最后一个目录是当前目录.执行pwd命令可立刻得知您目前所在的工作目录的绝对路径名称. 命令格式: pwd [选项] 命令功能: 查看"当前工作目录"的完整路径 常用参数: 一般情况下不带任何参数 如果目录是链接时: 格式:pwd -P 显示出实际路径,而…
2017-2018-1 20155226 <信息安全系统设计基础>课下实践--实现mypwd 1 学习pwd命令 输入pwd命令 发现他是给出当前文件夹的绝对路径. 于是 man 1 pwd查看pwd详细 然后查看pwd实现需要的系统调用man -k; grep 在这发现了一个功能相同的内核函数getcwd 到这步就很简单了,先查看这个函数man getcwd 2 写出伪代码 char一个数组: 调用内核函数[getcwd()]获取当前目录的绝对路径并保存至数组中: if(返回的指针==NUL…