学习Linux须知1.2之Linux命令的实战

简介: 学习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)



(二) 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


☺ 其他命令,不会就到手册或者百度查找


如果本文对你有帮助的话记得给一乐点个赞哦,感谢!

目录
相关文章
|
2月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
128 8
|
2月前
|
Linux 编译器 开发工具
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
【Linux快速入门(三)】Linux与ROS学习之编译基础(Cmake编译)
100 2
|
27天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
52 14
Linux 10 个“who”命令示例
|
6天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
28 8
|
15天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
100 20
|
16天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
43 7
|
2月前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
35 9
|
2月前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
2月前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
157 3
|
2月前
|
Linux
在 Linux 系统中,`find` 命令
在 Linux 系统中,`find` 命令
40 1