LINUX环境高级编程(一)_第1页
LINUX环境高级编程(一)_第2页
LINUX环境高级编程(一)_第3页
LINUX环境高级编程(一)_第4页
LINUX环境高级编程(一)_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

LINUX环境高级编程中国地质大学(武汉)计算机学院朱静中国地质大学(武汉)计算机学院第一讲linux环境编程基础VI简介Linux文件系统和库管理Linux操作Linux简介课程简介中国地质大学(武汉)计算机学院课程简介课程内容Linux系统原理及应用Shell编程C编译环境Linux系统调用网络通信编程多线程GUI简介

中国地质大学(武汉)计算机学院课程简介参考教材《Linux程序设计》(第4版)NeilMatthew,RichardStones人民邮电出版社《UNIX环境高级编程》(第2版)机械工业出版社电子资源////

中国地质大学(武汉)计算机学院Linux简介Linux发展Belllabs(AT&T)BSD(BerkeleySoftwareDistribution)FreeBSDOpenBSDNetBSDMacOSXGNU/LinuxHP-UXSunSolarisIBMAIXNetStepSunOSGNUSRV5BSDfamily1970198019902000WearehereUNIX家族中国地质大学(武汉)计算机学院Linux简介Linux发展GNU=GNUisnotUNIX1984年gcc,make,emacs,glibcGPL(GNUGeneralPublicLicense)GNU通用公共许可证LinusTorvalds于1991年编写,使用GNU组件,GNU/LinuxLinux是一个与UNIX兼容的系统,与UNIX遵循同样的POSIX标准,(PortableOperatingSystemInterface)但代码完全不同版本众多,内核下载地址:

当前最新版4.2中国地质大学(武汉)计算机学院Linux简介Linux内核版本

major.minor.patchlevel主版本

1.0,2.0,2.2,2.4,2.6稳定版

2.0.40,2.2.12,2.4.18,3.16.2,4.1.6开发版

2.1.1,2.3.1,2.5.1,2.5.9主版本号次版本号修订次数中国地质大学(武汉)计算机学院Linux简介Linux发行版本RedHatLinux,Fedora,SUSE,Ubantu,OpenLinux,Debian,TurboLinux,中科红旗Linux,…

rpm的开发,使RedHatLinux成为最流行的发行版,Fedora是Redhat与开源社区合作的桌面版本。中国地质大学(武汉)计算机学院Linux简介RedhatLinux版本2003年redhatlinux9.0之后只发布redhatenterpriselinux(rhel,收费版)

redhatlinux9.0以后redhat和开源社区合作启动了fedoraproject,免费Linux发行版。

rhel源代码重新编译的免费版本CentOS,去掉rhel版本的商业软件和一些注册商标,基本上和rhel同时发布。

中国地质大学(武汉)计算机学院Linux简介Linux安装安装单系统安装双(多)引导系统虚拟机中安装中国地质大学(武汉)计算机学院Linux简介Linux的运行级别0—停机,关机(initdefault不能设置为0)1—单用户模式2—多用户模式,但没有NFS3—完全多用户模式4—未定义5—X11图形模式(initdefault)6—系统重启(initdefault不能设置为6)中国地质大学(武汉)计算机学院Linux简介Linux的优势功能齐全,稳定—尤其在连续工作的服务器上表现明显;开源—对政府,军事,金融等领域,更安全可靠;内核可定制—可移植性,兼容性强;GUI可选—有GUI,也有纯文本模式;便于远程管理—真正的多用户操作系统;中国地质大学(武汉)计算机学院Linux操作超级用户和普通用户超级用户的系统提示符为#普通用户的系统提示符为$超级用户作为系统管理员拥有一切权限。成为超级用户的方法:

1,以root用户名登陆;

2,使用su命令创建一个root用户的子shell,享有超级用户的权限;

3,使用sudo应用程序作为超级用户运行单个命令中国地质大学(武汉)计算机学院Linux操作Linux常用命令lsrmcpcatmvmkdirrmdircdheadtailechodatedfdukillchmodchownchgrpinfomanpwdifconfigwhowfindmounttreegrepawksed中国地质大学(武汉)计算机学院Linux操作man[section]命令名获得联机帮助(manual)man–k命令名帮助手册一般有以下几个主题:(1)用户命令(2)系统调用(3)库函数(4)特殊文件(5)文件格式(6)游戏(7)综合(8)系统管理和特权命令(9)内核接口(不是所有的linux发行版都包括)

