第1关:Linux之文件创建/删除
任务描述
本关主要讲解在 Linux
命令行下如何对文件进行创建和删除操作。
本关任务:创建一个新的文件,同时将一个已经存在的文件删除。
提示:连接命令行后,先执行命令
cd /tmp
, 进入临时目录,再执行练习操作。所有操作在/tmp/
下执行,否则可能破坏实验环境,导致评测不能通关。
相关知识
Linux
几乎大多数工作都可以在命令行下完成,除非要运行图形化工具。 Linux bash shell
提供了许多命令,例如:在命令行下可以轻松的完成文件的创建和删除。
本关将介绍如何在 Linux
命令行下创建文件和删除文件。
Linux创建文件
Linux
中使用 touch
命令来创建一个空文件。
具体命令如下: touch
文件名
具体说明:
-
如果一次想创建多个文件,则每个文件名用空格隔开。
-
touch
命令创建一个指定的新文件,并将当前登录用户作为文件所有者。 -
由于
touch
命令创建的文件为空,所以文件的大小为0
。 -
touch
命令还可以用于更改文件的访问时间和修改时间,而不改变文件的内容。
Linux删除文件
Linux
中使用 rm
命令来删除一个已经存在的文件。
具体命令如下: rm
参数 文件名
常用参数如下:
-f
:强制删除文件或目录;-i
:删除已有文件或目录之前先询问用户;-r
或-R
:递归处理,将指定目录下的所有文件与子目录一并处理;-i
:删除已有文件或目录之前先询问用户。
具体说明:
-
如果一次想删除多个文件,则每个文件名用空格隔开。
-
rm
命令可以使用通配符来删除文件。
编程要求
本关的编程任务是补全右侧代码片段中 Begin
至 End
中间的代码,具体要求如下:
- 新创建两个文件空文件
file1
和file2
。 - 删除系统已存在的两个文件
oldFile1
和oldFile2
。
测试说明
本平台只需将需要的命令写入到对应的命令填写区域(命令间使用换行分隔)即可,平台会自动读入和执行用户写入的命令,并判断用户输入的命令是否符合要求。
开始你的任务吧,祝你成功!
代码如下
#!/bin/bash
#在以下部分写出完成任务的命令
#***********begin*************#
touch file1
touch file2
rm -r -f oldFile1
rm -r -r oldFile2
#************end**************#
第2关:Linux之目录创建/删除
任务描述
本关主要讲解在 Linux
命令行下如何对目录进行创建和删除操作。
本关任务:创建一个新的空目录,同时将一个已经存在的目录删除。
提示:连接命令行后,先执行命令 cd /tmp
, 进入临时目录,再执行练习操作。所有操作在 /tmp/
下执行,否则可能破坏实验环境,导致评测不能通关。
相关知识
本关将介绍如何在 Linux
命令行下创建目录和删除目录。
Linux创建目录
Linux
中使用 mkdir
命令来创建一个空目录。
具体命令如下: mkdir
参数 目录名
常用参数如下:
-p
或--parents
:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。
具体说明:
-
如果一次想创建多个目录,则每个目录名用空格隔开。
-
mkdir
命令创建一个指定的目录,并将当前登录用户作为目录所有者。 -
mkdir
命令创建一个空目录后,该目录下只存在两个特殊的目录,分别是.
和..
。
Linux删除目录
Linux
中使用 rmdir
命令来删除一个已经存在的空目录。
具体命令如下: rmdir
参数 目录名
常用参数如下:
-p
或--parents
:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;
具体说明:
-
如果一次想删除多个空目录,则每个目录名用空格隔开。
-
rmdir
命令可以使用通配符来删除目录。
如果想删除的目录不为空,则先使用 rm
命令将目录下的所有文件都清空,然后再使用 rmdir
将目录删除,或者直接使用 rm -r
命令直接递归的删除整个目录。
编程要求
本关的编程任务是补全右侧代码片段中 Begin
至 End
中间的代码,具体要求如下:
- 新创建两个空目录
newDir1
和newDir2
。 - 删除系统已存在的两个目录
oldDir1
和oldDir2
,其中oldDir1
目录为空、oldDir2
目录不为空。
代码如下
#!/bin/bash
#在以下部分写出完成任务的命令
#***********begin*************#
mkdir newDir1
mkdir newDir2
rm -r -f oldDir1
rm -r -f oldDir2
#************end**************#
第3关:Linux之文件复制/重命名
编程要求
本关的编程任务是补全右侧代码片段中 Begin
至 End
中间的代码,具体要求如下:
- 将当前目录下的文件
file1
和file2
拷贝到目录Dir
下; - 将当前目录下的文件
file1
拷贝到目录Dir
下并重命名为file1Cpy
; - 将当前目录下的文件
file3
和file4
移动到目录Dir
下; - 将当前目录下的文件
file5
重命名为file6
。
代码如下
#!/bin/bash
#在以下部分写出完成任务的命令
#***********begin*************#
cp file1 Dir
cp file2 Dir
cp file1 Dir/file1Cpy
mv file3 Dir
mv file4 Dir
mv file5 file6
#************end**************#
第4关:Linux之目录复制/重命令
编程要求
本关的编程任务是补全右侧代码片段中 Begin
至 End
中间的代码,具体要求如下:
- 将当前目录下的目录
Dir1
和Dir2
拷贝到目录Dir
下; - 将当前目录下的目录
Dir1
拷贝到目录Dir
下并重命名为Dir1Cpy
; - 将当前目录下的目录
Dir3
和Dir4
移动到目录Dir
下; - 将当前目录下的目录
Dir5
重命名为Dir6
。
#!/bin/bash
#在以下部分写出完成任务的命令
#***********begin*************#
cp -r Dir1 Dir
cp -r Dir2 Dir
cp -r Dir1 Dir/Dir1Cpy
mv Dir3 Dir
mv Dir4 Dir
mv Dir5 Dir6
#************end**************#
第5关:Linux之文件/目录内容查看
编程要求
本关的编程任务是补全右侧代码片段中 Begin
至 End
中间的代码,具体要求如下:
- 查看当前目录下的文件
file1
的所有内容; - 查看当前目录下的文件
file2
的头5
行内容; - 查看当前目录下的文件
file2
的末尾5
行内容; - 查看目录
/home
目录下的所有内容(包括隐藏内容)。
代码如下
#!/bin/bash
#在以下部分写出完成任务的命令
#***********begin*************#
cat file1
head -5 file2
tail -5 file2
ls -a /home
#************end**************#
志向不过是记忆的奴隶,生气勃勃地降生,但却很难成长。 —— 莎士比亚
开始你的任务吧,祝你成功!
如果你觉得这一关的内容对你有帮助,请你在下面点赞。