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

子曰:“工欲善其事,必先利其器。“1、登录服务器SSH命令简单说,SSH是一种网络协议,用于计算机之间的加密登录。如果一个用户从本地计算机,使用SSH协议登录另一台远程计算机,我们就可以认为,这种登录是安全的,即使被中途截获,密码也不会泄露。最基本的用法:常用格式:ssh [-l login_name] [-p port] [user@]hostname例子:ssh 192.168….

大家好,又见面了,我是全栈君。

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

做一个积极的人
编码、改bug、提升自己
我有一个乐园,面向编程,春暖花开!

学习应该是快乐的,在这个乐园中我努力让自己能用简洁易懂(搞笑有趣)的表达来讲解知识或者技术,让学习之旅充满乐趣,这就是写博文的初心。

目录

1、登录服务器SSH命令

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

最基本的用法:

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

例子:

ssh 192.168.1.110
ssh -l root 192.168.0.11
# 比较常用 
ssh root@192.168.0.11

图解:

ssh示例

2、传输文件scp命令

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

最基本的用法:

常用格式:scp [可选参数] file_source remote_username@remote_ip:remote_folder

例子:

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

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

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

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

# 表示更新两次后终止更新显示
top -n 2
#表示更新周期为3秒
top -d 3
# 显示进程号为2586的进程信息,CPU、内存占用率等
top -p 2586
更新显示二次的结果输入到名称为 top.log 的档案里
top -n 2 -b < top.log

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

# 显示内存使用信息 , -h 选项为根据大小适当显示(人类可以读懂的方式)
free -h
# 每10s 执行一次命令
free -hs 10

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

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

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

 # 通过排序的方式显示前十条
[root@localhost ~]# du -am | sort -nr | head -n 10
183	./jdk-8u191-linux-x64.tar.gz
183	.
1	./.viminfo
....

4、压缩/解压tar命令

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

  • 压缩文件

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

后缀也可以是.tgz。

# 创建一个文件
[root@localhost ~]# touch text.log 
# 压缩 text.tar.gz
[root@localhost ~]# tar -zcvf text.tar.gz text.log 

[root@localhost ~]# tar -zcvf text.tgz text.log 
text.log
[root@localhost ~]# ll
-rw-r--r--. 1 root root       114 3月  12 22:45 text.tgz
  • 列出压缩文件内容

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

[root@localhost ~]# tar -ztvf text.tar.gz 
-rw-r--r-- root/root         0 2019-03-12 22:41 text.log
[root@localhost ~]# tar -ztvf text.tgz 
-rw-r--r-- root/root         0 2019-03-12 22:41 text.log

  • 解压文件

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

[root@localhost ~]# tar -zxvf text.tar.gz 
-rw-r--r-- root/root         0 2019-03-12 22:41 text.log
[root@localhost ~]# tar -zxvf text.tgz 
-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。

一般情况,赋值 命令

chmod 755 file

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

6、查找文件find命令

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

find . -iname \*.txt(大小写都匹配)
find . -type d(当前目录下的所有子目录)
find /usr -type l(当前目录下所有的符号链接)
find /usr -type l -name "z*" -ls(符号链接的详细信息 eg:inode,目录)
find /home/test -size +250000k(超过250000k的文件,当然+改成-就是小于了)
find /home/test f -perm 777 -exec ls -l { 
   } \; (按照权限查询文件)
find /home/test -atime -1  1天内访问过的文件
find /home/test -ctime -1  1天内状态改变过的文件    
find /home/test -mtime -1  1天内修改过的文件
find /home/test -amin -1  1分钟内访问过的文件
find /home/test -cmin -1  1分钟内状态改变过的文件    
find /home/test -mmin -1  1分钟内修改过的文件
#----------
#查找/var/log目录中更改时间在7日以前的普通文件,并在删除之前询问它们
find /var/log -type f -mtime +7 -ok rm { 
   } \;

#查找系统中所有文件长度为0的普通文件,并列出它们的完整路径
find / -type f -size 0 -exec ls -l { 
   } \;

7、查询字符 grep命令

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

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

# 显示所有以d开头的文件中包含test的行。
grep 'test' d* 
# 显示在text1,text2,text3文件中匹配test的行。
grep 'test' text1 text2 text3
# text文件中显示所有包含每个字符串至少有5个连续小写字符的字符串的行。
grep '[a-z]\{5\}' text

# 查找文件名中包含 test 的文件中不包含test 的行
grep -v test *test*