中国地质大学(武汉)计算机学院Linux操作例:man2chmodman-kchmod列出手册中所有包含chmod的条目其他获得帮助的方法:1,info命令名2,命令名–help查看帮助信息时按q键退出查看状态。ls显示文件、目录信息ls-adglsFGR文件名例:$ls–lsheart1–rw-r--r–1zjcs213Jan3100:12heart占用几个磁盘块文件类型和权限有几个硬链接文件所有者的用户名文件所有者所在的组名占用字节数日期时间文件名中国地质大学(武汉)计算机学院Linux操作中国地质大学(武汉)计算机学院Linux操作Linux主要文件类型:字符文件类型

-普通文件

d目录

b块文件(例如:磁盘驱动器)c字符文件(例如:终端)l链接文件

p管道

s套接字pwd显示当前路径pwd例:$pwd/home/zj中国地质大学(武汉)计算机学院Linux操作cat/more/head/tail显示文件内容cat文件名显示小文件more–f文件名查看大文件head–n文件名查看文件头几行tail–n文件名查看文件尾几行例:$catheartIhearherbreathing,I’msurroundingbythesound,…中国地质大学(武汉)计算机学院Linux操作mv重命名文件mv–i旧文件名新文件名例:$mvheartheart.var1

$mv-iheartheart.var1提示是否覆盖mkdir创建目录mkdir–p新目录名例:$mkdirmydictionary

中国地质大学(武汉)计算机学院Linux操作cd切换目录cd目录名例:$cd/home/mydictionarycp复制文件cp-ir源文件名目标文件名例:$cpheart.var1heart.var2

中国地质大学(武汉)计算机学院Linux操作rm删除文件rm-fir文件或目录名例:$rmheart.var1删除文件heart.var1$rm*删除当前目录中所有文件

$rm–rlyrics删除目录lyricsrmdir删除目录rmdir目录名例:$cmdirlyrics

中国地质大学(武汉)计算机学院Linux操作wc统计文件字数wc-lwc文件名例:$wcheart.final943213heart.final-l统计行数-w统计字数-c统计字符数不指定选项,则三项都统计time测试执行时间time-p命令名或可执行文件名例:$timelsreal0m0.07suser0m0.02ssys0m0.01s-p选项使结果以不同的显示方式输出

中国地质大学(武汉)计算机学院Linux操作chmod改变文件操作权限chmod-cfvR--help--versionmod

文件名mod:权限设定字符串,格式为:[ugoa…][+-=][rwxX][…]u表示文件所有者;g表示属于同一个group的所有用户;o表示其他以外的用户;a表示三者皆是+表示增加权限;-表示取消权限;=表示唯一设定权限r表示可读;w表示可写;x表示可执行;--help显示辅助说明;--version显示版本;

中国地质大学(武汉)计算机学院Linux操作例:$chmodugo+rfile1.txt$chmoda+rfile2.txt$chmodu+xex1.py$chmodug+w,o-wfile1.txtfile2.txt

用数字表示权限:

chmodabc文件名a,b,c各表示一个数字,分别表示user,group,other的权限r=4,w=2,x=1则rwx4+2+1=7;rw-4+2=6;r-x4+1=5例:$chmod777file.txt$chmod771file.txt

中国地质大学(武汉)计算机学院Linux操作chown改变文件所有者chown-cfvR--help--versionuser[:group]

文件名user:新的文件拥有者的ID;group:新的拥有者的组;例:$chownjessie:usersfile.txt

将file.txt的所有权变更给users组中的用户jessie

$chown–Rlamport:users*

将当前目录下所有文档和子目录都变更给users组中的拥护lamportgroups列出组groups[userID]例:$groups列出当前用户所在的组信息

$groupszj列出指定用户zj所在的组信息

中国地质大学(武汉)计算机学院Linux操作tar压缩与解压缩tar-cfrtuvxz[tarFilename]filelistfilelist中可以包含目录例:$tarczvf×××.tar.gz源文件目录将源文件压缩成.tar.gz文件

$tarzxvf×××.tar.gz目标目录将压缩文件解压到目标目录中

$tarcvf×××.tar源文件目录将源文件打包ar归档模块,组织和分组模块①创建.a归档格式文件;②在归档文件中任意添加,删除,替换,追加任意类型的文件;③获得归档的内容表;例:$arrstring.areverse.opalm.o$arrcslibname.afoo.obar.obz.o$ar–help

