linux 学习一:安装jdk和tomcat
使用secureCRT
1.yum自动安装:(yum安装rzsz)
yum install lrzsz
2.手动安装方法如下:(包有问题,还是采用第一种方式)
2.1. 下载软件 rzsz-3.48.tar.gz
wget http://freeware.sgi.com/source/rzsz/rzsz-3.48.tar.gz下载。
2.2解压 tar zxvf rzsz-3.48.tar.gz
2.3.安装 cd rzsz-3.48
make posix 或者 make linux
2.4.如果出现如下提示:
-bash: make: command not found。
2.5.表系统没有安装编译器,SSH下安装一下:
yum -y install gcc automake autoconf libtool make
2.6.再次执行make posix 命令
[root@miao src]#make posix
02 cc -O -DPOSIX -DMD=2 rz.c -o rz
03 size rz
04 text data bss dec hex filename
05 25444 648 10464 36556 8ecc rz
06 rm -f rb rx rc
07 ln rz rb
08 ln rz rx
09 ln rz rc
10 cc -O -DPOSIX sz.c -o sz
11 size sz
12 text data bss dec hex filename
13 30565 708 43072 74345 12269 sz
14 rm -f sb sx zcommand zcommandi
15 ln sz sb
16 ln sz sx
17 ln sz zcommand
18 ln sz zcommandi
19 [root@miao src]#
3.为了方便使用这个工具,把相关文件复制到目录/usr/bin下面,这里只需要拷贝2个文件rz及sz
cp rz sz /usr/bin
【注:】我是按照自动安装的,第一种方法。
二、使用rz命令上传文件
SecureCR 下的文件传输协议有ASCII 、Xmodem 、Ymodem 、Zmodem
ASCII:这是最快的传输协议,但只能传送文本文件。
Xmodem:这种古老的传输协议速度较慢,但由于使用了CRC错误侦测方法,传输的准确率可高达99.6%。
Ymodem:这是Xmodem的改良版,使用了1024位区段传送,速度比Xmodem要快。
Zmodem:Zmodem采用了串流式(streaming)传输方式,传输速度较快,而且还具有自动改变区段大小和断点续传、快速错误侦测等功能。这是目前最流行的文件传输协议
设定默认上传下载目录
options->session options ->Terminal->Xmodem/Zmodem 下
在右边设置上传和下载的目录
使用Zmodem从客户端上传文件到linux服务器
1.在用SecureCRT登陆linux终端.
2.选中你要放置上传文件的路径,在目录下然后输入rz命令,SecureCRT会弹出文件选择对话框,在查找范围中找到你要上传的文件,按Add按钮。然后OK就可以把文件上传到linux上了。
或者在Transfer->Zmodem Upoad list弹出文件选择对话框,选好文件后按Add按钮。然后OK窗口自动关闭。然后在linux下选中存放文件的目录,输入rz命令。liunx就把那个文件上传到这个目录下了。
使用Zmodem下载文件到客户端:
sz filename
zmodem接收可以自行启动.下载的文件存放在你设定的默认下载目录下.
如果rz、sz命令无效,所以请大家先安装rzsz-0.12.20-853.2.i586.rpm
具体安装方法为:
rpm -ivh rzsz-0.12.20-853.2.i586.rpm
常用命令:
一、ls 只列出文件名 (相当于dir,dir也可以使用)
-A:列出所有文件,包含隐藏文件。
-l:列表形式,包含文件的绝大部分属性。
-R:递归显示。
--help:此命令的帮助。
二、cd 改变目录
cd /:进入根目录
cd :回到自己的目录(用户不同则目录也不同,root为/root,xxt为/home/xxt
cd ..:回到上级目录
pwd:显示当前所在的目录
三.less 文件名:查看文件内容。
四.q 退出打开的文件。
五.上传文件: rz 选择要传送的文件,确定。
六.下载文件: sz 指定文件名,enter敲,即下载到了secureCRT/download目录下。
七:删除文件: rm 删除文件 ,rmdir 删除空目录。
八.显示 最近输入的20条命令:history 20
九.获得帮助命令 --help查看命令下详细参数: 如:rz --help , sz --help 。
十.cd 进入某个文件夹的命令:
mkdir+文件夹名 创建某个文件夹的命令
sz+文件名 从服务器端向本机发送文件的命令
rz 从本机向服务器端传送文件的命令
ll 列出当前目录下的所有文件,包括每个文件的详细信息
dir 对当前文件夹
vi 打开当前文件
十一.在编辑某个文件的时候:
a 切换到编辑模式
ctrl+c 退出编辑模式
dd 删除整行
:q 退出当前文件
:w 写入并保存当前文件
-f 强行xx的参数。。。
其它命令:
1.ps -ef //查看server的进程,以列表形式显示的server进程。
ps 显示当前在系统运行的进程 /usr/bin/ps [选项] -e 显示每个现在运行的进程 -f 生成一个完全的列表
实际操作:
--------------------------------------
1 SSH客户端连接到10.5.1.55系统(参见《启动远程客户端说明SecureCRT.doc》)
$ cd /home/bea2/user_projects/csdomain/bin
2 查看weblogic92服务进程
$ ps -eaf | grep weblogic
bea2 327926 331940 0 13:08:45 pts/4 0:00 grep weblogic
webadmin 421908 368956 0 Sep 24 - 4:13 /usr/java5_64/bin/java -Xms256m -Xmx512m -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration -Dweblogic.management.discover=true -Dwlw.iterativeDev=false -Dwlw.testConsole=false -Dwlw.logErrorsToConsole= -Dweblogic.ext.dirs=/home/weblogic/bea/patch_weblogic923/profiles/default/sysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=/home/weblogic/bea/weblogic92/server/lib/weblogic.policy weblogic.Server
bea2 491796 385044 17 00:12:50 pts/6 182:55 /usr/java5_64/bin/java -Xms6g -Xmx8g -javaagent:/home/bea2/user_projects/csdomain/Introscope/wily/Agent.jar -Dcom.wily.introscope.agentProfile=/home/bea2/user_projects/csdomain/Introscope/wily/IntroscopeAgent.profile -Dcom.wily.introscope.agent.agentName=AdminServer -da -Dplatform.home=/home/weblogic/bea/weblogic92 -Dwls.home=/home/weblogic/bea/weblogic92/server -Dwli.home=/home/weblogic/bea/weblogic92/integration -Dweblogic.management.discover=true -Dwlw.iterativeDev= -Dwlw.testConsole= -Dwlw.logErrorsToConsole= -Dfile.encoding=GBK -Dibm.stream.nio=true -Dweblogic.ext.dirs=/home/weblogic/bea/patch_weblogic923/profiles/default/sysext_manifest_classpath -Dweblogic.Name=AdminServer -Djava.security.policy=/home/weblogic/bea/weblogic92/server/lib/weblogic.policy weblogic.Server
说明:根据以上提示查看登陆用户bea2启动的进程,注意标红的bea2为进程拥有着, 491796为进程号
3 执行如下命令杀掉进程
$ kill -9 491796(根据2操做查找到得系统进程号)
说明:执行后再执行$ ps -eaf | grep weblogic命令将不会看到该进程号的weblogic进程
4 启动服务
$ ./quickRun.sh
-------------------------------------------------------------------
2.ant -buildfile CMS_MainTrunk.xml //build 包
3.vi test.txt //浏览文件内容
i {insert写输入}
esc 退出insert
:wq! write 保存并退出vi模式
:q! 不保存退出vi模式
4.我一般习惯用ps –ef命令,这样看到以列表形式显示的server进程;用命令pstree来查看server的进程,这样看到以树的形式显示的server进程。
Pstree命令的优点在于可以立即找出某进程的父进程。您可能会需要使用 -p 选项显示每个进程的 PID,以及 -u 选项来显示启动该进程的用户名。
一般来说,这一树结构比较长,您就需要这么执行 pstree –up | less 这将让您纵览整个进程树结构。
5.secureCRT中乱码解决:Options->SessionOptions->Appearance->font把default改成UTF-8,就可以显示中文字体了。
6.hostname:查hostname
7.ifconfig 查询主机IP
8.在S-CRT下用ctrl+c 和ctrl+v:
Options---Global Options---Edit default Settings进去后点Terminal---Emulation然后点Mapped Keys,点中低部的,use windows copy and paste key,点确认。
1.进入sql运行环境。
[test@test bin]$ ./psql -n dbname -U usrname
stay81=# select count(*) from table1;
count
-------
5986
(1 row)
9.进入vi的命令:
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
10.移动光标类命令:
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
11.屏幕翻滚类命令:
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏 //好像是 r
Ctrl+b;向文件首翻一屏
12.搜索命令:
/pattern:从光标开始处向文件尾搜索pattern
?pattern:从光标开始处向文件首搜索pattern
n:在同一方向重复上一次搜索命令
N:在反方向上重复上一次搜索命令
postgres使用:
2. 退出,使用结束后退出,不然连接一直被挂起。
stay81=# \q
3.postgres 数据导出。
[postgres@test bin]$ ./pg_dump -U postgres -t testTable -d testDB > testTable.dump
或[postgres@test bin]$ ./pg_dump -U postgres -d testDB -t testTable -F c -v > testTable.dump
4. postgres 数据导入。
[postgres@test bin]$ ./psql -U postgres -d testDB < testTable.dump
或[postgres@test bin]$ ./pg_restore -U postgres -d testDB < testTable.dump
5.一台主机上将数据库目录转储到另一台主机上。
pg_dump -h host1 -p 5432 dbname | psql -h host2 -p post1 dbname
或./pg_dump -U postgres -d testDB1 -t testTable | ./psql -U postgres -d testDB2
-U 为用户名 ,-d 为DB名,-t 为表名称,如果整个数据库导出,不需此项。
6.php执行。
[test@test bin]$ /usr/bin/php -q ./batchstart.php
实战操作:
/home/absys6$ ls
dvlp dvlp_bak20090413 personal tmp
/home/absys6$ cd dvlp
/home/absys6/dvlp$ ls
/home/absys6/dvlp$ cd SV_POLICY
/home/absys6/dvlp/SV_POLICY$ ls
include src
/home/absys6/dvlp/SV_POLICY$ cd src
/home/absys6/dvlp/SV_POLICY/src$ ls
/home/absys6/dvlp/SV_POLICY/src$ ls *pc //对文件进行筛选
/home/absys6/dvlp/SV_POLICY/src$ grep VIP *pc //列出包含VIP的所有.pc的文件的代码的一部分。
/home/absys6/dvlp/SV_POLICY/src$ vi PlyPrmCnt.pc //查看整个文件
三、安装tar包
1、将安装文件拷贝至你的目录中,如果是以root身份登录上的,就将软件拷贝至/root中。
#cp xxx.tar.gz /root
2、解压缩。
#tar xvzf xxx.tar.gz
或直接双击解压缩.
3、检查编译。
#./configure
4、检查通过后,将生成用于编译的MakeFile文件。此时,可以开始进行编译。
#make。
5、成功编译后,开始安装。
#make install
6、安装完毕,应清除编译过程中产生的临时文件和配置过程中产生的文件。
#make clean
#make distclean
至此,安装结束。
如果要卸载,则执行make uninstall
打包和压缩文件
bunzip2 file1.bz2 解压一个叫做 'file1.bz2'的文件
bzip2 file1 压缩一个叫做 'file1' 的文件
gunzip file1.gz 解压一个叫做 'file1.gz'的文件
gzip file1 压缩一个叫做 'file1'的文件
gzip -9 file1 最大程度压缩
rar a file1.rar test_file 创建一个叫做 'file1.rar' 的包
rar a file1.rar file1 file2 dir1 同时压缩 'file1', 'file2' 以及目录 'dir1'
rar x file1.rar 解压rar包
unrar x file1.rar 解压rar包
tar -cvf archive.tar file1 创建一个非压缩的 tarball
tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件
tar -tf archive.tar 显示一个包中的内容
tar -xvf archive.tar 释放一个包
tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下
tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包
tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包
tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包
tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包
zip file1.zip file1 创建一个zip格式的压缩包
zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包
unzip file1.zip 解压一个zip格式压缩包
RPM 包 - (Fedora, Redhat及类似系统)
rpm -ivh package.rpm 安装一个rpm包
rpm -ivh --nodeeps package.rpm 安装一个rpm包而忽略依赖关系警告
rpm -U package.rpm 更新一个rpm包但不改变其配置文件
rpm -F package.rpm 更新一个确定已经安装的rpm包
rpm -e package_name.rpm 删除一个rpm包
rpm -qa 显示系统中所有已经安装的rpm包
rpm -qa | grep httpd 显示所有名称中包含 "httpd" 字样的rpm包
rpm -qi package_name 获取一个已安装包的特殊信息
rpm -qg "System Environment/Daemons" 显示一个组件的rpm包
rpm -ql package_name 显示一个已经安装的rpm包提供的文件列表
rpm -qc package_name 显示一个已经安装的rpm包提供的配置文件列表
rpm -q package_name --whatrequires 显示与一个rpm包存在依赖关系的列表
rpm -q package_name --whatprovides 显示一个rpm包所占的体积
rpm -q package_name --scripts 显示在安装/删除期间所执行的脚本l
rpm -q package_name --changelog 显示一个rpm包的修改历史
rpm -qf /etc/httpd/conf/httpd.conf 确认所给的文件由哪个rpm包所提供
rpm -qp package.rpm -l 显示由一个尚未安装的rpm包提供的文件列表
rpm --import /media/cdrom/RPM-GPG-KEY 导入公钥数字证书
rpm --checksig package.rpm 确认一个rpm包的完整性
rpm -qa gpg-pubkey 确认已安装的所有rpm包的完整性
rpm -V package_name 检查文件尺寸、 许可、类型、所有者、群组、MD5检查以及最后修改时间
rpm -Va 检查系统中所有已安装的rpm包- 小心使用
rpm -Vp package.rpm 确认一个rpm包还未安装
rpm2cpio package.rpm | cpio --extract --make-directories *bin* 从一个rpm包运行可执行文件
rpm -ivh /usr/src/redhat/RPMS/`arch`/package.rpm 从一个rpm源码安装一个构建好的包
rpmbuild --rebuild package_name.src.rpm 从一个rpm源码构建一个 rpm 包
附录:配置jdk的环境变量:
三种配置环境变量的方法
jdk安装好之后,进入jdk的bin目录下,执行 "./java"可以查看,如果环境变量配置好了之后,可以在任意目录下,输入“java/javac”都可以执行
同理,启动tomcat,也是进入到tomcat的bin目录下,执行“./startup.sh”,即启动了tomcat
1. 修改/etc/profile文件
如果你的计算机仅仅作为开发使用时推荐使用这种方法,因为所有用户的shell都有权使用这些环境变量,可能会给系统带来安全性问题。
·用文本编辑器打开/etc/profile
vi /etc/profile
(点击“i”编辑,按esc,再按“:”冒号,按“q!”:不保存,按“wq”:保存。按enter键确认)
·在profile文件末尾加入:
JAVA_HOME=/usr/java/jdk1.7.0_75
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
保存:source /etc/profile
然后,输入指令:java、javac就可以了
·无需重新登录
·注解
a. 你要将 /usr/share/jdk1.5.0_05jdk 改为你的jdk安装目录
b. linux下用冒号“:”来分隔路径
c. $PATH / $CLASSPATH / $JAVA_HOME 是用来引用原来的环境变量的值
在设置环境变量时特别要注意不能把原来的值给覆盖掉了,这是一种
常见的错误。
d. CLASSPATH中当前目录“.”不能丢,把当前目录丢掉也是常见的错误。
e. export是把这三个变量导出为全局变量。
f. 大小写必须严格区分。
2. 修改.bashrc文件
这种方法更为安全,它可以把使用这些环境变量的权限控制到用户级别,如果你需要给某个用户权限使用这些环境变量,你只需要修改其个人用户主目录下的.bashrc文件就可以了。
·用文本编辑器打开用户目录下的.bashrc文件
·在.bashrc文件末尾加入:
set JAVA_HOME=/usr/share/jdk1.5.0_05
export JAVA_HOME
set PATH=$JAVA_HOME/bin:$PATH
export PATH
set CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH
·重新登录
3. 直接在shell下设置变量
不赞成使用这种方法,因为换个shell,你的设置就无效了,因此这种方法仅仅是临时使用,以后要使用的时候又要重新设置,比较麻烦。
只需在shell终端执行下列命令:
export JAVA_HOME=/usr/share/jdk1.5.0_05
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
四、linux系统开启系统防火墙端口:
测试环境redhat 5.4,开启3306和8080端口
修改/etc/sysconfig下的iptables文件:
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
重启iptables
[root@localhost /]#/sbin/service iptables restart