|
首先,继昨天课后留下来给同学答了3个小时疑后,深刻感受到海龙老师的耐心和辛苦。海龙老师一天下来始终保持着帅气迷人的笑容,其人格魅力无穷yeah!介于很多同学觉得老师课上讲了实验怎么做可是原理还是不清楚。我做了这个linux课的总结。目的就是把课堂上的重点结合自己的理解进行讲解,归纳和扩充。方便同学日后复习。同时,结合曾经在ebay实习的经历,我在每个知识点后标出了我认为在实际工作应用时的实用等级。最多三颗星,最低一颗星。方便同学复习时有侧重点。(不过个人主观强些,如有不对欢迎大家即时指出)。其次,结合和linux大师蘑菇的交流,补充了一些上课时没有涉及但是面试时可能会被考到的问题。我认为光扔一堆资料在网上对基础比较差的同学是没有多大帮助的,所以下面的总结都是我自己消化后的结果,而且我只写最最实用的部分。不实用的部分有兴趣的同学可以自己查阅网上资料,或者蘑菇的帖子。http://bbs.51testing.com/viewthread.php?tid=32205
如何使用这个帖子:
第一部分讲了做linux实验前的准备工作。第二到第八部分通过每个具体实验总结其中的重点和涉及的知识,命令用法,并有其中布置的课后练习的详细解答。第九部分总结linux下常用到的一些工具。第十部分对老师上课常用但是前面没有涉及的命令进行了总结。第十一部分对常用的但是上课没有涉及到的命令进行了扩充。在这个帖子未完成前,可能后续部分会发表在随后的回复内。这个问题将会在帖子全部完成后解决
什么人适合阅读这个帖子:
对上课老师讲的知识点有疑问的同学;希望对课上linux知识点进行复习的同学;对课后练习有疑问的同学;懒得看ppt喜欢直击重点的同学
好了,让我们开始吧:
一.Linux实验准备:
要完成Linux课程的全部实验,对于Linux的安装有一定的要求。首先,虚拟机的网络设置要选择”Use bridged networking”, 其次在Linux的安装过程中,在Installation Type下要选择”Server”, Firewall Configuration下要选”No firewall”。在安装包的选择中,Desktop组中可以任选一种图形界面,Application组不必选择,Servers组中选择第一个项目”Server Configuration Tools” 安装,Development组中选择第一个”Development Tools”安装。其中最后一项是必须的,否则是无法使用make命令编译某些软件的源程序的。
最后,在安装Linux的时候要配置好网络。ip地址应配为192.168.0.x (x为255以内的数),子网掩码为255.255.255.0。这里要注意如果你在家里做实验,由于平时连的外网的ip和你Linux上设置的ip相互是ping不通的。所以如果要做实验必须把你windows下的ip同样设为和Linux不同的192.162.0.x.。子网掩码为255.255.255.0。否则你的windows就不能和虚拟机上的Linux相互访问。
-----------------------------------------
二.配置inittab文件以及vi命令的使用
在做实验之前,我们首先要配置/etc/inittab文件使得Linux每次都以命令行模式启动。具体就是把”id:5:initdefault:”中的5改成3。这句话决定了Linux启动时以哪个runlevel运行。runlevel 5代表图形界面,runlevel 3代表命令行界面。
Linux命令介绍: vi
命令描述:文件编辑命令。
重要程度:***
vi 是Linux下最为强大的文本编辑命令之一。其强大的功能来源于其种类繁多的命令。是office办公中Linux环境下常用命令之一。
主要参数说明:
虽然vi命令有许多的参数。但其实用的多不外乎以下几个,其他的命令虽然可以实现更加复杂的编辑功能,但那种情况下不如在windows下编辑好了上传到Linux来的方便。
i :插入模式。顾名思义,按了i以后就可以对文本内容进行添加删除等编辑了。
dd :删除整行
ESC :退回命令模式
w :保存
q :退出
q!:强制退出。当错误的编辑了文件时想退出重新编辑时用
其他参数建议参阅蘑菇帖子里的vi命令png。
-----------------------------------------
三.Webmin实验:光驱的加载以及rpm包的安装
进入第一个实验,我们主意熟悉了Linux下rpm包的安装,以及如何在Linux下加载光驱。其实就是两个命令的熟悉:rpm 以及 mount/umount
Linux命令介绍: rpm
命令描述:用于安装rpm软件包。
重要程度:**
rpm包的软件是Linux下最容易安装的软件方式。但是由于在大企业中Linux是公共使用的系统。应该都已经比较完善了。作为一个新人,不大会有自己在上面安装软件的需要和权限。
主要参数说明:
-qpi 查看软件包里面有什么内容
-qpl 选择安装的方式
-ivh 安装软件包
-e 卸载已经安装的rpm包
-uvh 对新版本的rpm包进行软件升级
Linux命令介绍: mount / umount
命令描述: 装载 / 卸载物理光驱
重要程度:**
在Linux命令行模式下读取cdrom的内容之前需要先装载物理光驱。而且再换新的碟时需要重新加载光驱。但是同样的公司里面很少会用到这个命令,事实上即使在windows下用到光驱的情况也越来越少了。
主要参数说明:
mount的格式很单一。加载命令是 mount /dev/cdrom /mnt/cdrom 卸载命令是 umount /dev/cdrom唯一要注意的是加载光驱时必须在根目录下操作,否则容易出错。
-----------------------------------------
四:VSFTP实验:gzip,tar,chown,chmod,adduser命令的使用,vsftp的配置以及课后练习详解
这个实验介绍了vsftp,它是Linux下一个非常著名的ftp软件功能类似windows下的serveU。本实验在练习了另外一种通过编译方式安装tar包软件的同时教给大家配置vsftp使其实现不同功能的方法。课后练习进一步涉及了chmod命令的使用和vsftp的其他配置。
Linux命令介绍: tar
命令描述: 打包目录到文件,或者还原tar文件成目录
重要程度: ***
比较实用的一条命令.能够把一个目录打包成为单个文件,这样就加快了传输的速度和方便程度.
主要参数说明:
-x 从存档展开文件
-v 详细显示处理的文件
-f 指定存档或设备 (缺省为 /dev/rmt0)
-c 建立新的存档
-r 附加到存档结尾
-z 解压缩gz文件
命令举例:
把soft目录打包成tar文件: tar -cf soft.tar soft
tar文件解包并显示处理文件: tar -vxf soft.tar soft
解压缩gz文件并把文件解包,显示处理文件:tar xzvf usr.tar.gz
Linux命令介绍: gzip
命令描述: 压缩,解压gz包
重要程度: **
当我们从网上下载到一个.tar.gz结尾的安装包时,tar命令只负责把目录打包成文件,而没有压缩的功能.压缩的功能由后面介绍的gzip命令提供.也就因此产生了.tar.gz的后缀.对付这样的文件可以用tar命令的-z参数解压,也可以用gzip命令解压
主要参数说明:
不加参数 压缩并删除原文件
-c 压缩结果输出到标准输出,如不加-c参数,则gzip将压缩为.gz文件并删除源文件。
-d 解压缩。
Linux命令介绍: chmod
命令描述: 更改文件权限
重要程度: ***
这个命令在团队协作是很重要的,因为Linux下你创建的文件默认除了root其他人是没有写权限的.这样一来如果别人要改你的文件特别麻烦.这种情况在你刚进公司还是个新人师傅要帮你修改你创建的文件却受权限限制时特别明显.在这个时候,你就可以用chmod改变你创建的文件权限让组员都可以修改.
主要参数说明:
-v 详细说明权限的变化。
命令举例:
把文件权限改变为属主,组员,其他用户全部可读可写可执行: chmod 777 jian.txt
其中777的意思就是设置文件的权限为111 111 111(二进制) 111中每一位对应的分别是rwx权限,0则代表相应权限被禁止.二进制转换成的十进制数就是紧跟在chmod命令后的数字.如755(111 101 101)表示的权限就是属主可读,写,执行,同组成员和其他成员可读,执行.
Linux命令介绍: useradd
命令描述:创建新的账号或更新已有账号的信息
重要程度:**
这个命令就是加人,你进公司了,主管用这个命令给你建个账号。但是由于这个命令只有root权限才能调用,所以作为新人你也没有太多机会使用这个命令。但是如果你自己建立了vm上的linux,那么你是老大你说了算。这个命令就变得实用起来了。
主要参数说明:
-d home_dir 新帐号每次登入时所使用的home_dir。预设值为default_home内login名称,并当成登入时目录名称。
-s shell 使用者登入后使用的shell名称。预设为不填写,这样系统会帮你指定预设的登入shell。/sbin/nologin 即为不能通过命令行登陆linux,一般为ftp登陆帐号设置
Linux命令介绍: chown
命令描述:改变目录或文件的属主或组员
重要程度: **
同样是一个root的超级权限命令。限制了这个命令的使用机会。不过单就命令本身来讲,还是很有用的。
主要参数说明:
-R 递归的方式,就是说目录和目录以下的所有文件全部更改拥有者
-V 执行后会告诉您chown这个程序做了什么事
命令举例:
把/var/ftp及其子目录和子文件的属主改成ftpuser,组员改成root,显示详细信息
chown -RV ftpuser:root /var/ftp
VSFTP的配置:
vsftp的功能实现主要是在/etc/vsftpd.conf文件中实现的."#"符号在linux文件的配置文件中起注释作用,当我们删除了某一行前的#时,该行也就相应的起作用.以下是vsftp的一些主要配置.
anonymous_enable=YES 是否允许匿名ftp,如否则选择NO
local_enable=YES 是否允许本地用户登录
local_umask=022 默认的umask码
anon_upload_enable=YES 是否允许匿名上传文件
anon_mkdir_write_enable=YES 是否允许匿名用户有创建目录的权利
idle_session_timeout=600 设置默认的断开不活跃session的时间
data_connection_timeout=120 设置数据传输超时时间
chroot_local_user=YES 是否将使用者限制在自己的主目录之内
listen=YES 服务器以standalong模式运行即手动以vsftpd & 命令打开vsftp服务.当选择改模式时需
把Linux system service下的vsftpd关掉,避免每次系统启动时自动加载vsftp服务
max_clients=100 设置最大访问数为100
max_per_ip=5 每个ip允许5个线程访问
课后练习详解:
课后练习
–根据Manpage of VSFTPD_CONF中各配置项的描述完成下面的FTP搭建,要求:
–Upload目录可以上传,其他目录用户不能上传,仅能下载
–限定只有ftpuser可以登录FTP–限定ftpuser登录后只能在安装时指定的目录,而不能进入其他目录
–限定用户ftpuser不能更改目录的文件的权限–限定最大并发访问数为50,每个IP最多5个线程
解答:
首先配置/etc/vsftpd.conf
anonymous_enable=NO //禁止匿名登陆
local_enable=YES //在 /etc/passwd 内的账号才能以实体用户的方式登入
write_enable=YES //允许写操作(须结合帐号Linux下具体权限)
local_umask=022 //设定umask码
chroot_local_user=YES //将使用者限制在自己的主目录之内
listen=YES //服务器以standalong模式运行
max_clients=50 //最大访问数为50
max_per_ip=5 //每个ip允许5个线程访问
然后在Linux下对于目录进行操作
chown -R ftpuser:root /var/ftp //把/var/ftp即其子目录的属主改成ftpuser,组员改成root
mkdir /var/ftp/upload //建立/var/ftp/upload目录
chmod 555 /var/ftp //把/var/ftp的权限改为属主组员以及其他成员可读不可写
chmod 755 /var/ftp/upload //把upload目录设置为属主可读可写(实现Upload目录可以上传,其他目录用户不能上传,仅能下载)
-----------------------------------------
五:Apache实验:dos2unix / unix2dos命令的使用及ccb的安装
这个实验如果前面的命令掌握的好是没有什么好说的,重点是后面结合Tomcat配置安装的课后练习。不过因为必须用到java环境,所以Tomcat的配置放到后面说。
Linux命令介绍: dos2unix / unix2dos
命令描述: 把dos格式的文本文件和unix格式的文本文件互换
重要程度: ***
dos格式和unix格式的文本文件主要区别是两个系统下文本文件中用的换行符不一样. ("13 10" 和 "10"),因此在使用时要相互转换.否则作为配置文件的话会出错.windows下的著名编辑软件ultraedit同样可以实现上述功能
ccb的安装.
重要程度: *
ccb本身的安装实用程度不大.主要在这里可以练习重要命令chmod的使用,以及强化绝对路径和相对路径的概念.另外还出现了*的实用,不过大家都是业内人士了.*, ?匹配符号不会不知道吧?
[ 本帖最后由 Oh!My 于 2006-8-20 21:20 编辑 ] |
|