使CentOS7和主机互通





基本命令
目录结构

/ : 根目录
root :存放root用户相关文件(~)
home :存放普通用户相关文件
bin : 存放常用命令的目录(每个命令都是1个小程序),例如cd、mkdir、echo、yum
var:存放经常变化的文件,如日志等
boot:存放引导系统启动的文件
usr:安装一个软件的默认目录(相当于windows的program files)
opt:给主机额外安装软件,比如oracle数据库
proc:虚拟的目录,它是系统内存的映射,可以获取系统信息
etc : 存放系统中的配置文件
查找命令(※)
which [命令]:查找某个命令在某个文件夹下(linux一切皆文件)
which java
which echo用法:which echo :查找echo命令的位置
which cd : 查找cd命令的位置
find [搜索范围] [参数] [查找内容]
find / -name "*.txt"
find / -name dev_software注:查找文件或者文件夹(类似于everything)
参数1:-name 按文件名称查找
参数2:-user 按文件拥有者查找
参数3:-size 根据文件大小查找文件(+n大于,-n小于,n等于)用法 : find / -name dev_software : 按照名字查找根目录下面所有的dev_software
grep [参数] 你想要查找的内容 查找的源文件
grep -n wy 1.txt :在1.txt文件中查找内容为wy的所在行内容注:类似于everything (AnyTXT Searcher),常见配合管道命令使用(ps -aux | grep qq)
查看当前路径:pwd
pwd :打印当前(绝对的)工作路径(Print Working Directory)
查看系统信息:cat /etc/os-release
查看ip地址:ip a、hostname -I
方式1:
hostname -I
方式2:
ip a
ifconfig -a
ip addr
方式3:
查看指定ip地址
ip a s ens33
刷新ip
sudo dhclient -r ens33 # 释放当前的 IP 地址
sudo dhclient ens33 # 请求新的 IP 地址
sudo dhclient -r eth0 # 释放当前的 IP 地址
sudo dhclient eth0 # 请求新的 IP 地址
sudo dhclient -r # 释放所有接口的 IP 地址
sudo dhclient # 获取新的 IP 地址
清屏:(linx:clear, win:cls)
clear : 清屏(对应的dos命令为cls)
列举目录(ls 、ll)
ls -a : 列举目录下的文件(加-a会列举隐藏文件)
ls -l : 列举目录下的文件详细信息(等于ll,不是所有的linux操作系统都能用ll)
创建多层文件夹(mkdir)
mkdir -p /root/test/test2 : 创建多层文件夹得加-p(命令和dos一样)
创建文件
touch 1.txt:创建文件(相当dos的echo 1 > 1.txt,相当于linux的echo 1 >> 1.txt,,一个>是覆盖,两个>>追加)
touch 1.txt
vi 1.txt
i (进入输入模式)–-> 1 --> esc --> shift : --> wq(保存并退出)
复制
copy -r /root/test /home/test1 : 递归复制文件夹test下所有东西到home目录下并重命名为test1
删除
rm -rf [文件] :(注:-r递归执行,-f强制执行)rm -rf * : 删除跑路(懂得都懂)
查看命令:cat
cat 1.txt : 查看1.txt文件的内容(cat -n 1.txt展示行号看文件,相当于dos的type 1.txt)
查看的还有more命令(对看大文件友好,开启阅读模式)
tail -f -n :输出文件末尾修改的n行内容(Tomcat日志)
wc 1.txt : 统计行数、字数等信息
下载软件
yum : 全称为 (Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器(使用yum install [命令]等等等)
wget [参数] [url] :下载网络文件(需要通过yum intall wget命令安装)
-b : 后台下载
-P : 下载到指定目录
-r :最大尝试次数
-c : 断点续传
-p:下载页面所有内容,包括图片、视频等
-r : 递归下载
日期命令
date
进程线程命令
ps -aux : 查看系统中所有进程(相当于windows任务管理器进程列举的信息)

用法:配合管道符使用 ps -aux | grep qq 在所有进程中查找qq进程并打印(pid为进程id)
kill -9 [进程pid] :强制停止某个进程注:-9 代表强制停止
压缩解压命令
linux常见文件的后缀为.tar.gz,.tar代表打包的方式,.gz代表压缩文件的格式
tar [参数] 打包的名字.tar.gz 需要打包的内容
-c :create生成.tar打包文件
-x :extract解压.tar文件
-v : verbose显示详细信息
-f :file 指定压缩后的文件名
-z : 打包同事压缩
-C : 解压到指定目录常用:
压缩:tar -zcvf ./tarTest.tar.gz ./tarTest
解压缩:tar -zxvf ./tarTest.tar.gz
zip [参数] 打包的名字.zip 需要打包的内容(需要用yum install -y zip安装命令常用:
压缩:zip -r ./tarTest.zip ./tarTestunzip [参数] 打包的名字.zip(需要用yum install -y unzip安装命令)常用:
解压缩:unzip ./tarTest.zip
网络连接命令
netstat -nplt : 监控TCP/IP网络
-a (all) 显示所有选项,默认不显示LISTEN相关。
-t (tcp) 仅显示tcp相关选项。
-u (udp) 仅显示udp相关选项。
-n 拒绝显示别名,能显示数字的全部转化成数字。
-l 仅列出有在 Listen (监听) 的服务状态。
-p 显示建立相关链接的程序名
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计
-c 每隔一个固定时间,执行该netstat命令
系统相关命令
uname -a : 相当于Windows的systeminfo
uptime : 17:08:09 up 22 min, 3 users, load average: 0.00, 0.10, 0.11注:load average 的值越小越好,尽量不要长期超过1,生产环境不要超过5
free :查看内存信息···

df -h : 查看硬盘信息
who:查看当前登录信息
history : 显示历史执行的命令
shutdown -h 1 “一分钟后关机” : 给出“1分钟后关机的提示”延时1分钟关机
shutdown -r :重启
环境变量的位置
/etc/profile
查看磁盘空间:df -h
df -h
设置环境变量
# 所有用户
sudo vim /etc/profile
# 当前用户
vim ~/.bashrc
# 在文件末尾添加
export JAVA_HOME=/soft/jdk/jdk17
export PATH=$JAVA_HOME/bin:$PATH
# 保存后运行
# 所有用户
source /etc/profile
# 当前用户
source ~/.bashrc
# 验证配置
echo $JAVA_HOME # 应输出 /soft/jdk/jdk17
java -version # 应显示 JDK 17 版本信息
which java # 应指向 /soft/jdk/jdk17/bin/java
# 可选:配置默认 JDK(如果系统有多个 JDK)
sudo alternatives --config java # 查看系统有哪些版本的java
# 把jdk17加入进去,方便切换
sudo alternatives --install /usr/bin/java java /soft/jdk/jdk17/bin/java 200
参数说明••:
/usr/bin/java:系统默认的 java 命令符号链接位置。
java:alternatives 的组名(这里是 Java 相关命令)。
/soft/jdk/jdk17/bin/java:JDK 17 的实际路径。
200:优先级(数字越大优先级越高,这里设为最高以确保默认选中)。
<font style="color:rgba(0, 0, 0, 0.9);background-color:rgb(252, 252, 252);"></font>
创建用户+修改密码(强制)
useradd wy : 创建用户名为wy的用户
passwd wy : 修改密码(强制)
切换账户
su wy : 从root用户切换到wy用户

添加组(配权限使用)
groupadd dev_group : 添加一个dev_group工作组
useradd -g dev_group wxy : 创建wxy用户,并把wxy用户添加到dev_group工作组中
id wxy : 查看wxy所属群组
usermod :修改用户
-g 修改用户所属的群组(主要的群组,只能有1个)usermod -g dev_group wy: 把wy用户归属到dev_group组中
usermod -g common_group wxy : 把wxy用户归属到common_group组中usermod -g dev_group wxy: 把wxy从common_group移到dev_group组中
-G 修改用户所属的附加群组(次要的群组,可以有多个)usermod -g common_group wy: 吧wy用户添加到common _group组中
-l 修改用户账户的名称usermod -l test1 test :修改test用户的用户名为test1
删除用户+删除组
userdel test : 删除test用户
groupdel common_group :删common_group工作组
文件类型
文件及文件夹权限解读
r : read(4) w : write(2)x : execute(1)

给文件或文件夹授权(chmod : change modify)
方式1:
chmod +x limitTest.txt :给limitTest.txt文件(用户、用户组、其他组)添加执行权限
注:相当于chmod a+x limitTest.txt
chmod -x limitTest.txt : 给limitTest.txt文件(用户、用户组、其他组)去除执行权限

chmod u+x limitTest.txt : 给limitTest.txt文件用户添加执行权限

chmod g+x limitTest.txt : 给limitTest.txt文件给用户组添加执行权限
chmod o+x limitTest.txt : 给limitTest.txt文件其他用户组添加执行权限
方式2:(推荐)
chmod u=rwx,g=rw,o=r limitTest.txt

方式3:
chmod 777 limitTest.txt

如何把root建立的文件或文件夹授权给普通用户
chown wy dev_sofeware : 把root用户创建的文件FileCreateByRoot授权给wy用户


sudo(提升权限)
是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具
提升普通用户权限(命令加sudo前缀)
查看sudores文件 (/etc/sudoers)
方案1:可以看到给用户添加到wheel工作组中,就拥有所有权限
方案2 :在配置文件中加一行,把root改为wy即可
usermod -G wheel wy : 把wy用户加入到wheel组中

给指定权限
任何地方 使用mkdir命令

软件安装
linux配置java环境变量


查看java版本
java -version
重新加载环境变量
执行命令:source /etc/profile
开放端口
防火墙问题
查看防火墙状态
centos7.6:
方式1:firewall-cmd --state
方式2:reboot status firewalld
ubuntu:
sudo ufw status
打开防火墙
centos7.6:
systemctl start firewalld
ubuntu:
sudo ufw enable
重启防火墙:firewall-cmd --reload
关闭防火墙:systemctl stop firewalld
查看开发的端口号有哪些
查询已经开放的端口
firewall-cmd --list-ports
查看端口占用情况(所有端口占用情况)
netstat -ntlp
开放端口(方法1)
添加指定需要开放的端口
方案1:firewall-cmd --add-port=3306/tcp –permanent
方案2:firewall-cmd --zone=public --add-port=8080/tcp --permanent
重载入添加的端口firewall-cmd –reload
查询指定端口是否开启成功firewall-cmd --query-port=3306/tcp
开放端口(方法2)
centos7.6:
firewall-cmd --zone=public --add-port=3306/tcp --permanent && firewall-cmd --reload
ubuntu:
sudo ufw allow 80/tcp
关闭端口
firewall-cmd --permanent --remove-port=3306/tcp
安装jdk(阿里云)
安装mysql(阿里云)
问题:会出现失败的软件包是:mysql-community-libs-compat-5.7.37-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
解决:
vi /etc/yum.repos.d/mysql-community.repo
修改gpgcheck=0

yum install mysql-community-server
账号:root 密码:12345678
(注:能连接数据库的前提是开放3306端口)
安装tomcat
上传apache-tomcat-8.5.78.tar.gz
解压tomcat :tar -zxvf apache-tomcat-8.5.78.tar.gz
修改tomcat名字并将其移动到local文件夹下:mv apache-tomcat-8.5.78 /usr/local/Tomcat8.5
为tomcat授权:chmod +x /usr/local/Tomcat8.5/bin/*.sh
修改Tomcat默认的8080端口号为80(文件server.xml)sed -i 's/Connector port="8080"/Connector port="80"/' /usr/local/Tomcat8.5/conf/server.xml
启动Tomcat/usr/local/Tomcat8.5/bin/./startup.sh
访问ip地址:80
(注:能访问服务的前提是开放80端口)
配置frp,实现内网穿透
linux配置服务
路径:/etc/systemd/system/xx.service
(配服务的地方)
Frps.ini位置:/root/dev_software/02.Frp/frp_0.38.0_linux_amd64
常用命令
查看是否安装python及其位置
which python
注:实际位置 /usr/bin/python,位于usr目录下的bin目录下
查看python版本
python -V