2023年8月3日发(作者:)

华南师范大学实验报告

一、实验目的

掌握Linux环境下的基本操作命令。

编写简单的C程序,编译运行和调试。

二、实验内容

掌握Linux的基本操作命令

使用vi编辑器

使用gcc编译工具

三、实验环境

VMWARE Workstation 7、linux操作系统

四、实验过程与步骤

4.1获取帮助信息

命令man提供了系统操作命令的在线帮助。例如,输入man passwd 可以获取命令passwd的帮助说明。按空格键,翻页浏览。按<:>,再按q退出帮助。

第 1 页 共 13 页 4.2 基本操作命令

〈1〉运行pwd命令,确定你当前的工作目录。

〈2〉利用以下命令显示当前工作目录的内容:ls -l

〈3〉运行ls –l /bin命令显示目录的内容。

第 2 页 共 13 页 4〉利用ls –l /bin |more命令行分屏显示/bin目录的内容。

第 3 页 共 13 页

〈 〈5〉使用mkdir命令建立一个子目录subdir

〈6〉使用cd subdir命令,进入子目录subdir

〈7〉将工作目录改到你的子目录subdir,然后运行命令:date > file1

将当前日期和时间存放到新建文件file1中。

〈8〉使用cat或more命令查看file1文件的内容。

〈9〉将date命令的用法附加到文件file1的后面:man date >> file1

第 4 页 共 13 页 〈10〉利用more命令显示文件file1的内容。

〈11〉利用ls -l file1命令列出文件file1的较详细的信息。

〈12〉利用cp file1 fa命令生成文件file1的副本。然后利用ls -l命令查看工作目录的内容。

〈13〉利用rm fa命令将文件fa删除。再利用ls -l命令查看工作目录内容。

〈14〉运行mv file1 file_a命令,然后用ls命令查看这两个文件是否都第 5 页 共 13 页 还在工作目录中?

〈15〉查找文件和目录

利用find命令可以查找文件和目录的位置。其常用使用格式是:

find pathname -name filename

其中,pathname是指定开始查找的目录,filename是你要查找的文件或目录。

4.3 vi编辑器

vi编辑器是一个小巧但功能强大的程序。vi编辑器有三种不同的模式:

插入模式——这个模式是通过在命令模式按下“i”键进入的。

命令模式——这是用户输入单键命令的模式。在其他模式中按下ESC键就可以进入命令模式。

常见的执行删除操作的命令有:

dd 删除整个行

#dd 按照输入的数字(#),从当前行删除几行

D 删除光标位置后面全部内容

Dw 删除光标所在位置的单词

F1 获取帮助

第 6 页 共 13 页 冒号模式——从命令模式输入一个冒号(:)就可以进入这个模式。常见的冒号模式命令有:

:wq 保存且退出编辑器

:w 保存但不退出

:q 退出且不保存

:q! 强行退出vi,不保存。

:help 获取帮助

1) 在系统提示符($)下输入命令vi和想要编辑(建立)的文件名

vi test.c

2) 按键I进入插入模式。屏幕上看不到字符i,屏幕下方出现--INSERT--字样。

第 7 页 共 13 页 3) 输入你的程序:

