Linux相关的一些常见的命令和启动jar包操作

Linux相关的一些常见的命令和启动jar包操作

声明:知识这些都来源于网络,有自己的一些加工,如果有错误,请帮我指出来一下,谢谢。

一、Linux上安装jdk

1.卸载之前的jdk,java -version显示的是openjdk的就是linux系统之前的,使用yum remove *openjdk命令可以卸载之前的,然后重新安装。(解压的话,图中不行就参照下面的命令)
在这里插入图片描述

二、常用命令

很多命令还有很多参数,这里没做详细介绍,只记录部分常用的,不知道详细的参数,可以使用命令 --help 查看
注意:根目录是斜杠,名称就是斜杠,/
1、ls 查看文件,具体参数信息可以用ls --help查看
ls 查看当前文件目录(可见文件)
ls -f 查看目录中的文件
ls -l 显示文件和目录的详细资料
ls -lh 显示文件和目录的详细资料 (会显示多少k,多少M)

2、cd 打开目录,具体参数信息可以用cd --help查看
cd / 切换到当前用户根目录
cd xxx 当前目录下打开xxx目录
cd … 返回上级目录
cd /a/b/xxx/ 绝对路径打开xxx目录

3、df 显示系统磁盘使用情况统计,具体参数可以用df --help查看
df -h 显示已经挂载的分区列表

4、tail 查看文件内容,通常查看正在改变日志文件,具体参数可以用tail --help查看
tail fileName 查看文件中的日志(查看最后的部分)
tail -f fileName 实时查看文件中日志

5、 rz 上传文件,具体参数可以用rz --help查看
rz 将本地文件批量上传到远程Linux/Unix服务器,注意不能上传文件夹。(服务器不支持rz命令的话,需要安装执行 yum -y install lrzsz )
rz -be 选择需要上传的本地文件

6、sz 下载文件,具体参数可以用sz --help查看
sz 可将多个文件从远程服务器下载到本地。注意不能下载文件夹,如果下载文件夹,请先打包再下载

7、mkdir 创建文件,具体参数可以用mkdir --help查看
mkdir folderName 创建文件夹/目录,如 mkdir photo,
mkdir folderName folderName 创建多个文件夹/目录,如mkdir game video
mkdir -p folderName /folderName 创建多级目录,如mkdir -p study/chinese
-m参数可以设置文件夹的权限,如mkdir -m=r-- study ,创建只读权限的文件夹

8、mv 重命名和移动文件、文件夹,具体参数可以用mv --help查看
mv a b 重命名文件夹/文件,将a重命名为b,如mv game2 video
mv fineName folderName 移动文件,将某个文件移动到某个文件夹下

9、touch 创建文件,具体参数可以用touch --help查看
touch fileName 创建文件,如touch 我的文档.txt
touch folderName/fileName 创建目录下的文件,如touch game/ww.txt
10、find 查找文件和文件夹
find / -name folderName/fileName 全盘搜索,查找文件夹或文件所在目录(/是根目录)
find 搜索目录 -name 目标名字,可以用-iname不区分大小写,find / -iname file
find / -name file 使用*通配符来匹配包含file的相关文件
find / -size +204800 查找下大于100MB的文件,-号是小于,直接写数字就是等于。
find 搜索目录 -size 文件大小。
find /tmp -type d 查找某个目录下的所有目录,find 搜索目录 -type d
11、vi/vim 创建并打开文件,具体参数可以用vi/vim --help查看
vi fileName 创建文件(会打开这个文件,然后可以输入内容),如vi test.txt,
然后就可以按i键进入输入模式,然后就可以输入内容了,输入完成后就可以按esc退出输入模式,最后输入:wq就可以退出保存
vim fileName 创建文件(同vi)
使用>/>>创建文件
1)> fileName 创建文件(如果是文档的话,会覆盖,变成空文档)
2)>> fileName 创建文件,在远文件后追加,不会覆盖
创建文件的方式还有很多,在创建的时候将内容写入文件的命令ls>、 grep>、echo>>等等

