资源描述
Linux笔记
一、linux简介
1.linux的特点
1)免费、开源
2)支持多线程、多用户
3)安全性好
4)对内存和文件管理优越
2.Linux初步介绍
1999年,IBM宣布与RedHat公司建立伙伴关系,以确保Redhat在IBM机器上正确运行
1999.3月IBM、compaq和novell宣布投资redhat公司,以前一直对linux持否定态度的oracle公司也宣布投资。
2000年初,sun公司在linux的压力下宣布solaris8降价。事实上linux对sun造成的冲击远比对windows来的更大
2001年IBM则决定投入10亿美元扩大linux系统的运用。此举犹如一剂强心剂,令华尔街的投资者们闻风而动。8月红色代码爆发,引得许多站点纷纷从windows操作系统转向linux操作系统
2002年是linux企业化的一年,2月,微软公司迫于各州压力,宣布扩大公开代码行动,这可是linux开源带来的深刻影响的结果。3月,内核开发者宣布新的linux系统支持64位的计算机。
2003年,NEC宣布将在其手机中使用linux操作系统,代表着linux成功进军手机领域。
2004年六月的统计报告显示在世界500强超级计算机系统中吗,使用linux操作系统的已经占到280席,抢占了原本属于各种unix的份额。9月HP开始网罗linux内核代码人员,以影响新版本的内核朝对HP有利的方向发展,而IBM则准备推出openpower服务器,仅运行linux系统。
3.linux的来源
1960时期,mit【麻省理工学院】做了一个供30人共同使用的文件操作系统
1965年,mit、ge,bell三人加入,计划将30人增加到300人。该计划被称为火星计划
1969年,火星计划失败,ken在原来的计划上开发了一个file server system系统。
Bell这个人觉得这系统很有商机就合ken合伙开发出了unix系统
1973年,unix开源,其源码内核共享
IBM就在开源的unix基础上开发了aix系统
SUN就在开源的unix基础上开发了solaris系统
HP就在开源的unix基础上开发了hpunix系统
BSD伯克利分校的unix
minix系统
芬兰人linus希望将unix移植到pc机上,故1991->1994年三年时间开发出linux 1.0版
注:linux/unix唯一的缺点就是操作相对困难,linux是从unix发展而来的,两者的命令相似度达80%以上。
二、linux常用命令
1.关/开机命令
Startx 登陆图形界面
Shutdown –h now 立即进行关机
Shutdown –r now 现在重新启动计算机
Reboot 现在重新启动计算机
Logout 注销用户
注:登陆时尽量少用root账号登陆,因为它是系统管理员吗,最大的权限,避免操作失误。可以利用普通用户登陆,登陆后再用‘su –’命令来切换成系统管理员身份。
2.显示当前文件夹下的内容
Ls 命令
Ls –a 显示隐藏的文件
Ls –l 显示长列表格式显示(与ll命令效果相同)
Dir 命令
3.切换目录
Cd 命令
例1.切换到/home目录
Cd /home
例2.返回上一级目录
Cd ..
4.显示当前所在的目录
Pwd 命令
例1.显示当前所在目录
Pwd
5.切换用户
Su 用户名 切换到‘用户名’用户
例1.从root用户切换到shuyichao用户
Su shyichao
6.建立和删除目录
(1). 建立目录
Mkdir 建立目录命令
例1.建立shuyichao目录
Mkdir shuyichao
(2). 删除目录
Rmdir 删除目录命令
例2.删除shuyichao目录
Rmdir shuyichao
7.建立和删除文件夹
(1).建立文件夹
Touch命令
例1.建立一个空文件夹名字叫sanguo
Touch sanguo
(2).删除文件夹
Rm 命令
例2.删除文件夹shuyichao
Rm sanguo
(3).删除所有内容
Rm –rf *(删除所有内容包括目录和文件)
8.复制文件cp
Cp 命令
例1.复制root用户的sanguo文件夹从/home/shuyichao到/
用户root用户进入
[root@localhost~]cp hello.java /home/shuyichao
Cp –rf dir1 dir2:递归复制将目录下的子目录一个一个复制
9.移动文件mv
Mv命令
例1.移动root目录下a.java 到/home
[root@localhost~]mv a.java /home
10.建立符号连接ln
类似于windows下的快捷方式
Ln 命令
Ln –s 原目标
Ln –s/etc/inittab inittab指向实际文件/etc/inittab
例1.在/home目录下建一个指向/root目录下的a.cpp,名称为to_a.cpp,即运行to_a.cpp就相当于运行/root下的a.cpp
[root@localhost home要先在home目录下
]Ln –s /root/a.cpp to_a.cpp该文件是一个可执行文件,以‘l’开头
如图:
11.帮助命令——man
Man命令——相当于dos下的help
如:man grep
12.管道命令——|
More 显示文件内容,带分页
Less 显示文件内容带分页
Grep 在文本中查询内容
| 管道命令:
例1.用户more分页显示install.log
[root@localhost~]More install.log
然后按空格键分页
例2.用管道分页显示etc目录下所有文件
[root@localhost~]Ls –l /etc | 管道的作用是讲其前面的结果交给后面的命令处理
more
例3.查找etc文件下以reader开头的文件,且用管道分页
[root@localhost~]ls –l /etc | grep reader
例4.在a.java文件例查找aaa
[root@localhost~]grep “aaa” a.java
例5.在/root/abc.java文件中和/home/目录下的所有目录中查找12字符,并显示其所在行数
[root@localhost~]grep –n显示要查找的内容所在行数
‘12’ /root/abc.java /home/*
13.搜索文件及目录——find
在linux中,因为文件系统是以级别式的结构组成的,所以要在整个系统中找到特定的文件和目录并不是容易的事。而find命令可以解决这个问题。
1.在特定的目录下搜索并显示指定名称的文件和目录;
Find/ -name man:意思是说从根目录开始搜索名称为man的文件或目录
2.搜索一段时间内被存取/变动的文件或目录。
Find/home –amin -10:十分钟内存取的文件或目录
Find/home –atime -10:十小时内存取的文件或目录
Find/home –cmin -10:十分钟内更改过的文件或目录
Find/home –ctime +10:十小时前更改过的文件或目录
3.搜索指定大小的文件
Find /home –size +10k:查找/home目录下大小为10k的文件
14.重定向命令
(1).输入重定向‘<’
输入重定向的一般形式为:命令<文件名。可以用下面的命令把wc命令的输入重定向为/etc/passwd文件:
$ wcWc是统计命令
< /etc/passwd
结果显示:
20 23 726
(2).追加输入重定向‘<<’
输入重定向称为here文档,它告诉shell当前命令的标准输入来自命令行。here文档的重定向操作符使用<<。它将一对分隔符(本例中用delim表示)之间的正文重定向输入给命令。下例将一对分隔符delim之间的正文作为wc命令的输入,统计出正文的行数、单词数和字符数。
$ wc<<delim
>this text forms the content
>of the here document,which
>continues until the end of
>text delimter
>delim
结果显示:
4 17 98
(3).输出重定向‘>’
Ls –l >a.txt列表的内容写入文件a.txt中
例1.将在a.java文件中查询到的内容输入到kkk.bak中
[root@localhost~]grep –n “shuyichao” a.java >kkk.bak
(4).追加输出重定向‘>>’
如果要将一条命令的输出结果追加到指定文件的后面,可以使用追加重定向操作符>>。形式为:命令>>文件名。
例如:
$ ls *.doc>>directory.out
$ cat directory.out
ch1.doc ch2.doc ch3.doc chimp config mail/ test/
ch1.doc ch2.doc ch3.doc
Ls –al >>aa.txt 列表中的内容追加到文件aa.txt的末尾
15.解压命令Unzip
Unzip 文件名
例1.解压10201_database_linux32.zip
Unzip 10201_database_linux32.zip
16.任务调度命令crontab
设置任务调度文件:/etc/crontab
设置个人任务调度。执行crontab –e命令
接着输入任务到调度文件
例1.每小时的第五分钟执行ls –l /etc/>/tmp/to.txt
5**** ls –l /etc/>/tmp/to.txt
调度文件规则:
字段名称
说明
范围
分钟
每小时中的第几分钟执行
0-59
小时
每日的第几个小时执行
0-23
日期
每月的第几天执行
1-31
月份
每年的第几月执行
1-12
星期
每周的第几天执行
0-6
命令名称
要执行的命令名称及其参数
注:‘*’表示‘每’
例2.每天的两点钟(即没星期、每月、每日、两点)执行将日期追加到home目录下的mydate2文件;
Crontab –e
02*** date >>/home/mydate2
例3.每分钟(即没星期、每月、每日、每小时、每分钟)执行将日期追加到home目录下的mydate文件
Crontab –e
***** date >>/home/mydate2
例3.执行多个任务,即执行每分钟(即没星期、每月、每日、每小时、每分钟)执行将日期追加到home目录下的mydate文件,又将mydate里的内容拷贝到/home/mydate2中
Crontab –e
***** date >>/home/mydate
***** cp /home/mydate /home/contab
例4.用shell编程改写例3
在/home/目录下 Vi mytask.sh创建一个shell文件,shell文件是一个。Sh文件
打开mytask.sh文件,写入
date >>/home/mydate
cp /home/mydate /home/contab
最后编辑crontab
写入:***** /home/mytask.sh
17.更改和查询系统时间
用date来显示和修改系统时间
三、vi编辑器
简介:vi编辑器是在linux下最有名的编辑器,也是我们学习linux必须掌握的工具,在unix下也可以使用vi进行程序的开发。
例1.用vi编辑器在linux下开发一个简单的java程序hello.java,且在linux下运行成功。
步骤:
1).输入vi hello.java
2)输入I 将编辑器转换为插入模式——进入插入模式后下方会显示‘INSERT’字样。
3).输入java代码,
Public class hello{
Public static void main(String[] args)
{
System.out.println(“hello,word”);
}
}
4).按下esc键然后输入:号
5).输入wq 保存且退出vi编辑器
或输入q! 退出但是不保存
6).编译hello.java: 输入javac hello.java
7).运行: 输入java hello
四、linux的目录和用户
简介:linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。
1. 根目录下常用的目录
主要有:root、home、bin、sbin、mnt、etc、var和boot等。
Root:用于存放root用户的相关文件
Home:存放普通用户的相关文件
Bin:存放常用命令的目录
Sbin:要具有一定权限才可以使用的命令
Mnt:默认挂载光驱和软驱的目录
Boot:存放引导相关的文件
Etc:存放配置相关的文件
Var:存放一些常变化的文件
Usr:安装软件时默认安装路径
2. 用户管理
(1).添加用户命令
Useradd 用户名;
例1.添加一个名为xiaoming的用户
useradd xiaoming;
(2).设置密码
Passwd 用户名回车后系统会提示输入密码
例2.给xiaoming设置密码
Passwd xiaoming如果没有带上用户名则是给当前登陆的用户设密码
; 回车
系统提示‘New password:’
输入123;回车
系统提示‘热type new password:’
再次输入123;回车
(3).修改密码
Passwd 用户名
例3.修改xiaoming的密码
Passwd xiaoming
(4).删除用户
Userdel 用户名
例4.删除用户xiaoming
Userdel xiaoming;
例5.删除用户以及用户主目录
Userdel –r xiaoming
(5).查看用户信息
Id 用户名
例4.查询用户xiaoming用户信息
Id xiaoming 回车
3.linux的运行模式
0:关机
1:单用户
2:多用户状态没有网路服务
3:多用户状态有网路服务
4:系统未使用保留给用户
5:图形界面
6:系统重启
注:常用运行级别是3和5,要修改默认的运行级别可改文件/etc/inittab的id:5:initdefault:这一行中的数字。
例1.将linux的运行级别由5修改成6
1) 打开vi编辑器,即输入vi
2) 输入/etc/inittab,然后回车
3) 找到‘id:5:initdefault:’字样
4) 将字样中的5改为6
5) 按esc将vi编辑器改为命令模式
6) 输入:wq保存退出
注:这样系统会不停的重启
例2.再将linux由6改为5
1) 在以下界面按 e 进入grup界面
2) 一路按 e 进入到以下界面
3) 选中高亮行,如上图所示,按下e进入以下界面
4) 在后面输入1【表示1级模式,因为只有1级模式linux启动时不会去读/etc/inittab文件】,注意1前要空一格
5) 回车后,按b重启进入单用户模式,即1级模式。
6) 进入vi编辑器,输入/etc/inittab,回车,如下图
7) 找到‘id:5:initdefault:’字样,将字样中的6改为3,再输入reboot重新
五、组
1.建立组
(1).建组
groupadd 组名 ;
例1.新建policeman组
Groupadd policeman;
(2).查看系统所有的组
可以查询etc下的group文件
Cat Cat命令用来查看文件内容的,与vi一样,但是cat不可以修改文件内容vi则可以。
/etc/group/
2.添加用户到组
(1).添加用户
Useradd –g 组名 用户名
例1.新建一个用户along且添加到policeman组中
Useradd –g policeman along
(2).查看用户所在组
可以查看etc下的passwd文件
如:cat /etc/passwd
查询显示情况:along:x用户密码(被加密了)
:503用户ID
:503所在组的ID
: 该用户的注释(这里没有写所以为空)
:/home/along用户主目录
:/bin/bash该用户使用的shell解释器
(3).修改用户所在的组
Usermod 命令
在添加用户时,可以指定将该用户添加到哪个组中,可以用root的管理权限改变某个用户所在组:
Usermod –g 组名 用户名
还可以用usermod –d改变某个用户登陆的初始目录:
Usermod –d 目录名 用户名
3.文件所有者
(1).查看文件所有者及组
Ls –ahl 命令可以看到文件的所有者和文件所在组
(2).修改文件的所有者和组
Chown 用户名 文件名——修改文件所有者
例1.改变文件abc.java的拥有者为xiaoming
Chown xiaoming abc.java
例2.改变abc这个目录的所有者是root
Chown root ./abc
例3.改变abc这个目录及其下面所有的文件和目录的所有者是root
Chown –R root ./abc
Chgrp 组名 文件名——修改文件所在组
例4.改变文件abc.java所属的组为policeman
Chgrp policeman abc.java
4.文件所有信息
(1.)显示文件信息
(2).修改文件的访问权限
Chmod 改变文件或目录的权限
例1.赋予abc权限rwxr-xr-x
Chmod 755 abc;755表示rwx4+2+1=7,因为r=4,w=2,x=1;
r-x4+1=5
r-x4+1=5
Chmod u=rwx,g=rx,o=rx abc:同上u=用户权限 g=组权限 o=不同组其他用户权限
例2.给abc去除用户执行的权限,增加组写的权限
Chmod u-x,g+w abc;
六、linux下安装各种软件
1.虚拟机linux系统安装JDK(bin文件)
(1).安装步骤
1.把mypackage.iso这是自作的一个iso文件
挂载到linux操作系统上,[root@localhost ~]#mount /mnt/cdrom/挂载后就可以在/mnt/cdrom文件夹下看到所有文件
。(umount/mnt/cdrom/ 取消挂载,即/mnt/cdrom/该目录下没有内容)
2.把安装文件拷贝到/home,即cp 文件 /home
[root@localhost cdrom]Cp j2sdk-1_4_2_07-linux-i586.bin /home
3.cd /home 切换到/home
4.安装 ./ j2sdk-1_4_2_07-linux-i586.bin这是安装.bin文件的方式
(2)配置JDK环境变量
1.查看环境变量
Env | more
2.打开配置JDK环境变量的文件/etc/profile(环境配置文件)
3.配置JDK环境变量——JAVA_HOME=/home/j2sdk1.4.2_07/bin
PATH=$PATH: /home/j2sdk1.4.2_07/bin
CLASSPATH=.: /home/j2sdk1.4.2_07/jre/lib/rt.jar
Export JAVA_HOME PATH CLASSPATH
4.最后保存退出
2.虚拟机linux系统安装eclipse(tar.gz文件)
(1).安装步骤
1.把mypackage.iso这是自作的一个iso文件
挂载到linux操作系统上,[root@localhost ~]#mount /mnt/cdrom/挂载后就可以在/mnt/cdrom文件夹下看到所有文件
。(umount/mnt/cdrom/ 取消挂载,即/mnt/cdrom/该目录下没有内容)
2.把安装文件拷贝到/home,即cp 文件 /home;
[root@localhost cdrom]Cp eclipse-SDK-3.1.1-linux-motif.tar.gz /home
3.cd /home 切换到/home
4.安装tar.gz文件,[root@localhost home]tar –zxvf eclipse-SDK-3.1.1-linux-motif.tar.gz
5.进入linux图形界面
Startx
6.打开一个命令窗口,输入./eclipse,就可以启动eclipse的图形界面
(2).启动eclipse
输入./eclipse ——前台启动
输入./eclipse &——后台启动
3.虚拟机linux系统安装weblogic
(1).部署前准备
把WebLogic的bin包放在一个临时目录上(如:/software).
a、创建weblogic用户组。
groupadd weblogic
useradd -g weblogic weblogic
passwd weblogic(修改weblogic密码)
b、创建/oracle/weblogic目录,修改目录所有者权限
mkdir –p /oracle/weblogic
chown –Rf weblogic:weblogic /oracle/weblogic
(2).安装WebLogic10
赋予.bin可执行权限:chmod a+x server103_linux32.bin
执行./server103_linux32.bin
进入控制台安装的欢迎界面,键入[Next]继续
此时出现授权许可协议,读完后键入[Yes]继续
提示选择一个BEA主目录:/oracle/weblogic,其他参照以下截图。
(3).新建domain
使用WebLogic用户登录系统:
/oracle/weblogic/wlserver_10.3/common/bin
[root@linux-test bin]# cd /
[root@linux-test /]# su - weblogic
[weblogic@linux-test ~]$ cd /oracle/weblogic/wlserver_10.3/common/bin
[weblogic@linux-test bin]$ pwd
/oracle/weblogic/wlserver_10.3/common/bin
回车
回车
选择2,修改密码,我修改为weblogic
选择3,确认密码,我也输入weblogic
回车
选择SUN SDK 1.5.0_12,回车
回车
安装在默认路径,直接回车
(一般修改到/opt/mss/mssdomain目录,/opt/mss需手工建,注意目录权限)
输入domain名字weblogic10mss,回车
回车
(4).启动weblogic
[weblogic@linux-test weblogic10mss]$ pwd
/oracle/weblogic/user_projects/domains/weblogic10mss
[weblogic@linux-test weblogic10mss]$ ./startWebLogic.sh
JAVA Memory arguments: -Xms256m -Xmx512m -XX:MaxPermSize=128m
WLS Start Mode=Production
CLASSPATH=:/oracle/weblogic/patch_wlw1030/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/oracle/weblogic/patch_wls1030/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/oracle/weblogic/patch_cie660/profiles/default/sys_manifest_classpath/weblogic_patch.jar:/oracle/weblogic/jdk160_05/lib/tools.jar:/oracle/weblogic/wlserver_10.3/server/lib/weblogic_sp.jar:/oracle/weblogic/wlserver_10.3/server/lib/weblogic.jar:/oracle/weblogic/modules/features/weblogic.server.modules_10.3.0.0.jar:/oracle/weblogic/wlserver_10.3/server/lib/webservices.jar:/oracle/weblogic/modules/org.apache.ant_1.6.5/lib/ant-all.jar:/oracle/weblogic/modules/net.sf.antcontrib_1.0.0.0_1-0b2/lib/ant-contrib.jar::/oracle/weblogic/wlserver_10.3/common/eval/pointbase/lib/pbclient57.jar:/oracle/weblogic/wlserver_10.3/server/lib/xqrl.jar::
.。。。。。。。
。。。。。。。
Jul 25 16:30:05 EDT 2008 1137967 >
<Feb 23, 2010 3:16:15 PM CST> <Info> <Security> <BEA-090065> <Getting boot identity from user.>
Enter username to boot WebLogic server:weblogic
Enter password to boot WebLogic server:
需要输入用户名密码
(以上方式启动,当前窗口会挂起)
在目录/oracle/weblogic/user_projects/domains/weblogic10mss下
新增文件boot.properties
编辑该文件,文件内容为:
username=weblogic
password=weblogic
以服务形式启动,不挂在当前shell进程下
nohup ./startWebLogic.sh &
(5).登录weblogic控制台
http://192.168.1.203:7001/console/
密码验证成功后,登录到控制台
(6).停止WebLogic服务
a、通过”http://服务地址:7001/console”,shutdownserver
b、利用脚本停止服务:
在#/oracle/weblogic/user_projects/domains/weblogic10mss 路径下,有一个stopWebLogic.sh文件,执行即可
4.虚拟机linux系统安装oracle的步骤
(1).硬件概述
CPU:
[oracle@test .vnc]$ grep model /proc/cpuinfo
processor : 0
model name : Intel(R) Pentium(R) 4 CPU 2.80GHz
processor : 1
model name : Intel(R) Pentium(R) 4 CPU 2.80GHz
内存:
[oracle@test .vnc]$ grep MemTotal /proc/meminfo
MemTotal: 2074064 kB
SWAP:
[oracle@test .vnc]$ grep SwapTotal /proc/meminfo
SwapTotal: 4192924 kB
硬盘:
[oracle@test .vnc]$ df -mhl
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 20G 3.4G 16G 19% /
/dev/sda1 99M 12M 83M 13% /boot
none 1013M 0 1013M 0% /dev/shm
/dev/sda6 20G 77M 19G 1% /home
/dev/sda3 30G 81M 29G 1% /opt
(2).软件概述
Linux版本:
[root@test ~]# cat /etc/issue
Red Hat Enterprise Linux Server release 5.1 (Tikanga)
内核版本:
[root@test ~]# uname -a
Linux 2.6.18-53.el5xen #1 SMP Wed Oct 10 17:06:12 EDT 2007 i686 i686 i386 GNU/Linux
数据库:oracle10g
系统需求
硬件环境需求
检查内容 最小值 检查命令参考
物理内存 512M # grep MemTotal /proc/meminfo 2
交换空间 1.0 GB或2 倍内存大小 # grep SwapTotal /proc/meminfo
/tmp 空间 400 MB # df -k /tmp
软件所需空间 2.5 GB # df -k (空间越大越好,如果是正式系统,应该进行详尽的规划)
数据库文件 1.2 GB # df -k (空间越大越好,如果是正式系统,应该进行详尽的规划)
(3).软件环境需求
需要安装如下软件包或更高:
安装必须包:
gcc-3.4.6-8
make-3.80-6.EL4
binutils-2.15.92.0.2-22
openmotif-2.2.3-10.1.el4
glibc-2.3.4-2.36
查看命令
rpm -q gcc make binutils openmotif glibc
安装RHEL5U1 时只是安装的了默认选项,会缺少 openmotif-2.2.3-10.1.el4,在光盘中找到安装文件,
安装时会提示依赖关系需要安装libXp。
libXp-1.0.0-8.1.el5.i386.rpm
libXp-devel-1.0.0-8.1.el5.i386.rpm
libXpm-3.5.5-3.i386.rpm
libXpm-devel-3.5.5-3.i386.rpm
openmotif22-2.2.3-18.i386.rpm
openmotif-2.3.0-0.3.el5.i386.rpm
openmotif-devel-2.3.0-0.3.el5.i386.rpm
u 相关系统参数、用户设定
(4).配置 Linux 内核参数
Oracle 企业管理器 10g 需要如下所示的内核参数设置。其中给出的是最小值,因此如果您的系统使用的值较大,则不要更改它。
编辑/etc/sysctl.conf文件,在后面添加下参数做微调操作系统内核。
[root@test ~]# vi /etc/sysctl.conf
在文件末尾增加如下参数:
# For Oracle Install
kernel.sem = 250 32000 100 128
kernel.shmmni = 40963
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=262144
net.core.wmem_max=262144
保存退出执行以下命令使配置马上生效
# sysctl -p
(5).为 Oracle 用户设置 Shell 限制
Oracle 建议对每个 Linux 帐户可以使用的进程数和打开的文件数设置限制。要进行这些更改,以 root 用户的身份执行下列命令:
[root@test oracle]# vi /etc/security/limits.conf
文件末尾添加如下字段
#for Oracle
* soft nproc 2047
* hard nproc 16384
* soft nofile 2048
* hard nofile 65536
说明:这个设置是对
展开阅读全文