https://mp.weixin.qq.com/s/IR4yy7Q0mOA_XV16R21CdQ

一:Linux下tomcat服务的启动、关闭与错误跟踪

使用PuTTy远程连接到服务器以后,通常通过以下几种方式启动关闭tomcat服务:
切换到tomcat主目录下的bin目录

> cd usr/local/tomcat/bin

启动tomcat服务

  • 方式一:直接启动

> ./startup.sh
  • 方式二:作为服务启动

> nohup ./startup.sh &
  • 方式三:控制台动态输出方式启动

> ./catalina.sh run

动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务

解释:
通过方式一、方式三启动的tomcat有个弊端,当客户端连接断开的时候,tomcat服务也会立即停止,通过方式二可以作为linux服务一直运行
通过方式一、方式二方式启动的tomcat,其日志会写到相应的日志文件中,而不能动态地查看tomcat控制台的输出信息与错误情况,通过方式三可以以控制台模式启动tomcat服务,
直接看到程序运行时后台的控制台输出信息,不必每次都要很麻烦的打开catalina.out日志文件进行查看,这样便于跟踪查阅后台输出信息。
tomcat控制台信息包括log4j和System.out.println()等输出的信息。

关闭tomcat服务

> ./shutdown.sh

tomcat运行时jvm内存分配

  • ⑴ 开发环境下在myeclipse中配置

-Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=512m -XX:MaxPermSize=512m
  • ⑵ 线上环境(直接通过catalina或startup命令行的方式启动)

①Linux下:catalina.sh

# OS specific support. $var _must_ be set to either true or false.在该注释之后加下面一行

JAVA_OPTS="-server -Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=512m -XX:MaxPermSize=512m"

②Windows下:cattalina.bat

rem Guess CATALINA_HOME if not defined    在该注释之后加下面一行
set JAVA_OPTS=-Xms256m -Xmx512m -XX:NewSize=64m -XX:MaxNewSize=128m -XX:PermSize=512m -XX:MaxPermSize=512m

二:Linux 下的一些常用命令解释:

pwd显示当前的工作目录(pwd:print working directory)

ls显示当前目录内容(list)

ls|more

分屏显示("|"为管道符,将前一个命令结果传递给后面的命令,more表示分屏)

> ls /usr>test01/abc.txt

将指定目录的内容追加到test01目录下的abc.txt文本文档中

ls -l    #显示长格式,简写ll,主要看文件的名,大小,权限等
ls -a    #显示隐藏文件

cd改变当前工作目录

> cd /usr	 #转到指定目录
> cd usr    #转到指定目录的子目录
> cd ..      #返回到上一级目录
> cd ~  #返回到主目录

clear清屏

cat显示文件内容

> cat file|more	   #分屏显示文件内容(先显示文件内容,再将结果内容传给后一个命令分屏)
> cat file|grep abc    #显示包含字符abc的文件内容(先显示文件内容,再将结果内容传给后一个命令搜索,grep具有搜索功能)
cat > catalina.out      #清空日志内容

touch创建新文件

mkdir创建新目录

rm删除文件或目录

> rm file.txt	#删除文件
> rm -rf test01  #删除不为空的目录(参数r:递归recursion,f:强制force)

rmdir删除空目录

cp复制文件

> cp src.txt dest.txt

mv移动文件

> mv abc.txt def.txt     #改名
> mv test01 test02    #改目录名
> mv test     #相当于mv t+(按Tab键),tab键有查找补充命令功能。

chmod改变权限模式

> chmod +x catalina.sh   #为catalina.sh加可执行的权限(参数x:执行execute)。linux下的文件是否可执行取决于文件属性,不看扩展名。
> chmod a+r catalina.out    #将文件 catalina.out 设为所有人皆可读取。(参数a:所有人all)
> chmod ugo+r catalina.out     #也是将文件 catalina.out 设为所有人皆可读取。(参数u:档案拥有者user,g:group群组,o:other其他)

viLinux下的一个简单编辑器

> vi .bash_profile     #打开Linux的用户级初始文件,:wq保存退出,:q!不保存退出

tail显示文件尾部内容

> tail -f ./catalina.out    #将文件最尾部内容显示在屏幕上,并不断刷新显示,按ctrl+c或delete退出。

netstat、lsof查看网络端口与进程号

① 直接查看指定端口的进程pid

> netstat -anp|grep 8080 
# 结果为:
协议  本地地址          外部地址        状态           PID
TCP   0.0.0.0:80      0.0.0.0:8080    LISTENING      5144/java

② 直接查看指定端口的进程pid

lsof -i:8080
# 结果为
 COMMAND   PID   USER   FD   TYPE  DEVICE     SIZE NODE NAME
 java     5144   root   33u  IPv6  127800   TCP *:8080 (LISTEN)

则5144为8080这个端口的tomcat进程的pid,然后就可以kill这个进程:

kill -9 5144

对比Windows下netstat命令:

> netstat -ano|findstr 8080,taskkill -f -pid 5144 		#(f:force强制)

ping查看网络是连通

