当前位置: 首页 > news >正文

Linux 基础

Linux 是一套免费使用和自由传播的操作系统

Linux 概述

系统安装

Linux 系统分为内核版发行版

内核版:
        由 Linux 核心团队开发,维护。

        免费,开源

        负责控制硬件

发行版:
        基于 Linux 内核版进行拓展

        由各个 Linux 厂商开发,维护

        有收费版本和免费版本

Linux 系统发行版

        Ubuntu:以桌面应用为主,免费。

        RedHat:面向企业用户,收费。

        CentOS:RedHat 的社区版,免费

        Fedora:功能完善,快速更新,免费

        openSUSE:对个人完全免费,图形界面华丽

        红旗 Linux:北京中科红旗软件技术有限公司开发

我们这里选择使用 CentOS

安装方式:
        物理机安装:直接将操作系统安装到服务器硬件上

        虚拟机安装:通过虚拟机软件安装

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能,运行在完全隔离环境中的完整计算机系统。

        VMWare WorkStation(这里选用)

        VirtualBox

        VMLite WorkStation

安装完成后,如果能在网络适配器设置中看见以下两个网卡,就说明安装成功了。

安装完毕之后,需要配置网络,才可以在 window 系统上连接虚拟机上的 linux 系统

网络配置完成后,解压 CentOS7 的镜像压缩包到磁盘目录,然后双击 .vmx 文件完成挂载。然后启动服务器(root/1234)       

启动时选择 “我已移动该虚拟机”。

如果要关闭可以执行:init 0;

如果要重启可以执行:init 6;

远程连接        

假设公司在北京,服务器在上海,该如何进行软件安装 / 项目部署呢?

我们需要用到远程连接工具

常用的 SSH (Secure Shell,安全外壳协议)远程连接工具:Putty,SecureCRT,Xshell,FinalShell 等。

这里选择 FinaShell。

安装完成后直接连接

连接成功后:

目录介绍

Linux目录 和 Windows 目录区别还是很大的,Linux 中没有 D盘,C盘这一说。

Linux 系统中的目录特点:

1: / 是所有目录的顶点

2:目录结构像一颗倒挂的树

目录结构

bin: 存放二进制可执行文件

boot:存放系统引导时使用的各种文件

dev:存放设备文件

etc:存放系统配置文件

home:存放系统用户的文件

lib:存放程序运行所需的共享库和内核模块

opt:额外安装的可选应用程序包所放置的位置

root:超级用户目录

sbin:存放二进制可执行文件,只有 root 用户才能访问

tmp:存放临时文件

usr:存放系统应用程序

var:存放运行时需要改变数据的文件,例如日志文件

Linux 常用命令

命令初识:
Linux 命令格式:command [-options] [parameter]

说明:

        command:命令名。

        [-options]:选项,可以用来对命令进行控制,也可以省略(可选)

        [parameter]:参数,可以是零个,一个或多个(可选)

使用技巧:

        Tab 键自动补全

        连续两次 Tab 键,给出操作提示

        使用上下箭头快速调出曾经使用过的命令

        使用 clear 命令或 Ctrl + l 快捷键实现清屏

目录操作命令

ls

作用:显示指定目录下的内容。

语法:ls [-al] [dir]

选项:

        -a:显示所有文件及目录(. 开头的隐藏文件也会列出)

        -l:除文件名称外,同时将文件类型(d 表示目录,- 表示文件),权限,拥有者,文件大小                 等信息详细列出。

  

cd

作用:用于切换当前工作目录,即进入指定目录

语法:cd [dirName]

说明:

        . 表示目前所在的目录

        .. 表示目前目录位置的上级目录

        ~ 表示用户的 home 目录        

进入 usr 目录

 进入 usr 的上级目录,也就是 根目录

切换到上一次所在目录

  

mkdir

作用:创建目录

语法:mkdir [-p] dirName

说明:

        -p:确保目录名称存在,不存在的就创建一个。通过此选项,可以实现多层目录同时创建

举例:

        mkdir itcast:在当前目录下,建立一个名为 itcast 的子目录

        mkdir -p itcast/test:在 itcast 目录中创建 test 子目录,若 itcast 目录不存在,则建立一个

rm

作用:删除文件或者目录

语法:rm [-rf] name

说明:

        -r:将目录及目录中所有文件(目录)逐一删除,即递归删除

        -f:无需确认,直接删除

举例:

        rm -r itcast/:删除名为 itcast 的目录和目录下的所有文件,删除前需确认

        rm -rf itcast/:无需确认,直接删除名为 itcast 的目录和目录下的所有文件

        rm -f hello.txt:无需确认,直接删除 hello.txt 文件

 

