Java开发人员必须掌握的Linux命令(一)

Wesley13
• 阅读 587

Java开发人员必须掌握的Linux命令(一)

做一个积极的人

编码、改bug、提升自己

我有一个乐园,面向编程,春暖花开!

子曰:“工欲善其事,必先利其器。“

Java开发人员必须掌握的Linux命令(一)

1、登录服务器SSH命令

简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。

最基本的用法:

常用格式:ssh [-l login_name] [-p port] [user@]hostname

例子:

  1. ssh 192.168.1.110

  2. ssh -l root 192.168.0.11

  3. # 比较常用

  4. ssh root@192.168.0.11

图解:

Java开发人员必须掌握的Linux命令(一)

2、传输文件scp命令

scp命令用于Linux服务器之间复制文件和目录。scp是 secure copy的缩写, scp是linux系统下基于ssh登陆进行安全的远程文件拷贝命令。

最基本的用法:

常用格式:scp [可选参数] filesource remoteusername@remoteip:remotefolder

例子:

  1. scp /home/test.log root@192.168.1.110:/home/happy/

注意: 使用scp命令要确保使用的用户具有可读取远程服务器相应文件的权限,否则scp命令是无法起作用的。

3、查看系统状态 top、free、df

top命令用于实时显示 process 的动态。可以配合用来查询vm的一些问题!具体参数不做介绍。

  1. # 表示更新两次后终止更新显示

  2. top -n 2

  3. #表示更新周期为3秒

  4. top -d 3

  5. # 显示进程号为2586的进程信息,CPU、内存占用率等

  6. top -p 2586

  7. 更新显示二次的结果输入到名称为 top.log 的档案里

  8. top -n 2 -b < top.log

free命令用于显示内存状态。

  1. # 显示内存使用信息 , -h 选项为根据大小适当显示(人类可以读懂的方式)

  2. free -h

  3. # 每10s 执行一次命令

  4. free -hs 10

df 以磁盘分区为单位查看文件系统,可以获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

  1. # 查看磁盘信息, -h 选项为根据大小适当显示

  2. df -h

du会显示指定的目录或文件所占用的磁盘空间。用于查看当前目录的总大小。

  1. # 通过排序的方式显示前十条

  2. [root@localhost ~]# du -am | sort -nr | head -n 10

  3. 183 ./jdk-8u191-linux-x64.tar.gz

  4. 183 .

  5. 1 ./.viminfo

  6. ....

4、压缩/解压tar命令

tar是用来建立,还原备份文件的工具程序,它可以加入,解开备份文件内的文件。

  • 压缩文件

命令 : tar -zcvf 备份文件.tar.gz 备份文件/目录

后缀也可以是.tgz。

  1. # 创建一个文件

  2. [root@localhost ~]# touch text.log

  3. # 压缩 text.tar.gz

  4. [root@localhost ~]# tar -zcvf text.tar.gz text.log

  5. [root@localhost ~]# tar -zcvf text.tgz text.log

  6. text.log

  7. [root@localhost ~]# ll

  8. -rw-r--r--. 1 root root 114 3月 12 22:45 text.tgz

  • 列出压缩文件内容

命令: tar -ztvf 备份文件.tar.gz 或 tar -ztvf 备份文件.tgz

  1. [root@localhost ~]# tar -ztvf text.tar.gz

  2. -rw-r--r-- root/root 0 2019-03-12 22:41 text.log

  3. [root@localhost ~]# tar -ztvf text.tgz

  4. -rw-r--r-- root/root 0 2019-03-12 22:41 text.log

  • 解压文件

命令: tar -zxvf 备份文件.tar.gz 或 tar -zxvf 备份文件.tgz

  1. [root@localhost ~]# tar -zxvf text.tar.gz

  2. -rw-r--r-- root/root 0 2019-03-12 22:41 text.log

  3. [root@localhost ~]# tar -zxvf text.tgz

  4. -rw-r--r-- root/root 0 2019-03-12 22:41 text.log

tar -z 压缩(c)、查看(t)、解压(x)vf

  • -z或--gzip或--ungzip 通过gzip指令处理备份文件

  • -c或--create 建立新的备份文件

  • -t或--list 列出备份文件的内容

  • -x或--extract或--get 从备份文件中还原文件

  • -v或--verbose 显示指令执行过程

  • -f<备份文件>或--file=<备份文件> 指定备份文件

5、修改文件属性chmod命令

