Linux下c语言编程实验讲义
- 格式:doc
- 大小:135.00 KB
- 文档页数:23
课程名:Linux下c语言编程
专业:08嵌入式系统工程 专
试验1:Linux系统基本shell指令
试验2:gcc编译器与多文件交叉包含
试验3:库文件的创建与使用
试验4:linux系统程序调试-行列式求值程序
试验5:进程与线程程序调试
试验6:TCP程序与
试验7:UDP程序
试验1 Linux系统基本shell指令
实验一 Linux系统基本文件操作
试验目的:
掌握Linux系统常见的文件操作指令;
掌握Linux系统常见的文件形式;
试验设备
PC机、虚拟机、redhat9,桌面环境KDE
试验原理
一、Linux系统常见的文件形式
(一)为便于用户识别文件形式,操作系统一般使用扩展名来标示文件类型。文件扩展名是文件名的最后一个点之后的部分(在文件 sneakers.txt 中,“txt”是文件的扩展名)。下面简单列出了一些文件扩展名和它们的含义:
1. 压缩的和归档的文件
.bz2 — 使用 bzip2 压缩的文件
.gz — 使用 gzip 压缩的文件
.tar — 使用 tar(tape archive,磁带归档的简写)压缩的文件,又称 tar 文件
.tbz — 用 tar 和 bzip 压缩的文件
.tgz — 用 tar 和 gzip 压缩的文件
.zip — 使用 ZIP 压缩的文件,在 MS-DOS 应用程序中常见。多数为 Linux 压缩的文件使用 gzip 压缩,因此 Linux 文件中的 .zip 归档较少见。
2. 文件格式
.au — 音频文件
.gif — GIF 图像文件
.html/.htm — HTML 文件
.jpg — JPEG 图像文件
.pdf — 文档的电子映像;PDF 代表 Portable Document Format(可移植文档格式)
.png — PNG 图像文件(Portable Network Graphic 的简写,可移植网络图形)
.ps — PostScript 文件,为打印而格式化过的文件
.txt — 纯 ASCII 文本文件
.wav — 音频文件
.xpm — 图像文件
3. 系统文件
.conf — 一种配置文件。配置文件有时也使用 .cfg。
.lock — 锁(lock) 文件;用来判定程序或设备是否正在被使用
.rpm — Red Hat 用来安装软件的软件包管理器文件
4. 编程和脚本文件
.c — C 程序语言的源码文件
.cpp — C++ 程序语言的源码文件
.h — C 或 C++ 程序语言的头文件
.o — 程序的对象文件
.pl — Perl 脚本
.py — Python 脚本
.so — 库文件
.sh — shell 脚本
.tcl — TCL 脚本
文件扩展名不总是被使用或被一致地使用。那么,如果一个文件没有扩展名,或者它与它的扩展名不符时怎么办呢?
这个时候,file 命令就会对你有所帮助。
譬如,你找到了一个叫做 saturday 的文件,它没有扩展名。使用 file 命令,你就可以判定这个文件的类型:
file saturday
(二)为便于系统磁盘和文件系统的管理,Linux系统将所有Linux 对目录和设备都当作文件来进行处理,这样就简化了对各种不同类型设备的处理,提高了效率。Linux中主要的文件类型分为4种:普通文件、目录文件、链接文件和设备文件。
(1)普通文件
普通文件如同Windows中的文件一样,是用户日常使用最多的文件。它包括文本文件、shell脚本(shell的概念在第2章会进行讲解)、二进制的可执行程序和各种类型的数据。
(2)目录文件
在 Linux 中,目录也是文件,它们包含文件名和子目录名以及指向那些文件和子目录的指针。目录文件是 Linux 中存储文件名的惟一地方,当把文件和目录相对应起来时,也就是用指针将其链接起来之后,就构成了目录文件。因此,在对目录文件进行操作时,一般不涉及对文件内容的操作,而只是对目录名和文件名的对应关系进行了操作。
(3)链接文件
链接文件有些类似于 Windows 中的“快捷方式”,但是它的功能更为强大。它可以实现对不同的目录、文件系统甚至是不同的机器上的文件直接访问,并且不必重新占用磁盘空间。
(4)设备文件
Linux 把设备都当作文件一样来进行操作,这样就大大方便了用户的使用(在后面的
Linux编程中可以更为明显地看出)。在 Linux 下与设备相关的文件一般都在/dev目录下,它包括两种,一种是块设备文件,另一种是字符设备文件。
块设备文件是指数据的读写,它们是以块(如由柱面和扇区编址的块)为单位的设
备,最简单的如硬盘(/dev/hda1)等。
字符设备主要是指串行端口的接口设备。
Linux中的文件属性 Linux中的文件属性如图如示。
首先,Linux中文件的拥有者可以把文件的访问属性设成 3 种不同的访问权限:可读(r)、可写(w)和可执行(x)。文件又有 3 个不同的用户级别:文件拥有者(u)、所属的用户组(g)和系统里的其他用户(o)。
第一个字符显示文件的类型:
★ “-”表示普通文件;
★ “d”表示目录文件;
★ “l”表示链接文件;
★ “c”表示字符设备;
★ “b”表示块设备;
★ “p”表示命名管道比如FIFO 文件(First In First Out,先进先出);
★ “f”表示堆栈文件比如LIFO 文件(Last In First Out,后进先出)。
第一个字符之后有3个三位字符组:
★ 第一个三位字符组表示对于文件拥有者(u)对该文件的权限;
★ 第二个三位字符组表示文件用户组(g)对该文件的权限;
★ 第三个三位字符组表示系统其他用户(o)对该文件的权限;
★ 若该用户组对此没有权限,一般显示“-”字符。
目录权限和文件权限有一定的区别。对于目录而言,r代表允许列出该目录下的文件和子目录,w代表允许生成和删除该目录下的文件,x代表允许访问该目录
二、Linux系统常见文件操作指令
(一)DOS 和 Linux 常用命令的对比
命令的目的 MS-DOS Linux Linux 的简单实例
复制文件 Copy cp cp thisfile.txt /home/thisdirectory
转移文件 Move mv mv thisfile.txt /home/thisdirectory
列举文件 Dir ls Ls
清除屏幕 Cls clear Clear
关闭 shell 提示 Exit exit Exit 显示或设置日期 Date date Date
删除文件 Del rm rm thisfile.txt
把输出“回响”到屏幕上 Echo echo echo this message
用简单文本编辑器来编辑文件 Edit gedit([a]) gedit thisfile.txt
比较文件内容 Fc diff diff file1 file2
在文件中寻找字串 Find grep grep 词或词组 thisfile.txt
格式化软盘 format a:(如果软盘是在 A: 中的话) mke2fs 或
mformat([b]) /sbin/mke2fs /dev/fd0(/dev/fd0
是 Linux 中与 A: 等同的驱动器)
显示命令帮助 命令 /? man([c]) man 命令
创建目录 Mkdir mkdir mkdir 目录
查看文件 More less([d]) less thisfile.txt
重新命名文件 Ren mv([e]) mv thisfile.txt thatfile.txt
显示你在文件系统中的位置 Chdir pwd Pwd
用指定的路径(绝对路径,absolute path)来改换目录 cd 路径名 cd 路径名 cd /directory/directory
用一个相对路径(relative path)来改换目录 cd .. cd .. cd ..
显示时间 Time date Date
显示已被使用的内存数量 Mem free Free 注:
a. Gedit 是图形化文本编辑器;你可以使用其它文本编辑器来代替 Gedit,包括 Emacs 和
vi。
b. 这个命令为 DOS 文件系统格式化软盘。
c. 某些命令你还 可以使用 info。
d. more 分页器也可以用来一个屏幕一个屏幕地在文件中逐页查看。
e. mv 命令可以转移文件或重新命名在同一目录下的文件。如果你想重新命名文件,如例中所示,把这个文件“转移”到同一目录中的新名称。
(二)几点说明
1、关于帮助
help命令用于查看所有Shell内置命令的帮助信息。用户可以通过该命令寻求Shell命令的用法,只需在所查找的命令后输入help命令,就可以看到所查命令的内容了。
例如:查看cd命令的使用方法。
$ cd --help
man命令用于用于格式化并显示某一命令的联机帮助手册页。
格式: man [选项] 命令名
如果在用户是在纯文本下登录,可能帮助信息显示太快使用户来不及看清,可使用管道连接指令 如 man gcc |less(使用q退出,可按上下箭头查看)
2、关于ls指令和创建链接文件的指令
默认情况下,系统不显示隐藏文件及文件属性,如果想显示文件的详细信息,可以使用如下命令 ls –al
链接文件的指令为:ln -S
3、系统管理指令
显示系统进程的指令:ps
关闭进程的指令 kill
关闭系统的指令 poweroff
用户管理程序 redhat-config-users //KDE/system settings/users and groups
系统日志 redhat-logviewer //KDE/system tools/system logs
删除自安装文件:
(1) 查看当时安装的时候的文件的详细名字 rmp -qa 查看所有安装的文件,也可以在系统日志中查看
(2) 删除 rmp -e
系统文本登录方式及图形用户方式配置文件
/etc/inittab 方式3 命令行登录;方式5 x-window登录
从X-Windows退出 ctrl +art+backspace
从文本方式进入x-window startx
4、文件压缩和归档
压缩文件使用较少磁盘空间,并且比未压缩的大文件下载速度要快。在 Red Hat Linux 中,你可以使用的文件压缩工具有:gzip、bzip2、和 zip。