1、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亿美
2、元扩大linux系统的运用。此举犹如一剂强心剂,令华尔街的投资者们闻风而动。8月红色代码爆发,引得许多站点纷纷从windows操作系统转向linux操作系统 2002年是linux企业化的一年,2月,微软公司迫于各州压力,宣布扩大公开代码行动,这可是linux开源带来的深刻影响的结果。3月,内核开发者宣布新的linux系统支持64位的计算机。 2003年,NEC宣布将在其手机中使用linux操作系统,代表着linux成功进军手机领域。 2004年六月的统计报告显示在世界500强超级计算机系统中吗,使用linux操作系统的已经占到280席,抢占了原本属于各种unix的份额。9月HP开始网罗
3、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系
4、统 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 现在重新启动计
5、算机 Reboot 现在重新启动计算机 Logout 注销用户 注:登陆时尽量少用root账号登陆,因为它是系统管理员吗,最大的权限,避免操作失误。可以利用普通用户登陆,登陆后再用‘su –’命令来切换成系统管理员身份。 2.显示当前文件夹下的内容 Ls 命令 Ls –a 显示隐藏的文件 Ls –l 显示长列表格式显示(与ll命令效果相同) Dir 命令 3.切换目录 Cd 命令 例1.切换到/home目录 Cd /home 例2.返回上一级目录 Cd .. 4.显示当前所在
6、的目录 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命令
7、例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.移动
8、文件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目录下 ]L
9、n –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@localh
10、ost~]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
11、 /home/* 13.搜索文件及目录——find 在linux中,因为文件系统是以级别式的结构组成的,所以要在整个系统中找到特定的文件和目录并不是容易的事。而find命令可以解决这个问题。 1.在特定的目录下搜索并显示指定名称的文件和目录; Find/ -name man:意思是说从根目录开始搜索名称为man的文件或目录 2.搜索一段时间内被存取/变动的文件或目录。 Find/home –amin -10:十分钟内存取的文件或目录 Find/home –atime -10:十小时内存取的文件或目录 Find/home –cmin -10:十分钟内更改过的
12、文件或目录 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文档的重定向操作符使用<
13、<。它将一对分隔符(本例中用delim表示)之间的正文重定向输入给命令。下例将一对分隔符delim之间的正文作为wc命令的输入,统计出正文的行数、单词数和字符数。
$ wc<
14、 [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、尾 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 调度文件规则: 字段名称 说明 范围 分钟
16、每小时中的第几分钟执行 0-59 小时 每日的第几个小时执行 0-23 日期 每月的第几天执行 1-31 月份 每年的第几月执行 1-12 星期 每周的第几天执行 0-6 命令名称 要执行的命令名称及其参数 注:‘*’表示‘每’ 例2.每天的两点钟(即没星期、每月、每日、两点)执行将日期追加到home目录下的mydate2文件; Crontab –e 02*** date >>/home/mydate2 例3.每分钟(即没星期、每月、每日、每小时、每分钟)执行将日期追加到home目录下的mydate文件 Crontab –e ***** d
17、ate >>/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/myda
18、te 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 将编辑器转换为插入模式——进入插入模式后下方会显示
19、‘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
20、的目录和用户 简介:linux的文件系统是采用级层式的树状目录结构,在此结构中的最上层是根目录“/”,然后在此目录下再创建其他的目录。 1. 根目录下常用的目录 主要有:root、home、bin、sbin、mnt、etc、var和boot等。 Root:用于存放root用户的相关文件 Home:存放普通用户的相关文件 Bin:存放常用命令的目录 Sbin:要具有一定权限才可以使用的命令 Mnt:默认挂载光驱和软驱的目录 Boot:存放引导相关的文件 Etc:存放配置相关的文件 Var:存放一些常变化的文件 Usr:安装软件时默认安装路径 2. 用户管理 (1).
21、添加用户命令 Useradd 用户名; 例1.添加一个名为xiaoming的用户 useradd xiaoming; (2).设置密码 Passwd 用户名回车后系统会提示输入密码 例2.给xiaoming设置密码 Passwd xiaoming如果没有带上用户名则是给当前登陆的用户设密码 ; 回车 系统提示‘New password:’ 输入123;回车 系统提示‘热type new password:’ 再次输入123;回车 (3).修改密码 Passwd 用户名 例3.修改xiao
22、ming的密码 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
23、系统重启 注:常用运行级别是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) 选中高亮行,
24、如上图所示,按下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
25、下的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 : 该用户的注
26、释(这里没有写所以为空) :/home/along用户主目录 :/bin/bash该用户使用的shell解释器 (3).修改用户所在的组 Usermod 命令 在添加用户时,可以指定将该用户添加到哪个组中,可以用root的管理权限改变某个用户所在组: Usermod –g 组名 用户名 还可以用usermod –d改变某个用户登陆的初始目录: Usermod –d 目录名 用户名 3.文件所有者 (1).查看文件所有者及组 Ls –ahl 命令可以看到文件的所有者和文件所在组 (2).修改文件的所有者和组 Chown 用户名 文件名——修改文件
27、所有者 例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
28、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; 六
29、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
30、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
31、 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/cdr
32、om/该目录下没有内容) 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.打开一个命令窗口,输入./ecli
33、pse,就可以启动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目
34、录,修改目录所有者权限 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,其他参照以下截图
35、 (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
36、/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/us
37、er_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/weblogi
38、c/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
39、/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/weblo
40、gic/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 >
41、erver: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.
42、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 pro
43、cessor : 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: 41
44、92924 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% /hom
45、e /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 系统需求 硬件
46、环境需求 检查内容 最小值 检查命令参考 物理内存 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
47、 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-
48、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
49、~]# 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 说明:这个设置是对






