说明
本文用来汇总工作中遇见的linux相关问题以及linux命令。
四:压缩与解压缩
1:常用压缩格式
压缩格式: .zip、.gz、.bz2、.tar.gz、.tar.bz2、.tar.xz
最常用的是.tar.gz格式和.tar.bz2格式
2:.zip格式
zip格式其实和windows的zip格式是一样的,也就是说可以和windows相互解压缩使用。
3:.gz格式
其实gz格式本身不提供保留源文件功能,保留源文件是利用 -c 参数 + > ,-c会将压缩结果输出到控制台,而 > 可以将输出结果写入文件
4:.bz2格式
注意:bzip2命令不能压缩目录
5:tar打包
6:.tar.gz格式
其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式,重点掌握!
压缩多个文件只需要将多个源文件空格隔开即可,将文件压缩到指定目录可以使用路径+压缩文件名。
选项说明:
-c: 压缩为.tar.gz格式
-x: 解压缩.tar.gz格式
-t: 只查看压缩文件,不解压
7:.tar.bz2格式
其实.tar.bz2格式是先打包为.tar格式,再压缩为.bz2格式,重点掌握!
用法基本与.tar.gz格式一致,这里不再作过多说明。
8:.tar.xz格式
linux不支持直接压缩与解压该格式文件,需要将xz格式与tar格式结合使用。
三:Redis相关
一:Tomcat相关
1:Tomcat的启动与关闭
- 首先找到tomcat的目录,如果不清楚的话,可以使用
find / -name 'tomcat' //查找所有名为tomcat的文件
进行查找,这个tomcat也可以换成项目名称,直接找到项目的tomcat。
-
进入tomcat下的bin目录,再bin目录里使用ls命令查看所有文件
可以看到有一个 startup.sh 和一个 shutdown.sh 。 -
启动tomcat命令
./startup.sh
-
关闭tomcat命令
./shutdown.sh
-
注意
输入命令的时候不要忘了前面的 ./
在linux中,要加上"./"来指定到当前目录下去查找应用程序。 -
确认tomcat完全关闭
执行tomcat ./shutdown.sh 后,虽然tomcat服务不能正常访问了,但是ps -ef | grep tomcat 后,发现tomcat对应的java进程未随web容器关闭而销毁,进而存在僵尸java进程。
通过以下命令查看Tomcat进程是否结束ps -ef | grep tomcat
如果显示tomcat进行没有结束,可以使用kill命令强制关闭该进程。
kill -9 14705 //这里的14705是使用上一个ps命令查看到的未关闭进程编号
2:修改Tomcat端口号
-
首先进入tomcat的目录,进入conf文件夹
-
找到Server.xml文件,使用vim打开
-
在文件中找到如下文本:
<Connector port="8080" protocol="HTTP/1.1" maxThreads="150" connectionTimeout="20000" redirectPort="8443" />
-
将port="8080"改为其它的就可以了。如port="8081"等。
保存server.xml文件,重新启动Tomcat服务器,Tomcat就可以使用8081端口了。 -
有的时候要使用两个tomcat,那么就需要修改其中的一个的端口号才能使得两个同时工作。修改了上面的以后,还要修改两处。
-
将
<Connector port="8009" enableLookups="false" redirectPort="8443" debug="0" protocol="AJP/1.3" />
的8009改为其它的端口。
-
继续将
Server port="8005" shutdown="SHUTDOWN" debug="0">
的8005改为其它的端口。经过以上3个修改,应该就可以了。
二:常用的linux命令
文件操作
- 查看文件
ll ls
- 移动文件
命令格式:mv [-fiv] source destination 参数说明: -f:force,强制直接移动而不询问 -i:若目标文件(destination)已经存在,就会询问是否覆盖 -u:若目标文件已经存在,且源文件比较新,才会更新 如将/test1目录下的file1复制到/test3 目录,并将文件名改为file2,可输入以下命令: mv /test1/file1 /test3/file2
- 删除文件
命令格式:rm [fir] 文件或目录 参数说明: -f:强制删除 -i:交互模式,在删除前询问用户是否操作 -r:递归删除,常用在目录的删除 如删除/test目录下的file1文件,可以输入以下命令: rm -i /test/file1
- 删除文件夹
de>rm -rf fileNamede> -删除文件夹实例: rm -rf /var/log/httpd/access 将会删除/var/log/httpd/access目录以及其下所有文件、文件夹
删除文件的时候一定要小心小心再小心,比如要删除当前目录下的test文件 ,一定要写 ./test,这个 ./ 一定不能少。linux没有回收站!!
- 新建文件
新建文件有好多种方式, 一般用 mkdir 创建目录,即文件夹。 touch 创建文件。 rz上传本地的文件. touch Test.sh
- 复制文件
命令格式:cp [-adfilprsu] 源文件(source) 目标文件(destination) cp [option] source1 source2 source3 ... directory 参数说明: -a:是指archive的意思,也说是指复制所有的目录 -d:若源文件为连接文件(link file),则复制连接文件属性而非文件本身 -f:强制(force),若有重复或其它疑问时,不会询问用户,而强制复制 -i:若目标文件(destination)已存在,在覆盖时会先询问是否真的操作 -l:建立硬连接(hard link)的连接文件,而非复制文件本身 -p:与文件的属性一起复制,而非使用默认属性 -r:递归复制,用于目录的复制操作 -s:复制成符号连接文件(symbolic link),即“快捷方式”文件 -u:若目标文件比源文件旧,更新目标文件 如将/test1目录下的file1复制到/test3目录,并将文件名改为file2,可输入以下命令: cp /test1/file1 /test3/file2
- 编辑文件
“vim Test.sh” 进入编写窗口,输入“i” 进入插入模式,开始输入要编写的代码, 比如“print(“helloword”)”,然后按键盘的Esc退出编辑,输入":wq"保存并退出。 补充: :wq 保存并退出 :q! 强制退出并忽略所有更改 :e! 放弃所有修改,并打开原来文件。
其他
-
两个linux服务器之间的文件传输
-
查找文件
find /home -name '*.txt' //在/home目录下查找以.txt结尾的文件 find /home -iname '*.txt' //同上,但是忽略大小写 //要注意这个*作为通配符,应用可以很灵活,比如你想搜plato.jar //搜不到之后,你可以搜 plato*.jar。因为不排除自己记错名字或者说文件后面带了版本号什么的
-
普通用户切换成root用户(需要输入密码)
su - //普通用户输入命令前面是 $ ,root用户是#
-
查看当前ssh在线人数,即有多少人正在用服务器
w|grep pts|wc -l
-
查看当前所在路径
pwd
-
查看挂载信息
df -h
-
查看所有Java进程
ps -ef|grep java ././Java可以用其他进程名替换,比如用tomcat
-
杀进程
kill -9 进程id
-
查看动态刷新的日志
tail -200f 日志文件 (动态跟踪文件的最后200行)
详解 ps -ef|grep java
这行命令其实是同时执行两个命令,中间的|是管道命令 是指ps命令与grep同时执行。
PS是LINUX下最常用的也是非常强大的进程查看命令,ps命令用于显示当前进程 (process) 的状态。
grep命令是查找,是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
ps命令参数非常多。其中
-e : 显示所有进程
-f : 全格式
-f 全格式显示时字段及含义如下
UID PID PPID C STIME TTY TIME CMD
zzw 14124 13991 0 00:38 pts/0 00:00:00 grep --color=auto dae
UID :程序被该 UID 所拥有
PID :就是这个程序的 ID
PPID :则是其上级父程序的ID
C :CPU使用的资源百分比
STIME :系统启动时间
TTY :登入者的终端机位置
TIME :使用掉的CPU时间。
CMD :所下达的是什么指令
ps -ef :全格式显示所有进程的信息
grep java :查找java