当前位置:文档之家› linux_讲义

linux_讲义

本文由whllllll66贡献

BeanSoft Linux 讲义

作者:刘长炯 beansoft@https://www.doczj.com/doc/427421577.html, 2009-7-3 课程目标: 1. 了解一些常见的 Linux 命令 2. Linux 下面如何安装配置 Tomcat, MySQL 3. CVS 软件版本控制系统 Eclipse + WinCVS CVS 是 Linux 下一个开源的文件版本控制系统.SVN 是 CVS 的升级版本. 4. 不太重要, 一些不太常用的命令.
为什么服务器用 Linux/Unix?

1) Windows 系统的历史比较短, Unix(1970)比较久, 相对稳定度比较高. 美国军方 Sun Solaris. Windows 病毒多, 漏洞多, 容易被攻击(缓冲区溢出攻击). Windows 自身在大内存环境下运 行不太稳定, Windows 2000/ 2003 Server(多 CPU, 进程最大是 4G), 普通 Windows Java 程序 占用进程超过 1.5G, 这个进程很容易崩溃. 内存反复申请, 释放, 系统反应很慢, 文件碎片 太多, 也会导致 Windows. 2) Windows 用户比较多, 容易接触到. 3) Windows 自身为了方便用户, 默认打开的端口/服务比较多. Windows netstat –a 查看所有网络连接 4) Windows 把界面和系统内核绑定在一块 内核: IO(硬盘,光盘) + File + 内存 + CPU + (显卡/键盘/鼠标不需要) 内核 + X-Windows(基本桌面系统) + GNOME/KDE/GTK(高级图形界面) + 文件管理器/浏览 器 Windows: 资源管理器/内核 外网 > 防火墙 > 内网 > Web(80, 3306) + DB(3306) Linux 一般没听说有磁盘碎片整理, 大内存环境比较稳定 Linux 继承了 Unix 的优点, 多用户, 并发(Windows 2000 之后才实现了真并发), Unix 对多 核 CPU 架构支持的比较好.
如何安装 Linux?

自己电脑真实安装, 比较危险. 需要刻 Linux 光盘才能安装.
注意: 一定查下安装时候磁盘分区, 如果不注意 Windows 文件就会全部被格式化掉.分区. 通过虚拟机的方式安装: VMWare(老牌商业的虚拟机软件, 收费), 最慢(裸机直接运行虚拟 机软件, 虚拟化计算),需要可靠的安装 VMWare 6.0 安装包 260MB; 还可以一个人装好虚 拟机,将安装完的目录发给另一个电脑,Import VM, 可以直接用. 安装完发现进不了桌面, 只有命令行. startx 键入这个命令会启动桌面 也可以敲 telinit 3 免费: 微软的 Virtual PC 2007(虚拟 Windows 没问题, Linux 装不了), 不开源, 其次慢; Sun Virtual Box , 开源免费, 安装虚拟 Windows 运行最快. 不太稳定,装完运行失败. 1) 虚拟化计算 一般服务器不是满负荷运转, 安装虚拟机, 可以尽量利用电脑的闲置时间. 2) 软件测试和学习,病毒测试,IE6, IE7, IE8, Linux 能否使用. 可以发给别人来直接使用,通过虚拟机方式试用 Vista. 游戏:专门画操作系统界面,删除掉不影响原来的系统,还对虚拟机进行备份和恢复. 先安装 VirtualBox-1.6.4-Win_x86.msi.
Linux 的安装包: RedHat 9 3 个 ISO(光盘镜像) Fedora --> RedHat 开源新版本 Ubutu --> 没有 root(adminstrator) ,界面比较好,虚拟机跑最慢 菜单 管理 > 虚拟介质 可

以创建虚拟硬盘文件.
控制 > 新建 > 选中刚才创建的虚拟硬盘 控制 > 设置 > 给光驱设置文件为 Red Hat Linux_i1.iso 配了硬盘和光驱 工具栏新建按钮, 启动虚拟电脑创建向导.
按下回车,点击窗口鼠标可能无法回到窗口外边. Virtual Box: 按下右边 Ctrl 键可以切换是否截获鼠标输入 VMWare: 按下左 Ctrl + Alt 如果安装镜像坏了, 会出现这个问题.
光盘文件有变动,按下向右光标,选中 Skip 按下回车继续.
个人学习,选第一种;做 Linux C 开发(编译 Linux 系统源码) ,选第二种;如果要做服务 器,选服务器(让服务器内存尽量能够被服务器进程使用,不选图形化界面,登录全部通过 控制台 Console,DOS 完成) . 选第四种自己选哪些软件可以安装.
自己学习用无防火墙
123456 或者复杂密码
安装过程如何更换光盘?
选择虚拟光盘后稍等片刻即可.
选第一个, 右键:
安装后因文件过大无法启动?

用 VMWare/Virtual Box 装,选虚拟硬盘.VMWare 可以自动以 2G 为单位划分成多个文件; Virtual Box 只能选固定大小的文件.Linux 文件总大小很容易超过 4G. Windows 虚拟 Linux,文件存储受到 Windows 自身的限制. 刚装完启动一次,关闭完之后再启动,虚拟说硬盘文件打不开了. 每个盘都是 FAT32 文件系统,单个文件大小不能超过 4G,无法读取.分区魔术师,分区格 式转成 NTFS,支持超大文件(2TB). Windows 很少做服务器.公安局建个数据库,二代身份证,每个人照片都要存数据库,数据 库单个文件都可能超过 TB.Python,MySQL(自己改进版),GFS(虚拟的超大文件文件) . 高清 HD High Difination 电影,奥运宣传片很短,个头.Mac(Unix 的一个变种) . Crysis
如何和主机联网

