Linux

Linux

1. 本地环境搭建

  1. VM Ware安装

在这里插入图片描述

  1. 在虚拟机上安装CentOS7

下载地址:http://mirrors.aliyun.com/centos/7/isos/x86_64/

下载 CentOS-7-x86_64-DVD-2009.iso

2. 远程环境搭建

1.购买阿里云服务器

重置实例名称和密码

编辑安全组规则,设置开放端口号

2.安装Xshell、Xftp

3.打开Xshell,新建会话,编写名称,主机号(远程IP地址),

4.搭建环境

  • 傻瓜式 宝塔面板

宝塔 https://www.bt.cn/bbs/thread-79460-1-1.html

  • 命令式 原生

3. Linux学习

3.1 开机

开机会启动许多程序。它们在Windows叫做’服务”( service ) , 在Linux就叫做"守护进程" ( daemon )。
开机成功后,显示一个文本登录界面,这个界面就是我们经常看到的登录界面,在这个登录界面中会提示用户输入用户名,而
用户输入的用户名将作为参数传给login程序来验证用户的身份,密码是不显示的,输完回车即可!
一般来说,用户的登录方式有三种:

  • 命令行登录
  • ssh登录
  • 图形界面登录

最高权限账户为root,可以操作一切!

3.2 关机

shutdown

sync #将数据由内存同步到硬盘中。
shutdown #关机指令
shutdown -h 10 #计算机将在10分钟后关机
shutdown -h now #立马关机
shutdown -h 20:25 #系统会在今天20:25关机
shutdown -h +10 #十分钟后关机
shutdown -r now #系统立马重启
shutdown -r +10 #系统十分钟后重启
reboot #就是重启,等同于shutdown -r now
halt #关闭系统,等同于shutdown -h now 和poweroff

不管是重启系统还是关闭系统,首先运行sync命令,把内存中的数据写到磁盘中。

3.3 系统目录结构

根目录为 /,所有的文件都在该目录下

ls / 查看/下的所有文件

●/bin:存放着最经常使用的命令。
●/boot:存放启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
●/dev:存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
●==**/etc:**存放所有的系统管理所需要的配置文件和子目录。==
●/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
●/lib:存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
●/lost+found:一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
●/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
●/mnt:为了让用户临时挂载别的文件系统的,可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
●==/opt:这是给主机额外安装软件所摆放的目录。比如你安装一 个ORACLE数据库则就可以放到这个目录下。默认是空的。==
●/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
●==/root:该目录为系统管理员,也称作超级权限者的用户主目录。==
●/sbin:就是Super User的意思,存放的是系统管理员使用的系统管理程序。
●/srv:该目录存放一些服务启动之后需要提取的数据。
●/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统sysfs。
●==/tmp:这个目录是用来存放一些临时文件的。==
●==/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。==
●/usr/bin:系统用户使用的应用程序。

●/usr/sbin:超级用户使用的比较高级的管理程序和系统守护程序。Super
●/usr/src:内核源代码默认的放置目录。
●==/var:存放着在不断扩充着的东西,习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。===
●/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。

www:存放服务器网站相关的资源、环境、网站的项目

3.4 常用命令

cd 切换目录

cd 目录名(绝对路径 都是以/开头 ,相对路径 相对于当前目录)

cd … 返回上一级目录

./ 当前目录

cd ~ 回到当前用户目录

ls 列出目录

ls -a 查看全部的文件,包含隐藏文件

ls -l 列出所有的文件,包含文件的属性和权限,无法看到隐藏文件

ls -al 组合使用

pwd 显示当前用户所在的目录

mkdir 创建一个目录

mkdir -p test1/test2/test3 创建多级目录

rmdir 删除一个目录

rmdir只能删除空的目录

rmdir -p test1/test2/test3 删除多级目录

cp 复制文件或者目录

cp 文件名 新位置/【新文件名】

如果文件名相同,会提示是否覆盖 可输入 y or n

cp -r 文件夹名 新位置/【新文件夹名】

rm 移除文件或者目录

rm -f 忽略不存在的文件,不会出现警告 强制删除

rm -r 递归删除目录

rm -i 询问是否删除

rm -rf / 删除系统的所有文件

mv 移动文件或者目录 重命名文件或者目录

mv 文件名 新位置

mv 文件名 新文件名

mv -f 强制移动

mv -u 只替换已经更新过的文件

3.5 基本属性

在这里插入图片描述

第一个字母代表这个文件是一个目录、文件或者链接

  • 若为 d 则是目录
  • 若为 - 则是文件
  • 若为 l 则是链接文档 link file
  • 若为 b 则为装置文件中可供存储的接口设备(可随机存取装置)
  • 若为 c 则为装置文件中的串行端口设备,例键盘鼠标 (一次性读取装置)

后九个字母可分为三组,每一组都是rwx的组合 ,- 代表没有该权限

  • r 可读
  • w 可写
  • x 可执行
0123456789
文件类型属主权限属组权限其他用户
drwxr-xr--
目录可读可写可执行可读无写可执行可读无写无执行

