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

Linux的安装和使用

Linux

第一节 Linux 优势

1. 开源

为什么这么多的的设备都选择使用 Linux?因为它是开源软件(open source software),具有不同的含义。使用一个安全的操作系统工作变得必不可少的事,而 Linux 恰好满足了这个需求。因为它是开源的, 任何人都可以查看代码并研究来判定是否有一些潜在的能够造成安全风险的缺陷。

2. 多用户、多任务、多线程

Linux系统同时可以支持多个用户,每个用户对自己的文件设备有特殊的权利,能够保证各用户之间互不干扰,就像手机开了助手一样,同时登陆多个qq账号,当硬件配置非常高时,每个用户还可以同时执行多个任务、多个线程同时工作、提高效率,简直是完美的一塌糊涂,单凭多用户而言就完爆其他操作系统。

3. 稳定性和高效性

你也许会听到Windows服务器长时间运行而突然宕机,但你绝不会听到Linux系统服务器因为长时间不关机会卡死,在Linux上几乎是不会出现这种情况的。Linux服务器可以无休止的运行下去不宕机,因为它继承了Unix卓越的稳定性和高效性。正因为它的稳定才获得了众多用户的青睐,因为它的高效,它的使用范围更加广阔,然而Linux还可以提供一些高可靠性的服务,比如:LNMP、虚拟化、数据库服务等等。

4.安全性和 SELinux

其安全性相比其他系统也要安全很多,由于Linux拥有相当庞大的用户和开源社区支持,因此能很快发现系统漏洞,并迅速发布安全补丁及时更新,同时还具有很强的“免疫力”特点,很少受到病毒攻击,对于一个开放式系统而言,在方便用户的同时,很可能存在安全隐患。

不过,利用Linux自带防火墙(iptables,firewalld)、入侵检测和安全认证等工具,及时修补系统的漏洞,就能大大提高Linux系统的安全性,让黑客们无机可乘,同时还有安全增强机制SElinux,在linux内核中提供强制访问控制,功能非常全面,能够很好保护系统和服务,不过很多人喜欢把它关闭,这相对安全性就不是很好了。

还有Tcp_wrappers也能够提供很好的网络服务访问控制,Linux系统对于用户和文件管理权限的管理也是相当出色的,能够很好的控制权限,保证文件的机密性,也是其他系统无法比拟,所以Linux系统在一定程度上是坚不可摧的。

5. 性能优势

由于Linux要保证其稳定性,所以并没有像其它操作系统一样内核如此臃肿庞大、漏洞百出,随着Linux内核的不断更新,不断提升着优势,Linux操作系统能把服务器的硬件优势体现的淋漓尽致,因为Linux系统吸取了Unix系统近1/4世纪发展的经验,最主要的是Linux开放源代码,保证系统稳定性,更好的调用硬件功能,同时还提供了丰富的系统资源工具,方便查看资源的利用率。

第二节 Linux命令

1. 基本命令

# 查看当前目录地址
pwd# 查看ip 地址
ip address# 清屏
clear# 强制停止
Ctrl + C

2. 目录命令

2.1 查看目录
ls [-ald] [目录名]
# 目录名不填写,默认为当前目录。
# -a:列出的全部的文件,包括隐藏文件
# -l:列举出全部的信息
# -d:仅查看目录本身
2.2 切换目录
cd 具体路径 #切换到指定的路径
cd .. # 返回上级目录
cd / # 返回根目录
cd ~ # 返回当前登录用户的HOME目录
cd - # 返回上一次操作所在目录
2.3 创建目录
mkdir 目录名 # 创建一级目录
mkdir -p 多级目录 #创建多级目录
2.4 删除目录
# 删除目录
rm [-rf] 目录名
# -r:代表递归删除目录下的全部内容
# -f:不询问,直接删除
2.5 复制、移动
cp -r 源目录 目标目录 # 递归复制目录全部内容
mv 目录 路径 # 将目录移动至给定的路劲下
mv 目录 新目录名 #目录重命名,如果新目录名存在,则是移动目录

3. 文件命令

3.1 创建文件
touch 文件名1 文件名2 ... # 创建文件1、文件2、...echo 文件内容 > 文件名 #向文件中输入内容
3.2 编辑文件
vi 文件名 				# 查看文件。(查看模式)
i # 在当前光标处,进入编辑模式。 
a # 在当前光标后一格,进入编辑模式。 
o # 在当前光标下一行,进入编辑模式。
esc # 退出编辑模式,回到查看模式。
: # 从查看模式进入到底行命令模式。(底行命名模式)
wq #在底行命令模式下,保存并退出。
q! #在底行命令模式下,不保存并退出
3.3 删除文件
rm -f 文件名 #强制删除文件
3.4 复制、移动