VirtualBox 不需要设置, 装完就可以访问主机 IP.
启动浏览器, 敲入主机 http://10.5.1.144 VMWare
VMnet8 是虚拟的网卡, Linux 用这个网卡和主机共享网络. Linux 必须和 VMnet8 这个网卡在一个网段. ipconfig /all
Linux 的 IP 设置成 192.168.266.2 ~ 192.168.266.254
不活跃是网络被禁用. 点击 "编辑"来修改 IP.
点确定, 再点激活. 在主机启动 HTTP 或者 FTP 服务器, 然后访问网关地址就可以实现文件共享.
如何安装 JDK?
启动浏览器,输入主机的 IP 可以访问主机的服务器: http://10.1.15.235/ http://10.1.15.235:8080/ https://www.doczj.com/doc/427421577.html,/download/j2se/index.jsp -> Linux RPM(安装包)/BIN(自解压安装) jdkxxx.bin Linux 文件分为两种:文本的和可执行,可执行文件不通过后缀来区分. java 文件属性必须是可执行.
chmod +x jdkxxx.bin 给文件加上执行权限 chmod –x jdkxxx.bin 去掉执行权限 r, w, x read, write, execute ==> 每个文件都有三个权限 双击文件:
选终端中运行 先显示 JDK 的协议,按下空格键翻页,输入 y 接受安装协议并开始解压缩 JDK 文件. 桌面点右键,选择:
启动终端.
gedit

Hello.java
默认文件编码是 UTF-8.
如何安装 Tomcat?(复习要点)

Tomcat 必须用 ZIP 版本. 右键选择解压缩到当前目录.
bin/startup.sh 启动 shell 脚本 bin/shutdown.sh 关闭 终端里面键入命令:
chmod +x * 把当前目录下的所有文件都设置为可执行(相当于点右键 给文件加入可执行属性) JAVA_HOME 环境变量没设置 export JAVA_HOME=/root/jdk1.5.0_12 --> 配置环境变量 echo $JAVA_HOME ./starup.sh export 设置局部环境变量. 如果这个终端关了,新开终端 JAVA_HOME 变量没了,无法启动. 每个终端都知道,宣传,广播,每个终端都必须先听到一次. 1. 改全局设置 gedit /etc/profile (不推荐, root 有权启动 tomcat, 非管理员可能误操作服务器) 2. 改当前用户的设置 gedit ~/.bash_profile(每个用户都有一份) ~ ==> /root 当前用户名 相当于 Windows 在注册表里加环境变量 /etc/profiler > 系统变量 ~/.bash_profile > 用户变量 3. 因为文件~/.bash_profile 里面有一句话包含了文件~/.bash_rc 的内容 (每个用户都有一份) , 所以也可以把上面的设置信息放到~/.bash_rc. login > 读取 /etc/profiler > ~/.bash_profile 每个终端都有自己的局部变量,仅当前窗口有效. . 当前目录 .. 上一级目录 ~ 表示当前用户的主目录 gedit /root/.bash_profile .开始的是隐藏文件 Linux 用户一登录, 就会依次立即加载这两个文件内容. 文件末尾加入: export JAVA_HOME=/root/jdk1.5.0_12 export CATALINA_HOME=/root/apache-tomcat-5.5.23 # 后面两个是可选 export CLASSPATH=.:/root/ojdbc.jar:/root/mysql.jar:$JAVA_HOME/lib/tools.jar// 以冒号为分 隔符
export PATH=$PATH:$JAVA_HOME/bin:$CATALINA_HOME Tomcat: JSP > .java > 编译 > .class > 执行 Tomcat 5.0 之前,用 JDK 的编译器类 lib\tools.jar 10MB sun.tools.javac.Main 混淆编译器 (JOCKY) Eclipse JDT 专门做了个编译器 JDT Compiler javac 功能相同,个头比较小. 替换了 JDK 的编译器 lib\jasper-jdt.jar 3MB,所以不需要设置$JAVA_HOME/lib/tools.jar,也 不需要必须用 JDK 才能运行 Tomcat,JRE 也可运行.
为了查找老刘 1.看视线范围内 2.到公司外面看 3.打电话直接到办公室 4.打电话给老刘家 找不到=》'aaa' 不是内部或外部命令,也不是可运行的程序 或批处理文件. 找到了就执行 aa 当前目录 内部命令 aa > 外部命令 https://www.doczj.com/doc/427421577.html,> 可执行程序 aa.exe > 批处理文件 aa.bat/aa.cmd PATH=c:\;d:\ c:\https://www.doczj.com/doc/427421577.html, c:\aa.exe c:\aa.bat/aa.cmd d:\.... Linux 下默认没包含当前目录: eclipse bash command not found ./eclipse
自动批处理文件 autoexec.bat set JAVA_HOME=c:\jdk set PATH=%PATH%;%JAVA_HOME%\bin; 改完了最好重新注销,登录一下.
在 ROOT 目录下建一个 test.jsp,内容是<%=1+3%> 在浏览器输入 http://localhost:8080/test.jsp 测试.
如何查看 Tomcat 工作日志?

Windows 启动 Tomcat 就有个命令窗口,能看到输出. Linux 下面所有的服务器程序都不会直接

