文章目录
1.实验目的
熟悉Linux操作系统的命令接口、图形接口和程序接口。提高学生的动手能力。
2.实验内容和要求
实验内容
- 设计一个简单的程序;
- 对该程序进行编译,并运行。
实验要求
(1)熟悉登录Linux系统和退出系统的过程;
(2)使用Linux常用命令;
(3)用C语言编制一个小程序编译并执行。
3. 主要仪器设备
虚拟机:Ubuntu 16.04
4.实验步骤与调试
1.Linux系统的登录
这里有一点需要注意,在进入虚拟机时,默认小键盘锁打开,如果用户密码中有小键盘输入需要先打开小键盘。
2.Linux系统的基本命令
(1)ls 查看目录
Linux的ls命令有点像windows下的tree命令,查看当前目录下的文件
可选参数:
-l :列出长数据串,包含文件的属性与权限数据等
-a :列出全部的文件,连同隐藏文件(开头为.的文件)一起列出来(常用)
-d :仅列出目录本身,而不是列出目录的文件数据
-h :将文件容量以较易读的方式(GB,kB等)列出来
-R :连同子目录的内容一起列出(递归列出),等于该目录下的所有文件都会显示出来
(2)cd 命令
cd命令用于切换路径,可以是绝对路径,也可以是相对路径。
cd(不加参数)返回根目录
cd . 返回当前目录
cd .. 返回上一级目录
(3)grep命令
grep命令通常用于寻找我们所需要的信息,是linux下一个非常有用的功能
命令格式:grep [-acinv] [--color=auto] '查找字符串' filename
参数:
-a :将binary文件以text文件的方式查找数据
-c :计算找到‘查找字符串’的次数
-i :忽略大小写的区别,即把大小写视为相同
-v :反向选择,即显示出没有‘查找字符串’内容的那一行
“ls -l | grep -i pwn”表示在ls -l的输出中寻找 带有”pwn”字母的文件并输出
(4)rm 命令
rm命令是删除命令,在linux系统中,rm命令一定要慎用。user提权后可以用rm命令删掉linux重要的系统文件。
-f :就是force的意思,忽略不存在的文件,不会出现警告消息
-i :互动模式,在删除前会询问用户是否操作
-r :递归删除,最常用于目录删除,它是一个非常危险的参数
(5)gcc命令
gcc命令用于把一个C语言源程序文件编译成一个可执行程序。
参数:
-o :output之意,用于指定生成一个可执行文件的文件名
-c :用于把源文件生成目标文件(.o),并阻止编译器创建一个完整的程序
-I :增加编译时搜索头文件的路径
-L :增加编译时搜索静态连接库的路径
-S :把源文件生成汇编代码文件
-lm:表示标准库的目录中名为libm.a的函数库
-lpthread :连接NPTL实现的线程库
-std= :用于指定把使用的C语言的版本
例如:
把源文件test.c按照c99标准编译成可执行程序test
gcc -o test test.c -lm -std=c99
#把源文件test.c转换为相应的汇编程序源文件test.s
gcc -S test.c
3.编译C程序并执行
4.Linux系统的退出
5.实验结果与分析
本实验整体难度偏易,通过本实验可以逐步了解linux系统的基本命令操作,以及如何在linux系统中使用gcc对C程序进行编译,本程序是对linux操作系统学习的基础,熟练掌握linux的命令行可以帮助我们更好的适应linux。