工作中遇见的linux相关问题以及linux命令汇总

说明

本文用来汇总工作中遇见的linux相关问题以及linux命令。

四:压缩与解压缩

1:常用压缩格式

压缩格式: .zip、.gz、.bz2、.tar.gz、.tar.bz2、.tar.xz
最常用的是.tar.gz格式和.tar.bz2格式

2:.zip格式

zip格式其实和windows的zip格式是一样的,也就是说可以和windows相互解压缩使用。
工作中遇见的linux相关问题以及linux命令汇总_第1张图片

3:.gz格式

其实gz格式本身不提供保留源文件功能,保留源文件是利用 -c 参数 + > ,-c会将压缩结果输出到控制台,而 > 可以将输出结果写入文件
工作中遇见的linux相关问题以及linux命令汇总_第2张图片

4:.bz2格式

注意:bzip2命令不能压缩目录
工作中遇见的linux相关问题以及linux命令汇总_第3张图片

5:tar打包

工作中遇见的linux相关问题以及linux命令汇总_第4张图片

6:.tar.gz格式

其实.tar.gz格式是先打包为.tar格式,再压缩为.gz格式,重点掌握!
压缩多个文件只需要将多个源文件空格隔开即可,将文件压缩到指定目录可以使用路径+压缩文件名。
选项说明:
-c: 压缩为.tar.gz格式
-x: 解压缩.tar.gz格式
-t: 只查看压缩文件,不解压
工作中遇见的linux相关问题以及linux命令汇总_第5张图片

7:.tar.bz2格式

其实.tar.bz2格式是先打包为.tar格式,再压缩为.bz2格式,重点掌握!
用法基本与.tar.gz格式一致,这里不再作过多说明。
工作中遇见的linux相关问题以及linux命令汇总_第6张图片

8:.tar.xz格式

linux不支持直接压缩与解压该格式文件,需要将xz格式与tar格式结合使用。
工作中遇见的linux相关问题以及linux命令汇总_第7张图片

三: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打开

  • 在文件中找到如下文本:

    
    
  • 将port="8080"改为其它的就可以了。如port="8081"等。
    保存server.xml文件,重新启动Tomcat服务器,Tomcat就可以使用8081端口了。

  • 有的时候要使用两个tomcat,那么就需要修改其中的一个的端口号才能使得两个同时工作。修改了上面的以后,还要修改两处。

  • 
    

    的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

你可能感兴趣的:(Java后端学习)