idiot

部分小操作

2020-09-11

记下几个常用命令

任务与端口进程

可通过jobs命令查看后台运行任务

jobs

那么就会列出所有后台执行的作业,并且每个作业前面都有个编号。

如果想将某个作业调回前台控制,只需要 fg + 编号即可。

fg 23

查看某端口占用的线程的pid

netstat -nlp |grep :9181

如果忘了进程号,可以通过如下命令来查看当前运行的程序/jar包程序进程号

ps -ef|grep xxx.jar

或者 ps -aux | grep java

//关闭进程

kill -s 9 24204

24204代表上一步查出的进程ID

linux下启动tomcat服务

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

  • 启动tomcat服务
  1. 直接启动 ./startup.sh
  2. 控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
  3. 作为服务启动 nohup ./startup.sh &

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

  • 关闭tomcat服务

    ./shutdown.sh

ssh上传与下载

  • 从服务器上下载文件
    scp username@servername:/path/filename /var/www/local_dir(本地目录)例如scp root@192.168.0.101:/var/www/test.txt 把192.168.0.101上的/var/www/test.txt 的文件下载到/var/www/local_dir(本地目录)

  • 上传本地文件到服务器
    scp /path/filename username@servername:/path

    例如scp /var/www/test.php root@192.168.0.101:/var/www/ 把本机/var/www/目录下的test.php文件上传到192.168.0.101这台服务器上的/var/www/目录中

  • 从服务器下载整个目录
    scp -r username@servername:/var/www/remote_dir/(远程目录) /var/www/local_dir(本地目录)

    例如:scp -r root@192.168.0.101:/var/www/test /var/www/

  • 上传目录到服务器
    scp -r local_dir username@servername:remote_dir
    例如:scp -r test root@192.168.0.101:/var/www/ 把当前目录下的test目录上传到服务器的/var/www/ 目录

运行jar文件

  • 方式一:

    Java -jar shareniu.jar

    特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出

    那如何让窗口不锁定?

  • 方式二

    java -jar shareniu.jar &

    &代表在后台运行。

    特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。

    继续改进,如何让窗口关闭时,程序仍然运行?

  • 方式三

    nohup java -jar shareniu.jar &

    nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

    当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

  • 方式四

    nohup java -jar shareniu.jar >temp.txt &

    解释下 >temp.txt

    command >out.file

    command >out.file是将command的输出重定向到out.file文件,即输出内容不打印到屏幕上,而是输出到out.file文件中。

导出和导入mysql

  • 导出数据库
    1、导出数据和表结构:
    mysqldump/mysql -u用户名 -p密码 数据库名 > 数据库名.sql
    mysql -uroot -ppassword abc > abc.sql

    2、只导出表结构:
    mysqldump/mysql -u用户名 -p密码 -d 数据库名 > 数据库名.sql
    mysql -uroot -ppassword -d abc > abc.sql

    另外

    show global variables like "%datadir%"; #查询mysql的data目录

  • 导入数据库(目标服务器)

    1. 首先建空数据库
      mysql>create database abc;

    2. 导入数据库

      1. 选择数据库
        mysql>use abc;
      2. 设置数据库编码
        mysql>set names utf8;
      3. 导入数据(注意sql文件的路径)
        mysql>source /home/abc/abc.sql;
Tags: linux