16、在linux中国的每一个用户必须属于一个组,不能独立于组之外。
在linux中每个文件有一下几个属性:
(1)所有者
(2)所在组(3)其他组(4)改变用户所在的组
解析:
(1)所有者:
文件的创建者,ls–ahl:
查看所有者chown:
修改所有者
(2)所在组:
当某个用户创建一个文件后,文件所在组就是用户所在组;
ls-ahl:
查看所有组
chgrp:
修改所在的组;举例:
chgrp–ryaoguai/home/shaseng
注:
-r:
递归的改变目录及其所有的文件和子目录的属性
(3)其他组:
除开文件的所有者和所在组的用户外,系统的其他用户都是文件的其他组
17、用户组的操作:
(需要root用户或者具有root权限的角色(用户))
(1)添加用户组:
groupadd组名字
(2)删除用户组:
groupdel组名字
(3)查看所在组信息:
vi/cat/etc/group
注:
vi表示可以编辑查看的内容,cat只能查看不能修改目标内容
(4)创建用户的同时指定用户所在组:
useradd–g组名字用户名
(5)查看用户所在组信息:
vi/cat/etc/passwd;
查询结果解析:
(6)查看当前用户:
whoami
(7)修改用户所在组:
usermod–g组名用户名
(8)关于权限的问题:
注:
权限分三种:
r:
可读,用4表示;w:
可写,用2表示;x:
可执行,用1表示(简单理解为能访问文件夹)
18、修改权限:
chmod777文件名/文件夹名
注:
第一个7:
所有者的权限
第二个7:
所在组的权限
第三个7:
其他组的权限
要修改权限,首先要找到待修改的文件或文件夹,修改文件夹的权限不一定修改里面文件的权限
作业:
练习文件权限管理:
(1)建立两个组(神仙、妖怪)
(2)建立四个用户(悟空、八戒、唐僧、沙僧),设置密码
(3)把悟空、八戒放在妖怪组,唐僧、沙僧在神仙组
(4)用悟空建立一个文件(monkey.java,内容自定)
(5)给八戒一个可以rw的权限
(6)八戒修改monkey.java,添加内容Iampig.
(7)唐僧、沙僧对该文件无权限
(8)把沙僧放入妖怪组
(9)让沙僧修改monkey.java,加入“我是沙僧,我是妖怪”
第二天
1、linux中J2EE环境的搭建:
(1)下载好需要的相关包,包括JDK,eclipse,Myeclipse,tomcat,利用winiso软件制作一个.iso文件,在虚拟机的"虚拟机"选项中"设置"中"CD/ROM"进行设置:
(2)挂载镜像文件:
cd/mnt/cdrom切换到到虚拟光驱目录中,使用mount/mnt/cdrom,将文件挂载到虚拟光驱中。
(卸载:
umount/mnt/cdrom)
(3)将目标文件(待安装的文件)复制到一个需要安装的位置(注:
所有实例均在/home中进行安装演示):
cp文件的名字/home(需要安装的位置,此处以/home为例)。
若文件的扩展名为.bin,则可以直接使用./文件名直接进行安装;若扩展名为.tar.gz使用tar–zxvf文件名。
(注:
linux中的配置多需要重新登录才能生效)
(4)先安装JDK,安装完成后,需要进行相关的配置:
使用vi/etc/profile进行配置:
JAVA_HOME=/home/j2sdk1.4.2_19
PATH=$PATH:
/home/j2sdk1.4.2_19/bin
CLASSPATH=.:
/home/j2sdk1.4.2_19/jre/lib/rt.jar
exportJAVA_HOMEPATHCLASSPATH(导入到环境变量中,不能省略)
重新登录,使用javac和java分别测试安装情况,若安装安装和配置成功,则系统会给出相应的提示。
(5)安装eclipse、MyEclipse及其他软件:
基本步骤和上面相同。
注:
以上软件的启动需要在图形用户界面才能启动,MyEclipse必须在图形用户界面才能安装成功。
安装完成MyEclipse后重启eclipse,菜单栏中会自动添加"MyEclipse"菜单项。
(6)启动eclipse:
cd/home/eclipse//ls–l查看到的绿色eclipse为可执行文件
./eclipse
(7)安装完tomcat后需要进行配置:
vi/etc/profile
CATALINA_HOME=/home/tomcat的安装路径
exportCATALIINA_HOME(此处可直接和前面进行合并)
注:
未实际安装tomcat,所以上图中tomcat路径省略,安装完成后需要在MyEclipse中进行相关配置,在启动eclipse时使用./eclipse&可以让eclipse在后台运行,将控制台交还给用户
(8)若通过以上的方法进行安装,需要将所有的文件都打包为.iso文件进行挂载才能被执行(包括视频)。
2、Linux分区:
(1)硬盘分区分为两种:
基本分区和扩展分区
(2)基本分区和扩展分区数目之和不大于4
(3)基本分区可以立即使用,但不能再次进行分区,扩展分区必须进行再分区才能使用。
扩展分区分出的是逻辑分区,理论上逻辑分区无数量限制。
3、对linux用户来说,无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构。
Linux中每个分区都是用来组成整个文件系统的一部分,它采用一种叫做"载入"的处理方法,它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来,这时要载入的分区将使它的存储空间在一个目录下获得。
fdisk–l:
查看linux系统分区具体情况
解释:
sd代表SCSI磁盘,a表示第一块硬盘,1表示第几个分区
扩展阅读:
对于IDE硬盘,驱动器标识符为"hdx~",其中,"hd"表明分区所在设备的类型,此处指IDE硬盘。
"x"为盘号(a为基本盘,b为基本从属盘,c为辅助主盘,d为辅助从属盘),"~"代表分区,前四个分区分别用数字1~4表示,他们是主分区或者扩展分区,从5开始就是逻辑分区。
对于对于SCSI硬盘则标识为"sdx~",SCSI硬盘是用"sd"来表示分区所在设备的类型,其余和IDE相同。
例1:
hda3:
表示为第一个IDE硬盘的第三个主分区或者扩展分区。
例2:
证明上面的一段话(蓝色部分):
cd/boot//切换到boot目录下
ls//此时会列举出boot下面的所有文件
cd..//切换到上一级目录中
umount/boot//卸载boot目录,此时查看boot目录,里面没有任何文件
mount/boot//挂载文件到boot下,查看之前的所有文件再次显示出来
反过来证明:
同样可以将分区挂载到指定的目录下
cd/home//切换到/home目录下
mkdirtest//新建一个名为test的文件夹
cd..//切换到上一级目录
mount/dev/sda1/home/test//将第一个分区挂载到test目录下
ls//此时boot中的文件同样也挂载到了/home/test目录下
4、其他磁盘分区相关指令:
df[目录全路径]:
查看某个目录的分区情况
df–l:
查看磁盘的使用情况
5、浅谈linux系统分区:
建议分区:
①/boot分区:
100M
②swap:
交换分区,大小一般为物理内存的2倍,但一般不大于256M。
③/:
根分区,尽可能大
6、练习:
(1)安装JDK,并在/etc/profile中配置环境变量
(2)使用vi开发一个MyPrint.java程序,功能:
可以接受一个大于0的整数,并在控制台输出对应菱形,注意要求在任意路径都可以执行该程序。
(3)安装eclipse软件,并开发出一个图形界面程序:
(4)安装并配置myeclipse和tomcat,开发一个hello.jsp,可以通过linux自带浏览器访问
(5)安装mysql数据库。
第三天
1、每个用户在登录linux后,系统会根据用户的权限,使用不同的符号进行表示:
#:
管理员$:
普通用户
2、作为命令语言互动式地解释和执行用户输入的命令只是shell功能的一方面,shell还可以用于程序。
它提供了定义变量和参数的字段及丰富的程序控制结构。
使用shell编程类似于DOS中的批处理文件,称为shellscript,也叫shell编程或shell命令文件。
3、Shell编程书籍推荐:
《linux命令编辑器和shell编程》、《linux与unixshell编程指南》、《tcp-ip-illustrated》(斯蒂文斯)、《vi的使用》
4、Shell常用的种类:
Shell名称命令名称
Bourne/bin/bash
C/bin/csh
Kom/bin/ksh
查看系统中shell的种类:
ls–l/bin/*sh//*通配符,显示以sh结尾的项
查看目前使用的shell的种类:
env[|more]显示当前系统的环境变量
5、修改当前系统使用的shell:
chsh–s[新shell名称]
注:
不同的shell支持的命令不同
6、命令补全功能:
输入文件开始的几个字符,敲击两次"tab"键则给出相应的提示,若再输入,则继续缩小范围,也可以用于统计linux的指令数目
7、historynum:
查询命令使用的历史记录,num表示最近执行的几条指令
!
5:
说明执行历史编号为5的指令
!
ls:
说明执行最后一次以"ls"开始的命令
8、TCP/IP是UNIX/linux世界的网络基础,在某种意义上,UNIX网络就是TCP/IP,而且TCP/IP就是网络互联的标准。
它不是独立的,而是一组协议,包含tcp,ip,udp,arp,rarp等协议。
9、TCP/IP的OSI模型:
(此处请参照计算机网络课程讲解)
10、每个internet上的主机和路由器都有一个ip地址,它包含网络号和主机号,目前所有ip都是32位的,ip地址按照国际标准,划分为:
a、b、c、d、e五种类型;
11、查看本地到目标机之间的路由个数(路由追踪):
traceroute目标域名或ip
查看网络配置:
ifconfig(UNIX/LINUX)ipconfig(windows)
快速查看网络是否连通:
ping目标ip或域名
12、特殊的IP地址:
(1)255.255.255.255//局域网广播
(2)网络号111…111//对一个子网广播
(3)127.除全0和全1的任意值//网络回路
13、Linux网络配置:
(1)第一种
1setup,按提示进行操作
2配置生效运行/etc/rc.d/init.d/networkrestart
(2)第二种
1ifconfigeth0IP地址
2ifconfigeth0networkIP地址(对子网掩码设置)
注:
此方法为立即临时生效,关机重启,IP恢复为原来的值。
(3)第三种
1修改/etc/sysconfig/network-scripts/下的ifcfg-eth0文件,此文件可修改IP,子网掩码,广播地址,默认网关
2配置生效运行:
/etc/rc.d/init.d/networkrestart
注:
此方法为最底层的修改
ifcfg-eth0文件:
14、RPM管理:
一种用于互联网下载包的打包及安装工具,生成的文件扩展名为.prm(软件管理工具)
15、RPM包的名称格式:
apache-1.3.23-11.i386.rpm
"apache":
软件名字
"1.3.23-11":
软件的版本号,包括主版本号和次版本号
"i386":
软件运行的硬件平台要求
"rpm":
表示这是一个rmp包
16、rpm常用命令:
(1)rmp–qa:
查询安装有哪些rpm包(需要联合管道命令一起,方便查看)
举例:
rmp–qa|more[|grepn](结合前面所述理解本条指令)
(2)rpm–q软件包名:
查看是否安装某包
(3)rpm–qi软件包名:
查看软件包信息
(4)rpm–ql软件包名:
查看软件包中的文件
(5)rpm–qf文件全路径:
查询文件的所属包
(6)rpm–qp包文件名.rpm:
查询包的信息对这个软件包的介绍
17、安装RPM包:
(1)rpm–iRPM包全路径名称
(2)rpm–ivhRPM包全路径(i=install【安装】v=verbose【提示】h=hash【进度条】)
(3)删除PRM包:
rpm–e[--nodeps]包名(若产生错误信息,则用--nodeps强制删除,不能乱用)
(4)升级rpm包:
rpm–URPM包全路径;例:
rpm–Ucvs-1.11.2-10.i386.rpm
18、SMB通信协议采用的是C/S结构。
SAMBA软件分为客户端及服务端两部分,通过执行SAMBA客户端程序,linux主机可使用网络上的windows主机所共享的资源。
而在linux主机上安装SAMBA服务器,则可使windows主机访问samba服务器共享的资源。
19、SAMBA安装:
(1)检查是否安装了samba:
rpm–q软件包名;
(2)需要的samba文件:
samba-common.rpm【首装】,samba.rpm,samba-client.rpm
(3)卸载:
rpm–e包名【可以使用*通配符进行批量复制/删除】
(4)开始安装
(5)创建用户并设置用户密码
(6)给新建用户设置samba密码:
cat/etc/passwd|【grep用户名|】mksmbpasswd.sh【这个是一个脚本文件】>/etc/samba/smbpasswd【samba用户】【全句为将/etc/passwd中的所有用户都添加到samba中,可使用grep进行过滤】
设置samba密码:
smbpasswd用户名
(7)samba相关服务:
servicesmbstart【启动服务】
servicesmbstop【停止服务】
servicesmbrestart【重启服务】
(8)可能需要关闭防火墙:
/etc/rc.d/init.d/iptablesstop【start[启动]restart[重启]】
(9)在windows中通过运行\\目标机IP访问目标机的共享文件夹
20、其他网络配置:
ifconfigeth0up/down【打开或禁用eth0】
/etc/rc.d/init.d/xinetdrestart【重启生效配置】
21、关于samba的配置:
/etc/samba/smb.conf
(1)comment:
针对共享资源文件所做的说明文字,默认空字符串
例:
comment=dirforhero,共享hero这个目录(用户)
(2)path:
若共享的资源是目录,则指定该目录的目录
例:
path=/tmp,共享tmp目录
(3)guestok=yes:
允许用户不使用账号和密码访问
guestok=no:
用户必须使用账号和密码访问
(4)hostsallow(deny)=192.168.0.1192.168.0.4允许/拒绝来自192.168.0.1/4的访问
(5)readonly=yes/no:
共享资源是否为只读
(6)writable=yes/no:
是否允许写入
(7)browseable=yes/no:
是否允许查看此资源
(8)available=yes/no:
是否启用资源共享
22、练习:
(1)建立自己的tomcat服务器,并能够正常在linux的浏览器中访问
(2)修改server.xml文件,将其监听端口80改为12280,并重启服务
(3)把tomcat服务设为开机自起
(4)建立自己的samba服务器,并实现windows到linux的访问,可以进行文件的传输,并设置某个用户只能读的权限。
(5)什么是ftp,它可以做什么,linux下最常用的ftp是哪种,尝试安装配置ftp
(6)通过设置ip,实现windows和linux的通信(互ping)
第四天
1、任务调度:
指系统在某个时间执行的特定的命令或程序,分为系统工作和个人用户工作。
2、任务调度命令:
crontab
(1)设置任务:
crontab–e,举例:
date>/home/mydate.txt
(2)按一定的周期执行:
*****待执行的命令
(3)时间规则:
(4)一个任务文件可以包含多条指令
3、调度多个任务:
(1)在crontab中直接写:
(代码太多,不易维护)
(2)把某一个用户需要执行的指令写入到一个.sh文件中(采用shell编程的方式),然后创建一个任务调度:
①将要执行的指令写到.sh文件中;②创建任务调度,内容为:
*****.sh文件路径
(3)终止任务:
crontab–r:
终止所有的任务调度;-l:
列举当前的任务调度命令
4、进程:
正在执行的程序(简单理解)
5、线程和进程的区别:
(1)线程是轻量级的进程
(2)进程有独立的地址空间,线程没有
(3)线程不能独立存在,它是由进程创建(linux中通过fork创建)
(4)相对而讲,线程耗费的CPU和内存小于进程
6、每个进程都可能以两种方式存在,前台和后台
7、查看进程:
ps–参数(以下参数可以一起使用,功能最全,此方法为静态显示进程信息)
【a:
显示当前中断的所有进程】【:
以用户的格式显示进程信息】【x:
显示后台运行的进程】
8、结束进程:
kill-9进程号【-9表示强制结束进程】killall进程号【结束进程及相关子进程】
9、动态显示进程信息
10、进程管理:
(1)动态显示进程信息:
top
(2)监视特定用户:
使用top查看进程,输入u,回车,再输入用户名即可监视特定用户
(3)终止指定的进程: