Linux基础与Java环境搭建



Linux目录结构

/ 是所有目录的顶点,称为根目录。

不同的目录下的数据可分布在不同的磁盘,所有目录按规则组织与命名。

Linux也分==绝对路径==与==相对路径==

系统目录

绝对路径用途
/跟目录
/bin==常用的二进制命令所在目录,如:ls、cp、mkdir==
/bootLinux内核与系统引导程序目录
/dev设备文件的目录,如:声卡、磁盘、光驱
/etc==yum、rpm方式安装应用程序的默认配置文件路径==
/home用于存放用户数据,用户的“家”目录
/var系统与软件服务运行日志目录
/lib启动系统与运行命令所需的共享库文件与内核模块目录
/proc系统运行时,进程信息与内核信息存放在此目录
/rootLinux超级用户目录,类似于windows的administrator
/sbin系统管理命令存放目录,是超级用户root可执行命令的存放地
/usr==存放用户应用程序的目录,包含两个重要子目录==
/usr/local==编译方式安装程序的默认目录==
/usr/src==编译方式安装程序的默认目录==

Linux命令

命令用途
cd切换目录
pwd查看当前目录
ls、ll显示目录内容
mkdir创建目录
cp赋值文件与目录
mv移动或重命名文件
rm删除文件或目录(需确认是否删除)
rm -f强制删除文件
rm -rf强制删除整个目录(慎用!)
find查找目录或文件
  • 小技巧,cd 后面不用写全名称,只输入前面几个字母,按Tab就能补全。如果前缀相同的话连续按两次Tab就能列出所有符合要求的同前缀项
  • 在命令后面加 --help 就能看到这个命令所能使用到的所有参数
  • 加 -v 可以看执行过程v可以和其他命令连写,比如 -pv

VIM文本编辑器

vi是Linux重要的文字编辑工作,Vim是它的增强版,vim用于在远程环境下用命令的形式对文本进行在先编辑。用法格式:vim [选项] [文件]

vim三种模式

  • 普通模式: 默认模式,文本只读,不可编辑。
  • 编辑模式:编辑文本模式,普通模式按i键进入,ESC键退出
  • 命令模式:执行保存、搜索、退出等操作

vim快捷键

命令用途
delete或x删除单个字符
dd删除整行
/str全文查找str字符串,n下一个,N前一个
:% s/old/new/g替换文件内所有old字符串为new
u撤销最近一次操作
:wq或:wq!退出并保存,只读文件要额外加!
:q!强制退出放弃保存

Linux文本工具

命令用途
echo屏幕打印与文本输出
cat合并文件或查看文件内容
tail显示文件内容尾部
grep文本过滤工具
echo "Hello" #在屏幕上输出Hello
echo "Hello" > hello.txt #将Hello存储到hello.txt文件内
echo "Hello" >> hello.txt #追加内容到hello.txt
echo > hello.txt << ESC #在hello.txt内存储内容以ESC为结尾,其中ESC可以为任意字符

cat hello.txt #显示文本内所有内容
cat -n hello.txt #显示文本并加上序号
cat -nE hello.txt #显示文本前边加序号并且末尾空格转换为$
cat -n hello.txt #显示文本并加上序号

tail hello.txt #显示末尾内容(默认3行)
tail -n 2 hello.txt #显示末尾内容并加上序号

grep nb hello.txt #显示包括nb的文本行
grep -v nb hello.txt #显示不包括nb的文本行
grep d...nb hello.txt #可以用正则表达式的方式过滤内容

#通道 
ll | grep hello.txt
ll | grep -E hello[1-9].txt #正则表达式方式过滤内容

打包与压缩

gzip是Linux中的文件压缩程序

gzip压缩文件扩展名:.gz

大流量网站默认都在使用gzip进行数据压缩传输

tar打包与压缩

  • tar是Linux系统将多个文件打包和压缩的工具
  • tar本质是打包软件,扩展名.tar
  • tar可结合gzip或其他压缩工具实现打包压缩,扩展名 .tar.gz
#压缩命令:tar zcvf 打包名 打包目录
tar zcvf tomcat.tar.gz /usr/local/tomcat
#解压命令:tar zxvf 包名 -C“将当前文件释放到:” 目录
tar zxvf tomcat.tar.gz -C /usr/local/tomcat
选项用途
z通过gzip压缩或解压
c创建新的tar.gz
v显示执行过程
f指定压缩文件名称
x解压缩tar.gz文件
-C指定解压缩目录

yum方式安装应用程序

在CentOS中安装第三方应用程序包含两种方式:

  1. rpm:Red Hat软件包管理器,相当于应用程序安装文件的执行者
  2. 编译安装:用户自己从网站下载程序源码进行编译安装

yum与rpm的关系

rpm安装过程中,需要用户自己解决依赖问题

yum通过引入软件长裤,联网下载rpm包及依赖,并依次安装

yum常用命令

命令用途
yum search 应用名在仓库中查询是否存在指定应用
yun insrall -y 应用名全自动下载安装应用及其依赖
yum info 应用名查看应用详细信息
yum list insralled 应用名查看已安装的应用程序
rpm -ql 应用名查看安装后输出的文件清单
yum remove -y 应用名全自动卸载指定应用

编译安装

如yum仓库未提供rpm,往往需要采用编译安装

编译安装是指从应用官网下载源码后,对源码进行编译安装后使用

编译命令:make 使用对应编译器对源码编译生成可执行文件

yum安装编译安装
兼容性差,每个发行版都要准备好,全平台适用
复杂度简单复杂
安装速度
来源应用仓库官网下载
应用场景日常系统软件开源软件,最近版本

编译安装Redis

  1. 安装gcc():yum install -y gcc
  2. 进入Redis解压缩文件夹执行:make
  3. 运行Redis:./src/redis-server redis.conf

Linux系统管理命令

命令用途
ifconfig查看网卡IP
netstat (-tulpn或-ano)查看网络端口号
ps -ef&kill -9(s) PID查看进程&杀掉进程

netstat常用选项

选项用途
t显示tcp传输协议的连接状况
u显示udp传输协议的连接状况
l显示处于监听状态的网络连接
p显示应用PID和程序名称
n显示ip地址
a显示所有连接
o显示计时器

应用服务化

应用服务化是指让应用程序以服务的方式在系统后台运行

Linux系统对服务化应用进行统一管理

服务管理命令:systemctl

指令用途
start启动服务
stop停止服务
restart重启服务
enable设置开机启动
disable禁止开启启动
status查看服务状态
daemon-reload重载服务配置文件
list-unit-files列出所有服务
shutdown -r now重启系统
[Unit]
Description=Redis
#在服务启动中描述顺序,必须在以下完成后再启动Redis
After=syslog.target network.target remote-fs.target nss-lookup.target 

[Service]
#服务在后台运行
Type=forking
#描述进程编号的PID文件
PIDFile=/run/redis_6379.pid
#服务启动时调用redis-server以及redis-
ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
#服务关闭
ExecStop=/bin/kill -s QUIT $MAINPID
#为每一个服务设置私有的tmp临时文件目录
PrivateTmp=true

[Install]
#Redis服务分配到multi-user服务组上
WantedBy=multi-user.target

用户与用户组管理

  • Linux是多用户任务系统,包含两个概念:用户用户组
  • 用户与账户是同一概念,用于登录系统与区分资源权限
  • 用户让系统变得更安全,同时也保护了用户的个人数字资产
  • 用户组就是将用户分组,隶属用户自动拥有组权限
  • 一个用户可隶属于多个组,用户可以任意切换当前组
  • 用户组的出现让用户权限变得更轻松
命令用途
useradd创建新用户
passwd修改密码
usermod修改用户信息/分配组(覆盖原组)
groupadd创建新的用户组
groups查看当前用户所在用户组
chown更改文件的属主或属组(所有权)
chmod更改文件的访问权限
newgrp切换用户当前组

文件权限代码表

image-20220726161216822
image-20220726161325530
# 改变指定目录的属主以及所对应的用户组
# 更改权限 负责人账户:组名 目录名
chown  d1:developer dev-document
image-20220726161919560
# 改变对应文件或目录的权限
chomd 750 dev-document/
image-20220726162338269

chmod命令

  • chmod 750 组用户可读写,其他用户不允许访问
  • chmod 777 所有用户拥有完整的权限
  • chmod 700 只有属主拥有完整权限

