使CentOS7和主机互通

基本命令

目录结构

  1. / : 根目录

  2. root :存放root用户相关文件(~)

  3. home :存放普通用户相关文件

  4. bin : 存放常用命令的目录(每个命令都是1个小程序),例如cd、mkdir、echo、yum

  5. var:存放经常变化的文件,如日志等

  6. boot:存放引导系统启动的文件

  7. usr:安装一个软件的默认目录(相当于windows的program files)

  8. opt:给主机额外安装软件,比如oracle数据库

  9. proc:虚拟的目录,它是系统内存的映射,可以获取系统信息

  10. etc : 存放系统中的配置文件

查找命令(※)

  1. which [命令]:查找某个命令在某个文件夹下(linux一切皆文件)

 which java
 which echo

用法:which echo :查找echo命令的位置

which cd : 查找cd命令的位置

  1. find [搜索范围] [参数] [查找内容]

 find / -name "*.txt"
 find / -name dev_software

注:查找文件或者文件夹(类似于everything)

  1. 参数1:-name 按文件名称查找

    1. 参数2:-user 按文件拥有者查找

    2. 参数3:-size 根据文件大小查找文件(+n大于,-n小于,n等于)用法 : find / -name dev_software : 按照名字查找根目录下面所有的dev_software

  2. grep [参数] 你想要查找的内容 查找的源文件

 grep -n wy 1.txt :在1.txt文件中查找内容为wy的所在行内容

注:类似于everything (AnyTXT Searcher),常见配合管道命令使用(ps -aux | grep qq)

查看当前路径:pwd

  1. 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)

  1. ls -a : 列举目录下的文件(加-a会列举隐藏文件)

  2. ls -l : 列举目录下的文件详细信息(等于ll,不是所有的linux操作系统都能用ll)

创建多层文件夹(mkdir)

  1. mkdir -p /root/test/test2 : 创建多层文件夹得加-p(命令和dos一样)

创建文件

  1. touch 1.txt:创建文件(相当dos的echo 1 > 1.txt,相当于linux的echo 1 >> 1.txt,,一个>是覆盖,两个>>追加)

    1. touch 1.txt

    2. vi 1.txt

    3. i (进入输入模式)–-> 1 --> esc --> shift : --> wq(保存并退出)

复制

  1. copy -r /root/test /home/test1 : 递归复制文件夹test下所有东西到home目录下并重命名为test1

删除

  1. rm -rf [文件] :(注:-r递归执行,-f强制执行)rm -rf * : 删除跑路(懂得都懂)

查看命令:cat

  1. cat 1.txt : 查看1.txt文件的内容(cat -n 1.txt展示行号看文件,相当于dos的type 1.txt)

  2. 查看的还有more命令(对看大文件友好,开启阅读模式)

  3. tail -f -n :输出文件末尾修改的n行内容(Tomcat日志)

  4. wc 1.txt : 统计行数、字数等信息

下载软件

  1. yum : 全称为 (Yellow dog Updater, Modified)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器(使用yum install [命令]等等等)

  2. wget [参数] [url] :下载网络文件(需要通过yum intall wget命令安装)

    1. -b : 后台下载

    2. -P : 下载到指定目录

    3. -r :最大尝试次数

    4. -c : 断点续传

    5. -p:下载页面所有内容,包括图片、视频等

    6. -r : 递归下载

日期命令

date

进程线程命令

  1. ps -aux : 查看系统中所有进程(相当于windows任务管理器进程列举的信息)

用法:配合管道符使用 ps -aux | grep qq 在所有进程中查找qq进程并打印(pid为进程id)

  1. kill -9 [进程pid] :强制停止某个进程注:-9 代表强制停止

压缩解压命令