中国地质大学(武汉)计算机学院Linux操作Linux系统的文件目录结构(FHS)/fhs//bin;/usr/local/bin;常用命令文件,不能包含子目录/sbin

保存系统管理员或root用户使用的命令文件/boot

存放linux引导文件(主要是内核)/dev

设备文件

/etc

大部分的系统配置文件

/etc/rc.d

运行脚本目录/lib

系统的共享库和内核模块文件/usr;/usr/local

存放不经常变化的内容。/usr/local经常作为应用程序安装位置/proc

虚拟的文件系统,该目录中的文件是内存中的映象,通过查看该目录中的文件可以获取有关系统硬件运行的详细信息/home

系统各个用户的主目录/mnt

为设备提供挂载点,由用户创建子目录

中国地质大学(武汉)计算机学院Linux的文件系统及库管理Linux系统支持的主要文件系统ext2

旧的linux文件系统类型,支持长达255个字符的文件名ext3

大部分linux默认的文件系统,在ext2的基础上增加日志的功能reisefs

新型文件系统,通过完全平衡树来容纳数据。支持海量磁盘和磁盘阵列jfsIBM提供的基于日志的字节级文件系统vfatwindows9x/NT/200x使用的扩展DOS文件系统ntfswindowsNT系列使用

中国地质大学(武汉)计算机学院Linux的文件系统及库管理挂载文件系统mount文件只有经过挂载才能被linux系统识别和访问。文本模式下需手动挂载,窗口模式下可自动挂载。1,mount对象的文件系统类型$cat/proc/filesystemsFAT32:vfatNTFS:ntfsOS2:hpfslinux:ext2,ext3光盘:iso9660

中国地质大学(武汉)计算机学院Linux的文件系统及库管理2,要mount的对象名称$fdisk–l

显示所有分区/dev/hda1/dev/hda2…hd*:表示硬盘,Harddisk/device;sd*:表示SCSIDevice;fd:floppydisk/device;一个IDE接口可以接4个硬盘hda,hdb,hdc,hdd,hda1,hda2,…表示硬盘had上的第n个分区

中国地质大学(武汉)计算机学院Linux的文件系统及库管理3,要将对象mount到哪个目录?在/mnt中建立挂载点/mnt/usb;/mnt/f;/mnt/floppy;/mnt/cdrom,…例:$mount–tvfat/dev/fd0/mnt/floppy$mount–tiso9660/dev/cdrom/mnt/cdrom

中国地质大学(武汉)计算机学院Linux的文件系统及库管理4,在挂载FAT32文件系统的分区时正确显示汉字$mount–tvfat–ocodepage=936,iocharset=gb2312/dev/hda5/mnt/e5,卸载(解挂)$umount/dev/usb$umount/dev/cdrom

中国地质大学(武汉)计算机学院Linux的文件系统及库管理

外部应用程序(mount,rpm,gcc等)shell

包括cd、pwd等内部命令Linux内核Linux应用程序与命令的关系中国地质大学(武汉)计算机学院Linux的文件系统及库管理用户程序Linux应用程序的组成可执行程序库文件配置文件帮助文件中国地质大学(武汉)计算机学院Linux的文件系统及库管理静态函数库扩展名:libxxx.a编译行为:这类函数库在程序中使用的时候,整个函数库的所有数据都整合到执行文件中。即编译时,函数库会加入到执行程序内,所以静态函数库编译成的文件会稍大一些。独立执行状态:优点是可以独立执行,而不需要在向外部要求读取函数库的内容。升级难易度:函数库升级后,需要重新编译可执行文件,才能将新的函数库整合到执行文件中。(缺点)

中国地质大学(武汉)计算机学院Linux的文件系统及库管理动态函数库扩展名:libxxx.so编译行为:在编译的时候,只有一个指向动态函数库的位置(Pointer)。即动态函数库的内容没有包含到执行文件中,而是当执行文件要使用到函数库时,程序才会去读取函数库。由于执行文件中之只包含指向动态函数库的指针,所以它编译的可执行文件稍小一些。独立执行状态:不能独立执行。(缺点)需要使用函数库时,程序会依据指针去动态的读取函数库,所以函数库必须要存在。升级难易度:函数库升级后,可执行文件不需要重新编译,升级比较简单。(优点)

中国地质大学(武汉)计算机学院Linux的文件系统及库管理静态库与动态库类似WINDOWS中的LIB和DLL

中国地质大学(武汉)计算机学院Linux的文件系统及库管理动态函数库的安装与配置

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论