之后分别为 文件数、属主、属组、文件大小、创建日期

在这里插入图片描述

chgrp 更改文件属组

chgrp 【-R】 属组名 文件名

chown 更改文件属主,也可以同时修改文件属组

chown 【-R【 属主名 文件名

chown 【-R】 属主名:属组名 文件名

chmod 更改文件9个属性

chmod 【-R】 xyz 文件或目录

r:4

w:2

x:1

  • owner = rwx = 4 + 2 + 1 = 7 可读可写可执行

  • group = rw- = 4 + 2 + 0 = 6 可读可写不可执行

  • others = — = 0 + 0 + 0 = 0 不可读不可泄不可执行

chmod 760 filename

3.6 文件内容查看
  • cat 从第一行开始显示内容
  • tac 从最后一行开始显示
  • nl 有行号显示
  • more 一页一页的显示 空格翻页 回车下一行
  • less 与 more类似 可以往前翻页 上下键翻页 退出 q 输入 / 字符串 向下查找指定的字符串位置 输入 ?字符串 向上查找指定的字符串位置
  • head 只看头几行 head -n 20 文件名 前20行
  • tail 只看后几行 tail -n 20 文件名 后20行

网络配置目录:cd /etc/sysconfig/network-scripts ifconfig 查看网络配置

3.7 软链接和硬链接(了解)
  • 软链接:类似windows下的快捷方式,删除了原文件,快捷方式也访问不到了
  • 硬链接: 假设B是A的硬链接,他们指向同一个文件,允许一个文件拥有多个路径,即使删除其中一个,也可以通过另一个进行访问该文件

创建链接 ln

ln f1 f2 为f1文件创建硬链接f2

ln -s f1 f3 为f1文件创建软链接f3

创建文件 touch

在这里插入图片描述

echo ”字符串“ >> f1 往f1中添加字符串

在这里插入图片描述

f2是f1的硬链接,f3是f1的软链接,当访问f1,f2,f3时都可以看到同样的内容,但是如果删除f1,f2仍然可以访问,但f3不可访问了

3.8 Vim编辑器

vim是从vi发展出来的一个文本编辑器,通过一些插件可以实现和idea一样的功能。

查看内容,编辑内容,保存内容

vim 文件名 如果这个文件名不存在就是新建文件,如果文件名存在就是修改文件

三种使用模式

  • 命令模式
  • 输入模式
  • 底线命令模式

刚启动vim就进入命令模式

按下 i 转到输入模式

按下 x 删除当前光标所在的字符

按下 : 切换到底线命令模式 如果在编辑模式需要首选退出编辑模式 esc键进入底线命令模式,输入wq 保存并退出

在这里插入图片描述

:set nu 显示行号

:set nonu 取消行号

:wq 保存退出

😕 字符串 向下搜索指定字符串 n / N 选中上一个或下一个

指令模式下

数字 空格 向右移动光标

数字 回车 向下移动光标

u 撤销上次动作

ctrl + r 将撤销动作取消

3.9 账号管理

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。
每个用户账号都拥有一个唯一 的用户名和各自的口令。
用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。
实现用户账号的管理,要完成的工作主要有如下几个方面:

  • 用户账号的添加、删除与修改
  • 用户口令的管理
  • 用户组的管理

useradd 添加用户名

useradd -选项 用户名

-m 自动创建这个用户的主目录

-G 组名 指定新增用户的用户组 useradd -m -G root 用户名

在这里插入图片描述

Linux中一切皆文件,添加一个用户实际就是在文件中添加了该用户的一些信息,查看 etc/passwd 文件

在这里插入图片描述

userdel 删除用户

userdel -r summer 删除用户的时候同时删除其目录

usermod 修改用户

在这里插入图片描述

切换用户

  • su username

  • 从普通用户切换到root用户 也可使用 sudo su

  • 在终端输入exit或者logout或者ctrl+d,可以退回原来的用户

  • 在切换用户时,如果想要使用新用户的工作环境,使用 su - root

  • $ 表示普通用户

  • #表示root用户

在这里插入图片描述

修改当前主机名

sudo hostnamectl set-hostname newhostname 之后重新连接

设置密码

root 创建普通用户的时候设置密码

[root@summer home]# passwd summer
Changing password for user summer.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

输入的密码不会显示 此处的summer账户的密码为123456

如果是普通用户修改自己的密码 直接可以 passwd

锁定账户

root权限,可以冻结普通账号,一旦冻结,普通账号就不能登录系统

passwd -l summer # 这样就可以锁定summer账号
passwd -d summer # 将该用户的密码清空,没有密码也不可登录
3.10 用户组管理

每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对**/etc/group文件**的更新。

groupadd 创建用户组

[root@summer ~]# groupadd abcdefg
[root@summer ~]# cat /etc/group
......
summer:x:1000:
abcdefg:x:1001:

后边跟着一个id,这个id可以指定,如果不指定的话,默认自增一