linux常见文件的后缀为.tar.gz,.tar代表打包的方式,.gz代表压缩文件的格式

  1. tar [参数] 打包的名字.tar.gz 需要打包的内容

  2. -c :create生成.tar打包文件

  3. -x :extract解压.tar文件

  4. -v : verbose显示详细信息

  5. -f :file 指定压缩后的文件名

  6. -z : 打包同事压缩

  7. -C : 解压到指定目录常用:

    1. 压缩:tar -zcvf ./tarTest.tar.gz ./tarTest

      1. 解压缩:tar -zxvf ./tarTest.tar.gz

  8. zip [参数] 打包的名字.zip 需要打包的内容(需要用yum install -y zip安装命令常用:

  9. 压缩:zip -r ./tarTest.zip ./tarTestunzip [参数] 打包的名字.zip(需要用yum install -y unzip安装命令)常用:

  10. 解压缩:unzip ./tarTest.zip

网络连接命令

  1. netstat -nplt : 监控TCP/IP网络

    1. -a (all) 显示所有选项,默认不显示LISTEN相关。

      1. -t (tcp) 仅显示tcp相关选项。

      2. -u (udp) 仅显示udp相关选项。

      3. -n 拒绝显示别名,能显示数字的全部转化成数字。

      4. -l 仅列出有在 Listen (监听) 的服务状态。

      5. -p 显示建立相关链接的程序名

      6. -r 显示路由信息,路由表

      7. -e 显示扩展信息,例如uid等

      8. -s 按各个协议进行统计

      9. -c 每隔一个固定时间,执行该netstat命令

系统相关命令

  1. uname -a : 相当于Windows的systeminfo

  2. uptime : 17:08:09 up 22 min, 3 users, load average: 0.00, 0.10, 0.11注:load average 的值越小越好,尽量不要长期超过1,生产环境不要超过5

  3. free :查看内存信息···

  4. df -h : 查看硬盘信息

  5. who:查看当前登录信息

  6. history : 显示历史执行的命令

  7. shutdown -h 1 “一分钟后关机” : 给出“1分钟后关机的提示”延时1分钟关机

  8. 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用户

添加组(配权限使用)

  1. groupadd dev_group : 添加一个dev_group工作组

  2. useradd -g dev_group wxy : 创建wxy用户,并把wxy用户添加到dev_group工作组中

  3. id wxy : 查看wxy所属群组

  4. usermod :修改用户

    1. -g 修改用户所属的群组(主要的群组,只能有1个)usermod -g dev_group wy: 把wy用户归属到dev_group组中

    2. usermod -g common_group wxy : 把wxy用户归属到common_group组中usermod -g dev_group wxy: 把wxy从common_group移到dev_group组中

    3. -G 修改用户所属的附加群组(次要的群组,可以有多个)usermod -g common_group wy: 吧wy用户添加到common _group组中

    4. -l 修改用户账户的名称usermod -l test1 test :修改test用户的用户名为test1

删除用户+删除组

  1. userdel test : 删除test用户

  2. groupdel common_group :删common_group工作组

文件类型

-

一般文件

d

文件夹(目录)

l

快捷方式

s

socket文件(通信相关)

b

磁盘设备文件

c

字符设备文件

p

连接文件

文件及文件夹权限解读

r : read(4) w : write(2)x : execute(1)

给文件或文件夹授权(chmod : change modify)

方式1:

  1. chmod +x limitTest.txt :给limitTest.txt文件(用户、用户组、其他组)添加执行权限

注:相当于chmod a+x limitTest.txt

  1. chmod -x limitTest.txt : 给limitTest.txt文件(用户、用户组、其他组)去除执行权限

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

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

  3. chmod o+x limitTest.txt : 给limitTest.txt文件其他用户组添加执行权限

方式2:(推荐)

  1. chmod u=rwx,g=rw,o=r limitTest.txt

方式3:

  1. 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

开放端口

防火墙问题

  1. 查看防火墙状态

centos7.6:

方式1:firewall-cmd --state

方式2:reboot status firewalld

ubuntu:

sudo ufw status

  1. 打开防火墙

centos7.6:

systemctl start firewalld

ubuntu:

sudo ufw enable

  1. 重启防火墙:firewall-cmd --reload

  2. 关闭防火墙:systemctl stop firewalld

查看开发的端口号有哪些

  1. 查询已经开放的端口

firewall-cmd --list-ports

查看端口占用情况(所有端口占用情况)

netstat -ntlp

开放端口(方法1)

  1. 添加指定需要开放的端口

方案1:firewall-cmd --add-port=3306/tcp –permanent

方案2:firewall-cmd --zone=public --add-port=8080/tcp --permanent

  1. 重载入添加的端口firewall-cmd –reload

  2. 查询指定端口是否开启成功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

解决:

  1. vi /etc/yum.repos.d/mysql-community.repo

  2. 修改gpgcheck=0

  3. yum install mysql-community-server

账号:root 密码:12345678

(注:能连接数据库的前提是开放3306端口)

安装tomcat

  1. 上传apache-tomcat-8.5.78.tar.gz

  2. 解压tomcat :tar -zxvf apache-tomcat-8.5.78.tar.gz

  3. 修改tomcat名字并将其移动到local文件夹下:mv apache-tomcat-8.5.78 /usr/local/Tomcat8.5

  4. 为tomcat授权:chmod +x /usr/local/Tomcat8.5/bin/*.sh

  5. 修改Tomcat默认的8080端口号为80(文件server.xml)sed -i 's/Connector port="8080"/Connector port="80"/' /usr/local/Tomcat8.5/conf/server.xml

  6. 启动Tomcat/usr/local/Tomcat8.5/bin/./startup.sh

  7. 访问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