一、Linux与云服务器

1、Linux发行版本

linux发行版本

二、Linux基础操作

1、使用Linux命令

列出目录下所有文件和子目录的命令格式:

[root@iZ0jl6lprbiisf6xsgu1smZ ~]# ls -l /
total 24
dr-xr-xr-x.   2 root root    6 May 16  2022 afs
lrwxrwxrwx.   1 root root    7 May 16  2022 bin -> usr/bin
dr-xr-xr-x.   5 root root 4096 Jun 13 11:18 boot
drwxr-xr-x   19 root root 3120 Sep 12 09:52 dev
drwxr-xr-x. 104 root root 8192 Sep 12 09:52 etc
drwxr-xr-x.   2 root root    6 May 16  2022 home
lrwxrwxrwx.   1 root root    7 May 16  2022 lib -> usr/lib
lrwxrwxrwx.   1 root root    9 May 16  2022 lib64 -> usr/lib64
drwxr-xr-x.   2 root root    6 May 16  2022 media
drwxr-xr-x.   2 root root    6 May 16  2022 mnt
drwxr-xr-x.   2 root root    6 May 16  2022 opt
dr-xr-xr-x  161 root root    0 Sep 12 09:52 proc
dr-xr-x---.   6 root root  168 Jun 13 11:28 root
drwxr-xr-x   37 root root 1040 Sep 12 09:52 run
lrwxrwxrwx.   1 root root    8 May 16  2022 sbin -> usr/sbin
drwxr-xr-x.   2 root root    6 May 16  2022 srv
dr-xr-xr-x   13 root root    0 Sep 12 09:52 sys
drwxrwxrwt.   5 root root 4096 Sep 12 10:16 tmp
drwxr-xr-x.  12 root root  144 Jun 13 11:12 usr
drwxr-xr-x.  20 root root 4096 Jun 13 03:18 var

Linux 文件系统

文件系统

  • 根目录/:Linux文件系统的根目录。它是文件系统的顶级目录,包含了所有文件、目录和子目录的层次结构。
  • /bin、/sbin、/usr/bin、/usr/sbin:这些目录包含了Linux操作系统的核心程序,例如grep、ls、chmod等。其中/bin和/sbin包含的程序一般是系统管理员用于系统维护和修复的,而/usr/bin和/usr/sbin目录包含的程序则是一般用户常用的工具和服务端程序。
  • /etc:这个目录包含了系统的配置文件,例如用户和组的配置、网络设置、服务配置等。
  • /home:这个目录包含了所有普通用户的个人文件、目录和配置文件。
  • /var:这个目录包含了变量文件,例如系统日志、邮件日志、缓存文件等。
  • /proc:这个目录是一个虚拟目录,它包含了内存中运行的进程的信息,例如进程ID、内存使用情况等。
  • /dev:这个目录包含了设备文件,例如磁盘、鼠标、键盘等。
  • /tmp:这个目录包含了临时文件,例如缓存文件、日志文件、临时下载文件等。

2、文件系统命令

(1)列目录命令ls

ls [选项] [路径]

常用选项包括:

  • -a:显示所有文件,包括隐藏文件和当前目录和父目录的符号链接
  • -l:以长格式显示文件信息,包括文件属性、权限、大小、创建日期等信息
  • -h:配合-l选项,以人类可读的格式显示文件大小,例如‘1K’、‘2M’等
  • -r:倒序显示文件列表
  • -t:按照文件修改时间排序
ls          #列出当前目录下的所有文件和目录。
ls /etc   #列出/etc目录下的所有文件和目录。
ls -a      #列出当前目录下的所有文件和目录,包括隐藏文件和当前目录和父目录的符号链接。
ls -l /home   #以长格式列出/home目录下的所有文件和目录的详细信息。
ls -lh /var/log #以人类可读的格式列出/var/log目录下的所有文件和目录的详细信息。
ls -lrt /tmp     #以倒序并按照修改时间列出/tmp目录下的所有文件和目录的详细信息。

(2)当前目录、pwd 和 cd

pwd用于显示当前目录的完整路径

[root@iZ0jl6lprbiisf6xsgu1smZ ~]# pwd
/root

cd用于进入某一个目录

[root@iZ0jl6lprbiisf6xsgu1smZ ~]# cd /etc/ 
[root@iZ0jl6lprbiisf6xsgu1smZ etc]# 

(3)创建目录命令mkdir

mkdir创建新目录,默认是在当前目录下创建

[root@iZ0jl6lprbiisf6xsgu1smZ ~]# cd /opt/
[root@iZ0jl6lprbiisf6xsgu1smZ opt]# mkdir hello
[root@iZ0jl6lprbiisf6xsgu1smZ opt]# ll
total 0
drwxr-xr-x 2 root root 6 Sep 12 11:30 hello

#创建多级目录 
[root@iZ0jl6lprbiisf6xsgu1smZ opt]# mkdir -p test1/test2
[root@iZ0jl6lprbiisf6xsgu1smZ opt]# ls /opt/
hello  test1

(4)文件/文件夹改名 mv