> ping 127.16.8.66    #查看当前机器与目录机器是否能正常通信(主要是看TCP/IP协议是否正常)

ipconfig查看ip地址

> ipconfig -all    #可以看到各个网络适配器(本地网卡、无线网卡)的IP地址和MAC地址

ps查看程序活动进程

> ps -ef |grep tomcat	#查看是否已经有tomcat在运行了,如果有则将其进程杀死
#结果为:
sun 1540 1 0 10:21 pts/1 00:00:06 /java/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/java/tomcat/common/endorsed -classpath :/java/tomcat/bin/bootstrap.jar:/java/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/java/tomcat -Dcatalina.home=/java/tomcat -Djava.io.tmpdir=/java/tomcat/temp org.apache.catalina.startup.Bootstrap start

Bootstrap start 说明tomcat已经正常启动,则 1540 就为进程号 pid = 1540,然后就可以kill这个进程:

> kill -9 1540

对比Windows下tasklist命令:

> tasklist | findstr tomcat,taskkill -f -pid 5144

telnet测试远程端口是否连通

> telnet 10.4.200.114 1433

①端口通畅的情况

Trying 10.4.200.114...
Connected to 10.4.200.114 (10.4.200.114).
Escape character is '^]'.

②端口不通的情况

Trying 10.4.200.114...

如果能ping通,但端口不通,说明有可能被防火墙禁用了该端口
解决办法:
linux下:查看防火墙:

> iptables –L

即时生效,重启后失效。 (开启: service iptables start ,关闭: service iptables stop)

设置防火墙:setup (乱码) 解决Putty工具乱码:查看Linux系统当中使用的字符集echo $LANG $LANGUAGE,选择菜修改设置(change settings)--->转换(translation)-->选utf-8-->应用(apply)

win7下防火墙开放端口方法:控制面板--系统和安全---windows防火墙---高级设置--入站规则--新建规则-->添加1433端口。

df查看磁盘空间(diskfree)

> df -lh /usr/local

du查看已使用空间(diskused)

> du -h /usr
>
du -h --max-depth=1 #查看文件夹大小

topLinux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

> top -s	#查看内存使用情况> top -s | grep java    #查看java进程的信息

tar、zip

1. tar.gz这种格式是Linux下使用得最多的压缩格式。它在压缩时不会占用太多CPU的,而且可以得到一个非常理想的压缩率。

> tar -zcvf archive_name.tar.gz directory_to_compress     #压缩一个目录
> tar -zxvf archive_name.tar.gz      #解压缩到当前目录下
> tar -zxvf archive_name.tar.gz -C /usr/temp/     #解压缩到指定目录下
参数解释:
-z  -gzip 调用gzip对tar归档文件进一步压缩成tar.gz格式,或者对tar.gz格式完成解压缩
-x  -extract 解压缩已归档的指定(或所有)文件
-c  -create 创建新的归档文件
-v  -verbose 生成详细输出
-f  -file 指定归档文件名
-r  向归档文件末尾追加文件
-C 改变目录

2. 压缩/解压zip格式