把日志输出到终端窗口里面. 后台运行: 程序 1 &; 程序 2 &; cd /root/apache*/logs change directory ==> 更改目录 ls –l list –l 显示详细列表 tail –f catalina.out ==> follow 跟踪 tail 尾巴 > 显示文件尾部的信息 head 显示文件头部信息 按下 Ctrl + C 结束查看日志 WebLogic, Oracle, Resin
如何重启 Tomcat?

shutdown.sh startup.sh
Tomcat 设置为自动启动

一. 简单的方法
最简单的方法就是通过 Tomcat 自带的 startup.sh 来自动启动,编辑/etc/rc.d/rc.local,增加: export JDK_HOME=/usr/local/jdk export JAVA_HOME=/usr/local/jdk /usr/local/tomcat/bin/startup.sh 二. 复杂而专业的方法 参考 https://www.doczj.com/doc/427421577.html,/windone0109/archive/2008/01/09/38638.html 三. crontab * * * * * command 分 时 日 月 周 命令 定时或者周期性执行.

Java 定时: 1)Thread 2) java.util.Timer 3) Quartz 开源定时框架 类似于 Cron 的定时 execute(Job, new 重复调度(1 分)); Job --> execute() Linux 下的定时器. Windows > 控制面板 > 任务计划
AT 命令安排在特定日期和时间运行命令和程序. 要使用 AT 命令,计划服务必须已在运行中. AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]] AT [\\computername] time [/INTERACTIVE] [ /EVERY:date[,...] | /NEXT:date[,...]] "command" \\computername 指定远程计算机. 如果省略这个参数,
会计划在本地计算机上运行命令. id /delete /yes time /interactive /every:date[,...] 指定给已计划命令的识别号. 删除某个已计划的命令.如果省略 id, 计算机上所有已计划的命令都会被删除. 不需要进一步确认时,跟删除所有作业 的命令一起使用. 指定运行命令的时间. 允许作业在运行时,与当时登录的用户 桌面进行交互. 每个月或每个星期在指定的日期运行命 令.如果省略日期,则默认为在每月的 本日运行. /next:date[,...] 指定在下一个指定日期(如,下周四)运 行命令.如果省略日期,则默认为在每 月的本日运行. "command" 准备运行的 Windows NT 命令或批处理 程序.
Tomcat 或者 WebLogic 服务器在 Linux/Unix 下容易出现的 权限问题

如果服务器启动时,所用的账户没有写权限,那么服务器可能启动失败或者无法创建文件. Solaris 系统.有两个用户,一个用户 a,安装了 Tomcat/WebLogic 服务器,建了用户 b 来启 动这个服务器. Oracle 驱动 jar 包,用户 a 上传的,随后把它加到 classpath. ClassNotFound --> System.getProperty("classpath") 解决:用 a 来启动服务器.
共享文件

1. FTP 共享(暂时没讲) 2. 把 XP 的 Tomcat 启动,把要下的文件复制到 XP 的 Tomcat/webapps/ROOT 3. HTTP 文件服务器 4. 最简单 HTTP静态文件服务器: HFS.exe 双击启动,测:http://localhost/ 添加目录或者文件到 Web 服务器主页,提供下载. 虚拟机必须敲主机的网关(VMNet8)IP 地址来访问外边主机的 HTTP 服务
如何安装 Eclipse?

必须下载 Li

nux 版本 32 位(要和自己 CPU 配套) . eclipse-java-ganymede-linux-gtk.tar.gz RedHat 9 ==> 最新版的 Eclipse 3.3,3.4 无法启动 Eclipse 3.2 + MyEclipse 5.5
如果 java 命令加入到了 PATH 变量,可以解压缩后终端直接运行 ./eclipse. 在文件管理器中进入 eclipse 目录双击文件 eclipse 执行. 如果没有,jdk1.5.../jre 把 jre 复制到 eclipse/jre
如何调整 Linux 的屏幕分辨率
调整完注销,再登录就可以看到效果. 如果发现装完之后显示器分辨率太高(Fedora),怎么调整成合适的大小? 需要修改配置文件才能修正,修改分辨率不行.
gedit /etc/X11/xorg.conf Screen Display Depth 后面加入 Modes "1027x768" 保存后注销即可.

如何将 Red Hat 的屏幕分辨率调整的比较高? 显示属性选择一个 Generic 的分辨率较高的显示器.
如何安装 MyEclipse?

MyEclipse_5_5_1GA_E3_2_2_Installer.bin 刚下载的文件双击不能执行, chmod +x *.bin 文件管理器右键点击设置为可执行.
/tmp 或者/root 目录空间不足.释放 110MB 空间才可继续安装. 还需要额外 500MB 空间. BIN 文件是个压缩包+自解压的程序.
接受协议
MyEclispe 5.5 必须事先解压缩安装好 Eclipse 3.2.2 MyEclipse 6.0 配套是 Eclipse 3.3
需要 600MB 空间,但是硬盘上只有 200MB.
如何安装 MySQL?

何处下载? https://www.doczj.com/doc/427421577.html, > Downloads > MySQL Community Server 一个软件开源的,叫 Community 社区版,开源免费 Enterprise 企业版(收费) Company, Corp 开源软件 > MySQL 开源版和收费版 外加收费服务 Spring > SpringSource 顾问(consulting)公司 三天 Spring 9000 元 中文培训 1) 培训服务 2) 技术支持(付费)Spring + Weblogic 9 出错了 自己研究,可以找 SpringSource 公司 3)付 费软件 开源都是免费广告,不会把 UML 图,把系统完整执行流程,Spring 好多类没有任何说明. 知识壁垒.有成品,但是没有图纸,也没有建造.SWT -> eswt.
Download

