目录
1、linux简介………………..…………………………………………………………………..1
1、Linux简介
Linux是一个功能强大的操作系统,同时它也是一个自由软件,是免费的、源代码开放的,编制它的目的是建立不受任何商品化软件版权制约、全世界都能自由使用的与UNIX兼容的产品。
Linux由四部分组成:Linux的内核、Linux Shell、Linux文件系统、Linux应用系统
命令------>解释成内核可以执行的代码------->linux内核
|
Shell
Shell:是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令,作为命令解释器把用户输入的命令解释后送入内核去执行。
2、Linux安装
Linux分区不同于Windows系统,是用字母和数字组合来标识的
前两个字母 设备类型 hd:IDE硬盘、sd:SCSI硬盘
第三个字母 分区所在设备 hda:第一块IDE硬盘、hdb:第二块IDE硬盘
数字 分区次序 数字1-4表示主分区或扩展分区,逻辑分区从5开始
注:硬盘的分区主要分为基本分区(Primary Portion)和扩展分区(Extension Portion)两种。只是针对一个硬盘来讲,基本分区和扩展分区的数目之和不能大于4个,且基本分区可以马上被使用但不能再分区。扩展分区必须再进行分区后才能使用,也就是说它必须还要进行二次分区。那么有扩展分区再分下去的是什么呢?它就是逻辑分区(Logical Portion),而且逻辑分区没有数量上限制。
对Redhat Linux用户来说无论有几个分区,分给哪一个目录使用,它归根结底就只有一个根目录、一个独立且唯一的文件结构。
例如:/dev/hda3 指第一个IDE硬盘上的第三个主分区或扩展分区
Linux磁盘分区方案
(1)简单分区方案:
/分区(建议大小为4G)
SWAP分区(建议大小为物理内存的2倍)
(2)较安全的分区方案:
SWAP分区用于实现虚拟的内存,建议大小为物理内存2倍
/分区存放系统命令和用户数据等,建议大小为1GB
/boot分区存放与Linux启动相关的程序,建议大小为100MB
/user分区存放Linux的应用程序,建议大小为3-5GB
/var分区存放系统中经常变化的数据,建议大小为1GB
/tmp分区存放系统临时文件,建议大小为1GB
/home分区存放普通用户的数据,建议大小为所有磁盘剩余空间
3、Linux图形界面操作基础
Linux环境下广泛使用的桌面环境是Gnome和KDE.
如何由界面模式进入命令模式:
$gedit /etc/inittab
把id:5:initdefault中的5改为3
0:停机(记住不要把initdefault 设置为0,因为这样会使Linux无法启动)
1:单用户模式,就像Win9X下的安全模式。
2:多用户,但是没有 NFS 。
3:完全多用户模式,标准的运行级。
4:一般不用,在一些特殊情况下可以用它来做一些事情。
5:X11,即进到 X-Window 系统。
6:重新启动(记住不要把initdefault 设置为6,因为这样会使Linux不断地重新启动)。
其中运行级3就是我们要进入的标准Console字符界面模式
运行级别设置错了,init 6是重新启动……,如果设置成6,系统会反复重启。
进入单用户可以解决,首先,在GRUB时,用方向键选择你的Linux系统,按下键盘上的e,然后用方向键选择kernel那一行,在按下e,输入1(和前面的内容间用空格分开),然后回车,然后按b键,进入单用户后,修改/etc/inittab中启动级别为3或者5,重新启动即可 .
4、Linux字符界面操作基础
开关机操作
· #halt 关机
· #shutdown (–h –r ) now
· #reboot 重起
· #root 登陆
· #rlogin 远程登录
· #login 注销
· #startx 进入图形界面
文件类型代表字符
· 普通文件 -
· 目录文件 d
· 链接文件 l
· 块设备文件 b
· 字符设备文件 c
· 管道文件 p
文件类型颜色
· 一般文件--------------------白色
· 目录文件--------------------蓝色
· 符号链接文件-------------- 紫色
· 设备文件--------------------黄色
· 可执行文件-----------------青绿色
· 图片文件--------------------粉红色
· 压缩文件---------------------红色
5、Linux字符界面操作进阶
Linux常用命令:
Su [用户名] 切换用户但不切换环境变量
Su– 用户名 完全切换用户
Ls 显示文件和目录列表 (ls -a 显示隐藏文件。ls -l 显示长列表格式。ls -al)
Cd 切换目录
Hostname 查看主机名
Pwd 显示当前工作目录
Clear 清屏幕
Mkdir 创建空目录
Rmdir 删除空目录
Touch 生成新的空文件或更改现有文件的时间
Cp 复制文件或目录
Mv 移动文件或目录、文件或文件改名
Rm 删除文件或目录
Cat 滚屏显示文本文件内容
More/Less分屏显示文本文件内容
| 管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入
find 查找文件命令 (find /root -name hello.java 在root目录下搜索文件hello.java)
>、>> 重定向命令 (ls -l > a.txt 列表的内容写入文件a.txt中,覆盖写。ls -a >> a.txt 列表的内容追加到文件a.txt的末尾。)
Head/Tail显示文本文件的前/后部的若干行
Grep 在指定的文本文件中查找字符串
Date 显示和设置日期时间
Uname 显示操作系统信息
File 显示指定文件的类型
Dmesg 显示系统启动信息
Zip/Gzip/Bzip2压缩和解压缩文件或目录
ifconfig 查看Ip地址
history 显示最近执行过的命令
如:$zip file.zip somefilename $unzip file.zip
$gzip somefilename $gzip -d somefilename.gz
$bzip2 somefilename $bzip2 -d somefilename.bz2
Tar 打包和解包
如:$tar -cvf myball.tar somedirname
$tar -xvf myball.tar
$tar -zcvf myball.tar.gz somedirname
$tar -zxvf myball.tar.gz
$tar -jcvf myball.tar.bz2 somedirname
$tar -jxvf myball.tar.gz
使用man命令获得命令的手册如:$man ls
使用info命令获得命令的详细信息如:$info ls
使用help命令获得Shell内置命令的帮助如:$help echo
使用whatis命令获得指定命令的功能如:$whatis ls
Linux文本编辑器-VI
vi可以执行修改、删除、查找、替换、块操作等众多文本操作(:q退出)
6、Linux文件系统
根目录下常用子目录的功能:
· root 超级用户目录包括桌面管理等
· home 用户目录 包括用户信息等
· bin 执行目录 存放可执行文件 包括常用命令
· sbin 执行目录 存放不提供给用户使用的命令
· boot 引导目录 存放引导系统时使用的各种文件
· etc 配置目录 系统配置时使用
· dev 设备目录 通过它访问外设
· mnt 安装目录 管理员设备临时安装点
· opt 安装目录 管理员软件包放置点
· lib 库目录 命令执行时使用
· usr 共享目录 存放系统中所有用户的共享文件
· var 数据目录 系统运行时要修改数据
· tmp 临时目录
· proc 虚拟目录 虚构文件系统内存产生不存硬盘
· lost+fount 空目录
7、Linux账户管理和权限管理
字符界面下管理用户和组:
添加用户:useradd liberty (创建用户并分配组:useradd -g 组名用户名)
修改密码:passwd liberty (指定要修改密码的用户,回车后需要2次输入密码。如果不指定默认修改当前用户的密码)
删除用户:userdel liberty (删除用户及主目录:userdel -r liberty)
添加组:groupadd groupname
删除组:groupdel groupname
改变用户所在组:usermod -g groupname liberty (只能是root用户有这个权限)
查看所有组、所有用户信息:
cat /etc/group
cat /etc/passwd
Linux系统权限的表示格式:
-rwxrwx---
注:1位表示文件类型(-表示文件;d表示目录)
2-4位表示用户权限
5-7位表示组权限
8-10位表示其他用户权限
权限的文字设定法:
chmod [ugoa][+-=][rwxugo] <文件名或目录名>
注:属主(u)
同组(g)
其他人(o)
所有的人员(a)
增加权限(+)
删除权限(-)
分配权限同时删除旧的权限(=)
读权限(r)
写权限(w)
执行权限(x)
和属主权限相同(u)
和所属组用户的权限相同(g)
和其他用户的权限相同(o)
如:chmod u+x jdk-3u*.bin
更改属主和组:
#chown [-R] <用户[组]> <文件或目录>
注:-R 表示对目录及子目录进行递归设置
8、Linux进程-正在执行的程序
线程:轻量级的进程
进程有独立的地址空间,线程没有
线程不能独立存在,它是由进程创建
相对讲,线程耗费的CPU和内存要小于进程
查看系统中的进程:
#ps [选项]
a 显示所有进程
e 在命令后显示环境变量
u 显示用户名和启动时间等信息
x 显示没有控制终端的进程
f 显示进程树
w 宽行输出
-e 显示所有进程
-f 显示全部
如:显示出当前用户在shell下所运行的进程: #ps
只查看用户root的进程: #ps -u root
列出系统中正在运行的所有进程的详细信息: #ps -aux
显示系统进程树: #ps -auxf
杀死系统中的进程:
如:查找指定程序的进程ID: $ps aux | grep 程序名(如firefox)
杀死PID为1621的进程: $kill 1621
强行杀死PID为1621的进程: $kill -9 1621
守护进程:是计算机启动时就被运行的,并在系统中持续运行的进程,它等待着随时为客户提供自身的服务。
它的工作就是打开一个端口,并且等待进入的连接。
查看系统当前运行的守护进程:pstree
使用GUI工具管理守护进程:
启动方式:"主菜单"->"系统设置"->"服务器设置"->"服务"
使用service管理守护进程:
格式:#service server_name start/stop/restart
#service server_name status
动态监控进程:
top命令与ps命令很相似。它们都用来显示正在执行的进程。top与ps最大的不同之处,在于top在执行一段时间可以更新正在运行的进程
- 监视特定用户
- top:输入此命令,按回车键,查看执行的进程
- u:然后输入“u”回车,再输入用户名,即可
- 终止指定的用户
- top:输入此命令,按回车键,查看执行的进程
- k:然后输入“k”回车,再输入要结束的进程ID号
- 指定系统状态更新的时间
- top ‐d 10:指定系统更新进程的时间为10秒
- 1:52,表示系统启动了多久
- 1 user,用户数
- load average:0.00 0.00 0.00,当前系统负载情况,一般来说,参数越小,系统运行的越轻松,当平均数>0.6时,系统就很紧张了
- 38 processes,进程数
- 0 zombie,僵尸进程数,相当于这个进程没有用了,还占用资源,比如父进程来不及收回子进程
- CPU states:99.3% idle,闲置的CPU
- Mem,内存
- Swap,类似于虚拟内存
9、Linux-RPM软件包管理
RPM常用命令
- rpm ‐qa:查询所安装的所有rpm软件包
- rpm ‐qa | more
- rpm ‐qa | grep X
- rpm ‐q 软件包名:查询软件包是否安装
- rpm ‐q xinetd
- rpm ‐q foo
- rpm ‐qi 软件包名:查询软件包信息
- rpm ‐qi file
- rpm ‐ql 软件包名:查询软件包中的文件
- rpm ‐ql file
- rpm ‐ql jdk
- rpm ‐qf 文件全路径名:查询文件所属的软件包
- rpm ‐qf /etc/passwd
- rpm ‐qf /root/install.log
- rpm ‐qp 包文件名:查询包的信息对这个软件包的介绍
- rpm ‐qp jdk-1_5_0-linux-i586.rpm
- rpm ‐qpi jdk-1_5_0-linux-i586.rpm
- rpm ‐qpl jdk-1_5_0-linux-i586.rpm
安装RPM包
rpm ‐ivh RPM包全路径名称:安装包到当前系统
- i=install,安装
- v=verbose,提示,即有提示信息
- h=hash,进度条
删除RPM包
rpm ‐e RPM包的名称
【案例】rpm ‐e jdk
如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息,如:
【案例】rpm ‐e foo
removing these packages would break dependencies:foo is needed by bar-1.0-1
若让RPM忽略这个错误继续卸载,请使用‐‐nodeps命令行选项
【案例】rpm ‐e ‐‐nodeps foo
升级RPM包
rpm ‐U RPM包全路径名
【案例】rpm ‐U cvs-1.11.2-10.i386.rpm
10、 Linux-常用开发工具的安装
首先,将安装文件放到目录/usr/liberty下,修改安装文件的权限为可执行,chmod 777 *将权限放到最大。
安装jdk之前先卸载linux自带的版本:
# rpm -qa | grep jdk
# rpm -qa | grep gcj
libgcj-4.1.2-42.e15
java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
#yum -y remove java-1.4.2-gcj-compat-1.4.2.0-40jpp.115
即可卸载完成。
jdk安装步骤
- 把mypackage.iso挂载到linux操作系统上
- 在vm做好配置(菜单-虚拟机设置-光驱选择iso文件)
- mount /mnt/cdrom,挂载光驱
- unmount /mnt/cdrom,卸载光驱
(或者通过ssh工具传到/home目录下)
- 把安装文件拷贝到/home
- cp 文件 /home
- 安装
- ./ j2sdk-1_4_2_19-linux-i586.bin
- 在/etc/profile.d 下新建一个文件java.sh
- 配置先前安装的jdk
执行source /etc/profile.d/java.sh重新生效
tomcat安装步骤
我们知道java ee的服务器有tomcat、jboss、weblogic、websphere、resin…这些都可以安装到linux下,我们给人家安装tomcat,安装步骤如下:
- 挂载共享文件
- 把安装文件拷贝到/home
- cp 文件 /home
- 安装
- tar ‐zxvf jakarta-tomcat-5.0.30.tar.gz
- 测试
- 编写一个简单的jsp页面
- 配置tomcat和jdk