12、rm 删除文件/文件夹 具体参数可以用rm --help查看
rm fileName 删除文件,如rm 我的文档.txt ,提升是否删除,输入y或者n就可以
rm -f fileName 强制删除文件,如rm -f abc,这个就不会提示,多级目录下就用/
rm -rf folderName 删除文件夹,-r向下递归,不管多少级目录,一并删除;-f 直接强行删除,不作任何提示。
rm -r folderName fileName 删除目录下的文件,也会提示是否删除等,输入y或者n即可

13、cp 复制文件,具体参数可以用cp --help查看
cp 源文件 目标文件夹 复制文件到某个文件夹下,如cp 1.txt java/,也可同时复制多个文件
cp -r 源文件夹 目标文件夹 复制文件夹到某个文件夹下,如cp -r a b,/加不加无所谓

14、tar 解压tar,具体参数可以用tar --help查看
解压:tar -zxvf 文件名.tar.gz 如tar -zxvf jdk-8u181-linux-x64.tar.gz
压缩:tar -zcvf 文件名.tar.gz 目录文件名 如tar -zcvf jdk1.8.0_181.tar.gz hhs
tar格式(tar是打包,不是压缩):
打包:tar cvf 目录文件名.tar 目录文件名
解包:tar xvf 目录文件名.tar
zip格式:
压缩:zip -r 目录文件名.zip 目录文件名
解压:unzip 目录文件名.zip
rar格式:
压缩:rar a 目录文件名.rar 目录文件名
解压:unrar x 目录文件名.rar
gz格式:
压缩:gzip 文件名
解压:gzip -d 文件名.gz

15、grep 文本搜索,全局正则表达式版本,具体参数可以使用grep --help查看
grep ‘搜寻字符串’ fileName 显示所有文件中包含搜寻字符串的行。多个文化用空格追加
如 grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行。
grep ‘搜寻字符串’ d* 显示所有以d开头的文件中包含 test的行。
grep ‘[a-z]{5}’ aa 显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

16、ps 显示系统中当前运行的进程,类似于 windows 的任务管理器,详细参数可以使用man ps或者ps --help <simple|list|output|threads|misc|all> or <s|l|o|t|m|a>查看
最常用的有ps -ef 和ps aux
ps -ef 用标准的格式显示进程
在这里插入图片描述
在这里插入图片描述
ps aux 用BSD的格式来显示进程

在这里插入图片描述
在这里插入图片描述
其中STAT状态位常见的状态字符有
D //无法中断的休眠状态(通常 IO 的进程);
R //正在运行可中在队列中可过行的;
S //处于休眠状态;
T //停止或被追踪;
W //进入内存交换 (从内核2.6开始无效);
X //死掉的进程 (基本很少见);
Z //僵尸进程;
< //优先级高的进程
N //优先级较低的进程
L //有些页被锁进内存;
s //进程的领导者(在它之下有子进程);
l //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
+ //位于后台的进程组;
ps命令列出的是当前那些进程的快照,就是执行ps命令的那个时刻的那些进程,如果想要动态的显示进程信息,就可以使用top命令。
注: ps 与grep 常用组合用法,查找特定进程
ps -ef|grep xxx 显示命令中包含xxx的进程

17、kill 删除执行中的程序或工作
kill -9 彻底杀死进程,当我们杀掉父进程时,其下的子进程也会被杀死
kill -9 进程ID 常用来杀死僵尸进程,ps -ef可以查看进程ID,如kill -9 3645

18、cat 查看某个文件内容
cat filename 一次显示整个文件
cat > filename 从键盘创建一个文件,只能创建新文件,不能编辑已有文件
cat file1 file2 > file 将几个文件合并为一个文件

一些其他常用命令
free -m 查看当前的内存使用情况
clear 清屏
pwd 查看目录绝对路径
ctrl + c 强制弹出命令行

三、Linux系统中的vim

vim书写操作,可以打开文件,输入内容
vim fileName ---->
按i进入insert模式---->
书写内容---->
按esc退出insert模式---->
:wq退出保存

vim异常退出
当vim异常退出时会生成.file.swp文件,当再次打开此文件时会出现以下情况:

