Linux OS与编程环境
周旭
coursebox@https://www.doczj.com/doc/5018731655.html,
计算机学院网络教研室
学习内容
z Unix/Linux的发展历史z Shell命令(vi/vim编辑器) z Shell编程(Bash)
z在Linux环境下用C编程
学习Linux的步骤?
z掌握一种shell(包括shell命令和shell编程)
z用C/C++在Linux下编程
z编写GUI程序(Gnome、KDE等)
z学习系统管理(工作站、网络、服务器)
z分专题深入学习(内核结构、内存管理、线程与进程、进程间通信、安全问题等)
本课程的特点
z是Linux的入门课程(first course)
z以实践为主(以shell为主)
z书籍只能作为参考,不能作为标准
z不要用windows的使用习惯来使用linux
z要习惯于文本模式(TUI),或者说命令行模式z不可以单纯靠热情来学习,还要有耐心,要经受
得起打击
z要大胆假设和猜测,并实践检验
关于英文(影印版)教材
z教材是《Unix的初级教程》电子工业出版社
z比其他Unix的英文教程容易懂
z阅读英文的教程利于在Linux的英文环境中尽快适应
z我们的讲义有英文也有中文
z书上的例子有些在我们的Linux环境中也是无法使用的
关于上机实验
z上机实验是关键的学习环节
z不认真上机练习就什么都学不到
z基本上是隔周上机,练习上堂课讲述的内容
z上机时间安排在上课同步的时间,会分为两批z如果本周上机,则本周就不上课
z有三次实验报告(基本命令、shell编程、C语言编程)
z不得玩游戏和聊天
关于上机实验(续)
3月7日的上机安排
z时间:3月7日8:00-10:00-12:20
z登录与注销
z练习文件命令、目录命令
Cat、more、less、ls、cp、cd、mkdir、rm、mv等z**练习阅读ls命令的帮助man ls
Linux/Unix历史与概述
z Unix历史
z Linux/Minix/Unix
z Linux是类Unix系统(POSIX)
–用户级接口各种管理器
–程序员级接口系统调用
z适应于多种硬件平台(Alpha、MIPS、Motorola、Sparc、PPC等),适于嵌入式系统的应用
Linux/Unix历史与概述(续)
z Linux的内核结构是模块结构,可以动态加载,适于嵌入式系统
z Linux的开发模式不同于软件工程开发模式
z内核版本双树系统(稳定树、开发树)x.y.z y-偶数-稳定树y-奇数-开发树
z发展方向(硬件支持、嵌入式系统、分布式系统)
Linux的基本命令(Shell command)
z什么是shell?
z都有什么shell?(sh、bash、ksh、csh等)
z登录login:stu01
password:student01
注意:case sensitive(uppercase/lowercase)
z提示符#、$
z注销exit/logout/Ctrl+D
Bash Shell command
z重启动reboot
z关闭系统halt
问题:直接关闭电源是否可以?为什么?
z文件命令/file command
–查看文件内容
cat file1 一次显示全部文件内容
more file1 分页显示,回车下一行,空格下一页less file1 分页显示,同上,b上一页
zless file1 分页显示压缩文本文件
第二次上机(3月21日)
z继续练习新的基本命令
z体会正则表达式
z练习使用vi编辑器(用vi编辑器编写如下文档)z实验报告
Bash Shell command z使用联机帮助
–man
–man cat
–man less
Bash Shell command
–ls命令
z ls-l 按完整格式显示目录及文件信息(权限、所有者、文
件大小、修改时间、文件名)
r-读w-写x-执行
owner/group/others
z ls-a
z ls-i
z ls-al
Bash Shell command
–cp 复制文件
cp /root/.[a-z]* /temp
以“.”开头的文件是隐藏文件,正则表达式/通配符。*.c、a?b.c –rm命令删除文件或目录-f -r
–mv命令移动/更名文件
z目录命令/directory
–pwd显示当前位置
–cd切换目录cd. cd.. cd=cd~=cd$HOME
–mkdir创建目录
–rmdir删除目录(空目录)
Bash Shell command
z查找命令/search
–find在目录中查找文件
find 起始路径选项
find ./user01/ -name file1.doc
find ~ /Bill ~ /Denis -size +1000 -atime30 -ok rm{ } \;
–grep在文件中查找字符串
grep表达式目标文件
z grep“abc”file1
z ls–l | grep“^-r.x”
正则表达式(Regular Express)
. 任意一个普通字符
^ 行的开始
$ 行的结束
[…] 在[…]列表中的任意一个字符
[^…] 不在列表中的任一字符
Bash Shell command
z grep‘^user01::’/etc/passwd
z排序/sort
–sort 对文本文件的内容排序
–sort -r 反向排序
–ls| sort -r
z比较/compare
–cmp发现第一处不同停止
–comm显示两个文件的相同与不同之处
–diff 按行比较不同,显示所有不同的行的信息
第三次上机(4月4日)
z继续练习基本命令
z继续练习vi编辑器的使用
z编写课堂shell script的例子,并使之运行
z编写一个自己的shell script例子,并使之运行z完成实验报告:自己编写三个功能不同的Shell
脚本,解释其原理或思路,并给出运行结果。