[root@iZ0jl6lprbiisf6xsgu1smZ opt]# cd test1
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# ll
total 0
drwxr-xr-x 2 root root 6 Sep 12 11:33 test2
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# mv test2 test3 #把当前目录中的test2 改成test3
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# ll
total 0
drwxr-xr-x 2 root root 6 Sep 12 11:33 test3
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# 

cd 在当前目录下创建空的记事本文件

[root@iZ0jl6lprbiisf6xsgu1smZ test1]# cd > file.txt
[root@iZ0jl6lprbiisf6xsgu1smZ ~]# ll
total 0
[root@iZ0jl6lprbiisf6xsgu1smZ ~]# ls /opt/
hello  test1
[root@iZ0jl6lprbiisf6xsgu1smZ ~]# cd /opt/test1/
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 12 11:40 file.txt
drwxr-xr-x 2 root root 6 Sep 12 11:33 test3

(5)文件/目录复制命令cp

将test1中的file.txt复制到test3下并更名为world.txt

[root@iZ0jl6lprbiisf6xsgu1smZ test1]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 12 11:40 file.txt
drwxr-xr-x 2 root root 6 Sep 12 11:33 test3
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# cp file.txt test3/world.txt

将test3复制到opt目录下,需要添加 -r

[root@iZ0jl6lprbiisf6xsgu1smZ test1]# ll
total 0
-rw-r--r-- 1 root root  0 Sep 12 11:40 file.txt
drwxr-xr-x 2 root root 23 Sep 12 11:45 test3
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# cp -r test3 /opt/test3
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# cd /opt/
[root@iZ0jl6lprbiisf6xsgu1smZ opt]# ll
total 0
drwxr-xr-x 2 root root  6 Sep 12 11:30 hello
drwxr-xr-x 3 root root 35 Sep 12 11:40 test1
drwxr-xr-x 2 root root 23 Sep 12 11:48 test3

(6)删除文件/目录 rm

删除文件

[root@iZ0jl6lprbiisf6xsgu1smZ test1]# ll
total 0
-rw-r--r-- 1 root root  0 Sep 12 11:40 file.txt
drwxr-xr-x 2 root root 23 Sep 12 11:45 test3
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# rm file.txt 
rm: remove regular empty file 'file.txt'? y
[root@iZ0jl6lprbiisf6xsgu1smZ test1]# ll
total 0
drwxr-xr-x 2 root root 23 Sep 12 11:45 test3

-r 删除多级目录

[root@iZ0jl6lprbiisf6xsgu1smZ opt]# ll
total 0
drwxr-xr-x 2 root root  6 Sep 12 11:30 hello
drwxr-xr-x 3 root root 19 Sep 12 11:52 test1
drwxr-xr-x 2 root root 23 Sep 12 11:48 test3
[root@iZ0jl6lprbiisf6xsgu1smZ opt]# rm -rf test1
[root@iZ0jl6lprbiisf6xsgu1smZ opt]# ll
total 0
drwxr-xr-x 2 root root  6 Sep 12 11:30 hello
drwxr-xr-x 2 root root 23 Sep 12 11:48 test3

3、修改文件内容

vi和vim的关系是,vim是基于vi的改进版本,保留了vi的许多特性,并添加了许多新功能和改进。

vim

cat可以用来查看文本内容

[root@iZ0jl6lprbiisf6xsgu1smZ opt]# vim hello.txt
[root@iZ0jl6lprbiisf6xsgu1smZ opt]# cat hello.txt 
Hello World!

cat -n 【文件名】查看代码(带行号)

[root@iZ0jl6lprbiisf6xsgu1smZ opt]# cat -n hello.java 
     1  public class HelloWorld(){
     2          public static void main(String[] args){
     3                  System.out.println("Hello World");
     4          }
     5  }

三、部署Spring Boot应用

1、安装系统组件

使用yum安装OpenJDK17

yum install java-17-openjdk-devel

安装MariaDB

yum install -y mariadb-server 

将MariaDB设置作为系统服务在启动时自动启动

systemctl start mariadb   #启动mariadb服务
systemctl enable mariadb #将mairadb 服务设置为开机启动
systemctl status mariadb #检查mairadb 服务的状态

如果需要关闭MairaDB服务使用如下命令:

systemctl stop mariadb

2、独立启动应用

部署Spring Boot 应用步骤

使用Maven命令或者利用开发工具打包为jar,应用程序的jar文件将被保存在target目录下。

2、将jar文件上传到Linux服务器,将jar文件上传到您希望部署应用程序的目录。

3、如果有数据库,就使用SQL脚本初始化数据库。

4、在服务器上通过Java命令启动Spring Boot项目。

四、练习

1 按照提示完成编程案例,使用 vim 编写两个 Java 文件并编译运行

要求:提交全部操作命令序列和Java代码

public class Person {
    private String name;
    public Person(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Person person = new Person("John");
        System.out.println("Hello " + person.getName());
    }
}
package com.myproject;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        Person person = new Person("John");
        System.out.println("Hello " + person.getName());
    }
}
package com.myproject;
public class Person {
    private String name;
    public Person(String name) {
        this.name = name;
    }
    public String getName() {
        return name;
    }
}
最后修改:2023 年 09 月 12 日
如果觉得我的文章对你有用,请随意赞赏