1.0初识Linux

1.1虚拟机介绍

1.2VMware Workstation虚拟化软件

下载CentOS;

1.3远程链接Linux系统 &FinalShell

链接finalshell半天没连接进去

他说ip adress 看IP地址是在虚拟机上

win11主机是 终端输入: ifconfig

VMware虚拟机的设置 & ssh连接_sngee的博客-CSDN博客_vmware ssh连接

瑞吉外卖:P122 等开学学这个的时候再看吧//不爱看了 直接看老师PPT把

1.4拓展WSL(Ubuntu)环境

编辑Win11>可选功能>更多Windows tmd! Ubuntu一直各种报错

1.5虚拟机快照(关机之后制作快照 效率高)

Ctrl+l 清屏快捷键;

学校内容:Shell命令概述

shell作用及常见种类

2.1-Linux目录结构

2.2-Linux命令基础

2.3-ls命令入门

2.4-ls命令的参数和选项 [-a -l -h]

蓝色,第一列开头d 表示文件夹; 白色,第一列开头-表示单个文件

https://blog.csdn.net/qq_20986663/article/details/126854077

ls -al查看文件属性与权限

2.5-cd(切换目录)-pwd(查看当前目录)命令

2.6-相对/绝对路径&特殊路径符

2.7-mkdir&du命令

2.8-touch(创)-file-cat&more(查)

cat命令本来用于连接多个文件的内容,但在实际使用中更多的用于查看文件内容

当文件内容较多时,使用cat命令往往只能看到文件的最后一部分内容,而无法分页逐屏显示,

more命令结合管道操作使用时(例如:ls -R /etc | more)无法向上翻页,但less命令可以

在分页阅读界面中,到文件末尾时more命令会自动退出,less命令不会

more和less都可以用于分页查看文本内容,具体使用哪一个看用户习惯

2.9-cp-mv-rm-通配符

2.10-grep-wc-管道符|

wc test.txt ; 默认就是全读相当于”-lwc“,会同时统计行数、单词数、字节数(含空格、回车符号)

2(行数l) 11(单词数,根据空格判断w) 59(当前文件字节数目c) test.txt(文件路径) ;

2.11-which-find搜索

“echo $PATH”可以查看PATH变量指定的内容

按名称查找:关键字为“-name”,根据目标文件的部分名称查找,允许使用“*”及“?”通配符。

按文件大小查找:关键字为“-size”,根据目标文件的大小进行查找,一般使用“+”、“-”号设置超过或小于指定的大小作为查找条件。常用的容量单位包括k(注意是小写)、M、G。

按文件属主查找:关键字为“-user”,根据文件是否属于目标用户进行查找。

按文件类型查找:关键字为“-type”,根据文件的类型进行查找,这里的类型指的是普通文件(f)、目录(d)、块设备文件(b)、字符设备文件(c)等。块设备指的是成块读取数据的设备(如硬盘、内存等),而字符设备指的是按单个字符读取数据的设备(如键盘、鼠标等)

2.12-echo(输出)-反引号'-

-重定向符>-head(头)tail(尾)

tail命令结合“-f”选项使用时,可以用于跟踪日志文件末尾的内容变化,实时显示更新的日志内容

2.13-vi编辑器

1)命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符串查找,以及删除、复制、粘贴文件内容等相关操作

2)输入模式:该模式中主要的操作就是录入文件内容,可以对文本文件正文进行修改、或者添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-- INSERT --”的状态提示信息

3)末行模式:该模式中可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器的最后一行会出现冒号“:”提示符

ln建立连接-命令帮助

符号链接文件的作用相当于Windows系统中的“快捷方式”

对比讲解获得命令帮助的四个方法,使学员能够有效的获得命令的用法信息,为提高自学能力打下基础

man命令不仅能够查看命令帮助,还能够查看配置文件帮助,例如“man resolv.conf”

本页重点演示help、man的用法

Bash-3.1 中l默认包括56条内部指令:

