赞
踩
1.实验目的与要求
2.实验平台
实验室安装的实验环境(Linux操作系统)和头歌(www.educoder.net)实验平台(课程实验)
3.实验内容
4.实验详细内容、步骤
本关主要讲解在 Linux 命令行下如何对文件进行创建和删除操作。
本关任务:创建一个新的文件,同时将一个已经存在的文件删除。
Linux 几乎大多数工作都可以在命令行下完成,除非要运行图形化工具。 Linux bash shell 提供了许多命令,例如:在命令行下可以轻松的完成文件的创建和删除。
本关将介绍如何在 Linux 命令行下创建文件和删除文件。
Linux 中使用touch
命令来创建一个空文件。
具体命令如下:touch 文件名
具体说明:
touch
命令创建一个指定的新文件,并将当前登录用户作为文件所有者;touch
命令创建的文件为空,所以文件的大小为 0 ;touch
命令还可以用于更改文件的访问时间和修改时间,而不改变文件的内容;Linux 中使用rm
命令来删除一个已经存在的文件。
具体命令如下:rm 参数 文件名
常用参数如下:
-f
:强制删除文件或目录;-i
:删除已有文件或目录之前先询问用户;-r
或-R
:递归处理,将指定目录下的所有文件与子目录一并处理;-i
:删除已有文件或目录之前先询问用户。具体说明:
rm
命令可以使用通配符来删除文件。本关的编程任务是补全右侧代码片段中 Begin 至 End 中间的代码,具体要求如下:
file1
和file2
;oldFile1
和oldFile2
;任务描述
本关主要讲解在 Linux 命令行下如何对目录进行创建和删除操作。
本关任务:创建一个新的空目录,同时将一个已经存在的目录删除。
本关将介绍如何在 Linux 命令行下创建目录和删除目录。
Linux 中使用mkdir
命令来创建一个空目录。
具体命令如下:mkdir 参数 目录名
常用参数如下:
-p或--parents
:若所要建立目录的上层目录目前尚未建立,则会一并建立上层目录。具体说明:
mkdir
命令创建一个指定的目录,并将当前登录用户作为目录所有者;mkdir
命令创建一个空目录后,该目录下只存在两个特殊的目录,分别是.
和..
。Linux 中使用rmdir
命令来删除一个已经存在的空目录。
具体命令如下:rmdir 参数 目录名
常用参数如下:
-p或--parents
:删除指定目录后,若该目录的上层目录已变成空目录,则将其一并删除;具体说明:
rmdir
命令可以使用通配符来删除目录。如果想删除的目录不为空,则先使用rm
命令将目录下的所有文件都清空,然后再使用rmdir
将目录删除,或者直接使用rm -r
命令直接递归的删除整个目录。
任务描述
本关主要讲解在 Linux 命令行下如何对文件进行拷贝和重命名操作。
本关任务:将一个指定文件拷贝到指定的目录下,同时对一个已存在的文件重命名。
本关将介绍如何在 Linux 命令行下对文件拷贝和重命名。
Linux 中使用cp
命令将一个或多个源文件复制到指定的目的目录下。它可以将单个源文件复制成一个指定文件名的具体的文件或一个已经存在的目录下。
具体命令如下:cp 参数 源文件 目的目录
常用参数如下:
-f
:强行复制文件或目录,不论目标文件或目录是否已存在;-i
:覆盖既有文件之前先询问用户;-p
:保留源文件或目录的属性。具体说明:
cp
命令支持同时复制多个文件,当一次复制多个文件时,目的目录参数必须是一个已经存在的目录,否则将出现错误;cp
命令支持同时复制多个文件,当一次复制多个文件时,多个文件用空格分隔。Linux 中使用mv
命令来重命名一个文件名。
mv
命令还可以用来移动文件,类似于Windows
上的剪切功能。
具体命令如下:mv 参数 目录名
常用参数如下:
-f
:若目标文件与现有的文件重复,则直接覆盖现有的文件;-i
:交互式操作,覆盖前先行询问用户,如果源文件与目标文件或目标目录中的文件同名,则询问用户是否覆盖目标文件。用户输入”y”,表示将覆盖目标文件;输入”n”,表示取消对源文件的移动。这样可以避免误将文件覆盖。具体说明:
mv
命令可以使用通配符来移动目录。本关的编程任务是补全右侧代码片段中 Begin 至 End 中间的代码,具体要求如下:
file1
和file2
拷贝到目录Dir
下;file1
拷贝到目录Dir
下并重命名为file1Cpy
;file3
和file4
移动到目录Dir
下;file5
重命名为file6
。 本关主要讲解在 Linux 命令行下如何对目录进行拷贝和重命名操作。
本关任务:将一个指定目录拷贝到指定的目录下,同时对一个已存在的目录重命名。
本关将介绍如何在 Linux 命令行下对目录拷贝和重命名。
Linux 中使用cp -r
命令将一个或多个源目录复制到指定的目录下。它可以将单个源目录复制成一个指定目录名的具体的目录或一个已经存在的目录下。
具体命令如下:cp 参数 源目录 目的目录
常用参数如下:
-r
是递归把源目录下的目录递归进行移动;-f
:强行复制文件或目录,不论目标文件或目录是否已存在;-i
:覆盖既有文件之前先询问用户;-p
:保留源文件或目录的属性;具体说明:
cp
命令支持同时复制多个目录,当一次复制多个目录时,目的目录参数必须是一个已经存在的目录,否则将出现错误;cp
命令支持同时复制多个目录,当一次复制多个目录时,多个目录名用空格分隔;cp
命令拷贝目录和拷贝文件大致用法相似,最大差别就是拷贝目录的时候必须加上-r
参数,而拷贝文件的时候不需要加-r
参数。Linux 中使用mv
命令来重命名一个目录名。
mv
命令还可以用来移动目录,类似于Windows
上的剪切功能。
具体命令如下:mv 参数 源目录 目的目录
常用参数如下:
-f
:若目标目录与现有的目录重复,则直接合并现有的目录;-i
:交互式操作,覆盖前先行询问用户,如果源目录与目标目录同名,则询问用户是否合并目标目录。用户输入”y”,表示将合并目标目录;输入”n”,表示取消对源目录的移动。这样可以避免误将目录覆盖。具体说明:
mv
命令可以使用通配符来移动目录;mv
命令移动目录和移动文件的使用大致一样,唯一不同的是如果出现源目录和目标目录重名,则采用合并的方式,而对于文件则是直接覆盖。本关的编程任务是补全右侧代码片段中 Begin 至 End 中间的代码,具体要求如下:
Dir1
和Dir2
拷贝到目录Dir
下;Dir1
拷贝到目录Dir
下并重命名为Dir1Cpy
;Dir3
和Dir4
移动到目录Dir
下;Dir5
重命名为Dir6
。 任务描述
本关主要讲解在 Linux 命令行下如何查看文件内容和目录下内容。
本关任务:查看一个文件的内容和列出一个目录下的所有内容。
Linux 中查看文件内容的命令有很多,接下来我们介绍常用的几个命令。
具体命令如下:cat 参数 文件名
常用参数如下:
-n 或 --number
:由1
开始对所有输出的行数编号;- -b
或 --number-nonblank
:和-n
相似,只不过对于空白行不编号。
具体说明:
cat
命令支持同时查看多个文件,当一次查看多个文件时,每个文件的内容都会被打印到屏幕上;cat
命令不能对文件进行编辑操作,只能查看文件内容。Linux 中使用ls
命令来查看一个目录下的内容。
具体命令如下:ls 参数 目录
常用参数如下:
-a
:显示所有档案及目录(ls
内定将档案名或目录名称为“.”的视为影藏,不会列出);-A
:显示除影藏文件“.”和“..”以外的所有文件列表;-l
:列出内容的详细信息;-r
:以文件名反序排列并输出目录内容列表;-s
:显示文件和目录的大小,以区块为单位;-i
:显示文件索引节点号(inode
)。一个索引节点代表一个文件;-R
:递归处理,将指定目录下的所有文件及子目录一并处理。具体说明:
本关的编程任务是补全右侧代码片段中 Begin 至 End 中间的代码,具体要求如下:
file1
的所有内容;file2
的头5行内容;file2
的末尾5行内容;/home
目录下的所有内容(包括隐藏内容)。 任务描述
有时,我们会在Linux
系统中将多个文件打包成一个单独的文件,通过本关的学习,我们将学会如何在Linux
系统中将多个文件/目录打包生成一个文件。
本关任务:使用tar
命令完成文件和目录的打包操作。
tar
(tape archive
的简写)工具可完成许多功能,其名称源于它的原始功能-创建和读取归档文件和备份磁带。如今,该工具常用来将多个文件或多个目录打包成一个tar
文件,或者将某个tar
文件分解开。
接下让我们详细的学习tar
的使用方法。
tar
命令可以将多个文件/目录进行打包,将多个文件生成一个文件,生成的文件后缀为.tar
。
具体打包命令如下:
tar -cvf 生成的tar包名 要打包的文件/目录列表
常用命令参数如下:
解包
tar
命令可以将已经打包好的文件解压出来。
具体打包命令如下:
tar -xvf 解压包名 -C 解压到指定目录
常用命令参数如下:
如果不使用-C
(大写)参数,则默认解压到当前目录下。
编程要求
在右侧编辑器中补充代码,使用tar
命令打包和解包,具体编程要求如下:
tar
命令将当前目录下的oldFile1
和oldFile2
文件打包成一个newFile.tar
文件;tar
命令将当前目录下的oldFile.tar
文件解压到当前目录下。 任务描述
由于磁盘空间有限,我们通常会将不常用的大文件进行压缩以便于节约磁盘空间,通过本关的学习,我们将学会Linux
系统上常见的压缩命令。
本关任务:对系统中已存在的文件/目录进行压缩操作。
Linux
下存在多个文件压缩工具,常用的有bzip2
、gzip
和zip
。这三个工具都是可以将一个文件进行压缩操作,使其在不丢失任何信息的情况下占用较少的磁盘空间。而如何对于多个文件/目录进压缩操作呢?
我们通过上一关的学习,我们了解到了使用tar
命令可以将多文件/目录打包生成一个文件,那么对于多文件/目录的压缩操作分为两步:第一步是将其进行打包,然后将打包过后的文件进行压缩操作。
接下让我们详细的学习bzip2
、gzip
和zip
的使用方法。
bzip2
命令用于创建和管理(包括解压缩).bz2
格式的压缩包。
具体命令如下:
bzip2 命令参数 指定要压缩的文件
常用命令参数如下:
gzip
gzip
命令用于创建和管理(包括解压缩).gz
格式的压缩包。
具体命令如下:
gzip 命令参数 指定要压缩的文件
常用命令参数如下:
zip
zip
命令对文件进行打包操作。zip
是个使用广泛的压缩程序,文件经它压缩后会另外产生具有.zip
扩展名的压缩文件。
具体命令如下:
zip 命令参数 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
tar命令进行压缩
在上一关的学习中,我们学会了使用tar
命令对多个文件/目录进行打包操作,如果针对多文件/目录进行压缩操作时,首先使用tar
将其打包生成一个文件,然后使用bzip2
和gzip
对其进行压缩,那么这里也可以使用tar
命令一步就实现对多文件/目录进行压缩操作。
采用bzip2
方式执行tar
命令进行压缩的具体命令如下:
tar -jcvf 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
采用gzip
进行压缩的具体命令如下:
tar -zcvf 指定生成的压缩文件名 要被压缩的文件/目录列表
常用命令参数如下:
在右侧编辑器中补充代码,对系统中已存在的文件/目录进行压缩操作,具体编程要求如下:
tar
命令将当前目录下的oldFile1
和oldFile2
文件打包压缩成一个newFile.tar.gz
文件;bzip2
命令对当前目录下的oldFile.tar
文件压缩;zip
命令将当前目录下的oldDir
目录所有文件/目录压缩生成oldDir.zip
。 任务描述
通常,我们上网下载的文件一般都是压缩过后的文件,通过本关的学习,我们可以学会如何将一个压缩文件进行解压操作。
本关任务:将压缩文件进行解压缩操作。
Linux
下存在多个文件压缩工具,上一关我们介绍了包括bzip2
、gzip
和zip
。针对这三种压缩工具生成的压缩包,我们可以使用bunzip2
、gunzip
和unzip
命令对其进行解压缩。
接下让我们详细的学习bunzip2
、gunzip
和unzip
的使用方法。
bunzip2
命令解压缩由bzip2
指令创建的.bz2
压缩包。使用bzip2 -d
命令也可以将.bz2
压缩包进行解压。
具体命令如下:
bunzip2 命令参数 指定要解压的文件
常用命令参数如下:
gunzip
命令解压缩由gzip
指令创建的.gz
压缩包。使用gzip -d
命令也可以将.gz
压缩包进行解压。
具体命令如下:
gunzip 命令参数 指定要解压的文件
常用命令参数如下:
unzip
命令用于解压缩由zip
命令压缩的.zip
压缩包。
具体命令如下:
unzip 命令参数 指定要解压的文件
常用命令参数如下:
tar命令进行解压缩
在上一关的学习中,我们学会了使用tar
命令对多个文件/目录进行打包压缩操作,本关将继续讲解使用tar
命令对文件进行解压缩操作。
采用bunzip2
进行解压缩的具体命令如下:
tar -jxvf 指定要解压的文件
常用命令参数如下:
采用gzip
进行压缩的具体命令如下:
tar -zxvf 指定要解压的文件
常用命令参数如下:
在右侧编辑器中补充代码,将压缩文件进行解压,具体编程要求如下:
tar
命令解压当前目录下的oldFile.tar.gz
文件;bunzip2
命令解压当前目录下的oldFile.tar.bz2
文件;unzip
命令解压当前目录下的oldDir.zip
。 任务描述
在Linux系统中,如果要对一个文件进行操作,首先要求文件已经存在,如果文件不存在,则需要创建文件。
本关任务:学会使用C
语言在Linux系统中创建文件操作。
文件的创建操作是 I/O
操作的第一步。在Linux系统中creat
系统调用可以实现对文件的创建。本关只介绍文件创建函数的使用方法。
在Linux系统中可以使用man
命令来查询这些函数的使用方法。具体的查询命令为: man 2
函数名
其中,2
表示查找系统调用函数,关于文件的创建、打开和关闭函数都是系统调用函数,因此使用2
作为man
命令的第一个参数。
创建文件的系统调用函数是creat
,具体的说明如下:
int creat (const char *pathname,mode_t mode);
参数说明:pathname:需要创建文件的绝对路径名或相对路径名;
mode:用于指定所创建文件的权限;
常见的mode
取值及其含义见下表所示:
-1
并设置错误编号errno
。本关的编程任务是补全右侧代码片段中Begin
至End
中间的代码,具体要求如下:
testFile
的文件,并设置其权限为651
。任务描述
在Linux系统中,如果要对一个文件进行操作,操作前需要将这个文件打开。这样才能实现对该文件的操作。
本关任务:学会使用C
语言在Linux系统中打开与关闭文件操作。
文件的打开与关闭操作是 I/O
操作的第二步。在Linux系统中提供了以下两个系统调用函数用于打开和关闭文件操作,分别是open
和close
。本关将介绍文件的打开和关闭函数的使用方法。
使用man 2
函数名
也可以查询这些函数的使用方法。
打开文件的系统调用函数是open
,具体的说明如下:
int open(coust char *pathname, int flags);
int open(const char *pathname, int flags, made_t mode);
参数说明:
pathname:需要被打开或创建的文件绝对路径名或相对路径名;
flags:用于描述文件的打开方式;
mode:用于指定所创建文件的权限(与上一关中creat函数中mode取值一致);
第一个open
函数用于打开已经存在的文件。而第二个open
函数可以创建一个不存在的文件且打开,该函数将flags
参数设置为O_CREAT | O_WRONLY | O_TRUNC
时等同于上一关中的creat
函数。
常见的flags
取值及其含义见下表所示:
函数返回值说明: 调用成功时,返回值为 文件的描述符(大于0的整数);调用失败时,返回值为-1
并设置错误编号errno
。
关闭文件的系统调用函数是close
,具体的说明如下:
int close(int fd);
参数说明:
errno
。本关的编程任务是补全右侧代码片段中Begin
至End
中间的代码,具体要求如下:
open_File
函数,使其以读方式打开一个文件,并返回文件描述符fd
。close_File
函数,使其关闭一个已经被打开的文件。 任务描述
通过上一关的学习,我们学会了如何使用C
语言来打开和关闭文件,本关将继续介绍对文件的读写操作。
本关任务:学会使用C
语言在Linux系统中对文件进行读写操作。
文件的读写是 I/O
操作的核心内容。上一关中已经介绍了如何打开和关闭一个文件,但是要实现文件的 I/O
操作就必须对其进行读写,文件的读写操作所用的系统调用分别是read
和write
。本关将介绍文件的读写函数的使用方法。
使用man 2
函数名
也可以查询这些函数的使用方法。
写入文件的系统调用函数是write
,具体的说明如下:
ssize_t write(int fd, void *buf, size_t count);
参数说明:
-1
并设置错误编号errno
。读取文件的系统调用函数是read
,具体的说明如下:
ssize_t read(int fd, void *buf, size_t count);
参数说明:
-1
并设置错误编号errno
。本关的编程任务是补全右侧代码片段中Begin
至End
中间的代码,具体要求如下:
write_File
函数,完成向文件写入字符串功能。并返回实际写入字符个数。readLine
函数,完成从文件中读取一行的功能(不包括换行符),并返回实际读取的字符个数(文件的换行符号为\n)。 通过前三关的学习,我们学会了如何使用C语言来创建、打开/关闭和读写文件,本关将介绍如何删除一个已经存在的文件。
本关任务:学会使用C
语言在Linux系统中删除文件操作。
当不需要一个文件时,我们通常直接选中文件按下delete
键对其删除,本关将介绍如何在Linux系统中使用C
语言删除一个已经存在的文件。
在Linux系统中使用unlink
和remove
系统调用可以实现对文件的删除操作。
使用man 2
函数名
或者man 3
函数名
也可以查询这些函数的使用方法。
删除文件的系统调用函数是unlink
,具体的说明如下:
int unlink(const char *pathname);
参数说明:
-1
并设置错误编号errno
。remove
是删除文件的另一个函数,该函数是C
语言的库函数,其本质是通过调用系统调用unlink
来完成文件的删除操作,具体的说明如下:
int remove(const char *pathname);
参数说明:
-1
并设置错误编号errno
。本关的编程任务是补全右侧代码片段中Begin
至End
中间的代码,具体要求如下:
testFile
文件。 Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。