/*********************************************************************

#include

main ()

{

printf(“hello world”n”);

printf(“Wellcome!”n”);

}

4) 按〈Esc〉键,从插入模式进入冒号模式。

5) 输入wq,保存退出

4.4 gcc编译

gcc 命令的基本用法如下: gcc [options] [filenames]

<1> 输入gcc test.c

<2> 输入ls查看,目录下应该有个文件

第 8 页 共 13 页 <3> 输入./,运行程序,屏幕上显示什么?

<4> 如果想给程序重命名,使用编译选项-o重新编译。输入gcc –o test

test.c

<5> 输入ls查看,目录下应该有个test文件

<6> 输入 ./test,运行程序,这个程序执行时又显示什么结果?

4.5 Linux常用命令使用

<4>查看登录的用户和自己登录的身份(whoami)

<5> 查看文件file1的权限,将其权限更改为拥有者和组成员都被授予读第 9 页 共 13 页 取、写入和执行权限。验证你的实验结果(用数字法)。

<6> 将文件file1的权限修改为上次更改前的状态(用数字法),并验证你的实验结果。

<7> 设文件file1的权限如下:

-rw-rw-r-- 1 tan003 tan003 52 Sep 12 2001 file1

x=1 w=2 r=4

<8> 用文字法将其权限更改为:-rwxrwxrw-,并验证你的实验结果。

<9> 将你所在的工作目录的两个文件拷贝到ABC目录下,并在ABC目录下建立ABC1子目录。

第 10 页 共 13 页 <10> 将ABC子目录权限设置为对拥有者、所在组和其它用户均为可读、可写(注意包括子目录ABC1)。

<11> 检查当前目录的默认权限屏蔽,并将其更改为022,然后在当前目录下创建一个名为qqq的子目录,问:子目录qqq的权限是什么?解释原因。

man umask

umask –p mode

第 11 页 共 13 页 文件夹ABC的约定权限是rwxrwxrwx,限定权限是022,所以

ABC的约定权限 — umask限定权限=qqq的默认权限

rwxrwxrwx — --- -w- -w- =rwxr-xr-x

<12> 编辑shell文件ex1,内容如下:

pwd

date

cd ..

ls

执行上述shell过程,并记录显示结果。

五、实验总结、经验分享

执行shell脚本

默认权限方便管理

3.r=4 w=3 x=1

命令

第 12 页 共 13 页 用cp命令(有些版本好像copy也可以的,你试试打co后用TAP键看能不能补足)

该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大。

语法: cp [选项] 源文件或目录 目标文件或目录

说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

该命令的各选项含义如下:

- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

- d 拷贝时保留链接。

- f 删除已经存在的目标文件而不提示。

- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

- l 不作拷贝,只是链接文件。

第 13 页 共 13 页

2023年8月3日发(作者:)

华南师范大学实验报告

一、实验目的

掌握Linux环境下的基本操作命令。

编写简单的C程序,编译运行和调试。

二、实验内容

掌握Linux的基本操作命令

使用vi编辑器

使用gcc编译工具

三、实验环境

VMWARE Workstation 7、linux操作系统

四、实验过程与步骤

4.1获取帮助信息

命令man提供了系统操作命令的在线帮助。例如,输入man passwd 可以获取命令passwd的帮助说明。按空格键,翻页浏览。按<:>,再按q退出帮助。

第 1 页 共 13 页 4.2 基本操作命令

〈1〉运行pwd命令,确定你当前的工作目录。

〈2〉利用以下命令显示当前工作目录的内容:ls -l

〈3〉运行ls –l /bin命令显示目录的内容。

第 2 页 共 13 页 4〉利用ls –l /bin |more命令行分屏显示/bin目录的内容。

第 3 页 共 13 页

〈 〈5〉使用mkdir命令建立一个子目录subdir

〈6〉使用cd subdir命令,进入子目录subdir

〈7〉将工作目录改到你的子目录subdir,然后运行命令:date > file1

将当前日期和时间存放到新建文件file1中。

〈8〉使用cat或more命令查看file1文件的内容。

〈9〉将date命令的用法附加到文件file1的后面:man date >> file1

第 4 页 共 13 页 〈10〉利用more命令显示文件file1的内容。

〈11〉利用ls -l file1命令列出文件file1的较详细的信息。

〈12〉利用cp file1 fa命令生成文件file1的副本。然后利用ls -l命令查看工作目录的内容。

〈13〉利用rm fa命令将文件fa删除。再利用ls -l命令查看工作目录内容。

〈14〉运行mv file1 file_a命令,然后用ls命令查看这两个文件是否都第 5 页 共 13 页 还在工作目录中?

〈15〉查找文件和目录

利用find命令可以查找文件和目录的位置。其常用使用格式是:

find pathname -name filename

其中,pathname是指定开始查找的目录,filename是你要查找的文件或目录。

4.3 vi编辑器

vi编辑器是一个小巧但功能强大的程序。vi编辑器有三种不同的模式:

插入模式——这个模式是通过在命令模式按下“i”键进入的。

命令模式——这是用户输入单键命令的模式。在其他模式中按下ESC键就可以进入命令模式。

常见的执行删除操作的命令有:

dd 删除整个行

#dd 按照输入的数字(#),从当前行删除几行

D 删除光标位置后面全部内容

Dw 删除光标所在位置的单词

F1 获取帮助

第 6 页 共 13 页 冒号模式——从命令模式输入一个冒号(:)就可以进入这个模式。常见的冒号模式命令有:

:wq 保存且退出编辑器

:w 保存但不退出

:q 退出且不保存

:q! 强行退出vi,不保存。

:help 获取帮助

1) 在系统提示符($)下输入命令vi和想要编辑(建立)的文件名

vi test.c

2) 按键I进入插入模式。屏幕上看不到字符i,屏幕下方出现--INSERT--字样。

第 7 页 共 13 页 3) 输入你的程序:

/*********************************************************************

#include

main ()

{

printf(“hello world”n”);

printf(“Wellcome!”n”);

}

4) 按〈Esc〉键,从插入模式进入冒号模式。

5) 输入wq,保存退出

4.4 gcc编译

gcc 命令的基本用法如下: gcc [options] [filenames]

<1> 输入gcc test.c

<2> 输入ls查看,目录下应该有个文件

第 8 页 共 13 页 <3> 输入./,运行程序,屏幕上显示什么?

<4> 如果想给程序重命名,使用编译选项-o重新编译。输入gcc –o test

test.c

<5> 输入ls查看,目录下应该有个test文件

<6> 输入 ./test,运行程序,这个程序执行时又显示什么结果?

4.5 Linux常用命令使用

<4>查看登录的用户和自己登录的身份(whoami)

<5> 查看文件file1的权限,将其权限更改为拥有者和组成员都被授予读第 9 页 共 13 页 取、写入和执行权限。验证你的实验结果(用数字法)。

<6> 将文件file1的权限修改为上次更改前的状态(用数字法),并验证你的实验结果。

<7> 设文件file1的权限如下:

-rw-rw-r-- 1 tan003 tan003 52 Sep 12 2001 file1

x=1 w=2 r=4

<8> 用文字法将其权限更改为:-rwxrwxrw-,并验证你的实验结果。

<9> 将你所在的工作目录的两个文件拷贝到ABC目录下,并在ABC目录下建立ABC1子目录。

第 10 页 共 13 页 <10> 将ABC子目录权限设置为对拥有者、所在组和其它用户均为可读、可写(注意包括子目录ABC1)。

<11> 检查当前目录的默认权限屏蔽,并将其更改为022,然后在当前目录下创建一个名为qqq的子目录,问:子目录qqq的权限是什么?解释原因。

man umask

umask –p mode

第 11 页 共 13 页 文件夹ABC的约定权限是rwxrwxrwx,限定权限是022,所以

ABC的约定权限 — umask限定权限=qqq的默认权限

rwxrwxrwx — --- -w- -w- =rwxr-xr-x

<12> 编辑shell文件ex1,内容如下:

pwd

date

cd ..

ls

执行上述shell过程,并记录显示结果。

五、实验总结、经验分享

执行shell脚本

默认权限方便管理

3.r=4 w=3 x=1

命令

第 12 页 共 13 页 用cp命令(有些版本好像copy也可以的,你试试打co后用TAP键看能不能补足)

该命令的功能是将给出的文件或目录拷贝到另一文件或目录中,就如同DOS下的copy命令一样,功能非常强大。

语法: cp [选项] 源文件或目录 目标文件或目录

说明:该命令把指定的源文件复制到目标文件或把多个源文件复制到目标目录中。

该命令的各选项含义如下:

- a 该选项通常在拷贝目录时使用。它保留链接、文件属性,并递归地拷贝目录,其作用等于dpR选项的组合。

- d 拷贝时保留链接。

- f 删除已经存在的目标文件而不提示。

- i 和f选项相反,在覆盖目标文件之前将给出提示要求用户确认。回答y时目标文件将被覆盖,是交互式拷贝。

- p 此时cp除复制源文件的内容外,还将把其修改时间和访问权限也复制到新文件中。

- r 若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。

- l 不作拷贝,只是链接文件。

第 13 页 共 13 页