文件的复制和移动与目录的复制和移动操作是一样的

3.5 解压文件[重要]
tar [-zxvf] 压缩包名称 [-C 路径]
# -z: 代表压缩包后缀是.gz的
# -x: 代表解压
# -v: 解压时,打印详细信息
# -f: -f选项必须放在所有选项的最后,代表指定文件名称
# -C 路径: 代表将压缩包内容解压到指定路径
3.6 压缩文件
tar [-zcvf] 压缩包名称 文件1 文件2 目录1 目录2 ...
# -c: 代表打包
# 其他参数同上
3.7 zip压缩和解压
yum -y install zip     # 安装zip压缩程序
yum -y install unzip   # 安装zip解压程序
unzip 压缩包名称 # 解压
zip -r 压缩包名称 文件1 文件2 目录1 目录2 ... # 压缩

4. 用户命令

4.1 创建用户
useradd [-cgd] [选项指定的具体内容] 用户名
# -c:代表comment,给用户添加一段注释
# -g:代表group,可以修改用户的所在组
# -d:代表指定用户的HOME目录
4.2 设置用户密码
passwd 用户名   test Java2305
4.3 切换用户
su 用户名
# [root@localhost ~]#   -> root用户在本地登录,并且当前在~目录下,#代表是超级管理员
# [qf@localhost ~]$		-> qf用户在本地登录,并且当前在~目录下,$代表是普通用户
4.4 删除用户
userdel [-r] 用户名
# -r: 代表删除用户的同时,删除该用户的HOME目录
4.5 修改用户
usermod [-cgd] [选项指定的具体内容] 用户名
# -c:代表comment,给用户添加一段注释
# -g:代表group,可以修改用户的所在组
# -d:代表指定用户的HOME目录

5. 文件权限命令[重要]

  • r: 代表read,读的权限
  • w: 代表write,写的权限
  • x: 代表execute,代表执行权限
ls -l # 查看文件的详细信息
chmod [-R] 777 文件|目录 # 数字方式修改文件权限
# rwx在这三个权限中r:4,w:2,x:1
# -R: 当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限# -rwxrwxrwx 1 root root      165 Nov 29 09:30 b.txt
# 第一个rwx表示当前用户对该文件的操作权限
# 第二个rwx表示当前用户所在用户组对该文件的操作权限
# 第三个rwx表示这台机器上任一用户对该文件的操作权限chmod [-R] a=rw 文件|目录 # 符号方式修改文件权限
# user:u,group:g,other:o,all:a
# read:r,write:w,execute:x
# 赋予权限的方式 , 添加:+,减掉:-,设定:=
# -R: 当修改一个目录权限时,可以添加-R,将目录下的全部内容,都修改权限。

6. 进程操作命令[重要]

ps -ef  # 查看全部正在运行的进程
# grep = global regular expressions and print out the line
ps -ef | grep 搜索的内容 # 按条件搜索进程 
kill -9 pid # 杀死进程

7. 服务操作命令[重要]

systemctl start 服务名称 # 启动服务
systemctl stop 服务名称 # 停止服务
systemctl restart 服务名称 # 重启服务
systemctl enable 服务名称 # 开机自启动
systemctl disable 服务名称 # 禁止开机自启动
systemctl status 服务名称 # 查看服务状态

8. 端口号查看命令

yum -y install net-tools # 安装net-tools工具
netstat -naop | grep 端口号 # 查看端口号占用情况

9. 访问地址

curl 访问地址 # 返回页面内容

第三节 软件安装

1. 安装MySQL

MySQL阿里云镜像源的安装方式https://blog.csdn.net/zp8126/article/details/137084854

切换镜像源

curl -O http://cloud.6mz.top/yumcentos7.sh && chmod +x yumcentos7.sh && ./yumcentos7.sh

安装wget

yum -y install wget

使用wget 下载资源

# 通过wget下载MySQL存储库
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

查看MySQL的 rpm 包

# 查看rpm包
rpm -qa|grep mysql

安装MySQL的rpm包

# 安装rpm包
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm

查看MySQL发行版本

yum repolist all | grep mysql

安装可用的MySQL社区版服务

yum -y install mysql-community-server --nogpgcheck

启动MySQL服务

systemctl start mysqld.service
systemctl status mysqld # 查看服务是否启动

查看初始密码

grep 'temporary password' /var/log/mysqld.log

连接MySQL