https://www.doczj.com/doc/427421577.html,/downloads/mysql/5.0.html
mysql-5.0.67-linux-i686-glibc23.tar.gz
下载完可以用图形界面右键选择文件解压缩到/root,得到目录 mysql-5.0.67-linux-i686-glibc23 把目录改名成 mysql 剪切到 /usr/local 这些命令必须在使用 MySQL 二进制包安装时使用. 把文件解压缩到 /usr/local/mysql groupadd mysql 给 mysqld 这个服务进程添加一个用户组 mysql useradd -g mysql mysql 添加用户,它的组(-g)是 mysql,用户名是 mysql –g <组名> <用户名> cd /usr/local/mysql 更改目录到 mysql 的安装目录下 chown -R mysql . chown --> change owner 更改.(当前目录)下的所有文件它的所有者为 mysql –R –recurse 递归 (循环包括所有子目录) chgrp -R mysql . 更改.(当前目录)下的所有文件的群组为 mysql –R –recurse 递归(循环包括所有子目录) scripts/mysql_install_db --user=mysql 以 mysql 用户执行初始化数据库的脚本 (建表语句) 执行完之后才有 mysql 系统数据库 , (

用 户信息,所有表的字段信息) chown -R root . chown -R mysql data 把 root,mysql,data 这三个目录所有者修改为 mysql bin/mysqld_safe --user=mysql &; 以后台(&;)方式,用户为 mysql 来启动 MySQL 服务器并监听到端口 3306 纯文本界面(参考): shell> groupadd mysql shell> useradd -g mysql mysql shell> cd /usr/local shell> gunzip < /path/to/mysql-VERSION-OS.tar.gz | tar xvf shell> ln -s full-path-to-mysql-VERSION-OS mysql (ln 是建文件的别名,链接,推荐把目录
改名)

shell> cd mysql shell> chown -R mysql . shell> chgrp -R mysql . shell> scripts/mysql_install_db --user=mysql shell> chown -R root . shell> chown -R mysql data shell> bin/mysqld_safe --user=mysql &; 检查 MySQL 是否启动: bin/mysql 如果安装失败,会弹出错误信息:unable connect to port 3306.成功没有任何输出.
或者: ps –ef | grep mysql > use test; //切换到 test 数据库,加了分号命令结束,才会发送到数据库执行 > create table user( id int auto_increment, name varchar(200), primary key(id) ) charset=GBK; // 建表, auto_increment 必须是主键类型 > insert into user(name) values('张三'); // 插入数据 > select * from user; // 查看数据库 > exit; 管理软件: 图形化的 Java 软件:dbvis_linux_6_0_13.sh DBVisualizer https://www.doczj.com/doc/427421577.html, 置 PATH 完成后才可安装) Navicat Lite for MySQL MySQL 自带的客户端: /usr/local/mysql/bin/mysql Java 程序测试: /* * JDBCHelloWorld.java * 版权所有 2007 刘长炯(BeanSoft@https://www.doczj.com/doc/427421577.html,) * Blog: https://www.doczj.com/doc/427421577.html,/beansoft/ * 本代码协议: GPL, 参考根目录下的 gpl.txt */ import java.sql.SQLException; /** * 第一个 JDBC 的 HelloWorld 程序, 数据库访问 Mysql. * @author BeanSoft@https://www.doczj.com/doc/427421577.html, * @version 0.2 2007-10-01 */ public class JDBCHelloWorld { /** * @param args * @throws SQLException */ public static void main(String[] args) throws SQLException { // 1. 注册驱动
(先把 JDK 安装配
try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); }// Mysql 的驱动 // 2. 获取数据库的连接 java.sql.Connection conn = java.sql.DriverManager.getConnection( "jdbc:mysql://localhost/test?useUnicode=true&;characterEncoding=GBK", "root", null); // 3. 获取表达式 java.sql.Statement stmt = conn.createStatement(); // 执行插入数据的 SQL stmt.executeUpdate("insert into user(name) values('Linux JDBC 测试')");
// 4. 执行 SQL java.sql.ResultSet rs = stmt.executeQuery("select * from user"); // 5. 显示结果集里面的数据 while(rs.next()) { System.out.println(rs.getInt(1)); System.out.println(rs.getString("name")); System.out.println(); }
// 6. 释放资源 rs.close(); stmt.close(); conn.close();
} } 运行需要 mysql.jar java –cp .:./mysql.jar JDBCHelloWorld 把 mysql.jar 放入 WEB-INF/lib 编写测试页面 db.jsp
<% try { try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e) { // TODO Auto-generated cat

ch block e.printStackTrace(); } java.sql.Connection conn = java.sql.DriverManager.getConnection( "jdbc:mysql://localhost/test?useUnicode=true&;characterEncoding=GBK", "root", null); out.println(conn); conn.close(); } catch(Exception e) { } %>
这些命令都是什么?(复习要点)

文件操作应实现增删改查功能 cat rm find ls tail 跟踪文件输出 more 分页查看文件内容 cd cp (copy) 复制文件 设置权限 chmod +x –x +r –r +w –w 文件名 执行程序 ./命令 命令名 停止程序 按下 Ctrl+C 设置环境变量 export 进程管理
ps –ef 显示所有的进程 服务器有可能死掉,shutdown.sh,手工杀死进程 过滤出包含 java 字样的进程 ps –ef | grep java 回来列表:用户名 进程号 process id 杀死进程: kill kill -9 强制杀死 文本编辑 VI
Linux 概况 什么是 Linux

