Linux常用命令操作详解
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 = 5144,kill -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常用命令操作详解的更多相关文章
- Linux常用命令与详解
在Linux系统中文件删除.创建.更改等操作都是通过一个个不同的命令来完成我们想要的操作,那么什么是命令呢? 凡是在字符操作界面中输入的能够完成特定操作和任务的字符串都可以称为命令.严格来说,命令通常 ...
- LINUX 常用命令 ps 详解
ps常用命令 ps -u ceshi 查看特定用户(ceshi)进程的情况 ps aux | grep nginx 查找nginx的进程 pa -ef | grep nginx 查找nginx的进程 ...
- Linux 常用命令及详解
1. type :查询命令 是否属于shell解释器2. help : 帮助命令3. man : 为所有用户提供在线帮助4. ls : 列表显示目录内的文件及目录-l 以长格式显 ...
- Linux 常用命令 | top 详解
top 命令实时显示进程的状态.(自己也会占用资源,类似window的任务管理器),由以下几部分组成 默认状态显示的是cpu密集型的进程,并且每5秒钟更新一次. (1) 系统状态 当前时间.系统已运行 ...
- Linux 常用命令 | free 详解
free命令可以显示Linux系统中空闲的.已用的物理内存及swap内存,及被内核使用的buffer.在Linux系统监控的工具中,free命令是最经常使用的命令之一.本文介绍free命令的使用方法和 ...
- memcached 命令操作详解
memcached 命令操作详解 一.存储命令 存储命令的格式: <command name> <key> <flags> <exptime> < ...
- linux nc命令使用详解(转)
linux nc命令使用详解 功能说明:功能强大的网络工具 语 法:nc [-hlnruz][-g<网关...>][-G<指向器数目>][-i<延迟秒数>][-o& ...
- (转)Linux curl命令参数详解
Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...
- Linux 文件/目录操作详解
目录 Linux 文件/目录操作详解 初识Linux 一.文件/目录显示命令 ls 二.目录创建命令 mkdir 三.目录转移命令 cd 四.当前目录显示命令 pwd 五.文件处理命令 rmdir 六 ...
随机推荐
- Python2.7版本:定义类时为什么要继承object类?
********此答案摘自知乎,且经过自己实际运行后得出******** 继承 object 类的是新式类,不继承 object 类的是经典类 例子: 新式类: 经典类: B.C 是 A 的子类,D ...
- python print输出format太好用了
不用担心什么其他的东西了,直接用format: print("{}的Ground,Detected,DetectedRight个数分别为{},{},{},".format(cate ...
- 详解osg::ref_ptr
首先,要使用ref_ptr的类必须继承自Referenced类(当然Referenced本身肯定也可以),这样才能使用->ref()和unref(),才能正确,ref_ptr其实本身是一个类,后 ...
- java后台对上传的图片进行压缩
java开发中经常遇到对图片的处理,JDK中也提供了对应的工具类,不过处理起来很麻烦,Thumbnailator是一个优秀的图片处理的开源Java类库,处理效果远比Java API的好,从API提供现 ...
- 如何做系列(1)- mybatis 如何实现分页?
第一个做法,就是直接使用我们的sql语句进行分页,也就是在mapper里面加上分页的语句就好了. <select id="" parameterType="&quo ...
- [转]Visual Studio 2010单元测试(1)--运行和定义普通单元测试
Visual Studio 2010 运行和定义单元测试 在VS2010中,单元测试的功能很强大,使得建立单元测试和编写单元测试代码,以及管理和运行单元测试都变得简单起来,通过私有访问器可以对私有方法 ...
- 工控安全入门(三)—— 再解S7comm
之前的文章我们都是在ctf的基础上学习工控协议知识的,显然这样对于S7comm的认识还不够深刻,这次就做一个实战补全,看看S7comm还有哪些值得我们深挖的地方. 本篇是对S7comm的补全和实战,阅 ...
- Html 重要单词归纳
1.translate(x,y)平移2.scale(x,y)缩放3.fillstyle填充4.linearGradient(xstart,ystart,xend,yend)渐变5.move to 将光 ...
- DP学习之路(1) 01背包
动态规划是算法中一门很重要的思想,其通过对每一步的假设规划,不停的寻找最优最有利的解决方案,然后一步一步求解出来. 而01背包是其中最基本的一种dp思想,其题目一般为给定一个容量为V的背包,然后有n件 ...
- python collections 模块 之namedtuple
namedtuple collections.namedtuple(typename, filed_name, *, rename=False, module=None) 创建一个以 typename ...