Linux/Unix 的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。

读,写,执行的权限。r=4,w=2,x=1

  • 若要rwx属性则4+2+1=7;

  • 若要rw-属性则4+2=6;

  • 若要r-x属性则4+1=5。

一般情况,赋值 命令

  1. chmod 755 file

此外chmod也可以用字母来表示权限,这里就不进行说明。

6、查找文件find命令

find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录与文件。并且将查找到的子目录和文件全部进行显示。

  1. find . -iname \*.txt(大小写都匹配)

  2. find . -type d(当前目录下的所有子目录)

  3. find /usr -type l(当前目录下所有的符号链接)

  4. find /usr -type l -name "z*" -ls(符号链接的详细信息 eg:inode,目录)

  5. find /home/test -size +250000k(超过250000k的文件,当然+改成-就是小于了)

  6. find /home/test f -perm 777 -exec ls -l {} \; (按照权限查询文件)

  7. find /home/test -atime -1 1天内访问过的文件

  8. find /home/test -ctime -1 1天内状态改变过的文件

  9. find /home/test -mtime -1 1天内修改过的文件

  10. find /home/test -amin -1 1分钟内访问过的文件

  11. find /home/test -cmin -1 1分钟内状态改变过的文件

  12. find /home/test -mmin -1 1分钟内修改过的文件

  13. #----------

  14. #查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们

  15. find /var/log -type f -mtime +7 -ok rm {} \;

  16. #查找系统中所有文件长度为0的普通文件,并列出它们的完整路径

  17. find / -type f -size 0 -exec ls -l {} \;

7、查询字符 grep命令

grep命令用于查找文件里符合条件的字符串。

grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。

  1. # 显示所有以d开头的文件中包含test的行。

  2. grep 'test' d*

  3. # 显示在text1,text2,text3文件中匹配test的行。

  4. grep 'test' text1 text2 text3

  5. # text文件中显示所有包含每个字符串至少有5个连续小写字符的字符串的行。

  6. grep '[a-z]\{5\}' text

  7. # 查找文件名中包含 test 的文件中不包含test 的行

  8. grep -v test *test*

8、查看端口占用netstat命令

netstat命令用于显示网络状态。

利用netstat指令可让你得知整个Linux系统的网络情况。

  1. # 查看端口1212的使用情况

  2. netstat -tln | grep 1212

  3. 查看端口属于哪个程序

  4. lsof -i :1212

9、查看文件内容 tail命令

tail 命令可用于查看文件的内容,有一个常用的参数 -f 常用于查阅正在改变的日志文件。

tail -f filename 会把 filename 文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 filename 更新就可以看到最新的文件内容。

真实使用:

  1. # 查看日志

  2. tail -f xxxx.out

  3. # 查看 100行日志

  4. tail -n100 xxxx.out

  5. # 查看带有'test'的日志

  6. tail -f | grep 'test' 这样可以只显示

10、停止应用kill命令

kill命令用于删除执行中的程序或工作。

查找tomcat服务,并彻底杀死进程。

  1. # 查找tomcat服务器

  2. ps aux | grep tomcat

  3. root 25689

  4. # 杀掉进程 -9 强制杀

  5. kill -9 25689

后续还会持续整理需要掌握的命令,敬请期待!

Java开发人员必须掌握的Linux命令(一)

不管做什么,只要坚持下去就会看到不一样!在路上,不卑不亢!

愿你我早日成长为独挡一面的人

Java开发人员必须掌握的Linux命令(一)

谢谢你的阅读,祝你有所收获,也愿你每天开心愉快!

如果觉得对你有所帮助,你的转发,就是对我最大的鼓励!

文章推荐

  值得收藏:一份非常完整的 MySQL 规范

  必看,Mysql索引核心知识汇总

  必备技巧-mysql中explain用法详解

  必读-sql加索引调优案例和explain extended说明

【免费分享】让思路更清晰,思维导图教程

【教程】使用gitee搭建免费的图床

  五分钟学会Spring中定时器的使用

Java开发人员必须掌握的Linux命令(一)

Java相关技术

高效软件工具

干货技术资源

前沿技术分享

FOLLOW US

好点个好看一起玩耍!

Java开发人员必须掌握的Linux命令(一)

本文分享自微信公众号 - Java编程技术乐园(java_fly)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Easter79 Easter79
3年前
swap空间的增减方法
(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
5个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Wesley13 Wesley13
3年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
11个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这