什么是 Linux 简单地说, Linux 是一套免费使用和自由传播的类 Unix 操作系统, 它主要用于基于 Intel x86 系列 CPU 的计算机上.其目的是建立不受任何商品化软件的版权制约的,全世界都能 自由使用的 Unix 兼容产品.不太常用的功能裁剪掉了,减少了软件的个头,内存和磁盘消 耗都减少了. Linux 最早由一位名叫 Linus Torvalds 的计算机爱好者开发,他的目的是设计一个代替 Minix 的操作系统,这个操作系统可用于 386,486 或奔腾处理器的个人计算机上,并且具 有 Unix 操作系统的全部功能.好多公司都参与进来,出现了好多山寨 Linux,红旗,中科, RedHat,Fedora,Ubuntu,Debian(昵称大便),TurboLinux(50MB,没有中文),分支比较多, 内核都差不多. Linux 以它的高效性和灵活性著称.它能够在个人计算机上实现全部的 Unix 特性,具 有多任务,多用户的能力.Linux 可在 GNU( "不是 UNIX"工程的缩写)公共许可权限下 免费获得, 是一个符合 POSIX 标准的操作系统. Linux 操作系统软件包不仅包括完整的 Linux 操作系统,而且还包括了文本编辑器,高级语言编译器等应用软件.它还包括带有多个窗口 管理器的 X-Windows 图形用户界面,如同我们使用 Windows NT 一样,允许我们使用窗口, 图标和菜单对系统进行操作. Linux 之所以受到广大计算机爱好者的喜爱,主要原因有两个,一是它属于自由软件, 用户不用支付任何费用就可以获得它和它的源代码, 并且可以根据自己的需要对它进行必要 的修改和无约束地继续传播.另一个原因是,它具有 Unix 的全部功能,任何使用 Unix 操作 系统或想要学习 Unix 操作系统的人都可以从 Linux 中获益.1)公司服务器 2)要掏巨额现 金买操作系统软件的老外.软件比硬件贵.Dell 1200$,JBuilder 1499$.
LINUX 的组成

LINUX 的内核:内核是系统的核心,是运行程序和管理 像磁盘和打印机等硬件设 备的核心程序. LINUX SHELL: Shell 是系统的用户界面,提供了用户与内核进行交互操作的

一种接
口. LINUX 文件系统: Linux 文件系统是文件存放在磁盘等存储设备上的组织方法. Linux 能支持多种文件系统,如 EXT2,EXT3,FAT,VFAT,ISO9660,NFS,SMB 等. LINUX 应用系统:标准的 Linux 系统都有一整套称为应用程序的程序集,包括文本 编辑器,编程语言,X Window,办公套件,Internet 工具,数据库等. 人 > 屏幕 显示器(输出)+ 按键 键盘(输入)+ 鼠标 > SHELL(接待员,解释器), 对外有固定的规律 ls cd + 扩展> 内核 人脑(手机(电池,电路板)电信号) > CPU, 内存,主板 手机要存文件,闪存 > IO 文件系统 显示器要显示什么内容,交给应用程序开发商来做.PDF,MP3, MP4, 相机,软件化, MSN,QQ. C> openCamera() dial(xxxx) MOTO 手机用的 Linux.
主要的 Linux 版本

RedHat 9 Fedora > Red Hat 10 之后改名 RedHat Linux Enterprise 收费 TurboLinux
Linux 软件安装 RPM 包

安装程序,双击就可以安装.
rpm –i mysql.rpm
RPM 软件包管理器(RPM)是开放打包系统,任何人都可以使用.它在 Red Hat Linux, 以及其它 Linux 和 UNIX 系统上运行.对于终端用户来说,RPM 简化了系统更新.安装, 删除安装,升级 RPM 软件包可以使用简短的命令就可完成.RPM 维护一个已安装软件包 和它们的文件数据库,因此,可以在系统上使用功能强大的查询和校验. 对于开发者来说,RPM 允许把软件编码和程序打包,然后提供给终端用户. RPM 有五种基本操作模式(不包括软件包建构) :安装,删除安装,升级,查询和校验, 本节包括对每一模式的总览.想了解完整的选项和细节,请使用 rpm --help 命令. RMP 包的名称格式 RPM 包的名称有其特有的格式,如典型的 RPM 软 名称类似于: mysql-5.0.i386.rpm 该文件名包括软件包名称"liubing" ;软件的版本"1.0" 其中包括主版本号和次版本号; "i386"是软件所运行 硬件平台;最后"rpm"做为文件的扩展名,当然代表文 件的类型为 RPM 包.
使用 RedHat 软件安装工具

Linux 添加删除软件: 开始 > 系统设置 > 添加删除应用程序 管理的就是 RPM 包. 自解压或者压缩包的程序不通过它管理:.bin,.sh,.tar.gz,.zip.
使用自解压包,安装程序

chmod +x * dbvis_linux_6_0_13.sh jdk-1_5_0_12-linux-i586.bin
使用压缩包

eclipse-SDK-3.2.2-linux-gtk.tar.gz apache-tomcat-5.5.23.zip
Linux 常用桌面软件

gFTP
gEdit OpenOffice Mozilla/Firefox
Linux 文件系统