E325: ATTENTION
Found a swap file by the name ".dd.txt.swp"
          owned by: root   dated: Thu Oct 29 16:11:29 2020
         file name: /***/***/***/dd.txt
          modified: YES
         user name: root   host name: ***
        process ID: *****
While opening file "dd.txt"
             dated: Thu Oct 29 15:36:20 2020

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    If this is the case, use ":recover" or "vim -r dd.txt"
    to recover the changes (see ":help recovery").
    If you did this already, delete the swap file ".dd.txt.swp"
    to avoid this message.

Swap file ".dd.txt.swp" already exists!
[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:
E325: 注意
发现交换文件 ".dd.txt.swp"
            所有者: root    日期: Thu Oct 29 16:11:29 2020
            文件名: /***/***/***/dd.txt
            修改过: 是
            用户名: root      主机名: ***
           进程 ID: *****
正在打开文件 "dd.txt"
              日期: Thu Oct 29 15:36:20 2020

(1) Another program may be editing the same file.  If this is the case,
    be careful not to end up with two different instances of the same
    file when making changes.  Quit, or continue with caution.
(2) An edit session for this file crashed.
    如果是这样,请用 ":recover""vim -r dd.txt"
    恢复修改的内容 (请见 ":help recovery")。
    如果你已经进行了恢复,请删除交换文件 ".dd.txt.swp"
    以避免再看到此消息。

交换文件 ".dd.txt.swp" 已存在!
以只读方式打开([O]), 直接编辑((E)), 恢复((R)), 删除交换文件((D)), 退出((Q)), 中止((A)):

输入D就可以了

插入模式
插入模式下光标的移动:
i 光标所在位置插入
I 光标所在行行首插入
o 光标所在行下一行插入
O 光标所在行的上一行插入
a 光标所在字符的下一个字符插入
A 光标所在行的行尾插入
s 光标所在字符删除并插入
S 光标所在行删除并插入
vim的退出模式
:q 退出,在文件内容没有被改变时使用
:wq 退出保存
:q! 强制退出不保存,在改变文件后不想保存时使用
:wq! 强制退出保存 在对只读文件编写时使用,注意,所编辑的只读文件必须时当前用户的文件或者当前操作的用户时root

四、Linux上启动jar包

第一次启动的时候
1.切换到要放文件的目录
2.上传jar包到目录下(用命令或者直接拖动等都行)
3.输入启动命令启动jar包
启动命令: nohup java -jar jar包名 &
意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
详解:
nohup:忽略SIGHUP信号,把输出内容放入到nohup的日志中并生成日志文件
java -jar:启动java的jar包命令
jar包名:jar包名字
&:关闭linux连接时 服务不会挂断

1)java -jar xxx.jar // 当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
2)java -jar xxx.jar & //当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
3)nohup Java -jar xxx.jar & //意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
4)nohup Java -jar xxx.jar >aa.log //指定输出日志文件,意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行

已经启动了项目,更新jar包,需要重新部署的情况
1.查看进程 ps -ef或者更精准 ps -ef|grep xxx
2.杀死进程 kill -9 进城号
3.删除旧的jar包 rm 文件名
4.上传新的jar包 2.(用命令或者直接拖动等都行)
5.输入启动命令启动jar包
启动命令: nohup java -jar jar包名 &
详解同上

其他启动命令:
nohup java -jar -Xms128M -Xmx1024M -server.port=9002 XX.jar > XX.out 2>&1 &
详解:
nohup:nohup的意思是忽略SIGHUP信号,关闭shell后,进程还是存在的。
java:启动程序
-jar:启动类型
-Xms128M -Xmx1024M:指定内存,Xms一般为最大内存的1/64,Xmx一般为最大内存的1/4
-server.port=9002:指定端口
XX.jar:jar包路径
>:日志重定向,用>时清空日志文件后前面会产生空白,可以用>>
XX.out:输出日志路径,不要日志可以输出到/dev/null
2>&1:标准输出与错误输出
&:后台运行,即使你用ctrl +c,照样运行,但是要注意,如果你直接关掉shell后,进程同样消失。可见,&的后台并不硬(因为对SIGHUP信号不免疫),更主要的还是nohoup(个人猜测,如果有不对的请帮我指出来,谢谢)。

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值