#Z01771. Hello!Linux!

Hello!Linux!

题目描述

对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步.,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux系统只管重要,下面我们就开始了解一下linux目录结构的相关知识。 文件系统的是用来组织和排列文件存取的,所以她是可见的,在Linux中,我们可以通过ls等工具来查看其结构,在Linux系统中,我们见到的都是树形结构;比如操作系统安装在一个文件系统中,他表现为由/ 起始的树形结构。linux文件系统的最顶端是/,我们称/为Linux的root,也就是 Linux操作系统的文件系统。Linux的文件系统的入口就是/,所有的目录、文件、设备都在/之下,/就是Linux文件系统的组织者,也是最上级的领导者。  下面这张图能帮助你们理解 

Linux 的路径有两种,很多命令都会涉及到路径 


绝对路径:由根目录 / 写起,例如: /usr/share/doc 这个目录。 


相对路径:不是由 / 写起,例如由 /usr/share/doc 要到 /usr/share/man 底下时,可以写成: cd  ../man 这就是相对路径的写法 


在Linux文件系统中,有两个特殊的符号也可以表示目录: 


“.”表示当前目录 


“..”表示当前目录的上一级目录

所以任何一个目录下都不允许创建名为"/"的子目录.如果企图创建名为“/”的目录,则输出”mkdir: 无法创建目录”/”: 文件已存在”

以下的dirname  代表路径的意思  


路径可以表示文件也可以表示目录,文件带有后缀名,而目录不带 


下面是会用到的命令(简化了很多) 


cd  [dirname]  

进入目录  如果dirname是一个目录的路径并且目录不存在   输出  “bash: cd [dirname]: 没有那个文件或目录”。

pwd  输出当前目录的绝对路径。 


ls   输出当前目录的所有子目录和子文件。每个占一行,规范起见  先按字典序输出目录,再按字典序输出文件 


rm  [dirname]  

删除目录或文件  如果路径为目录路径是目录 如果目录不为空  输出: "删除'[dirname]' 失败: 是一个目录"

如果不存在 文件  输出 “删除[文件名] 失败: 文件不存在"” 


如果不存在 目录  输出 “删除[文件名]'失败: 目录不存在"” 





mkdir [dirname] 创建相应的目录  如果目录名已存在则输出"无法创建目录'[dirname]': 目录已存在" 


如果是文件的路径则输出 “mkdir 参数错误” 


CREATE [dirname] : 在当前路径下创建相应文件,如果文件已存在,则输出”创建 '[dirname]' 失败: [文件名]不存在”  


DELETE [dirname] : 在当前路径下删除相应文件,如果不存在这个文件,则提示" 删除 [文件名]失败: 没有那个文件" 


以下是几个特殊说明:  


1.  要从当前目录退回到上一级目录可以使用"cd

.." 并输出”返回上级”

任何一个目录下都不允许创建名为".."的子目录.如果企图创建名为“..”的目录,则输出”mkdir: 无法创建目录”..”: 目录已存在” 


2. 要从当前目录直接退回到根目录可以使用"cd

/" 并输出“返回根目录”

任何一个目录下都不允许创建名为"/"的子目录.如果企图创建名为“/”的目录,则输出”mkdir: 无法创建目录”/”: 目录已存在” 


3.为了方便编程,每行以  命令  [路径]  ([路径])的格式给出  每个路径的长度不会超过20个字符 


题目保证文件名不会存在  /  或者 . 


4. 在同一个目录下允许存在同名的file和directory,但不允许出现同名的file或directory,在不同目录下则无此限制.  


5. 刚开始的时候根目录下没有文件和子目录,当前目录就是根目录本身.  


6. 如果一个操作是成功的,则应在当前路径的基础上执行相应的操作,以改路径的状态.mv 命令是不会改变路径状态的。 


7.Linux下,正确的操作是不会给出任何提示的,只有错误信息才会被反馈 


8.问了题目需要CREATE DELETE命令是编出来的,linux实际中没有这些命令,其他的命令是有的,为了照顾你们,已经吧命令简化到了极致,另外有人对电脑硬件有基础的,动手能力强的,会百度的,还想学习linux的,可以联系我。 


9.题目还有许多bug,有问题请联系作者 





如何理解文件名? /asd/gfd/asd.sh 


文件名为asd.sh

输入格式

输入数据只有一组,该组测试数据包含若干行,每行代表一条文件操作命令,我保证每一条命令都是符合命令格式的.  处理到文件结束.

输出格式

对于每一条命令,请你给出系统的反馈信息,每个反馈信息占一行.

pwd
mkdir 123
mkdir 123
mkdir 12
mkdir 12
cd 123
CREATE 123.123
ls
rm 123
pwd
cd 12
pwd
CREATE 123.123
ls
DELETE 123.123
ls
DELETE 123.123
ls
cd ..
rm 12
/
无法创建目录123: 目录已存在
无法创建目录12: 目录已存在
123.123
删除123 失败: 目录不存在
/123
bash: cd 12: 没有那个文件或目录
/123
创建 123.123 失败: 文件已存在”
123.123
删除 123.123 失败: 文件不存在
返回上级

提示

物联1802 王宇弘