文件区分大小写: aA.txt AA.TXT 这种文件名 Windows 下不能存到一个目录,Linux 可以. new File("Test.txt"); new File("test.txt");
MySQL: 表名是区分大小写的(Linux 系统), Windows 下不区分. create table User select * from user 路径名用来分辨不同的文件, 从/开始的是绝对路径, 否则是相对路径(必须有当前工作目 录). c:\a.txt ==> 有盘符 /roo/a.txt ==> 没有盘符,所有的文件都是以/开头 把硬件也模拟成一个文件来访问 /mnt/cdrom/ 光

驱 /mnt/floppy/ 软驱 /dev/hda 硬盘 1 /dev/hdb 硬盘 2 /dev/hdc 硬盘 3 . 当前目录 .. 上一级目录 ~ 用户主目录(Linux 特有) Windows: 以 \ 作为目录分隔符 back slash Unix: 以 / 作为目录分隔符 slash 路径分割符: classpath=c:\a.jar;d:\mysql.jar ==> ;是路径分隔符 classpath=/opt/a.jar:/tmp/mysql.jar ==> :是路径分隔符 Linux 的分号表示另一个命令的开始 ls;date 查看隐藏文件: 编辑 > 首选项
.configuration
.netbeans .eclipse ---> 你要寻找一个文件名为 .eclipse ./eclipse --> 当前目录下的 eclipse 这个文件 . ==> 当前所在目录 cd /abc . = abc Linux 下面可执行文件没有扩展名规定, 文件名为 abc,只要文件的权限是可执行,这个文 件就可以被执行,不存在.exe,.com. .sh eclipse .bin 默认一些文档是不可执行: .txt, .doc, .zip, .tar.gz, .tar, .html, .jpg, .png, .gif, .wav, .ogg(声音文件) cd ~ 来到当前用户所在主目录 Windows 用户主目录:C:\Documents and Settings\BeanSoft Linux: root 的主目录在 /root 非 root 的用户在 /home/登录名 登录帐号是 zxx /home/zxx cd ~ --> cd /home/zxx 每个文件和目录都有权限控制,不归当前用户所有的文件和目录它都无权访问. 推荐不用 root 用户进行工作,把程序装到非 root 用户下.文件系统安全系数比较高,作为 服务器的一个原因. Windows NTFS,Vista 文件系统:支持文件的安全设置.
Linux 系统主要目录说明

/bin :显而易见,bin 就是二进制(binary)英文缩写. 系统内置命令. /boot : 在这个目录下存放的都是系统启动时要用到的程序. 在使用 lilo 引导 linux 的时候, 会用到这里的一些信息. /dev:dev 是设备(device)的英文缩写.这个目录对所有的用户都十分重要.因为在这个 目录中包含了所有 linux 系统中使用的外部设备. 但是这里并不是放的外部设备的驱动程序. /etc :etc 这个目录是 linux 系统中最重要的目录之一.在这个目录下存放了系统管理时要用 到的各种配置文件和子目录.我们要用到的网络配置文件,文件系统,x 系统配置文件,设 备配置信息,设置用户信息等都在这个目录下 /sbin :这个目录是用来存放系统管理员的系统管理程序. /home :如果建立一个用户,用户名是"jl",那么在/home 目录下就有一个对应的/home/jl 路 径,用来存放用户的主目录.
/lib :lib 是库(library)英文缩写.这个目录是用来存放系统动态连接共享库的.几乎所 有的应用程序都会用到这个目录下的共享库. /mnt :这个目录在一般情况下也是空的.可以临时将别的文件系统挂在这个目录下.挂载 光盘,软盘,USB. /proc :可以在这个目录下获取系统信息.这些信息是在内存中,由系统自己产生的. /root :如果用户是以超级用户的身份登录的,这个就是超级用户的主目录. /tmp :用来存放不同程序执行时产生的临时文件. 这个目录

下的文件可以清空. /usr :这是 linux 系统中占用硬盘空间最大的目录.放源码啊,常见程序,内容比较杂乱. /usr/local 放用户自己装的程序.
如何新建终端

在 Linux 系统中打开终端的方式有以下两种: 种是在桌面上依次单击"主程序→系统工具→终端"可打开如图 2-1 的终端窗口;另一种是 在 Linux 桌面上单击鼠标右键 (只有 RedHat 支持) 从弹出的快捷菜单中选择 , "终端" 命令, 也可打开终端窗口.
Linux 用户类型和操作

超级用户和普通用户 超级用户(super user): 具有所有的权限,删除任意文件,增删用户的帐号信息,修改系统配 置,安装删除程序. 普通用户:只能访问公用的文件系统和自己的文件信息(主目录下的) ,不能修改系统变量, 不能随意杀死进程,不能安装和删除程序,不能修改其它人信息,不能修改网络信息和系统 分辨率. Telnet 登录:
telnet IP 地址 只有命令可以敲,没有 gedit. 登录: login 修改密码:passwd
退出:exit 管理员常见操作: groupadd 添加用户组 useradd 添加用户 who 显示当前系统有哪些用户在操作 whoami 显示当前是以什么帐号登录 图形界面方式添加帐号:开始 > 系统设置 > 用户和组群
mysql 是安装 MySQL 服务器时通过命令方式创建的用户组和用户.
查看网络服务列表

/etc/services 这是一个文件
Linux 命令执行