文件操作命令

cat

作用:用于显示文件的所有内容

语法:cat [-n] fileName

说明:

        -n:由1开始对所有输出的行数编号

举例:

        cat/etc/profile 查看 /etc 目录下的 profile 文件内容

more 

作用:以分页形式显示文件内容

语法:more fileName

操作说明:

        回车键:向下滚动一行

        空格键:向下滚动一屏

        b:返回上一屏

        q 或 Ctrl + c 退出 more

举例:

        more/etc/profile:以分页式显示 /etc 目录下的 profile 文件内容

head 

作用:查看文件开头的内容

语法:head [-n] fileName

说明:

        -n:输出文件开头的 n 行内容

举例:

        head 1.log:默认显示 1.log 文件开头的 10 行内容

        head -20 1.log 显示 1.log 文件开头的 20 行内容 

tail

作用:查看文件末尾的内容

语法:tail [-nf] fileName

说明:

        -n:输出文件末尾的 n 行内容

        -f:  动态读取文件末尾内容并显示,通常用于日志文件的内容输出

举例:

        tail 1.log: 默认显示 1.log 文件末尾 10 行的内容

        tail -20 1.log:显示 1.log 文件末尾 20 行的内容

        tail -f 1.log:动态读取 1.log 文件末尾内容并显示(实时刷新)

拷贝移动命令

cp

作用:用于复制文件或目录

语法:cp [-r] source dest

选项:

        -r:如果复制的是目录需要使用此选项,此时将复制该目录下所有的子目录和文件

