Linux
Linux
linux是内核,真正的操作系统是Ubuntu和Centos等等。但习惯于说linux系统
Centos
有公司背景,稳定,更新慢
Ubuntu
社区产物,更新快,全球顶尖黑客维护。
Ubuntu安装
1. 安装vmware
2. 下载ubuntu
3. 创建新的虚拟机-->自定义-->下一步-->稍后安装操作系统-->linux Ubuntu 64位-->Ubuntu 64 位(位置:新建VMWare文件夹\Ubuntu 64 位)--》1处理器2内核-->1024MB-->NAT-->推荐-->推荐-->创建新虚拟磁盘-->20GB 多文件-->下一步-->完成
4. 新建文件夹,将虚拟机放入其中
5. 编辑虚拟机,添加光盘
6. 开启虚拟机
远程连接
1. 服务端
创建监听端口
2. 客户端
请求服务端的监听端口
3. 免密登录
服务端创建公钥和私钥,客户端请求携带私钥即可免密登录
4. 输入远程ip和账号 密码远程连接
允许ROOT远程连接
1. vim /etc/ssh/sshd_config
2. PermitRootLogin yes
3. service ssh restart
linux命令和目录
1. 目录
-bin
二进制可执行文件(.exe)
-boot
存放系统引导使用的各种文件
-dev
存放设备(打印机等)
-etc
存放系统配置文件
-home
存放所有用户(账号)目录
-lib
存放文件系统中程序需要运行的共享库和内核模块(java依赖jar包)
-mnt
临时文件系统的安装点
-opt
额外安装的可选应用程序存放位置
-proc
虚拟文件系统,存放内存的映射
-root
超级用户目录
-sbin
root才能执行的可执行文件
-tmp
临时文件目录
-usr
存放系统应用程序
-var
存放运行时需要改变数据的文件
2. 开发重要目录
1. etc 配置目录
2. usr/local 安装程序目录
3. var 存放数据库目录
3. 目录命令
1. 操作文件命令
cd / 进入根目录
ls 横着查看目录(ls -al 竖着显示 ll root竖着查看)
pwd 显示当前目录
mkdir hello 创建hello文件夹
mkdir hello/h -p 创建多层文件夹
rmdir hello 删除文件夹
touch aaa.txt 创建文件
rm aaa.txt 删除文件
echo username:root > db.config 创建带内容的文件 会覆盖原有内容
echo password:123456 >> db.config 追加内容
cp aaa.txt hello/ 复制aaa.txt到hello目录下
mv aaa.txt hello/ 移动文件
rm -fr hello 强制递归删除 f强制 r递归
2. 系统管理命令
stat db.config 查看详情
who 在线登录用户
hostname 主机名
du 显示文件字节 给计算机看的
du -h 给人看的
df -h 显示磁盘占用
free -h 显示内存占用
ping 测试网络连通性
netstat 显示网络状态
clear 清屏
kill 杀死进程
主要的
top 查看系统中消耗资源的线程
Mem:内存 Swap :磁盘空间 溢出时会交换,影响性能但溢出后不阻塞宕机崩溃 云服务器没有磁盘空间(影响其他用户和云服务器)
ps 显示瞬间进程状态
ps all
3. 开关机命令
需要超级管理员权限 sudo
1. 重启
reboot
shutdown -r now
2. 关机(root权限)
shutdown -h now
4. 压缩命令
windows 常用rar linux常用tar
tar
-c 创建压缩包
-x 解压缩包
-z 是否使用gzip压缩
-j 是否使用bzip2压缩
-v 压缩过程显示文件
-f 使用档名,在f后立即接档名
-tf 查看归档文件里面的文件
算法不同,通过命名区分
tar -czvf my.tar.gz .
tar -cjzf my.tar.bz2 .
.代表将当前内容全部打进tar中
tar -rf my.tar.gz 查看tar中内容
tar -xzvf my.tar.gz 解压
5. 编辑器
vim 进去文件内部
1. 编辑模式
等待编辑命令输入
2. 插入模式
编辑模式输入 i 进入插入模式,插入文本信息
3. 命令模式
编辑模式下输入: 进入命令模式
软件包管理程序
ubuntu 使用apt centos 使用yum
安装卸载需要管理员权限
安装
apt-get install 程序名
软件来源:从软件仓库(类似maven)[默认镜像](http://archive.ubuntu.com/),修改镜像地址(数据源) etc/apt/sources.list
1. sudo vim sources.list
2. 按住d 删除所有行数
3. 复制下面路径 shift+insert
4. :wq!
5. sudo apt-get update
6. sudo apt-get upgrade
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
wget下载
1. 不需认证(wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie") + 下载地址(官网复制url)
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie"
https://download.oracle.com/otn/java/jdk/8u221-b11/230deb18db3e4014bb8e3e8324f81b43/jdk-8u221-linux-x64.tar.gz
2. 还是需要认证可以使用 --http-user= --http-passwd=
卸载
apt-get remove 程序名
apt-get autoremove 程序名 程序依赖也会删除 删的干净
更新
sudo apt-get update
sudo apt-get install 程序名
sudo apt-get upgrade 升级系统(慎用 升级后不能连接服务器)
用户和组
1. 默认超级管理员root没有密码,不可登录, sudo passwd root可以设置密码
2. su 切换root账号 cd 直接进入root目录
3. root账号默认不允许远程连接,可以修改etc/ssh/sshd_config设置允许(百度),阿里云可以root远程连接
组:
创建用户时没有分配组,会创建私有组,私有组只属于该用户
文件权限管理
1. 文件通过前10位字母判断
第一位 d代表文件夹 -代表文件
后面每三位带表一个内容
r 读的权限 w 写 x 可执行的权限 - 没有权限
前三位 组的权限,中间代表用户的权限,后三位代表其他用户权限
2. 修改权限
chmod +x shell.sh 增加可执行权限
chmod -x shell.sh 去掉可执行权限
修改用户权限
chown wzh:wzh test 给test目录wzh组和wzh用户权限
修改文件权限
数字设定法
0 -没有权限
1 -标识可执行的权限 = x
2 -标识可写权限 = w
4 标识可读权限 = r
chmod 000 test/ 即 组 用户 其他用户都没有权限
chmod 700 test/ 组有权限 其他没有
3. 执行 shell.sh脚本文件
./shell.sh 或/root/shell.sh
固定ip
ubuntu:18.04
打开 /etc/netplan/50-cloud-init.yaml 配置文件
network:
ethernets:
ens33:
dhcp4: true
addresses: [192.168.1.130/24]
version: 2
netplan apply
部署项目
安装JRE
1. 下载jre.tar.gz,并上传到home/wzh下
2. tar -xzvf jre.tar.gz 解压
3. mv /usr/local/java
4. ./java -version 检查是否安装完成
5. 配置环境变量
1. 系统环境变量 etc/enviroment
export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
2. 用户环境变量 /etc/profile
下面的加入到 fi 和 if之间
export JAVA_HOME=/usr/local/java/jdk1.8.0_211
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/lib:$PATH:$HOME/bin
3. source /etc/profile
使配置生效
4. java -version 检测是否配置好
安装tomcat
1. 下载tomcat.tar包
2. 解压到/usr/local下
3. 在bin的startup.sh和shutdown.sh下配置JDK环境变量(和上面用户环境变量一致),启动访问到首页即可
安装Mysql
1. apt-get install mysql-server
2. 输入mysql的root密码
3. 可以使用whereis mysql找到安装位置
4. 修改/etc/mysql/mysql.conf.d/mysqld.cnf的bind-address,允许指定Ip访问或所有IP访问
5. 重启 service mysql restart
6. 在linux中登录Mysql mysql -uroot -p
7. grant all privileges on *.* to 'root'@'%' identified by '密码';授权即可访问