《Linux环境高级编程基础知识.ppt》由会员分享,可在线阅读,更多相关《Linux环境高级编程基础知识.ppt(57页珍藏版)》请在三一办公上搜索。
1、Linux环境高级编程基础知识,主要内容,Linux介绍Linux文件结构Linux常用命令,Linux是什么?,Linux是类Unix操作系统,具有Unix的许多特点,能运行主要的UNIX工具软件、应用程序和网络协议。Linux是一个支持多用户、多进程、多线程、实时性较好、功能强大而稳定的操作系统。,Linux可以免费使用,遵循GPL(the GNU General Public License)声明,可以自由修改和传播。,Linux是目前运行硬件平台最多的操作系统,它可以运行在x86 PC、Sun Sparc、Digital Alpha、680 x0、PowerPC、MIPS等平台上。Li
2、nux是完全符合POSIX(The Portable Operating System Interface)标准的操作系统。,Linux的特点,真正的多用户、多任务操作系统;是符合POSIX标准的系统;提供shell命令解释程序和编程语言;提供强大的管理功能,包括远程管理功能;(SSH)具有内核的编程接口;具有图形用户接口;(KDE/Gnome)具有大量有用的实用程序和通信、联网工具;Linux系统组成部分的源代码是开放的,任何人都能修改和重新发布它;Linux系统不仅可以运行自由发布的应用软件,还可以运行许多商业化的应用软件;它可以运行在几乎所有硬件平台上。,1984年,GNU项目开始,旨在
3、开发一个类似Unix、并且是自由软件的完整操作系统GNU系统。(GNU 是“GNU is Not Unix”的递归缩写)。1991年,GNU计划已经开发出了许多工具软件,最受期盼的GNU C编译器已经出现,GNU的操作系统核心HURD一直处于实验阶段,没有任何可用性,实质上也没能开发出完整的GNU操作系统,但是GNU奠定了Linux用户基础和开发环境。1991年初,林纳斯托瓦兹开始在一台386sx兼容微机上学习minix操作系统。1991年4月,林纳斯托瓦兹开始酝酿并着手编制自己的操作系统。1991年的10月5日,林纳斯托瓦兹在comp.os.minix新闻组上发布消息,正式向外宣布Linux
4、内核的诞生(Freeminix-likekernel sources for 386-AT)。1994年3月,Linux1.0发布,代码量17万行,当时是按照完全自由免费的协议发布,随后正式采用GPL协议。Linux与的结合后,吸引了众多的开发人员,并将项目下的库、Emacs、bash等移植到linux内核中。,Linux简史,理查德马修斯托曼(Richard Matthew Stallman,RMS,生于1953年),自由软件运动的精神领袖、GNU计划以及自由软件基金会(Free Software Foundation)的创立者、著名黑客。他的主要成就包括Emacs及后来的GNU Emacs
5、,GNU C 编译器及GNU 调试器。他于1989年与一群律师起草了广为使用的GNU通用公共协议证书(GNU General Public License,GNU GPL),创造性地提出了“反版权”(或“版权属左”,或“开权”,copyleft)的概念。,GNU/Linux,GNU/Linux,李纳斯托沃兹,linux之父,全名Linus Benedic Torvalds,芬兰人,出生于1969.12.28。从1991年4月份起,LinusTorvalds开始酝酿并着手编制自己的操作系统。刚开始,他的目的很简单,只是为了学习Intel 386体系结构保护模式运行方式下的编程技术。但后来Linu
6、x的发展却完全改变了初衷。,开源软件(open source software)自由软件(free software)免费软件,开源软件vs自由软件,Linux和Windows比较,Linux和Windows比较,Linux和Windows两个操作系统各有优缺点,两者也在很多情况下在互相借鉴,互相融合。,在易用性方面,Windows仍然处于优势在灵活性方面,Linux则占据上风 在安全性方面,Linux系统比Windows系统好 在软件支持方面,一直是 Windows 的强项Linux的真正优势是服务器操作系统,Linux操作系统源代码公开和免费的特点,使它迅速发展壮大,赢得了许多大型软件公司
7、的支持。Linux的应用领域:Linux服务器(中低端的应用服务器)嵌入式Linux系统(信息家电、智能仪表)桌面市场(办公软件、电子政务),Linux的应用领域,Linux的版本,Linux只是一个内核。为了安装方便,将linux内核,系统软件,应用软件打包在一起发行,称作发行版本。,Linux的版本分为发行版本和内核版本,而内核版本又分为开发版本和稳定版本,开发版本和稳定版本是相互关联的。,Linux的内核版本,Linux的内核版本号有三个数字组成:r.x.yr:目前发布的Kernel版本x:偶数:稳定版本,奇数:开发中版本y:错误修补的次数.范例:kernel 2.0.38;kernel
8、 2.6.13-17,linux内核网站:http:/www.kernel.org/,Linux的内核版本,查看内核版本命令:uname acat/proc/version,Linux的发行版本,Linux 发行套件(Distribution):以Linux Kernel为核心,搭配各种应用程序和工具。,许多个人、组织和企业,开发了基于GNU/Linux的Linux发行版。目前有200余种Linux Distribution,Linux发行版大体可以分为两类:商业公司维护和社区组织维护。前者以著名的Redhat(RHEL)为代表,后者以Debian为代表。,查看发行版本命令:cat/etc/i
9、ssue cat/etc/redhat-release,Linux的发行版本,Linux的发行版本,比较流行的Linux发行版本:Red Hat:http:/Mandrake:http:/www.linux-http:/http:/http:/www.debian.org/CentOS:http:/www.centos.org/Ubuntu:http:/,Linux的安装,Linux硬件要求:Linux内核运行对硬件的要求很低;在嵌入式系统中使用的Linux内核大多不到100K;Linux服务器版或者桌面版相对比较庞大,例如:RedHat Enterprise Linux 5完全安装大概需要占
10、用5G左右的磁盘空间,最小安装也在1G以上;系统的最小内存为512M,推荐配置在1G以上。,Linux的安装,三种安装方式:光盘安装 硬盘安装 网络安装,Linux文件结构,Linux 操作系统里,一切皆文件,普通文件文本文件二进制文件 可执行程序,声音,图像文件目录文件链接文件硬链接:相当于一个文件的两个副本,指向同一数据存储区软链接:相当于一个文件的快捷方式,Linux文件类型,设备文件/dev/ttys1:标准终端/dev/hda:第一块IDE硬盘 管道文件例:用户使用lp打印一个文件时,lp建立打印进程并向一个管道发送信息,Linux文件类型,用颜色代表不同文件:蓝色:目录绿色:可执行
11、文件红色:压缩文件浅蓝色:链接文件灰色:其他文件,Linux文件类型,Linux文件属性,Linux文件属性,Linux文件结构,/etc是etcetera的缩写。存放系统配置文件和子目录,它是系统中最重要的目录之一,用户要用到的网络配置文件、文件系统、X-Windows系统配置文件、设备配置信息、设置用户信息等都在这个目录下。/var 主要存放一些系统运行时要改变的数据。比如spool目录(mail、news、打印机等用的),log文件、formatted manual pages和暂存文件。/usr用户所有程序几乎都安装在这里,Linux系统中占用空间最大的目录。/usr/share/ma
12、n,/usr/local/man:这两个目录为放置各类套件说明档的地方,例如你如果执行 man man,则系统会自动去找这两个目录下的所有说明文件/bin,/sbin,/usr/bin,/usr/sbin:放置系统预设的可执行文件,其中,/bin,/usr/bin 是给系统使用者使用的指令,而/sbin,/usr/sbin 则是给系统管理员使用的指令,几个重要的目录,Linux 系统区分英文字符的大小写。命名目录和命名文件的规则是相同的。在Linux下以.开头的文件是属于隐藏文件。Linux 系统下的文件名长度最多可到256个字符。通常情况下,文件名的字符包括:字母、数字、“.”(点)、“_”
13、(下划线)和“-”(连字符)。和DOS一样,“.”和“.”分别用来表示“当前目录”和“父目录”,因此它们也不能单独作为文件名。“/”既可代表目录树的根也可作为路径名中的分隔符(类似DOS下的“”),因此“/”不能出现在文件名中。文件名中可以有(空格),但建议用户用_(下划线)来替代。有些转意字符在shell中有特殊的含义,在文件名中应尽量避免使用这些字符。这样的转意字符有:?(问号),*(星号),(空格),$(货币符),&,扩号等等。,Linux文件命名规则,Linux常用命令,区分大小写command为命令的名称(系统命令一般都是小写)中括号不存在,只是表示可选,进行参数设定时,通常为“-”
14、,若为完整参数名称,则输入“-”符号command options arguments这几项之间以空格隔开,空格无论多少,都视为1个指令太长时,可以使用“”继续到下一行,命令提示符表示命令输入的状态管理员root用户的提示符“#”rootlocalhost#普通用户提示符“$”teacherlocalhost$,Linux常用命令,相对路径是以“.”或“.”开始的目录路径表示形式 cd./testls./bin绝对路径是以“/”开始的路径表示形式 ls/cd/home/表示用户主目录;“-”表示进入此工作目录前所在的目录./表示当前目录;./表示父级目录,Linux常用命令,help命令$he
15、lp pwd“-help”命令选项$touch-help使用man命令阅读手册页$man ls使用info命令阅读信息页$info ls,获得命令帮助,文件、目录操作命令,目录操作命令ls pwd cd mkdir rmdir文件操作命令touch cp rm mv find 文本文件查看命令cat more lesshead tail,目录操作命令,目录操作命令实例,列目录$ls$ls-l显示当前目录名称$pwd更改当前目录$cd/etc$cd./bin建立和删除目录$mkdir mydir$rmdir mydir,文件操作命令,文件操作命令实例,建立空文件$touch tfile文件查找按
16、文件名进行查找$find.-name file*按文件属主进行查找$find.-user teacher,复制和删除文件$cp filea fileb$rm filea文件移动与重命名$mv filea fileb$mv filea dira/,文本文件查看命令,文本文件查看命令实例,显示文本$cat/etc/passwd 分页显示文本$more/etc/passwd分页文本浏览$less/etc/passwd显示文件首$head-5/etc/passwd显示文件尾$tail-5/etc/passwd,用户系统命令,用户系统命令命令实例,变更用户身份$su root 显示所有终端机下执行的程序
17、$ps-af强制杀死进程$kill-9 1101,网络相关命令,网络相关命令实例,显示网络设备信息$ifconfig配置eth1网卡地址为192.168.1.6,子网掩码255.255.255.0$ifconfig eth0 192.168.1.6 netmask 255.255.255.0,对文件和目录进行归档$tar cf myfiles.tar files/对文件和目录进行压缩归档$tar czf myfiles.tar.gz files/,tar命令建立归档,查看归档文件中的目录列表$tar tf myfiles.tar查看压缩归档文件中的目录列表$tar tzf myfiles.ta
18、r.gz,查看归档中的文件列表,恢复归档文件$tar xf myfiles.tar恢复压缩的归档文件$tar xzf myfiles.tar.gz恢复归档文件到指定目录$tar xzf myfiles.tar.gz-C restore/,恢复归档文件,用户管理命令,用户帐号管理,建立用户帐号#adduser st01设置用户口令#passwd st01删除用户帐号#userdel-r st01,用户组管理命令,用户组管理命令实例,添加用户组#groupadd class1 在建立用户时指定用户组#adduser-g class1 st03删除用户组#groupdel class1,查看文件的权
19、限属性,文件权限(-rw-r-r-),#ls-l install.log-rw-r-r-1 root root 26195 Dec 17 10:42 install.log,使用chmod命令更改文件属性,chmod命令用于更改文件对于某类用户的操作权限 chmod ugoa.+-=rwx FILE.,使用chmod命令更改文件属性,用户和组:u-文件拥有者;g-文件所属组;o-其它用户权限:r-读权限;w写权限;x执行权限(对于目录来说,表示切换到该目录)权限数字代号:r:读取权限,数字代号为“4”。w:写入权限,数字代号为“2”。x:执行或切换权限,数字代号为1。-:不具任何权限,数字代号
20、为0。,文件权限设置实例,使用chmod命令设置文件权限查看文件权限$ls-l afile-rw-rw-r-1 st01 class1 0 Apr 3 16:52 afile增加文件属主st01的执行权限(x)$chmod u+x afile去除文件属组class1的写权限(w)$chmod g-w afile设置其他用户的文件权限为可执行$chmod u=rw,g=rw,o=r afile 等价于chmod 664 afile,设置文件属主和属组,chown命令用于设置文件的属主和属组命令格式chown OWNER:GROUP FILE.设置文件afile的属主为用户st01#chown s
21、t01 afile 设置文件afile的属组为用户组class1#chown:class1 afile设置文件afile的属主为st03,并设置文件的属组为class2#chown st03:class2 afile,shutdown-h now 关闭系统(1)shutdown-h hours:minutes&按预定时间关闭系统 shutdown-c 取消按预定时间关闭系统 shutdown-r now 重启(1)init 0 关闭系统(2)telinit 0 关闭系统(3)reboot 重启(2)logout 注销,开关机命令,其它,clear-清屏date-显示日期cal-显示指定年月的月历echo 显示文字,