举例:

        cp hello.txt itcast/:将 hello.txt 复制到 itcast 目录中

        cp hello.txt ./hi.txt:将 hello.txt 复制到当前目录,并改名为 hi.txt

        cp -r itcast/ ./itheima/:将 itcast 目录和目录下所有文件复制到 itheima 目录下

        cp -r itcast/* ./itheima/:将 itcast 目录下所有文件复制到 itheima 目录下

mv

作用:为文件或目录重命名,或将文件或目录移动到其他位置(第二个参数是已存在的目录执行移动

语法: mv source dest        

举例:

        mv hello.txt hi.txt:将 hello.txt 更名为 hi.txt。

        mv hi.txt itheima/:将文件 hi.txt 移动到 itheima 目录中

        mv hi.txt itheima/hello.txt:将 hi.txt 移动到 itheima 目录中,并改名为 hello.txt

        mv itcast/ itheima/:如果 itheima 目录不存在,将 itcast 目录改名为 itheima

        mv itcast/ itheima/:如果 itheima目录存在,将 itcast 目录移动到 itheima 目录中

打包压缩命令

tar

作用:对文件进行打包,解包,压缩,解压

语法:tar [-zcxvf] fileName [files]

说明:

        包文件后缀为 .tar 表示只是完成了打包,并没有压缩

        包文件后缀为.tar.gz 表示打包的同时还进行了压缩

选项:

        -z:z 代表的是 gzip,通过 gzip 命令处理文件,gzip 可以对文件压缩或者解压

        -c:c 代表的是 create,即创建新的包文件

        -x:x 代表的是 extract,实现从包文件中还原文件

        -v:v 代表的是 verbose,显示命令的执行过程

        -f:f 代表的是 file ,用于指定包文件的名称

举例:

        打包:

                tar -cvf hello.tar hello:将当前目录下所有文件打包,打包后的文件名为 hello.tar

                tar -zcvf hello.tar.gz hello:将当前目录下所有文件打包并压缩,打包后的文件名为                 hello.tar.gz

        解包:

                tar -xvf hello.tar:将 hello.tar 文件进行解包,并将解包后的文件放在当前目录

                tar -zxvf hello.tar.gz:将 hello.tar.gz 文件进行解压,并将解压后的文件放在当前目录

                tar -zxvf hello.tar.gz -C /user/local:将 hello.tar.gz 文件进行解压,解压到指定的                 /user/local 目录中

文本编辑命令

vi/vim

作用:vi 命令是 Linux 系统提供的一个文本编辑工具,可以对文件内容进行编辑,类似于 Windows 中的记事本

语法:vi fileName

说明:

        1:vim 是从 vi 发展来的一个功能更加强大的文本编译工具,在编译文件时可以对文本内容                 进行着色。

        2:要使用 vim 命令,需要我们自己完成安装。可以使用下面的命令来完成安装:

             yum install vim

vim

作用:对文件内容进行编辑,vim 其实就是一个文本编辑器

语法:vim fileName

 

查找命令 

find

作用:在指定目录下查找文件

语法:find dirName -option fileName

举例:

        find . -name "*.log":在当前目录及其子目录下查找 .log 结尾文件

        find /itcast -name "*. log":在 /itcast 目录及其子目录下查找 .log 结尾的文件

grep

作用:从指定文件中查找指定的文本内容

语法:grep [-inAB] word fileName

选项:

        -i:检索的关键字忽略(ignore)大小写

        -n:显示关键字所在的这一行的行号

        -A:输出关键字所在行及之后(After)的几行记录

        -B:输出关键字所在行及之前(Before)的几行记录

举例:

        grep Hello HelloWorld.java:查找 HelloWorld.java 文件中出现 Hello 字符串的文职

        grep hello *.java:查找当前目录中所有 .java 结尾的文件中包含 hello 字符串的位置

Linux 软件安装

JDK 安装

 

MySQL 安装

        

MySQL 安装和配置好了以后,如果我们想要用 Windows 来连接 Linux 上的数据库还是会失败,这是因为防火墙的存在,接下来学习一下有关防火墙的操作

最后直接用 DataGrip 连接即可 

Nginx 安装

 

 进行完上述步骤我,我们访问:http://192.168.100.128/,会发现无法连接,那是因为 Linux 的防火墙,我们需要打开 80 端口

项目部署

前端项目部署

1:将之前打包后的 dist 目录下的文件上传到 nginx 的 html 目录中。

2:配置 nginx 的配置文件,在 conf/nginx.conf 中配置反向代理服务器及路径重写guize。

#user  nobody;
worker_processes  1;events {worker_connections  1024;
}http {include       mime.types;default_type  application/octet-stream;sendfile        on;keepalive_timeout  65;server {listen       80;server_name  localhost;client_max_body_size 10m;location / {root   html;index  index.html index.htm;try_files $uri $uri/ /index.html;}location ^~ /api/ {rewrite ^/api/(.*)$ /$1 break;proxy_pass http://localhost:8080;}error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}
}

3:在 nginx 的安装目录中,执行 sbin 目录下的 nginx 命令启动 nginx 服务:sbin/nginx 

或 sbin/nginx -s reload,如果要停止:sbin/nginx -s quit

后端项目部署

在第一步之前,不要忘记修改 yml 文件里数据库的 url,因为我们此时要连接的是 Linux 里的数据库,还要改一下 logback.xml 文件下的日志的保存路径,因为 Linux 里面没有D盘

 

启动成功

此时可以测试一下其他功能都是正常的,唯独图片上传功能有问题,这是因为我们还没有配置 oss 的 id 和 secret 

  

下面的一串数字是进程编号

如果我们想杀死这个进程可以执行以下操作

 

http://www.dtcms.com/a/316815.html

相关文章:

  • vue3 计算方式
  • GPS信号捕获尝试(上)
  • 【android bluetooth 协议分析 01】【HCI 层介绍 30】【hci_event和le_meta_event如何上报到btu层】
  • 【三个数公因数】2022-10-7
  • MySQL CONV()函数
  • 永磁同步电机无速度算法--基于二自由度结构的反推观测器TSBO
  • JAVA学习笔记 自增与自减的使用-006
  • 哲学中的主体性:历史演进、理论范式与当代重构
  • 【Unity】背包系统 + 物品窗口管理系统(中)
  • RC和RR的区别
  • Pytorch实现婴儿哭声检测和识别
  • 【web自动化测试】实战
  • Coze Studio开源,企业用户多了一种选择,也需多几分考量
  • 如何通过 5 种方式将照片从 iPad 传输到电脑
  • 埋点技术进阶:如何构建高效的数据采集架构
  • 默认二级路由(React-Router 6)
  • linux-系统日志查看指令systemctl
  • 《方块34:金花之渊》
  • Linux 常用命令大全
  • C++ 拷贝赋值、swap 与 noexcept 深度解析:高效实现 operator=
  • 工业数采引擎-通信链路SOCKET
  • Python高级编程与实践:Python网络编程基础与实践
  • Linux的NFS与Autofs配置指南
  • mac安装pycharm
  • 2048小游戏
  • VUE2 学习笔记 合集
  • 如何在nuxt项目中使用axios进行网络请求?
  • 【STM32】HAL库中的实现(三):PWM(脉冲宽度调制)
  • C语言线程同步详解(互斥锁、信号量、条件变量和读写锁)
  • GPU 安装