什么是Linux?
Linux划分以下四部分:Linux内核,GNU工具,图形化桌面环境,应用软件。
文件管理方式:
/ 根目录
bin 存放系统的可执行的二进制文件目录
etc 存放系统配置目录
usr 存放系统共享资源的目录
home 普通用户家目录
root root用户家目录
temp 存放临时文件目录
# linux中的命令格式,注意命令严格区分大小写
命令 -选项 参数
Tips:输入Linux命令多用Tab键(自动补全)
常用命令
命令 | 命令示例 | 功能 |
---|---|---|
显示文件夹下的文件 | - | |
ls | - | (list) 以列表的形式显示文集和目录 |
- |
ls -l ll
|
(long)查询当前目录的文件和文件夹以长格式 显示 |
- | ls -a |
(all)查询当前目录的所有 文件和文件夹(包括以. 开头的隐藏文件) |
- | ls -al |
查询当前目录的所有 文件和文件夹以长格式 显示 |
- | ls -R |
递归 显示文件夹下的所有 文件和目录,子目录也会遍历 |
切换目录 | - | |
cd | - | 切换目录路径 |
- |
cd cd ~ cd /root
|
回家目录 |
pwd | - | (print work directory)显示当前的工作路径 |
torch | - |
torch spring.xml 创建空文件 |
mkdir | - | (make directory)创建目录,不能创建多级目录 |
- | mkdir -p |
(parent)创建多级目录 |
cp | - | (copy)复制文件和目录 |
- | cp aa.txt aa |
复制文件,复制已存在的文件 到已存在的目录
|
- | cp -r aa bb |
(-r代表递归)复制文件夹,复制目录到目标目录。 |
mv | - | (move)移动和修改文件名或者文件夹名 |
- | mv 已存在文件名 不存在文件名 |
- |
- | mv 已存在文件夹名 不存在文件夹名 |
- |
- | mv 已存在文件名 已存在文件夹名 |
- |
- | mv 已存在文件夹 已存在文件夹 |
- |
rm | - | 删除 |
- | rm 文件名 |
删除文件,带提醒 |
- | rm -f 文件名 |
(force)强制删除 |
- | rm -r 目录名 |
删除目录,带提醒 |
- | rm -rf 目录名 |
强制删除目录 |
- | rm -rf 通配符 |
符合条件的目录 |
- | rmdir aa |
删除空目录 |
- | rm -rf / |
删库跑路 |
cat | - | 查看文件内容,只能查看一个屏幕的内容 |
more | - | 百分比查看文件,只能向下查看 |
less | - | 支持翻页查看内容,pageup pagedown |
tail | - | 查看文件末尾几行,可以指定行数 |
- | tail -n 行数 文件名 |
- |
- | tail -f 文件名 |
监听文件 实时变化,一般用于日志文件变化 |
head | - | 查看文件头几行,可以指定行数 |
- | head -n 行数 文件名 |
- |
echo | - | 输出的内容 |
- | echo $PATH |
输出环境变量 |
- | echo "adafadf" >> 文件名 |
文字写入文件 |
复杂功能
命令 | 命令示例 | 功能 |
---|---|---|
ip | - | 查看ip相关命令 |
- |
ip addr 或者ip a
|
查看ip,centos7网卡为ens33,之前为eth0 |
- | ping ip |
测试网络连通性 |
tar | - | - |
systemctl | - | (system control)系统服务相关命令 |
- | systemctl start stop restart status 服务名 |
firewalld ,mysqld ,memcached ,network |
- | systemctl status firewalld |
- |
- | systemctl stop network |
- |
ps |
- | 查看控制台进程 |
- | ps -aux |
查看后台进程并展示进程相关的用户,去掉控制台进程 |
- | ps -ef |
查询所有进程,展示父进程号 |
- |
ps -ef |grep tomcat
|
(|管道符号) 查看tomcat进程号 |
top | - | 动态展示系统进程 |
kill | - | 结束进程 |
- | kill 进程id |
杀死进程 |
- | kill -9 进程id |
强制杀死进程,包括守护进程 |
vi | - | 文本编辑命令 |
- |
:wq shift + zz
|
保存退出 |
- | :set nu |
设置行号 |
- | :set nonu |
去除行号 |
- | gg |
光标到第一行 |
- | G |
光标到最后一行 |
- | u |
撤销 |
- | ctrl + r |
撤销撤销 |
用户相关命令 | - | |
whoami |
- | 显示当前用户 |
who |
- | 查看登录用户 |
exit |
- | 退出用户 |
groupadd | 添加组 | - |
groupdel | 删除用户组 | - |
useradd | useradd xiaowang -g root | 用户添加(新添加用户要设置密码才可登录) |
passwd | passwd 用户 |
更改密码 |
su | 切换用户 | |
rpm | - | (RedHat Package Manger)软件相关命令 |
- | rpm -i xxx.rpm | 安装 |
- | rpm -ivh xxx.rpm | 安装并展示进度 |
- | rpm -evh xxx.rpm | 卸载并展示进度 |
- | rpm -Uvh | 更新并展示进度 |
- | rpm -qa | 显示已安装的软件包 |
yum | - | centos软件管理工具 |
- | yum install gcc-c++ | c语言环境 |
chmod | chmod u/g/o/a +/-/= rwx 文件 | 修改权限 |
- | 4:r 2:w 1:x | - |
配置Linux中的网络
- 查看id地址
ip a 查看默认网卡是否在ip地址
ens33 默认无ip - 编辑网络配置在每次启动时自动获取ip
配置vmware网络配置为NAT模式
开启centos自动获取ip
vi /etc/sysconfig/network-scripts/ipcfg-ens33
修改默认配置:ONBOOT=yes - 重启网络服务
systemctl restart network - 测试linux访问外部环境
ping www.baidu.com
安装JDK(三种方式rpm,tar.gz,yum)
安装vim
yum install vim
# 卸载安装的jdk和openjdk
rpm -e jdk1.8
rpm -qa | grep java
yum -y remove *openjdk*
# 安装下载的rpm包
rpm -ivh jdk-8u261-linux-x64.rpm
# 验证`java` 和`javac` `java -version`成功
# 查找java的位置
find / -name java
# 配置环境变量
vim /etc/profile
# G到最后一行,添加环境变量:
export JAVA_HOME=/usr/java/jdk1.8.0_261-amd64
export PATH=$PATH:$JAVA_HOME/bin
# 生效配置文件
source /etc/profile
# 完成
java -version
# 如果还是openjdk
rpm -qa | grep java
# 删除oenjdk相关文件
rpm -e --nodeps java-1.8.0-xxxx
# 如果安装32位的jdk安装时出现错误:Error: unpack could not create JAR file:
# 原因:64位系统中安装了32位程序,执行以下两个命令解决问题
yum install libgcc.i686
yum install ld-linux.so.2
安装Tomcat
关闭防护墙
运行war
运行jar
安装mysql
环境准备
本地下载
yum下载
关闭防火墙开启远程连接
修改数据库中的mysql表,修改root的localhost为%,即可外部访问。
主从复制架构
读写分离架构(mycat)
mycat下载
mycat schema.xml 配置
server.xml
Tomcat负载均衡 集群
Nginx反向代理服务器
session共享:1.tomcat间session同步,2.分布式缓存服务器
RSM(Redis Session Manger)
运维常用命令:
# 查看进程
ps -ef |grep nifi
ps aux | grep nifi |grep -v grep
# 查看端口情况
netstat -anp |grep 8060
lsof -i:8060
# 启动程序 覆盖写追加写 >>
./grafana.sh > ../run_grafana.log
# 关防火墙
service iptables stop