mysql -u root -p

输入初始密码进行连接

修改密码

# 注意 这里的密码不能太简单,数据库有密码设置要求
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'QFcd@2305';

调整密码要求

SET GLOBAL validate_password.policy=0; #将密码检测策略调整过到最低,这样就可以设置一些简单的密码
SET GLOBAL validate_password.length=4; #将密码长度最小值设置为4
SET GLOBAL validate_password.mixed_case_count=0; #将密码大小写要求设置为0个字符
SET GLOBAL validate_password.number_count=0; # 将密码数字要求设置为0个字符
SET GLOBAL validate_password.special_char_count=0; # 将密码特殊字符要求设置为0个字符
SET GLOBAL validate_password.check_user_name=OFF; # 关闭用户名检测

创建远程连接的用户

CREATE USER 'remote'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

给用户授权

# 授权
GRANT ALL PRIVILEGES ON *.* TO 'remote'@'%' WITH GRANT OPTION;
# 刷新权限
FLUSH PRIVILEGES;

云服务器开放3306端口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

使用Navicat连接

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

2. 安装 JDK

将JDK rpm包使用Xftp 拖到 /usr 文件下

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

cd /usr # 切换目录
ls # 查看文件列表
rpm -ivh jdk-8u311-linux-x64.rpm # 安装 jdk

配置环境变量

vi /etc/profile # 编辑文件,然后按下 i,进入编辑模式,将下面的内容添加到文件的末尾
export JAVA_HOME=/usr/java/jdk1.8.0_131
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

按下 esc 然后输入:wq保存退出

重新加载环境变量

source /etc/profile

测试环境是否配置成功

java -version

3. 安装 Tomcat

解压压缩包

tar -zxvf apache-tomcat-9.0.55.tar.gz -C /usr

启动 Tomcat

cd /usr/local/apache-tomcat-9.0.55/bin # 切换目录
./startup.sh # 启动
cd ../logs 
tail -f catalina.out # 监控日志

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 使用RestHighLevelClient进行Elasticsearch Function Score查询
  • 【喜报】祝贺青创智通签约广州进德生物科技SunFMEA项目
  • JavaSE 网络编程
  • 【学习笔记】Day 12
  • 11 Radiobutton组件
  • C# 通过代码开启自动设置时间和自动设置时区选项
  • 力扣 | 动态规划 | 状态机 | 买卖股票 | 买卖股票的最佳时机
  • MVI、MVVM、MVP的对比
  • 已解决:java.lang.UnsupportedClassVersionError 异常的正确解决方法,亲测有效!!!
  • 肿瘤细胞表皮生长因子EGFR靶向肽;GE11;YHWYGYTPQNVI
  • fastjson(autoType)反序列化漏洞
  • 经典结构Transformer解读
  • 本地访问不到公网redis的解决方法
  • 【Python】Python单元测试
  • Docker重启命令
  • 【跃迁之路】【669天】程序员高效学习方法论探索系列(实验阶段426-2018.12.13)...
  • Invalidate和postInvalidate的区别
  • java 多线程基础, 我觉得还是有必要看看的
  • TypeScript实现数据结构(一)栈,队列,链表
  • 解析 Webpack中import、require、按需加载的执行过程
  • 微信公众号开发小记——5.python微信红包
  • 详解移动APP与web APP的区别
  • 一个JAVA程序员成长之路分享
  • 一天一个设计模式之JS实现——适配器模式
  • 职业生涯 一个六年开发经验的女程序员的心声。
  • 曾刷新两项世界纪录,腾讯优图人脸检测算法 DSFD 正式开源 ...
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​ubuntu下安装kvm虚拟机
  • ​业务双活的数据切换思路设计(下)
  • # linux 中使用 visudo 命令,怎么保存退出?
  • # 数据结构
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • ######## golang各章节终篇索引 ########
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (STM32笔记)九、RCC时钟树与时钟 第二部分
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (更新)A股上市公司华证ESG评级得分稳健性校验ESG得分年均值中位数(2009-2023年.12)
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (图)IntelliTrace Tools 跟踪云端程序
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (转)Oracle存储过程编写经验和优化措施
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • .bashrc在哪里,alias妙用
  • .cfg\.dat\.mak(持续补充)
  • .Family_物联网
  • .NET Core WebAPI中使用swagger版本控制,添加注释
  • .NET Core使用NPOI导出复杂,美观的Excel详解
  • .NET delegate 委托 、 Event 事件
  • .Net 垃圾回收机制原理(二)
  • .NET/C# 避免调试器不小心提前计算本应延迟计算的值