Command [option(s)] [argument[s]] 命令 [选项(一个或者多个,以-开始)] [参数(一个或者多个)] java –cp d:\mysql.jar;d:\spring.jar MyClass port=10
–Djava.xx=... –Ms16M 选项和参数都是可选. javac –encoding UTF-8 Hello.java 用空格作为分隔 取款 100 取款 -美元 100 不同点: Windows 下面命令不分大小写(文件路径也是不分) Unix/Linux 都要区分大小写 取消命令的执行: 按下 Ctrl + C 终止命令的执行 如何在后台执行命令? Command .... &; java MyClass &;
Linux 文件操作命令

cat 新建文本文件 cat > test.txt 输入内容 按下 Ctrl + C 文件建好 新建空白文件: touch empty.txt more 文件名 查看文件内容 cd ls chmod chown chgrp cd <路径> 命令的路径名参数可以是: . .. ~ 绝对/相对路径 ls <选项> <路径> ls -l <路径> 显示详细的文件信息
d rwx r-x r-x 2 root root 512 10 月 19 日 18:08 新文件夹 文件类型 拥有者权限 组权限 其他人权限 硬连接数 拥有者名称 拥有者的组 文件大小 文件最后修改时间 文件名
ls -a 显示隐藏文件, 例如以 . 开头的文件 ls -R 循环遍历子目录 使用多个选项 ls -a –R 和 ls –aR 等价 ls –F 显示文件类型(Linux 是以颜色显示) 目录文件 / 可执行文件 * 文本文件 (none) 文件权限 权限的分组 拥有者是 u (user) 同组的是 g (group) 其他人是 o (other) 所有人是 a (all) 权限名称 可读 r (read) 可写 w (write) 可执行 x (execute) chmod [用户 更改操作 权

限] 文件名 用户 = u,g,o,a 操作 = +,-,= 添加 去掉 设置 权限 = r, w, x chmod a+x *.sh 给所有的 .sh 结尾的文件加上执行权限给所有人 chmod a-x *.sh 去掉执行权限 chmod 704 *.sh 给所有的 .sh 结尾的文件设置为可以读写和执行 7=变成二进制 111 ==>拥有者权限 111 三个二进制分别对应 rwx 0=000 ==> 组权限 组用户无权限 4=100 ==> 其他权限 -> r—只读 chmod +x *.bin 给 bin 文件加上执行权限 mkdir 创建目录 ==> java.io.File.mkdir('目录') mkdir -p com/google/earth ==> java.io.File.mkdirs('目录 1/目录 2') -p 参数用来创建完整路径, 如果目录结构不存在, 就把路径里的所有目录都创建出来 cp 复制文件/文件夹 (copy) cp -i 源文件 目标文件 i = interactive 交互,提示是否覆盖; 如果不加 -i, 会直接覆盖 cp -r 源文件 目标文件 把源文件以及下面的所有文件都复制到目标文件里面(r 是递归的 意思) cp day01.txt day02.txt test/ 源文件可以是多个文件(这时候目标必须是目录), 目标文件只有 一个目录
rename 是做文件名替换(用的比较少) mv 用来重命名或者移动文件(move) mv 文件名或者目录名 当前目录下的另一个文件名或者目录名 重命名 mv 文件名 其他目录下的另一个文件或者目录名 移动文件 移动多个文件: mv day01.txt day02.txt test/ mv -i 会提示是否覆盖 rm remove 文件名(一个或者多个) 用来删除文件或者目录(-r) rm -i 交互模式, 提示是否覆盖 rm -i 交互 -r 是彻底删除(包括子目录) 不要轻易用-r, 否则会误删文件, 子目录文件也删了. rm –r / 危险命令 rm -i –r rm -ir rmdir 目录名(一个或者多个) 只能删除空目录 remove directory rmdir com rmdir: 目录 "com": 目录没有空 man manual 显示用法
man
命令名 能显示完整的用法说明
简短的帮助 : 命令名 –help man ls 回车 是下一行 空格 翻页 输入 q 退出帮助文档
压缩和解压缩

定时备份 crontab + 备份命令 mkdir < date cd < date zip –r tomcat.zip tomcat
常见文件格式:tar tar.gz zip gz tar 打包目录,不压缩内容 tar cf work.tar workspace 把 workspace 目录打包成 work.tar gzip 只压缩文件,不能包含目录
gzip work.tar ==> 得到 work.tar.gz unzip 解压缩 ZIP 文件 unzip mysql.jar zip 压缩 zip ins.zip install.log ... ZIP 都支持-r 参数来递归打包子目录. zip –r com.zip com 把 com 下的所有文件打包到 com.zip 压缩级别从 0 到 9,分别是存储(无压缩)到最佳压缩 zip -9 a.zip a.txt 最大压缩比压缩
元字符(通配符) Meta Char

1) 通配符 * 通配 0 到多个字符 ls *.txt 匹配所有结尾字母是 .txt 的文件 ls d* 所有开头字母是 d 2) ; 用来在同一行输入多个命令(Windows 不支持) cal;date 建立文件后立即查看 touch d.txt ; ls touch 修改文件的最后更新为当前日期 3) 重定向输入和输出 尖括号用来充定向输入

或者输出 > 用来重新输出屏幕显示的内容到文件 cal > 10.txt (覆盖) 重定向输入 ls < a.txt a.txt 内容是 / ==> 等于执行 ls / >> 用来重新输出屏幕显示的内容到文件(追加) | 管道 它把 | 左边的命令的输出当成参数传给右侧的命令 命令 1 | 命令 2 | 命令 3 ls | more 用分页的方式来查看文件列表 ps -ef | grep java 用来查看所有的 java 进程 自来水管(优质水源) 输出 自来水 | 作为输入进入到 > 过滤器 > 过滤后的水 | 入> 矿泉水瓶 | 人 作为输
文本编辑