8、查看端口占用netstat命令

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

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

# 查看端口1212的使用情况
netstat -tln | grep 1212
查看端口属于哪个程序
lsof -i :1212

9、查看文件内容 tail命令

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

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

真实使用:

# 查看日志
tail -f  xxxx.out
# 查看 100行日志
tail  -n100 xxxx.out
# 查看带有'test'的日志
tail -f | grep 'test' 这样可以只显示

10、停止应用kill命令

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

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

# 查找tomcat服务器
ps aux | grep tomcat
root  25689
# 杀掉进程 -9 强制杀
kill -9 25689

推荐阅读

Java开发人员必须掌握的Linux命令(一)
Java开发人员必须掌握的Linux命令(二)
Java开发人员必须掌握的Linux命令(三)
Java开发人员必须掌握的两个Linux魔法工具(四)
Java开发人员必须掌握的Linux命令-学以致用(五)


谢谢你的阅读,如果您觉得这篇博文对你有帮助,请点赞或者喜欢,让更多的人看到!祝你每天开心愉快!



Java编程技术乐园:一个分享编程知识的公众号。跟着园长老司机一起学习,每天进步一点点。


扫描关注,后台回复【资源】,获取珍藏干货! 99.9%的伙伴都很喜欢

image.png | center| 747x519


© 每天都在变得更好的阿飞云

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/121041.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 工具:数据库设计ER图

    工具:数据库设计ER图一、简介我们在做数据库设计的时候经常需要系统性的去认识系统涉及到的全部对象,以及对象间的相互关系,如果系统复杂的话,如果不借助合适工具的话,到最后设计出来的数据库肯定会存在或多或少的问题,不过前辈们早就遇到过这类问题,并提供了具体的解决方案,那就是本文要讲的ER图(EntityRelationshipDiagram),ER图提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。就…

  • Kotlin学习之路(1)环境介绍及安装

    Kotlin学习之路(1)环境介绍及安装

  • 图形的光栅化_简述图像的采样和量化过程

    图形的光栅化_简述图像的采样和量化过程在前面的学习中,我们已经可以通过MVP变换,把摄像机观测的物体都压缩成了一个标准立方体,接下来我们要做的是把这个标准立方体绘制到屏幕(Screen)上何为屏幕?一个二维数组,每个元素称之为像素(pixel,pictureelement的缩写),例如我们常说的屏幕分辨率1920*1080,就是说有这么些个像素。屏幕是一个典型的光栅成像设备。光栅(Raster)在德语中就是屏幕的意思,光栅化(Rasterize,名变动)就是把东西画在屏幕上。像素,最小单位,像素内的颜色可以用rgba来定义,一

  • C51浮点数显示、浮点数表示方法

    C51浮点数显示、浮点数表示方法C51中的浮点数存储方式–n年前曾在c51bbs论坛中发布过Float浮点形,它是符合IEEE-754标准的单精度浮点形数据,在十进制中具有7位有效数字。FLOAT型据占用四个字节(32位二进制数),在内存中的存放格式如下:字节地址(由低到高)0123浮点数内容MMMMMMMMMMMMMMMMEMMMMMMMSEEEEEEE其中,S为符号位,存放在最高字节

  • nmap命令教程详解

    nmap命令教程详解-sP:ping扫描(不进行端口扫描)-sT:进行TCP全连接扫描-sS:进行SYN半连接扫描-sF:进行FIN扫描-sN:进行Null扫描-sX:进行Xmas扫描-O:进行测探目标主机版本(不是很准)-sV:可以显示服务的详细版本-A:全面扫描-p:指定端口扫描-oN:会将扫描出来的结果保存成一个txt文件-oX:会将扫描出来的结果保存成一个xml文件[-T1]-[-T5]:提高扫描速度.详细分析1)、主机发现nmap-sP192.168.1

  • WebSocket :用WebSocket实现推送你必须考虑的几个问题

    WebSocket :用WebSocket实现推送你必须考虑的几个问题目录:目录WebSocket简介项目背景硬件环境及客户端支持本文研究内容基于javaxwebsocket服务端代码源码后续补充git连接客户端代码问题探索如何做到支持几千个client同时在线人数后续1.WebSocket简介WebSocket_百度百科2.项目背景、硬件环境及客户端支持本项目通过WebSocket实现同时在线用户量5k推送服务器(可内网运行)。且可实时查看用户在线状

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号