openOffice安装及服务启动
一、安装openOffice
1.使用tar -xzvf OOo_3.2.0_LinuxIntel_install_wJRE_en-US.tar.gz解压缩后,会得到OOO320_m12_native_packed-1_en-US.9483
目录。
2.进入OOO320_m12_native_packed-1_en-US.9483目录: cd OOO320_m12_native_packed-1_en-US.9483
3.进入到RPMS目录: cd RPMS
4.执行 rpm –ivh *rpm(安装所有rpm文件)
5.进入到desktop-integration目录 cd desktop-integration
6.执行 rpm -ivh openoffice.org3.2-redhat-menus-3.2-9472.noarch.rpm
这时openOffice己经安装完成,默认会安装在/opt下
二、启动openOffice服务
1.进入opt目录:cd /opt
2.进入openoffice.org3目录: cd openoffice.org3
3.进入program目录
4.执行 soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
5.完成启动
- <%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
//去空格
String.prototype.Trim = function() {
var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
//验证手机号
String.prototype.isMobile = function() {
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
}
//验证电话
String.prototype.isTel = function()
{
//"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
//return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
}
function chkForm(form) {
if (form.tel.value.isMobile()||form.tel.value.isTel()) {
form.tel.value = form.tel.value.Trim();
alert("您的电话/手机号码是:" + form.tel.value);
return true;
}
else {
alert("请输入正确的手机号码或电话号码\n\n例如:13916752109或0712-3614072");
tel.focus();
return false;
}
// 我实际项目中是这样用的
// if(form.userName.value==''){
// alert('手机号码不能为空!');
// form.userName.focus();
// return false;
// }
// if(!form.userName.value.isMobile()) {
// alert("请输入正确的手机号码!!");
// form.userName.focus();
// return false;
// }
}
</script>
</head>
<body>
<form name="form1" method="post" action="" onsubmit="return chkForm(this);">
<input type="text" name="tel" value="13916752109" size="15" />
<input type="submit" value="测 试" />
</form>
</body>
</html>
==================正则表达式理解========================
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号
^13\d{5,9}$/ //130–139。至少5位,最多9位
/^153\d{4,8}$/ //联通153。至少4位,最多8位
/^159\d{4,8}$/ //移动159。至少4位,最多8位
=======================================================================
用户名:<input id="userName" name="userName" type="text" />
绑定号码<input type="text" id="bindMobilePhone" name="bindMobilePhone" />
<input name="ok" type="submit" value="注 册" onclick="return mycheck();"/>
<script type="text/javascript">
function mycheck()
{
//中文、字母或者下划线进行注册!3~8位
var name = /[\w\u4e00-\u9fa5]{3,8}/
//手机号码
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
if(document.getElementById('userName').value==''){
alert('用户名不能为空!');
return false;
}else if(!name.test(document.getElementById('userName').value)){
alert('请输入中文、字母或者下划线进行注册!3~8位');
return false;
}
if(document.getElementById('bindMobilePhone').value==''){
alert('绑定号码不能为空!');
return false;
}else if(!Mobile.test(document.getElementById('bindMobilePhone').value)){
alert('请输入正确的手机号!');
return false;
}
}
</script>
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>无标题文档</title> <script type="text/javascript"> //去空格 String.prototype.Trim = function() { var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/); return (m == null) ? "" : m[1]; } //验证手机号 String.prototype.isMobile = function() { return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim())); } //验证电话 String.prototype.isTel = function() { //"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)" //return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim())); return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim())); } function chkForm(form) { if (form.tel.value.isMobile()||form.tel.value.isTel()) { form.tel.value = form.tel.value.Trim(); alert("您的电话/手机号码是:" + form.tel.value); return true; } else { alert("请输入正确的手机号码或电话号码\n\n例如:13916752109或0712-3614072"); tel.focus(); return false; } // 我实际项目中是这样用的 // if(form.userName.value==''){ // alert('手机号码不能为空!'); // form.userName.focus(); // return false; // } // if(!form.userName.value.isMobile()) { // alert("请输入正确的手机号码!!"); // form.userName.focus(); // return false; // } } </script> </head> <body> <form name="form1" method="post" action="" onsubmit="return chkForm(this);"> <input type="text" name="tel" value="13916752109" size="15" /> <input type="submit" value="测 试" /> </form> </body> </html> ==================正则表达式理解======================== return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim())); var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/ 正则表达式部分: \d 代表一个数字 {7,8} 代表7-8位数字(表示电话号码) {3,} 代表分机号码 d{2,3} 代表区号 \+]\d{2,3} 代表国际区号 ^13\d{5,9}$/ //130–139。至少5位,最多9位 /^153\d{4,8}$/ //联通153。至少4位,最多8位 /^159\d{4,8}$/ //移动159。至少4位,最多8位 ======================================================================= 用户名:<input id="userName" name="userName" type="text" /> 绑定号码<input type="text" id="bindMobilePhone" name="bindMobilePhone" /> <input name="ok" type="submit" value="注 册" onclick="return mycheck();"/> <script type="text/javascript"> function mycheck() { //中文、字母或者下划线进行注册!3~8位 var name = /[\w\u4e00-\u9fa5]{3,8}/ //手机号码 var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/ if(document.getElementById('userName').value==''){ alert('用户名不能为空!'); return false; }else if(!name.test(document.getElementById('userName').value)){ alert('请输入中文、字母或者下划线进行注册!3~8位'); return false; } if(document.getElementById('bindMobilePhone').value==''){ alert('绑定号码不能为空!'); return false; }else if(!Mobile.test(document.getElementById('bindMobilePhone').value)){ alert('请输入正确的手机号!'); return false; } } </script>
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
//去空格
String.prototype.Trim = function() {
var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
//验证手机号
String.prototype.isMobile = function() {
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
}
//验证电话
String.prototype.isTel = function()
{
//"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
//return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
}
function chkForm(form) {
if (form.tel.value.isMobile()||form.tel.value.isTel()) {
form.tel.value = form.tel.value.Trim();
alert("您的电话/手机号码是:" + form.tel.value);
return true;
}
else {
alert("请输入正确的手机号码或电话号码\n\n例如:13916752109或0712-3614072");
tel.focus();
return false;
}
// 我实际项目中是这样用的
// if(form.userName.value==''){
// alert('手机号码不能为空!');
// form.userName.focus();
// return false;
// }
// if(!form.userName.value.isMobile()) {
// alert("请输入正确的手机号码!!");
// form.userName.focus();
// return false;
// }
}
</script>
</head>
<body>
<form name="form1" method="post" action="" onsubmit="return chkForm(this);">
<input type="text" name="tel" value="13916752109" size="15" />
<input type="submit" value="测 试" />
</form>
</body>
</html>
==================正则表达式理解========================
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号
^13\d{5,9}$/ //130–139。至少5位,最多9位
/^153\d{4,8}$/ //联通153。至少4位,最多8位
/^159\d{4,8}$/ //移动159。至少4位,最多8位
=======================================================================
用户名:<input id="userName" name="userName" type="text" />
绑定号码<input type="text" id="bindMobilePhone" name="bindMobilePhone" />
<input name="ok" type="submit" value="注 册" onclick="return mycheck();"/>
<script type="text/javascript">
function mycheck()
{
//中文、字母或者下划线进行注册!3~8位
var name = /[\w\u4e00-\u9fa5]{3,8}/
//手机号码
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
if(document.getElementById('userName').value==''){
alert('用户名不能为空!');
return false;
}else if(!name.test(document.getElementById('userName').value)){
alert('请输入中文、字母或者下划线进行注册!3~8位');
return false;
}
if(document.getElementById('bindMobilePhone').value==''){
alert('绑定号码不能为空!');
return false;
}else if(!Mobile.test(document.getElementById('bindMobilePhone').value)){
alert('请输入正确的手机号!');
return false;
}
}
</script>
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
//去空格
String.prototype.Trim = function() {
var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
//验证手机号
String.prototype.isMobile = function() {
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
}
//验证电话
String.prototype.isTel = function()
{
//"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
//return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
}
function chkForm(form) {
if (form.tel.value.isMobile()||form.tel.value.isTel()) {
form.tel.value = form.tel.value.Trim();
alert("您的电话/手机号码是:" + form.tel.value);
return true;
}
else {
alert("请输入正确的手机号码或电话号码\n\n例如:13916752109或0712-3614072");
tel.focus();
return false;
}
// 我实际项目中是这样用的
// if(form.userName.value==''){
// alert('手机号码不能为空!');
// form.userName.focus();
// return false;
// }
// if(!form.userName.value.isMobile()) {
// alert("请输入正确的手机号码!!");
// form.userName.focus();
// return false;
// }
}
</script>
</head>
<body>
<form name="form1" method="post" action="" onsubmit="return chkForm(this);">
<input type="text" name="tel" value="13916752109" size="15" />
<input type="submit" value="测 试" />
</form>
</body>
</html>
==================正则表达式理解========================
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号
^13\d{5,9}$/ //130–139。至少5位,最多9位
/^153\d{4,8}$/ //联通153。至少4位,最多8位
/^159\d{4,8}$/ //移动159。至少4位,最多8位
=======================================================================
用户名:<input id="userName" name="userName" type="text" />
绑定号码<input type="text" id="bindMobilePhone" name="bindMobilePhone" />
<input name="ok" type="submit" value="注 册" onclick="return mycheck();"/>
<script type="text/javascript">
function mycheck()
{
//中文、字母或者下划线进行注册!3~8位
var name = /[\w\u4e00-\u9fa5]{3,8}/
//手机号码
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
if(document.getElementById('userName').value==''){
alert('用户名不能为空!');
return false;
}else if(!name.test(document.getElementById('userName').value)){
alert('请输入中文、字母或者下划线进行注册!3~8位');
return false;
}
if(document.getElementById('bindMobilePhone').value==''){
alert('绑定号码不能为空!');
return false;
}else if(!Mobile.test(document.getElementById('bindMobilePhone').value)){
alert('请输入正确的手机号!');
return false;
}
}
</script>
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
//去空格
String.prototype.Trim = function() {
var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
//验证手机号
String.prototype.isMobile = function() {
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
}
//验证电话
String.prototype.isTel = function()
{
//"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
//return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
}
function chkForm(form) {
if (form.tel.value.isMobile()||form.tel.value.isTel()) {
form.tel.value = form.tel.value.Trim();
alert("您的电话/手机号码是:" + form.tel.value);
return true;
}
else {
alert("请输入正确的手机号码或电话号码\n\n例如:13916752109或0712-3614072");
tel.focus();
return false;
}
// 我实际项目中是这样用的
// if(form.userName.value==''){
// alert('手机号码不能为空!');
// form.userName.focus();
// return false;
// }
// if(!form.userName.value.isMobile()) {
// alert("请输入正确的手机号码!!");
// form.userName.focus();
// return false;
// }
}
</script>
</head>
<body>
<form name="form1" method="post" action="" onsubmit="return chkForm(this);">
<input type="text" name="tel" value="13916752109" size="15" />
<input type="submit" value="测 试" />
</form>
</body>
</html>
==================正则表达式理解========================
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号
^13\d{5,9}$/ //130–139。至少5位,最多9位
/^153\d{4,8}$/ //联通153。至少4位,最多8位
/^159\d{4,8}$/ //移动159。至少4位,最多8位
=======================================================================
用户名:<input id="userName" name="userName" type="text" />
绑定号码<input type="text" id="bindMobilePhone" name="bindMobilePhone" />
<input name="ok" type="submit" value="注 册" onclick="return mycheck();"/>
<script type="text/javascript">
function mycheck()
{
//中文、字母或者下划线进行注册!3~8位
var name = /[\w\u4e00-\u9fa5]{3,8}/
//手机号码
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
if(document.getElementById('userName').value==''){
alert('用户名不能为空!');
return false;
}else if(!name.test(document.getElementById('userName').value)){
alert('请输入中文、字母或者下划线进行注册!3~8位');
return false;
}
if(document.getElementById('bindMobilePhone').value==''){
alert('绑定号码不能为空!');
return false;
}else if(!Mobile.test(document.getElementById('bindMobilePhone').value)){
alert('请输入正确的手机号!');
return false;
}
}
</script>
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<script type="text/javascript">
//去空格
String.prototype.Trim = function() {
var m = this.match(/^\s*(\S+(\s+\S+)*)\s*$/);
return (m == null) ? "" : m[1];
}
//验证手机号
String.prototype.isMobile = function() {
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
}
//验证电话
String.prototype.isTel = function()
{
//"兼容格式: 国家代码(2到3位)-区号(2到3位)-电话号码(7到8位)-分机号(3位)"
//return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)?(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
return (/^(([0\+]\d{2,3}-)?(0\d{2,3})-)(\d{7,8})(-(\d{3,}))?$/.test(this.Trim()));
}
function chkForm(form) {
if (form.tel.value.isMobile()||form.tel.value.isTel()) {
form.tel.value = form.tel.value.Trim();
alert("您的电话/手机号码是:" + form.tel.value);
return true;
}
else {
alert("请输入正确的手机号码或电话号码\n\n例如:13916752109或0712-3614072");
tel.focus();
return false;
}
// 我实际项目中是这样用的
// if(form.userName.value==''){
// alert('手机号码不能为空!');
// form.userName.focus();
// return false;
// }
// if(!form.userName.value.isMobile()) {
// alert("请输入正确的手机号码!!");
// form.userName.focus();
// return false;
// }
}
</script>
</head>
<body>
<form name="form1" method="post" action="" onsubmit="return chkForm(this);">
<input type="text" name="tel" value="13916752109" size="15" />
<input type="submit" value="测 试" />
</form>
</body>
</html>
==================正则表达式理解========================
return (/^(?:13\d|15[89])-?\d{5}(\d{3}|\*{3})$/.test(this.Trim()));
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
正则表达式部分:
\d 代表一个数字
{7,8} 代表7-8位数字(表示电话号码)
{3,} 代表分机号码
d{2,3} 代表区号
\+]\d{2,3} 代表国际区号
^13\d{5,9}$/ //130–139。至少5位,最多9位
/^153\d{4,8}$/ //联通153。至少4位,最多8位
/^159\d{4,8}$/ //移动159。至少4位,最多8位
=======================================================================
用户名:<input id="userName" name="userName" type="text" />
绑定号码<input type="text" id="bindMobilePhone" name="bindMobilePhone" />
<input name="ok" type="submit" value="注 册" onclick="return mycheck();"/>
<script type="text/javascript">
function mycheck()
{
//中文、字母或者下划线进行注册!3~8位
var name = /[\w\u4e00-\u9fa5]{3,8}/
//手机号码
var Mobile = /^((\(\d{3}\))|(\d{3}\-))?13\d{9}|15[0-9]\d{8}$/
if(document.getElementById('userName').value==''){
alert('用户名不能为空!');
return false;
}else if(!name.test(document.getElementById('userName').value)){
alert('请输入中文、字母或者下划线进行注册!3~8位');
return false;
}
if(document.getElementById('bindMobilePhone').value==''){
alert('绑定号码不能为空!');
return false;
}else if(!Mobile.test(document.getElementById('bindMobilePhone').value)){
alert('请输入正确的手机号!');
return false;
}
}
</script>
Graphviz是大名鼎鼎的贝尔实验室的几位牛人开发的一个画图工具,它提供了“所想即所得”的理念,通过dot语言来编写脚本并绘制图形,简单易懂。
graphviz安装:
graphviz有多种安装方式,源码及发行包。
当前最新版源码下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
其它版本下载链接参照: http://www.graphviz.org/pub/graphviz/stable/SOURCES/
发行包:
Redhat and CentOS: http://www.graphviz.org/Download_linux_rhel.php
Fedora: http://www.graphviz.org/Download_linux_fedora.php
Ubuntu:http://www.graphviz.org/Download_linux_ubuntu.php
yum:
yum list 'graphviz*' 查看已安装graphviz包
yum install 'graphviz*' 安装graphviz
下面介绍几个简单的应用作为入门。
graphviz实例:
- digraph g{
- node [shape = record,height=.1//我定义了我下面的样式;
- node0[label = "<f0> |<f1> G|<f2> "];
- //我是一个node,我有三个属性,第二个的名字为G,其他两个为空
- node1[label = "<f0> |<f1> E|<f2> "];
- node2[label = "<f0> |<f1> B|<f2> "];
- node3[label = "<f0> |<f1> F|<f2> "];
- node4[label = "<f0> |<f1> R|<f2> "];
- node5[label = "<f0> |<f1> H|<f2> "];
- node6[label = "<f0> |<f1> Y|<f2> "];
- node7[label = "<f0> |<f1> A|<f2> "];
- node8[label = "<f0> |<f1> C|<f2> "];
- "node0": f2->"node4":f1;
- //我的第三个属性连到node4的第二个属性
- "node0": f0->"node1":f1;
- "node1": f0->"node2":f1;
- "node1": f2->"node3":f1;
- "node2": f2->"node8":f1;
- "node2": f0->"node7":f1;
- "node4": f2->"node6":f1;
- "node4": f0->"node5":f1;
- }
样式如图:
更多图形实例及脚本请参照:http://www.graphviz.org/Gallery.php。
Graphviz是大名鼎鼎的贝尔实验室的几位牛人开发的一个画图工具,它提供了“所想即所得”的理念,通过dot语言来编写脚本并绘制图形,简单易懂。
graphviz安装:
graphviz有多种安装方式,源码及发行包。
当前最新版源码下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
其它版本下载链接参照: http://www.graphviz.org/pub/graphviz/stable/SOURCES/
发行包:
Redhat and CentOS: http://www.graphviz.org/Download_linux_rhel.php
Fedora: http://www.graphviz.org/Download_linux_fedora.php
Ubuntu:http://www.graphviz.org/Download_linux_ubuntu.php
yum:
yum list 'graphviz*' 查看已安装graphviz包
yum install 'graphviz*' 安装graphviz
下面介绍几个简单的应用作为入门。
graphviz实例:
- digraph g{
- node [shape = record,height=.1//我定义了我下面的样式;
- node0[label = "<f0> |<f1> G|<f2> "];
- //我是一个node,我有三个属性,第二个的名字为G,其他两个为空
- node1[label = "<f0> |<f1> E|<f2> "];
- node2[label = "<f0> |<f1> B|<f2> "];
- node3[label = "<f0> |<f1> F|<f2> "];
- node4[label = "<f0> |<f1> R|<f2> "];
- node5[label = "<f0> |<f1> H|<f2> "];
- node6[label = "<f0> |<f1> Y|<f2> "];
- node7[label = "<f0> |<f1> A|<f2> "];
- node8[label = "<f0> |<f1> C|<f2> "];
- "node0": f2->"node4":f1;
- //我的第三个属性连到node4的第二个属性
- "node0": f0->"node1":f1;
- "node1": f0->"node2":f1;
- "node1": f2->"node3":f1;
- "node2": f2->"node8":f1;
- "node2": f0->"node7":f1;
- "node4": f2->"node6":f1;
- "node4": f0->"node5":f1;
- }
样式如图:
Graphviz是大名鼎鼎的贝尔实验室的几位牛人开发的一个画图工具,它提供了“所想即所得”的理念,通过dot语言来编写脚本并绘制图形,简单易懂。
graphviz安装:
graphviz有多种安装方式,源码及发行包。
当前最新版源码下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
其它版本下载链接参照: http://www.graphviz.org/pub/graphviz/stable/SOURCES/
发行包:
Redhat and CentOS: http://www.graphviz.org/Download_linux_rhel.php
Fedora: http://www.graphviz.org/Download_linux_fedora.php
Ubuntu:http://www.graphviz.org/Download_linux_ubuntu.php
yum:
yum list 'graphviz*' 查看已安装graphviz包
yum install 'graphviz*' 安装graphviz
下面介绍几个简单的应用作为入门。
graphviz实例:
- digraph g{
- node [shape = record,height=.1//我定义了我下面的样式;
- node0[label = "<f0> |<f1> G|<f2> "];
- //我是一个node,我有三个属性,第二个的名字为G,其他两个为空
- node1[label = "<f0> |<f1> E|<f2> "];
- node2[label = "<f0> |<f1> B|<f2> "];
- node3[label = "<f0> |<f1> F|<f2> "];
- node4[label = "<f0> |<f1> R|<f2> "];
- node5[label = "<f0> |<f1> H|<f2> "];
- node6[label = "<f0> |<f1> Y|<f2> "];
- node7[label = "<f0> |<f1> A|<f2> "];
- node8[label = "<f0> |<f1> C|<f2> "];
- "node0": f2->"node4":f1;
- //我的第三个属性连到node4的第二个属性
- "node0": f0->"node1":f1;
- "node1": f0->"node2":f1;
- "node1": f2->"node3":f1;
- "node2": f2->"node8":f1;
- "node2": f0->"node7":f1;
- "node4": f2->"node6":f1;
- "node4": f0->"node5":f1;
- }
样式如图:
Graphviz是大名鼎鼎的贝尔实验室的几位牛人开发的一个画图工具,它提供了“所想即所得”的理念,通过dot语言来编写脚本并绘制图形,简单易懂。
graphviz安装:
graphviz有多种安装方式,源码及发行包。
当前最新版源码下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
其它版本下载链接参照: http://www.graphviz.org/pub/graphviz/stable/SOURCES/
发行包:
Redhat and CentOS: http://www.graphviz.org/Download_linux_rhel.php
Fedora: http://www.graphviz.org/Download_linux_fedora.php
Ubuntu:http://www.graphviz.org/Download_linux_ubuntu.php
yum:
yum list 'graphviz*' 查看已安装graphviz包
yum install 'graphviz*' 安装graphviz
下面介绍几个简单的应用作为入门。
graphviz实例:
- digraph g{
- node [shape = record,height=.1//我定义了我下面的样式;
- node0[label = "<f0> |<f1> G|<f2> "];
- //我是一个node,我有三个属性,第二个的名字为G,其他两个为空
- node1[label = "<f0> |<f1> E|<f2> "];
- node2[label = "<f0> |<f1> B|<f2> "];
- node3[label = "<f0> |<f1> F|<f2> "];
- node4[label = "<f0> |<f1> R|<f2> "];
- node5[label = "<f0> |<f1> H|<f2> "];
- node6[label = "<f0> |<f1> Y|<f2> "];
- node7[label = "<f0> |<f1> A|<f2> "];
- node8[label = "<f0> |<f1> C|<f2> "];
- "node0": f2->"node4":f1;
- //我的第三个属性连到node4的第二个属性
- "node0": f0->"node1":f1;
- "node1": f0->"node2":f1;
- "node1": f2->"node3":f1;
- "node2": f2->"node8":f1;
- "node2": f0->"node7":f1;
- "node4": f2->"node6":f1;
- "node4": f0->"node5":f1;
- }
样式如图:
graphviz安装及使用
Graphviz是大名鼎鼎的贝尔实验室的几位牛人开发的一个画图工具,它提供了“所想即所得”的理念,通过dot语言来编写脚本并绘制图形,简单易懂。
graphviz安装:
graphviz有多种安装方式,源码及发行包。
当前最新版源码下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
其它版本下载链接参照: http://www.graphviz.org/pub/graphviz/stable/SOURCES/
发行包:
Redhat and CentOS: http://www.graphviz.org/Download_linux_rhel.php
Fedora: http://www.graphviz.org/Download_linux_fedora.php
Ubuntu:http://www.graphviz.org/Download_linux_ubuntu.php
yum:
yum list 'graphviz*' 查看已安装graphviz包
yum install 'graphviz*' 安装graphviz
下面介绍几个简单的应用作为入门。
graphviz实例:
- digraph g{
- node [shape = record,height=.1//我定义了我下面的样式;
- node0[label = "<f0> |<f1> G|<f2> "];
- //我是一个node,我有三个属性,第二个的名字为G,其他两个为空
- node1[label = "<f0> |<f1> E|<f2> "];
- node2[label = "<f0> |<f1> B|<f2> "];
- node3[label = "<f0> |<f1> F|<f2> "];
- node4[label = "<f0> |<f1> R|<f2> "];
- node5[label = "<f0> |<f1> H|<f2> "];
- node6[label = "<f0> |<f1> Y|<f2> "];
- node7[label = "<f0> |<f1> A|<f2> "];
- node8[label = "<f0> |<f1> C|<f2> "];
- "node0": f2->"node4":f1;
- //我的第三个属性连到node4的第二个属性
- "node0": f0->"node1":f1;
- "node1": f0->"node2":f1;
- "node1": f2->"node3":f1;
- "node2": f2->"node8":f1;
- "node2": f0->"node7":f1;
- "node4": f2->"node6":f1;
- "node4": f0->"node5":f1;
- }
更多图形实例及脚本请参照:http://www.graphviz.org/Gallery.php。
Graphviz是大名鼎鼎的贝尔实验室的几位牛人开发的一个画图工具,它提供了“所想即所得”的理念,通过dot语言来编写脚本并绘制图形,简单易懂。
graphviz安装:
graphviz有多种安装方式,源码及发行包。
当前最新版源码下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
其它版本下载链接参照: http://www.graphviz.org/pub/graphviz/stable/SOURCES/
发行包:
Redhat and CentOS: http://www.graphviz.org/Download_linux_rhel.php
Fedora: http://www.graphviz.org/Download_linux_fedora.php
Ubuntu:http://www.graphviz.org/Download_linux_ubuntu.php
yum:
yum list 'graphviz*' 查看已安装graphviz包
yum install 'graphviz*' 安装graphviz
下面介绍几个简单的应用作为入门。
graphviz实例:
- digraph g{
- node [shape = record,height=.1//我定义了我下面的样式;
- node0[label = "<f0> |<f1> G|<f2> "];
- //我是一个node,我有三个属性,第二个的名字为G,其他两个为空
- node1[label = "<f0> |<f1> E|<f2> "];
- node2[label = "<f0> |<f1> B|<f2> "];
- node3[label = "<f0> |<f1> F|<f2> "];
- node4[label = "<f0> |<f1> R|<f2> "];
- node5[label = "<f0> |<f1> H|<f2> "];
- node6[label = "<f0> |<f1> Y|<f2> "];
- node7[label = "<f0> |<f1> A|<f2> "];
- node8[label = "<f0> |<f1> C|<f2> "];
- "node0": f2->"node4":f1;
- //我的第三个属性连到node4的第二个属性
- "node0": f0->"node1":f1;
- "node1": f0->"node2":f1;
- "node1": f2->"node3":f1;
- "node2": f2->"node8":f1;
- "node2": f0->"node7":f1;
- "node4": f2->"node6":f1;
- "node4": f0->"node5":f1;
- }
更多图形实例及脚本请参照:http://www.graphviz.org/Gallery.php。
Graphviz是大名鼎鼎的贝尔实验室的几位牛人开发的一个画图工具,它提供了“所想即所得”的理念,通过dot语言来编写脚本并绘制图形,简单易懂。
graphviz安装:
graphviz有多种安装方式,源码及发行包。
当前最新版源码下载:http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.28.0.tar.gz
其它版本下载链接参照: http://www.graphviz.org/pub/graphviz/stable/SOURCES/
发行包:
Redhat and CentOS: http://www.graphviz.org/Download_linux_rhel.php
Fedora: http://www.graphviz.org/Download_linux_fedora.php
Ubuntu:http://www.graphviz.org/Download_linux_ubuntu.php
yum:
yum list 'graphviz*' 查看已安装graphviz包
yum install 'graphviz*' 安装graphviz
下面介绍几个简单的应用作为入门。
graphviz实例:
- digraph g{
- node [shape = record,height=.1//我定义了我下面的样式;
- node0[label = "<f0> |<f1> G|<f2> "];
- //我是一个node,我有三个属性,第二个的名字为G,其他两个为空
- node1[label = "<f0> |<f1> E|<f2> "];
- node2[label = "<f0> |<f1> B|<f2> "];
- node3[label = "<f0> |<f1> F|<f2> "];
- node4[label = "<f0> |<f1> R|<f2> "];
- node5[label = "<f0> |<f1> H|<f2> "];
- node6[label = "<f0> |<f1> Y|<f2> "];
- node7[label = "<f0> |<f1> A|<f2> "];
- node8[label = "<f0> |<f1> C|<f2> "];
- "node0": f2->"node4":f1;
- //我的第三个属性连到node4的第二个属性
- "node0": f0->"node1":f1;
- "node1": f0->"node2":f1;
- "node1": f2->"node3":f1;
- "node2": f2->"node8":f1;
- "node2": f0->"node7":f1;
- "node4": f2->"node6":f1;
- "node4": f0->"node5":f1;
- }
更多图形实例及脚本请参照:http://www.graphviz.org/Gallery.php。
<div id="pro_loading" style="display:none;width:996px;height:331px;left:0px;top:68px;position: absolute;z-index: 9999;_z-index: 9999;_position:absolute;-moz-opacity:0.10;opacity:0.1;filter:alpha(opacity=10);BACKGROUND-COLOR:#000;"><img style="padding-left:490px;padding-top:120px;" src="<?php echo DT_PATH; ?>/file/jBox/Skins2/Yellow/images/jbox-loading2.gif"/></div>
<div id="pro_loading" style="display:none;width:996px;height:331px;left:0px;top:68px;position: absolute;z-index: 9999;_z-index: 9999;_position:absolute;-moz-opacity:0.10;opacity:0.1;filter:alpha(opacity=10);BACKGROUND-COLOR:#000;"><img style="padding-left:490px;padding-top:120px;" src="<?php echo DT_PATH; ?>/file/jBox/Skins2/Yellow/images/jbox-loading2.gif"/></div><div id="pro_loading" style="display:none;width:996px;height:331px;left:0px;top:68px;position: absolute;z-index: 9999;_z-index: 9999;_position:absolute;-moz-opacity:0.10;opacity:0.1;filter:alpha(opacity=10);BACKGROUND-COLOR:#000;"><img style="padding-left:490px;padding-top:120px;" src="<?php echo DT_PATH; ?>/file/jBox/Skins2/Yellow/images/jbox-loading2.gif"/></div><div id="pro_loading" style="display:none;width:996px;height:331px;left:0px;top:68px;position: absolute;z-index: 9999;_z-index: 9999;_position:absolute;-moz-opacity:0.10;opacity:0.1;filter:alpha(opacity=10);BACKGROUND-COLOR:#000;"><img style="padding-left:490px;padding-top:120px;" src="<?php echo DT_PATH; ?>/file/jBox/Skins2/Yellow/images/jbox-loading2.gif"/></div><div id="pro_loading" style="display:none;width:996px;height:331px;left:0px;top:68px;position: absolute;z-index: 9999;_z-index: 9999;_position:absolute;-moz-opacity:0.10;opacity:0.1;filter:alpha(opacity=10);BACKGROUND-COLOR:#000;"><img style="padding-left:490px;padding-top:120px;" src="<?php echo DT_PATH; ?>/file/jBox/Skins2/Yellow/images/jbox-loading2.gif"/></div>
<div id="pro_loading" style="display:none;width:996px;height:331px;left:0px;top:68px;position: absolute;z-index: 9999;_z-index: 9999;_position:absolute;-moz-opacity:0.10;opacity:0.1;filter:alpha(opacity=10);BACKGROUND-COLOR:#000;"><img style="padding-left:490px;padding-top:120px;" src="<?php echo DT_PATH; ?>/file/jBox/Skins2/Yellow/images/jbox-loading2.gif"/></div><div id="pro_loading" style="display:none;width:996px;height:331px;left:0px;top:68px;position: absolute;z-index: 9999;_z-index: 9999;_position:absolute;-moz-opacity:0.10;opacity:0.1;filter:alpha(opacity=10);BACKGROUND-COLOR:#000;"><img style="padding-left:490px;padding-top:120px;" src="<?php echo DT_PATH; ?>/file/jBox/Skins2/Yellow/images/jbox-loading2.gif"/></div><div id="pro_loading" style="display:none;width:996px;height:331px;left:0px;top:68px;position: absolute;z-index: 9999;_z-index: 9999;_position:absolute;-moz-opacity:0.10;opacity:0.1;filter:alpha(opacity=10);BACKGROUND-COLOR:#000;"><img style="padding-left:490px;padding-top:120px;" src="<?php echo DT_PATH; ?>/file/jBox/Skins2/Yellow/images/jbox-loading2.gif"/></div>
<div id="pro_loading" style="display:none;width:996px;height:331px;left:0px;top:68px;position: absolute;z-index: 9999;_z-index: 9999;_position:absolute;-moz-opacity:0.10;opacity:0.1;filter:alpha(opacity=10);BACKGROUND-COLOR:#000;"><img style="padding-left:490px;padding-top:120px;" src="<?php echo DT_PATH; ?>/file/jBox/Skins2/Yellow/images/jbox-loading2.gif"/></div>