sudo获取超级管理员权限

  • sudo可以让普通用户拥有超级管理员的权限
  • 普通用户要经过超级管理员授权才能使用
  • 授权命令:visudo
$ visudo
# 跳转到100行 添加用户 (100gg  快速定位)
$ test ALL=(ALL) ALL
# 修改后执行格式检查
$ visudu -c

==谨慎使用 sudo==

==谨慎使用 sudo==

==谨慎使用 sudo==

firewall防火墙设置

防火墙是借助硬件和软件对内外部网路环境的保护措施

CentOS 7基于firewall实现应用层防火墙,CentOS6基于iptables

firewall-cmd是firewall的核心命令

# 查看防火墙运行状态
$ firewall-cmd --state
# 查看当前开放端口
$ firewall-cmd --list-ports
# 增加放行端口(zone"区域" permanent"永久变更" --add-port"增加新的端口规则")
$ firewall-cmd --zone=public --permanent --add-port=8080/tcp
# 将防火墙进行配置重载
$ firewall-cmd --reload
# 移除方形端口
$ firewall-cmd --zone=public --permanent --remove-port=8080/tcp
# 放行区域端口
$ firewall-cmd --zone=public --permanent --add-port=8000-9000/tcp

Bash Shell

Shell是一 个用c语言编写的脚本解释器,是用户通过代码操作Linux的桥梁

Shell脚本描述要执行的任务,完成系列复杂操作,文件通常以.sh后缀

Shell种类Shell解释器
Bourne Shell/usr/bin/sh或/bin/sh
Bourne Again Shell/bin/bash/(默认)
C Shell/usr/bin/csh
K Shell/usr/bin/ksh
Shell for Root/sbin/sh

安装Mysql8

~~~shell

查询是否存在mysql相关组件

$ yum search mysql-community

在官网 https://dev.mysql.com/downloads/repo/yum/ 下载

$ yum localinstall -y mysql80-community-release-el7-6.noarch.rpm

再次运行

$ yum serach mysql-community

能查找到就运行

$ yum install -y mysql-community-server
~~~

快速安装方法

  1. 百度搜索mysql 下载,进入官方MySQL :: Download MySQL Community Server
  2. 选择Red Hat Enterprise Linux/Oracle Linux,版本看情况
  3. 找到RPM Bundle,点击Download
  4. 点击No thanks, just start my download下载MySQL80
  5. 解压
    image-20220728155158143
  6. 上传到服务器
  7. 运行 yum install -y mysql-community-server 等待安装完毕

获取 GPG 密钥失败:[Errno 14] curl#37 - "Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-mysql-2022"

  1. 启动MySQLsystemctl start mysqld
  2. 查看运行状态systemctl status mysqld
  3. 设置自启动systemctl enable mysqld

初始化MySQL8

  1. 进入vi /var/log/mysqld.log,查看密码
  2. 进入MySQLmysql -r root -p,修改密码alter user 'root'@'localhost' identified with mysql_native_password by'密码''
  3. 设置远程连接
  4. use mysql切换到mysql数据库
  5. 执行语句select host,user from user;
  6. 将root用户host改成%(代表任意设备都可以使用)update user set host='%' where user='root';
  7. 让权限立即生效flush privileges;

安装Tomcat

  1. 上传Tomcat到/usr/local/
  2. 解压Tomcattar zxf apache-tomcat-9.x.x.targz
  3. 上传jar/war包到/usr/local/
  4. 解压jar/war
  5. jar/war包移动到tomcat/webapps
  6. mv 包名 ./apache-tomcat-9.x.x/webapps
  7. 修改mybatis-config.xml数据库配置信息
  8. vim ./imooc_oa/WEB-INF/classes/mybatis-config.xml
  9. 修改Tomcat运行参数
  10. cd ./conf/server.xml
  11. 全文搜索/8080端口修改为80
  12. 键盘page down跳到最后一行
  13. 在host标签上增加<Context path="/" docBase="imooc_oa" />
  14. 启动Tomcat:./bin/startup.sh
  15. 设置数据库访问权限firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" source address="Web服务器ip" port protocol="tcp" port="3306" accept "
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片