> zip file.zip ./directory/*    #压缩指定目录下的所有文件及目录
> unzip file.zip -d ./test    #解压缩到指定目录
> unzip file.zip     #解压缩到当前目录
> unzip -v largefile.zip  #只查看压缩包的内容,并不解压缩

三:Linux与Windows的几点区别:

> echo $PATH      #回显Linux环境变量PATH的值,Linux下的环境变量必须大写
> echo %path%    #回显Windows环境变量path的值
> export PATH=/usr/local/tomcat     #修改设置Linux环境变量PATH的值(临时),Linux文件系统路径是斜杠
> set path=D:\Program Files\tomcat    #修改Windows环境变量path的值(临时),Windows文件系统路径是反斜杠

Linux:查看、修改Linux下的用户级初始文件(.bash_profile),它是个隐藏文件(永久)
Windows:计算机-->属性-->高级-->环境变量;查看、修改环境变量(永久)

Linux命令搜索用grep:

> netstat -anp|grep 8080 

Windows Dos命令搜索用findstr:

> netstat -anp|findstr 8080

Linux下Tomcat的启动、关闭、杀死进程

> `cd /java/tomcat`
> bin/startup.sh #启动tomcat
> bin/shutdown.sh #停止tomcat
> tail -f logs/catalina.out #看tomcat的控制台输出;

看是否已经有tomcat在运行了:

> `ps -ef |grep tomcat`

如果有,用kill:

> kill -9 pid #pid 为相应的进程号

例如 ps -ef |grep tomcat 输出如下

sun 5144 1 0 10:21 pts/1 00:00:06 /java/jdk/bin/java -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/java/tomcat/common/endorsed -classpath :/java/tomcat/bin/bootstrap.jar:/java/tomcat/bin/commons-logging-api.jar -Dcatalina.base=/java/tomcat -Dcatalina.home=/java/tomcat -Djava.io.tmpdir=/java/tomcat/temp org.apache.catalina.startup.Bootstrap start

则 5144 就为进程号 pid = 5144kill -9 5144 就可以彻底杀死tomcat

直接查看指定端口的进程pid:

> netstat -anp|grep 9217`
tcp   0   0 :::9217     :::*        LISTEN      26127/java`

则26127为9217这个端口的tomcat进程的pid,然后就可以kill这个进程:

> kill -9 26127

然后再启动tomcat即可

linux下实时查看tomcat运行日志

1. 实时查看tomcat运行日志,先切换到:

> cd tomcat/logs
> tail -f catalina.out
> Ctrl+c  #是退出tail命令。

2. 通过关键字搜索查看日志:

> cat jeewx-2015-09-20.log | grep 验证码

3. 查看固定时间日志:

> cat jeewx-2015-09-20.log | grep '2015-09-20 18:50:15'

4. 查看最近50行日志:

> tail -n 50 -f catalina.out

Linux常用命令操作详解的更多相关文章

  1. Linux常用命令与详解

    在Linux系统中文件删除.创建.更改等操作都是通过一个个不同的命令来完成我们想要的操作,那么什么是命令呢? 凡是在字符操作界面中输入的能够完成特定操作和任务的字符串都可以称为命令.严格来说,命令通常 ...

  2. LINUX 常用命令 ps 详解

    ps常用命令 ps -u ceshi 查看特定用户(ceshi)进程的情况 ps aux | grep nginx 查找nginx的进程 pa -ef | grep nginx 查找nginx的进程 ...

  3. Linux 常用命令及详解

    1.  type   :查询命令 是否属于shell解释器2.  help  : 帮助命令3.  man : 为所有用户提供在线帮助4.  ls  : 列表显示目录内的文件及目录-l    以长格式显 ...

  4. Linux 常用命令 | top 详解

    top 命令实时显示进程的状态.(自己也会占用资源,类似window的任务管理器),由以下几部分组成 默认状态显示的是cpu密集型的进程,并且每5秒钟更新一次. (1) 系统状态 当前时间.系统已运行 ...

  5. Linux 常用命令 | free 详解

    free命令可以显示Linux系统中空闲的.已用的物理内存及swap内存,及被内核使用的buffer.在Linux系统监控的工具中,free命令是最经常使用的命令之一.本文介绍free命令的使用方法和 ...

  6. memcached 命令操作详解

    memcached 命令操作详解 一.存储命令 存储命令的格式: <command name> <key> <flags> <exptime> < ...

  7. linux nc命令使用详解(转)

    linux nc命令使用详解 功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o& ...

  8. (转)Linux curl命令参数详解

    Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...

  9. Linux 文件/目录操作详解

    目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...

随机推荐

  1. java生成excel报表文件

    此次简单的操作将数据从数据库导出生成excel报表以及将excel数据导入数据库 首先建立数据库的连接池: package jdbc; import java.io.FileInputStream; ...

  2. Mybatis-SqlSessionFactoryBuilder,SessionFactory与SqlSession的并发控制

    SqlSessionFactoryBuilder 这个类可以被实例化,使用和丢弃.一旦你创建了 SqlSessionFactory 后,这个类就不需要存在了.因此 SqlSessionFactoryB ...

  3. 去掉IE提示:在此页上的ActiveX控件和本页上的其他部分的交互可能不安全。你想允许这种交互吗?

    由于项目需求,需要用到OCX控件.而在IE浏览器中加载OCX控件会有如下提示: 这是因为OCX控件有一个ID,而这个ID注册后IE不认为该OCX控件是安全的.所以,必须把这个控件注册为安全控件. 假设 ...

  4. 如何通过EditPlus远程连接Linux

    1. File - FTP - FTP Settings 2. Add 3. 填写Linux的ip地址及用户名和密码 4. OK

  5. set_case_analysis

    set_case_analysis给某个Pin指定固定电平,然后时序分析会根据该结果优化原先的电路. 试举例如下:

  6. crontab定时任务语法及应用

    https://mp.weixin.qq.com/s/Oi9hppNQMeFiQo9s-ge79A crond 是linux下用来周期性的执行某种任务或等待处理某些事件的一个守护进程,与windows ...

  7. CSS3属性transform详解【转载】

    CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)   在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾 ...

  8. PAT甲级——A1050 String Subtraction

    Given two strings S​1​​ and S​2​​, S=S​1​​−S​2​​ is defined to be the remaining string after taking ...

  9. 每日上亿请求量的电商系统,JVM年轻代垃圾回收参数如何优化? ----实战教会你如何配置

    目录: 案例背景引入 特殊的电商大促场景 抗住大促的瞬时压力需要几台机器? 大促高峰期订单系统的内存使用模型估算 内存到底该如何分配? 新生代垃圾回收优化之一:Survivor空间够不够 新生代对象躲 ...

  10. Leetcode105. Construct Binary Tree from Preorder and Inorder Traversal前序与中序构造二叉树

    根据一棵树的前序遍历与中序遍历构造二叉树. 注意: 你可以假设树中没有重复的元素. 例如,给出 前序遍历 preorder = [3,9,20,15,7] 中序遍历 inorder = [9,3,15 ...