bash, :, ., [, alias, bg, bind, break, builtin, cd, command, compgen,

complete, continue, declare, dirs, disown, echo, enable, eval, exec,

exit, export, fc, fg, getopts, hash, help, history, jobs, kill, let,

local, logout, popd, printf, pushd, pwd, read, readonly, return, set,

shift, shopt, source, suspend, test, times, trap, type, typeset,

ulimit, umask, unalias, unset, wait

Help cd ----bash内部命令

Ls –help

Man ls man cd

Info ls

gzip&bzip2-tar

对比讲解gzip和bzip2命令的用法,注意说明生成文件的后缀名称

gzip和bzip2命令使用的压缩算法有一定区别,但命令使用格式基本类似,通常认为bzip2的压缩效率要更好一些

这两个命令工具通常并不单独使用,而是与tar命令结合起来使用

tar命令详解

制作归档文件的意思是将许多零散的文件做成一个包(可以压缩,也可以不压缩)

小写字母“-p”选项用于保持原始文件权限等信息,大写字母“-P”选项用于保持原始文件的绝对路径,参考“man tar”帮助

使用tar命令时,选项前的“-”号引导字符可以省略

在实际的备份工作中,通常在归档的同时也会将包文件进行压缩(见下页),以便节省磁盘空间,

less命令是对文件或其它输出进行分页显示的工具

Bash常用功能

命令历史

正确使用历史命令可以有效提高命令行输入的效率,例如:如果之前不久执行过“service network restart”命令,则重新修改了网卡的配置文件以后,通常只需要执行“!ser”操作即可调用该历史命令,以重启network服务

合理控制历史命令的条数可以提高安全性,root用户的命令历史一般建议设置为少于100条

命令别名

手动使用alias命令设置的别名只在当前Shell环境中有效

若需每次登录Shell环境时设置的别名都有效,需要修改宿主目录中的“.bashrc”文件,添加相应别名设置

正则表达式

创建grep命令

管道和重定向

Bash的标准输入输出

Linux系统是使用文件来描述系统的硬件、设备等资源的(例如已经学习过的硬盘、分区、光盘等)

充分了解输入输出设备可以更好的理解Shell的运行,为学习重定向操作、灵活编写系统管理脚本作好铺垫

/dev/stdin、/dev/stdout、/dev/stderr 这三个文件实际上也是一个符号链接,为了便于学员理解,这里无需讲解实际位置

Bash的重定向操作

在实际的Linux操作过程中,也可以变更输入输出内容的方向,而并不使用默认的标准输入输出设备(键盘和显示器),这种操作称为“重定向”

输出重定向实例

Bash的管道操作

awk命令用于以空格或制表位作为分隔,输出指定区域的字段数据,例如 ‘{print $2,$4}’ 表示只输出第2、4个字段的数据内容

关于awk命令的其他帮助信息,请自行参阅man手册页

阶段练习

1. 列出 /usr/share/doc 中以数字4结尾的文件.

2. 打印 /etc/hosts 中包含数字的所有行

3. 打印 /etc/hosts 中包含 127.0.0.1 的行

4. 打印 /etc/passwd 中冒号之间是三位数的行

ls /usr/share/doc I grep ‘4$’

grep ‘[0-9]’ /etc/hosts

grep ‘127\.0\.0\.1’ /etc/hosts

grep ‘:[0-9][0-9][0-9]:’ /etc/passwd

3.0第五章 用户和组管理

root用户的UID的固定值为0、root组帐号的GID号为固定值0

1~499的UID、GID默认保留给程序用户使用,普通用户/组使用的UID、GID号在500~60000之间

3.0.1用户账号文件-passwd-shadow

基于系统运行和管理需要,所有用户都可以访问passwd文件中的内容,但是只有root用户才能进行更改

在早期的UNIX操作系统中,用户帐号的密码信息是保存在passwd文件中的,不法用户可以很容易的获取密码字串并进行暴力破解,因此存在一定的安全隐患

后来经改进后,将密码转存入专门的shadow文件中(见下页)并严格控制权限,而passwd文件中仅保留密码占位符“x”

默认只有root用户能够读取文件中的内容,并且不允许root直接编辑该文件中的内容

上次修改密码的时间,表示从1970年01月01日(可理解为Unix系统的诞生日)算起到最近一次修改密码时间隔的天数

useradd-用户初始配置文件

设置/更改用户口令-passwd

“未设置密码”的用户帐号尚未完成初始化,处于不可登录状态,这与“空密码”的情况(已经为用户设置密码,但密码字串为空)是不同的

—— “未设置密码”的用户将被禁止登录系统,而拥有“空密码”的用户是可以在本地终端登录的

普通用户也可以使用passwd命令,但只能更改自己的密码,密码要求有一定的复杂性(如不要直接使用英文单词,长度保持在6位以上),否则系统可能拒绝进行设置

usermod修改-userdel删除用户账号

chage改变用户密码期限

Chage –d 0 用户账号名 ----过期密码(下次登陆前必须更改密码)----等同于命令:passwd –e

Chage -l 用户账号名 -----查看该用户的密码信息

Chage –E 0马上过去,-1 永不过期

3.0.2组帐号文件 -group、gshadow

与组帐号相关的配置文件也有2个,分别是/etc/group、/etc/gshadow

/etc/gshadow文件的应用极少,仅作简单介绍即可

group文件内的最后一个字段中列出属于该组的用户成员(一般不包括基本组对应的用户帐号),多个成员之间以逗号“,”分隔

amp 群组是添加 lamp 用户时默认创建的群组,在 root 管理员使用 useradd 命令创建新用户时,若未明确指定该命令所属的初始组,useradd 命令会默认创建一个同用户名相同的群组,作为该用户的初始组。正因为 lamp 群组是 lamp 用户的初始组,该用户一登陆就会自动获取相应权限,因此不需要在 /etc/group 的第 4 个字段额外标注。但是,附加组就不一样了,从例子中可以看到,我们将 lamp 用户加入 users 群组中,由于 users 这个群组并不是 lamp 的初始组,因此必须要在 /etc/group 这个文件中找到 users 那一行,将 lamp 这个用户加入第 4 段中(群组包含的所有用户),这样 lamp 用户才算是真正加入到 users 这个群组中。在这个例子中,因为 lamp 用户同时属于 lamp 和users 两个群组,所在,在读取\写入\运行文件时,只要是 user 和 lamp 群组拥有的功能,lamp 用户都拥有。一个用户可以所属多个附加组,但只能有一个初始组。那么,如何知道某用户所属哪些群组呢?使用 groups 命令即可。例如,我们现在以 lamp 用户的身份登录系统,通过执行如下命令即可知晓当前用户所属的全部群组:[root@localhost ~]# groupslamp users

通过以上输出信息可以得知,lamp 用户同时属于 lamp 群组和 users 群组,而且,第一个出现的为用户的初始组,后面的都是附加组,所以 lamp 用户的初始组为 lamp 群组,附加组为 users 群组。

添加组帐号

添加、删除组成员

使用“-M”选项时可以为指定组帐号定义成员列表(注意:会覆盖原有组成员),需要添加多个用户到指定的组中时非常方便

3.1-root用户-su-sudo

切换root用户:

su - root

123456

退回普通用户: exit或Ctrl+d

sql链接Linux

sudo命令

可以让一条普通命令带有root权限,语法:

需要以root用户执行visudo命令,增加配置方可让普通用户有sudo命令的执行权限

3.2-用户和用户组

用户管理

getent-查看有哪些用户

3.3-查看权限控制信息

认知权限信息

rwx

案例

3.4-chmod命令

权限的数字序号

3.5-chown命令设置文件/目录的归属

需要设置文件或者目录的归属时,可以通过chown、chgrp命令进行

chown命令既可以修改属主,也可以修改属组,而chgrp命令只用于修改属组信息(因此并不常用)

!粘滞位SBIT

粘滞位主要是为公共目录(例如权限为777的)设置,作用是用户不能删除该目录中其他用户的文件(root用户除外)。sticky只对目录有效

SUID-SGID

如果现在需要在一个部门内设置共享目录,让部门内的所有人员都能够读取目录中的内容,那么就可以创建部门共享目录后,在该目录上设置SGID特殊权限位。这样,部门内的任何人员在里面创建的任何文件都会归属于该目录的所属组,而不再是自己的基本用户组。

ACL

也就是说,如果你有一个目录,需要给一堆人使用,每个人或每个群组所需要的权限并不相同时,在过去,传统的Linux三种身份的三种权限是无法达到的,因为基本上,传统的Linux权限只能针对一个用户、一个群组及非此群组的其他人设定权限而己,无法针对单一用户或个人来设计权限。而ACL的出现就是为了解决这个问题,实现更加细化的账户文件权限控制。

SUID:当设置了SUID 位的文件被执行时,该文件将以所有者的身份运行,也就是说无论谁来执行这个文件,他都有文件所有者的特权。chmod u+s 文件

SGID:与上面的内容类似。用于设置目录. 一个目录被标上setgid位,此目录下创建的文件继承该目录的组属性.文件运行时运行者将具有所属组的特权chmod g+s 目录(针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的

)sticky-bit:该位可以理解为防删除位. 设置sticky bit位后,就算用户对目录具有写权限,但也只能添加文件而不能删除其他用户创建的文件。sticky 位要求操作系统既是在可执行程序退出后,仍要在内存中保留该程序的映象。这样做是为了节省大型程序的启动时间。但是会占用系统资源

粘滞位权限便是针对此种情况设置,当⽬录被设置了粘滞位权限以后,即便⽤户对该⽬录有写⼊权限,也不能删除该⽬录中其他⽤户的⽂件数据,⽽是只有该⽂件的所有者和root⽤户才有权将其删除。设置了粘滞位之后,正好可以保持⼀种动态的平衡:允许各⽤户在⽬录中任意写⼊、删除数据,但是禁⽌随意删除其他⽤户的数据

Chmod o+t /tmp

对于目录,默认权限=777-umask对于文件,默认权限=666-umask(文件默认无执行权限)

Umask 看权限

Umask –p 0022 (即目录是755,文件是644) 第一个0不用管

设定了ACL权限之后,我们查看该文件权限的时候会发现多了一个+号。

# 删除acltest1的所有acl权限设置

setfacl -b acltest1

tune2fs是linux下面重要的文件系统调整工具,其中的几个选项解释如下:

-c:表示文件系统在mount次数达到设定后,需要运行fsck检查文件系统。-i:文件系统的检查间隔时间。系统在达到时间间隔时,自动检查文件系统。-l:显示文件系统的很多参数。-j:转换为ext3文件系统。-m: Set the percentage of reserved filesystem blocks。 设置保留的空间百分比-o: Set or clear the indicated default mount options in the filesystem.设置默认加载参数

4.1-各类小技巧快捷键

4.2-软件安装

典型应用程序的目录结构

安装方式

库依赖问题:安装A但是A依赖B才能正常安装,但是系统没安装B ;就得手动安装B才能安装A

finalshell上传压缩包不成功解决

RPM

Yum

wget命令用于在终端中下载网络文件,格式为“wget [参数] 下载地址”。

源代码编译概述

瑞吉外卖软件安装

安装jdk

安装Tomcat及开启停止

防火墙firewall

安装MySQL(RPM)psw:1234

我的psw是root;本机链接LinuxMysql报错1045

mysql中找不到my.ini文件的问题及解决

没有权限打开该文件向文件的所有者或管理员申请权限

1045-Access denied for user ‘root‘ ‘localhost‘(using password: YES)详解

还没解决 依然报错 就是账号密码的事;废了我2h;

最后解决方法:老师给的开启访问权限对应的账号密码和我写的不一样跟上面的没啥关系;my.inn记得改回去

安装lrzsz (文件管理)&yum下载

yum下载报错

Linux报错Loaded plugins: fastestmirror, langpacks Loading mirror speeds from cached hostfile解决方法

瑞吉Linux项目部署

手工部署项目

nohup不挂起 后台运行 命令

shell脚本自动部署项目

安装Git

安装Maven

chmod为用户授权
设置静态ip
这个位置出现问题的话 就去VM登录然后打开命令行看
vim   /etc/sysconfig/network-scripts/ifcfg-ens33

4.3-systemctl控制软件启动关闭

4.4-软链接

4.5-日期和时区

4.6-IP地址和主机名

4.7-配置Linux固定IP地址

4.8-网络请求和下载

4.9-端口

4.10-进程管理

4.11-主机状态监控

4.12-环境变量

4.13-Linux文件的上传和下载

4.14-压缩和解压

5.1-实战章节-前言

5.2-MySQL5.7在CentOS安装[单机软件]

5.3-MySQL8.0在CentOS安装[单机软件]

5.4-MySQL5.7在Ubuntu安装[单机软件]

5.5-MySQL8.0在Ubuntu安装[单机软件]

5.6-Tomcat安装部署[单机软件]

5.7-Nginx安装部署[单机软件]

5.8-RabbitMQ安装部署[单机软件]

http://t.csdn.cn/m9mKQ

Linux从安装到实战+学校Linux+瑞吉外卖Linux项目部署相关推荐

  1. 瑞吉外卖:linux课程学习(软件安装、项目部署)

    Linux-Day02 课程内容 软件安装 项目部署 1. 软件安装 1.1 软件安装方式 在Linux系统中,安装软件的方式主要有四种,这四种安装方式的特点如下: 安装方式 特点 二进制发布包安装 ...

  2. 瑞吉外卖:linux课程学习

    Linux-Day01 课程内容 Linux简介 Linux安装 Linux常用命令 1. 前言 1.1 什么是Linux Linux是一套免费使用和自由传播的操作系统.说到操作系统,大家比较熟知的应 ...

  3. Java实战项目《瑞吉外卖》

    目录 <瑞吉外卖>后台管理系统开发 软件开发整体介绍 1.软件开发流程 2.角色分工 3.软件环境 瑞吉外卖项目介绍 1.项目介绍 2.产品原型展示 3.技术选型 4.功能架构 5.角色 ...

  4. 【SpringBoot项目实战+思维导图】瑞吉外卖①(项目介绍、开发环境搭建、后台登陆/退出功能开发)

    文章目录 软件开发整体介绍 软件开发流程 角色分工 软件环境 瑞吉外卖项目介绍 项目介绍 产品原型 技术选型 功能架构 角色 开发环境搭建 数据库环境搭建 创建数据库 数据库表导入 数据库表介绍 Ma ...

  5. 学习【瑞吉外卖⑪】SpringBoot单体项目_项目优化

    若文章内容或图片失效,请留言反馈.部分素材来自网络,若不小心影响到您的利益,请联系博主删除. 本人写这篇博客旨在制作学习笔记,巩固知识.同时方便个人在线阅览,回顾知识. 这篇博客中主要对应[瑞吉外卖项 ...

  6. Eatting外卖基于瑞吉外卖代码全功能优化含源码

    Eatting外卖基于瑞吉外卖代码全功能优化含源码 文章目录 项目的最终部署 源码地址 github:[源码地址](https://github.com/yangxingyue0623/Eating_ ...

  7. 瑞吉外卖01-项目整体介绍

    瑞吉外卖-项目整体介绍 前言 软件开发整体介绍(了解) 软件开发流程 第1阶段: 需求分析 第2阶段: 设计 第3阶段: 编码 第4阶段: 测试 第5阶段: 上线运维 角色分工 软件环境 开发环境(d ...

  8. 瑞吉外卖-Day01

    瑞吉外卖-Day01 课程内容 软件开发整体介绍 瑞吉外卖项目介绍 开发环境搭建 后台登录功能开发 后台退出功能开发 1. 软件开发整体介绍 作为一名软件开发工程师,我们需要了解在软件开发过程中的开发 ...

  9. 瑞吉外卖day01笔记

    一. 软件开发整体介绍 作为一名软件开发工程师,我们需要了解在软件开发过程中的开发流程, 以及软件开发过程中涉及到的岗位角色,角色的分工.职责, 并了解软件开发中涉及到的三种软件环境.那么这一小节,我 ...

最新文章

  1. 如何运行react创项目
  2. 「GAN优化」如何学会以正确的姿势定量评价你的GAN
  3. 暴力枚举 UVA 725 Division
  4. python3.9教程_Python3简明教程(九)—— 文件处理
  5. linux 手动睡眠
  6. C#使用Protocol Buffer(ProtoBuf)进行Unity中的Socket通信
  7. python读文件出现特殊字符_python- pandas :读取列中带有特殊字符的文件
  8. Eclipse配置自动补齐键为alt+/
  9. 网络IO演变发展过程和模型介绍
  10. python设置黑色主题_Python背景色与语法高亮主题配置
  11. Beyond Compare “许可证密钥已被撤销”解决
  12. Arturia系列合成器插件大合集:Arturia V Collection 8 for mac
  13. 继音频转换历程总结成综合
  14. 怎么查ip地址 多种方法教学
  15. 数据中心网络架构 — 网络带宽的收敛比
  16. Android项目编译异常之AAPT: error
  17. C语言 将一个3*3的矩阵转置,用函数和指针实现
  18. Spring Boot 项目参数校验的常见使用场景
  19. 那个叫鲁迅的人终于从教科书里滚蛋了
  20. Win Server 2012发布!回顾Server发展史

热门文章

  1. 【socket】socket介绍-socket与http服务通信
  2. 深入浅出WPF——什么是XAML
  3. 传统图像去噪方法(一)
  4. 【时间处理】获取官方节假日数据的api接口,获取指定日期的节假日数据
  5. 每一个情绪稳定的人背后,都是高情商和大格局
  6. IDEA 新手使用手册
  7. 一加7t人脸识别_一加7T深度测评:它体现了最佳的技术价值吗?
  8. POJ3984迷宫问题
  9. 集合——List集合
  10. 轻松理解 客户端和服务器端的区别