学习Linux须知1.2之Linux命令的实战
(一)学习Linux 的准备工作
1、在线学习linux
2、连接远程服务器学习【下文的案例就是使用xshell连接远程服务器(省事方便最推荐)】
自己购买一台云服务器,通过xshell 连接远程服务器,然后动手使用linux命令,例如使用linux部署一个项目。
购买云服务器、配置、安装xshell、搭建环境的文章:https://www.cnblogs.com/shan333/p/16185323.html
- 文章下文的掌握使用Linux命令部署项目,使用的就是方式2连接远程服务器学习
3、本地安装虚拟机,然后通过虚拟机安装Linux的发行版软件(centos或ubuntu)
- 虚拟机VMware 安装centos、常规配置、共享文件等的文章:https://www.cnblogs.com/shan333/p/16209226.html
- 掌握使用Linux命令部署项目,使用的就是方式3虚拟机运行centos:https://www.cnblogs.com/shan333/p/16209226.html
(二) Linux 学习建议
1、 建议:命令多动手敲,不熟悉命令不建议复制粘贴的懒惰行为。
2、 动手敲一遍使用linux命令部署一个项目,到这里,就具备了linux的基本命令的掌握,足够学习docker等其他板块啦,遇到不会的动手百度或翻看手册。
3、linux手册:https://www.linuxcool.com/
(三) 使用Linux命令部署项目(方式2:使用xshell连接远程服务器)
● ssh 命令,连接远程的服务器
ssh ip地址
- ip地址,是你购买的远程服务器的公网ip地址,举例:
ssh 121.5.151.236,若是使用虚拟机运行centos,则ssh命令不用执行,这个ssh命令跳过。
● pwd 命令,查看所在目录的位置
pwd
● ifconfig 命令,查看网络设备信息
ifconfig
◇ 看到有网卡在工作中即可up、running
[root@mysql ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.0.111 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80::8c18:4c0c:35b:f89c prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:bf:7a:4b txqueuelen 1000 (Ethernet)
RX packets 396 bytes 43132 (42.1 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 189 bytes 25028 (24.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
......
# eth0:网卡名称
# UP:表示网卡是开启状态
# BROADCAST:表示网卡支持广播
# RUNNING:表示网卡的网线已经被接上,在工作中
# MULTICAST:表示网卡支持组播
# Link encap:网卡的接口类型,这里是以太网
# HWaddr:网卡的硬件地址,俗称的MAC地址
# inet addr:IPv4地址,如果是IPv6会写成inet6 addr
# Bcast:广播地址
# Mask:子网掩码
# MTU:网络最大传输单元
# Metric:到达网关的度量值,参考:http://m.chinabyte.com/network/191/12287691_gfh.shtml
# RX packets:网络从启动到现在为止接收的数据包大小,单位是字节,error 发生错误的数据包,dropped 被丢弃的数据包
# TX packets:网络从启动到现在为止发送的数据包大小,单位是字节,error 发生错误的数据包,dropped 被丢弃的数据包
# collisions:发生碰撞的数据包,如果发生太多次,表明网络状况不太好
# txqueuelen:传输数据的缓冲区的储存长度
# RX bytes:总接收字节总量
# TX bytes:总发送字节总量
# Memory:网卡硬件的内存地址
● free 命令,检查服务器的内存(是否足够)
free -h
参数详解
-h 以合适的单位显示内存使用情况,最大为三位数,自动计算对应的单位值
# total: 内存总数
# used: 已经使用内存数
# free: 完全空闲内存
# shared: 多个进程共享的内存
# buffers: 用于块设备数据缓冲,记录文件系统metadata(目录,权限,属性等)
# cached: 用于文件内容的缓冲
# available:真正剩余的可被程序应用的内存数
● df 命令,查看磁盘空间(是否足够)
df -lh
# 参数详解
# Used:已经使用的空间
# Avail:可以使用的空间
# Mounted on:挂载的目录
● mkdir 命令,新建目录
mkdir code
● cd 命令,切换目录
cd code/
● git 命令,拉取项目代码
git clone https://gitee.com/yushanstar/code-shan-mp-server.git
问题:-bash: git: command not found
- 解决:给远程Linux系统(远程服务器)安装上git,命令:yum install -y git
- 然后继续执行拉取项目代码的命令,拉取完成之后,使用ls命令查看
cd code-shan-mp-server/或cd code-shan-mp-server进入项目目录 【cd 目录的/,可以加或不加】
● ls 命令,查看所有文件
ls
● du 命令,查看目录占用空间
du -sh *
● cat 命令,查看文本文件
cat README.md
# 看到时一个java的springboot框架的项目---需要安装jdk
● 查看系统版本
cat /etc/os-release
# 是rehat发行版的命令 # 看到时centos版本,那直接使用系统自带的软件管理器 yum
cat /etc/redhat-release
# 是debain发行版的命令
cat /etc/debian_version
● yum 命令,系统自带的软件管理器 yum
yum install java-1.8.0-openjdk* -y 使用yum 安装jdk
● java -version 命令,查看java环境(jdk 版本)
java -version
● which 命令,查看文件位置
which java
# Linux which命令用于查找文件。
# which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
● wget 命令,下载安装包
wget https://dlcdn.apache.org/maven/maven-3/3.8.5/binaries/apache-maven-3.8.5-bin.tar.gz 下载maven
问题:ERROR: cannot verify dlcdn.apache.org's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
Issued certificate has expired.
To connect to dlcdn.apache.org insecurely, use `--no-check-certificate'.
- 解决:报错证书问题,则安装证书: yum install -y ca-certificates
- 然后执行执行wget命令下载maven的安装包
ls查看所有文件
● tar 命令,解压
tar -zxvf apache-maven-3.8.5-bin.tar.gz
./apache-maven-3.8.5/bin/mvn 解压后得到maven的二进制可执行文件
● help 命令,帮助手册,查看相关的命令
./apache-maven-3.8.5/bin/mvn --help
./apache-maven-3.8.5/bin/mvn install 构建maven项目
问题:[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
解决:
更改maven镜像为阿里云镜像:
cd apache-maven-3.8.5/conf/
vim settings.xml # 更改maven镜像为阿里云镜像,找到<mirrors>,将原来的镜像<mirror> 注释掉,然后添加阿里云镜像 <mirror>
<id>nexus-aliyun</id>
<mirrorOf>*,!jeecg,!jeecg-snapshots</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
然后退出回到目录code-shan-mp-server下【命令是 cd ../../】,重新执行一下maven的构建命令
● find 命令,用来在指定目录下查找文件
find -name '*.jar*' 查找jar包位置
# find 将开始在当前目录(用"."表示)中查找任何扩展名为"java"的文件:
find . -name "*.java"
● cp 命令,复制
cp ./target/code-shan-mp-server-1.0.0.jar ./ 将jar包复制到外面
● mv 命令,修改文件名称
mv code-shan-mp-server-1.0.0.jar code-shan.jar
ls 查看改名后情况
mv(英文全拼:move file)命令用来为文件或目录改名、或将文件或目录移入其它位置。
(1) 只是重命名:目标目录与原目录一致,目标文件的名称发生改变
- 都在当前目录下(目录相同),例如上面的
mv code-shan-mp-server-1.0.0.jar code-shan.jar- 目录相同:例如:mv /home/dir1/a.txt /home/dir1/b.txt
(2)只是移动:目标目录与原目录不一致,没有指定新文件名
- 例如 redis-5.0.7.tar.gz 在 /home/shan 目录下: mv redis-5.0.7.tar.gz /opt
(3)重名+移动:目标目录与原目录不一致,目标文件的名称发生改变
- 例如:mv /home/dir1/dir2/a.txt /home/dir1/b.txt
● java -jar 命令,执行jar包
java -jar code-shan.jar 启动java的maven项目
# 浏览器查看项目运行情况
地址:服务器的ip:8080/hello
# 看到 hello,shan,则部署运行项目成功啦

不过此时咱的界面卡住了----使用后台启动项目
● nohup 命令,后台启动程序
nohup java -jar code-shan.jar &
问题:命令:nohup java -jar code-nav.jar & 没能让项目跑起来【nohup java -jar 命令启动jar包,项目仍然会莫名其妙挂掉的解决方法】
出现:nohup: ignoring input and appending output to ‘nohup.out’
- 不是问题,这是一个提示信息,提示证明运行成功,同时把程序运行的输出信息放到当前目录的 nohup.out 文件中去。
# 查看程序是否跑起来
● jobs 命令,查看当前终端放入后台的任务
jobs
● ps 命令,查看所有进程,这里是为了查看是否有(java)进程
ps -ef
● ps -ef|grep 命令,筛选出目标进程
ps -ef|grep 'java'
# 从文件内容查找匹配指定字符串的行:
grep "被查找的字符串" 文件名
ps命令 -ef参数
-e 系统所有进程
-f 全格式
-a 显示终端上的所有进程
● netstat 命令,查看端口占用
netstat -ntlp
● curl 命令,访问相应的 Web 服务器
curl localhost:8080/dog
# 看到hello,shan 则运行部署成功
[root@iZwz9535z41cmgcpkm7i81Z code-shan-mp-server]# curl localhost:8080/hello
hello,shan[root@iZwz9535z41cmgcpkm7i81Z code-shan-mp-server]#
● clear 命令,清除一下
clear
● history 命令,查看历史
history
其他命令,不会就到手册或者百度查找
如果本文对你有帮助的话记得给一乐点个赞哦,感谢!
学习Linux须知1.2之Linux命令的实战的更多相关文章
- 学习Linux须知1.0之Linux相关概念、工具(yum、vim)、防火墙等
温馨提示:重点掌握的前面都标注了 ☆ 一.Linux 是什么? Linux 是一个操作系统. 我们的 Linux 主要是系统调用和内核那两层. 当然直观地看,我们使用的操作系统还包含一些在其上运行的应 ...
- 学习 Linux,101: 使用基本 SQL 命令
概述 在本教程中,将学习结构化查询语言 (SQL),包括: 使用基本 SQL 命令 执行基本数据操作 本教程将简要介绍您需要知道的与 LPI 102 考试相关的 SQL 概念. 回页首 数据库和 ...
- Linux 学习笔记之超详细基础linux命令(the end)
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 14---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 14
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 13---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 13
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 12---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 12
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 11---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 11
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 10---------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 10
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 9----------------- ...
- Linux 学习笔记之超详细基础linux命令 Part 9
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 8----------------- ...
随机推荐
- 解决 Tomcat 控制台输出乱码(Tomcat Localhost Log / Tomcat Catalina Log 乱码)
1. 按下图修改 先找到你的 Tomcat 安装目录,然后进入conf文件夹,找到 logging.properties,并打开它,然后把所有 UTF-8 格式的编码改成 GBK即可,具体操作如下图
- vue点击按钮复制文本框内容
1.npm进行安装 npm install clipboard --save 2.在需要使用的组件中import 引用方法:import Clipboard from 'clipboard'; 3.添 ...
- C语言 之 多线程编程
一.基础知识 计算机的核心是CPU,承担了所有的计算任务. 操作系统是计算机的管理者,负责任务的调度.资源的分配和管理,统领整个计算机硬件. 应用程序则是具有某种功能的程序,程序是运行于操作系统之上的 ...
- 如何得到个性化banner
介绍 有时候用一些脚本工具,会有一些由其他字符组成的字符.(如下面这个我还在写的) 使用 kali自带了这个工具 -- figlet. figlet AuToIP 就可以得到上面的字符啦! 另外如果想 ...
- XStream使用记录
XStream使用记录 官网 http://x-stream.github.io/index.html 下载地址 http://x-stream.github.io/download.html 参考资 ...
- git的.gitignore文件内容
**/pom.xml.versionsBackup **/target/ **/out/ *.class # Mobile Tools for Java (J2ME) .mtj.tmp/ .idea/ ...
- springboot项目找不到符号问题以及模块聚合项目maven插件使用的相关问题
问题如图 更换maven,清空缓存重新导入依赖依然无效后 解决方法: 方式一:删除项目中.idea文件夹,重新打开项目,选中jdk版本 ,重新导入依赖即可. 最近又遇到找不到符号问题,本地运行没问题, ...
- 高精度减法(C++实现)
高精度减法 简介 用于计算含有超过一般变量存放不下的非负整数 高精度加法这个过程是模拟的小学竖式减法计算 注:在本文中,我们默认输入的第一个数为被减数,且被减数大于减数 原理基本上与高精度加法相同,仅 ...
- 数据库基础知识详解四:存储过程、视图、游标、SQL语句优化以及索引
写在文章前:本系列文章用于博主自己归纳复习一些基础知识,同时也分享给可能需要的人,因为水平有限,肯定存在诸多不足以及技术性错误,请大佬们及时指正. 11.存储过程 存储过程是事先经过编译并存储在数 ...
- jmeter元件,作用域与优先级
jmeter元件,作用域与优先级 一.jmeter元件 1.配置元件:优先级最高 1.1 重点使用元件:csv数据文件设置.用户定义变量.计数器 2.取样器:根据不同协议来编写请求脚本的元件 2.1 ...