groupadd -g 组id 组名 

groupdel 删除用户组

groupdel abcdefg

groupmod 修改用户组的权限和名字

修改组的id      groupmod -g id groupname          

修改组的名字    groupmod -n name  groupname   
chmod xxx 文件名/目录名

拓展

/etc/passwd

root:x:0:0:root:/root:/bin/bash
summer:x:1000:1000::/home/summer:/bin/bash

用户名:密码:用户标识号:组标识号:注释性描述:主目录:登录shell

密码在这里属于不可见,加密后的登录口令在/etc/shadow文件中

/etc/group

root:x:0:
summer:x:1000:
3.11 磁盘管理

df du

df 列出文件系统整体的磁盘使用量

du 检查当前磁盘的使用量

在这里插入图片描述

在这里插入图片描述

3.12 进程管理

基本概念

  • 每一个程序都有自己的进程,每个进程都有一个id号

  • 每一个进行都有一个父进程

  • 进程可以有两种存在方式 前台 后台运行

  • 服务一般都是后台运行,基本程序都是前台运行

ps 查看当前系统的进程

ps -a 显示当前终端开启的所有进程信息

ps -u 显示当前登录用户开启的进程信息

ps -x 显示后台运行进程的参数

# ps -aux 查看所有的进程
ps -aux|grep mysql  # 查看MySQL的进程

# | 管道符  A|B A的结果传给B
# grep 查找文件中符合条件的字符串

ps -ef 可以查看父进程的信息

pstree -p 显示父id

pstree -u 显示用户组

pstree -pu 显示进程树

结束进程

kill -9 PID 强制停止进程

4. 环境安装

1. 宝塔面板傻瓜式安装

开启端口号

在这里插入图片描述

下载宝塔面板

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

如想要安装服务,在软件商店一键安装
在这里插入图片描述

也可在这里开启端口

在这里插入图片描述

2. 原生方式安装

安装软件三种方式:rpm、解压缩、yum在线安装

4.1 JDK安装
  1. 下载JDK rpm包

    https://www.oracle.com/java/technologies/downloads/#java8

  2. 安装java环境

# 检测当前系统是否存在java环境 java -verison
# 如果存在先卸载  rpm -qa|grep jdk
# rpm -e --nodeps jdk_...

# 安装
# rpm -ivh rpm包  jdk-8u333-linux-x64.rpm

# 卸载
[root@summer jdk]# java -version
java version "1.8.0_333"
Java(TM) SE Runtime Environment (build 1.8.0_333-b02)
Java HotSpot(TM) 64-Bit Server VM (build 25.333-b02, mixed mode)
[root@summer home]# rpm -qa|grep jdk
jdk1.8-1.8.0_333-fcs.x86_64
[root@summer home]# rpm -e --nodeps jdk1.8-1.8.0_333-fcs.x86_64
[root@summer home]# java -version
-bash: /usr/bin/java: No such file or directory

配置环境变量

vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_333-amd64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
export PATH=$JAVA_HOME/bin:$PATH

让配置文件生效 source /etc/profile

将SpringBoot项目打包 Springboot.jar 使用xftp传到linux

使用 firewall-cmd --list-ports

systemctl start firewalld.service #开启防火墙服务
systemctl enable firewalld.service #设置开机启动防火墙
systemctl status firewalld # 查看防火墙状态



firewall-cmd --zone=public --add-port=8080/tcp --permanent  # 开启8080端口
firewall-cmd --list-ports # 查看当前开启的端口号   刚开启的需要重启防火墙
systemctl restart firewalld.service  # 重启防火墙

直接在项目文件夹下 运行 java -jar Springboot.jar, 之后使用公网的ip加端口号就可访问

4.2 Tomcat安装

ssm 是war包 war包就需要放到Tomcat运行

  1. 下载tomcat https://tomcat.apache.org/download-90.cgi tar.gz
  2. 解压 tar -zxvf apache-tomcat-9.0.64.tar.gz
  3. 启动tomcat cd apache-tomcat-9.0.64/bin
# 执行 ./startup.sh
# 停止 ./shotdown.sh

访问公网ip + 8080

4.3 docker安装

在线安装 需要联网

宝塔:https://www.bt.cn/new/download.html

此处更换了操作系统 CentOS Linux release 7.7.1908 (Core)

  1. 检测CentOS
[root@summer ~]# cat /etc/redhat-release
CentOS Linux release 7.7.1908 (Core)
  1. 安装准备的环境
yum -y install 报名  # yum install 是安装命令 -y 所有提示信息为yes

yum -y install gcc
yum -y install gcc-c++
  1. 清除以前的版本

https://docs.docker.com/engine/install/centos/

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# 4.安装需要的软件包
yum install -y yum-utils

# 5.设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# 6.更新yum软件包索引
yum makecache fast

# 7.安装Docker CE
yum -y install docker-ce docker-ce-cli containerd.io

# 8.启动docker
systemctl start docker

# 9.测试
docker version

docker run hello-world

docker images
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值