1) cat 如何建立/追加文件 cat > a.txt cat >> a.txt cat 在屏幕上显示文件内容(全部显示) cat 文件 1 文件 2... 合并的话就用 cat a.txt b.txt > c.txt
可以使用 cat 命令创建包含文本的文件 例如 要创建名为 myfile 的文件 请按如下方式使用 cat 命令 $ cat > myfile 键入此命令之后 光标位于空文件的第一行 键入文本并在每一行的结尾按 Enter 键 要退出文件 请在按住 CTRL 键的同时按 C cat 命令返回命令行 提示符 可以使用 cat 命令创建自己的 myfile 版本 例如 可按如下方式创建文件 $ cat > myfile The text I am typing will be stored in "myfile". Enter I press RETURN at the end of each line. Enter When I'm finished, I hold down the CTRL key and press C. Enter CTRL-C 2) more 在屏幕上显示文件的一屏内容 空格键 翻页 b 上页 f 下一页 q 退出 /string 查找文字 3) tail -20f logs.txt 跟踪显示最后 20 行 tail 显示文件的后几行的内容, 默认只显示 10 行内容 tail -20 文件名 显示后 20 行内容 tail -f 文件名 会跟踪文件的变化来实时显示文件新加入的内容 4)head 文件名 显示文件的头几行文字
全屏幕文本编辑器 vim(了解)

Linux 下面的 vim (VI Improved 改进版) vi 编辑器有两种处理文本的基本模式 命令模式 文本输入模式 Bill Joy, Sun 公司创始人之一
启动 vi 新建未保存的文件 vi 文件名 是新建或者编辑一个文本文件
vi para.txt Linux 默认模式是编辑模式 按下 i (insert) 来开始插入内容 要保存文件, 先按下 Esc 键, 进入命令模式, 再按一下 : 键, 输入 wq 退出(w=write, q =quit) :w 存盘 :w newfile 存成新文件 :wq 存盘退出 Vi(或 ZZ,或:x) :q! 强行退出不存盘
显示磁盘空间

du 统计磁盘空间占用情况 disk usage df –k 是对文件系统进行统计 du 单位是 512 字节 du –k 单位是 K,即 1024 字节
df 查看分区的空间占用
分了三个盘 hda1,hda2,hda5 就一个硬盘:hda 第二个硬盘 hdb hdc... 每个子目录都可以单独指定制定一个分区
使用光驱和软驱

/dev/mount/cdrom /dev/mount/floppy
在 Linux 下进行内容查找

------------grep------------在文件里边找指定的字符串, 把符合条件的行显示出来 grep [选项] 关键字 [文件名] -i 忽略大小写 grep 关键字 在用户输入的字符里查找是否包

含关键字
ps process 进程列表 ps -ef -e 列出每一个进程 -f 以长列表的形式显示 ps -ef | more 分页显示进程列表 ps -ef | grep java 查出所有包含 java 字样的进程 输出: 第一列 哪个用户的进程 第二列 是进程编号 最后一列 是进程命令名 kill 用来杀死进程 kill -9 进程编号 强制杀死进程 find 查找文件 find 路径 表达式 [操作]
网络基础知识

ping [IP / 主机名] 查看网络是否连通 ifconfig (Windows ipconfig) 显示网卡信息 network interface telnet [IP / 主机名] [端口] 远程登录 端口 和高速公路上的车道类比 (了解) FTP [IP / 主机名] 文件传输(上传/下载) 输入?列出所有的 FTP 命令 ls 列出文件目录 ls -l 列出文件详细信息 cd 切换服务器上的目录 cd unix 更改目录 bin/binary 以二进制的方式传文件 asc/ascii asc 码的方式传文件(传文本文件) get 文件名 取一个文件 从服务器往自己的机子上取(下载) -- ! 在不断开连接的情况下 可以回到自己终端上的目录 put 文件名 把文件从自己的电脑上放到服务器(上传) mget *.* 批量下载文件 (multi get) mput *.* 批量上传 prompt 关闭交互模式(不再提示批量下载时候的确认信息)
lcd 改变 client 端的文件目录(自己电脑的目录) quit 退出 FTP write 用户名 [终端号] 用来发消息(聊天)
Shell 脚本

Windows 下对应的是批处理文件(.bat,.cmd) vi/gedit a.sh 创建 chmod +x a.sh 添加执行权限 a.sh 运行 crontab 定时器(了解) 练习:阅读 Tomcat startup.sh
环境变量和配置

1. 理解环境变量 2. PATH 3. 配置 Java 开发环境 JAVA_HOME=/opt/jdk15 CLASSPATH=. PATH=$PATH:$JAVA_HOME/bin java,javac 4. 了解系统的初始化文件 Bash: .bash_profile .bash_rc /etc/profile 5.查看和设置变量: ①全局变量: env 查看所有的环境变量.大写,用:分隔 echo LANG echo $LANG 显示变量 LANG 的系统缺省值,或者用 echo "$LANG" echo $HOME ②局部变量 echo $path 查看,小写,用空格分隔 设置变量: export set 用的少一些

6. which 显示命令所在的路径. which java
CVS
Eclipse CVS 用法 IBM 开发人员社区有 https://www.doczj.com/doc/427421577.html,/cn/ 点开发人员 点 java 搜 Eclipse 版本控制

相关主题
文本预览
相关文档 最新文档