一、linux解压缩
压缩:就是类似window 中 好压 7z rar
tar
linux 内置压缩软件:创造一个压缩包
[root@mastera ~]# tar -czvf test.tar.gz test1_backup test2 test3
tar -czvf 压缩包名字 要压缩的文件夹/文件
-c 产生压缩包
-z 压缩包以.gz 格式压缩
-v 显示详细 信息
-f 制定文件名称
-x 解压缩
tar -xzvf test.tar.gz -C …/testtar2/
-C 解压到制定目录 # 注意制定目录 必须要存在
[root@mastera testtar]# tar -xzvf test.tar.gz -C ../testtar2/
test1_backup/
test2/
test2/a/
test2/test1/
test2/test1/anaconda-ks.cfg
test2/anaconda-ks.cfg
test3/
test3/c.txt
[root@mastera testtar]# cd ../testtar2
[root@mastera testtar2]# ls
test1_backup test2 test3
zip
安装
[root@mastera ~]# yum -y install zip
[root@mastera ~]# yum -y install unzip
压缩
[root@mastera ~]# zip -r test.zip test1_backup test2 test3
zip -r 压缩文件名 要压缩的文件 文件夹
-r 在压缩 文件夹时必须加上 否则不能压缩内部内容
解压缩
[root@mastera testzip]# unzip test.zip
二、linux 用户 用户组
用户:就是一个主机可以有多个用户,但是只用一个超级管理员 root
用户组:一个用户可以归属于多个 用户组, 一个文件也可以归属于某一个组
用户
添加用户
[root@mastera ~]# useradd xiaoming
[root@mastera ~]# cd /home/xiaoming/
为用户设置密码
[root@mastera xiaoming]# passwd xiaoming
更改用户 xiaoming 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
切换用户
su 用户名
从root 切换普通用户 不需要密码
从普通用户 切换其他用户 都需要密码
[root@mastera ~]# su xiaohong
[xiaohong@mastera root]$ cd
[xiaohong@mastera ~]$ pwd
/home/xiaohong
删除用户
[root@mastera ~]# userdel xiaohong
[root@mastera ~]# su xiaohong
su: user xiaohong does not exist
[root@mastera ~]# ls /home
xiaohong xiaoming
用户组
创建用户组
[root@mastera ~]# groupadd g1
[root@mastera ~]# groupadd g2
修改用户组
[root@mastera ~]# groupmod -n gtwo g2
查看用户组
[root@mastera ~]# vim /etc/group
删除用户组
[root@mastera ~]# groupdel gtwo
用户组存在的意义:
就是为了更好的管理文件对应的权限
权限
文件的权限:有三种 读权限(read) 写权限(write)可执行权限(x)
文件的权限是:相对于用户 和用户组 还有其他用户来说
修改权限
[root@mastera ~]# chmod u+x a1.txt # 为当前用户对应文件增加 可执行权限
u 当前文件对应用户
g 当前文件对应组
o 当前文件对应其他用户
a 代表所有用户
x:可执行 1
r:可读 4
w:可写 2
chmod a-x a1.txt
[root@mastera ~]# chmod 755 a1.txt
示例1
增加用户小张
[root@mastera ~]# useradd xiaozhang
[root@mastera ~]# passwd xiaozhang
更改用户 xiaozhang 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[xiaozhang@mastera ~]$ echo hell > a.txt
[xiaozhang@mastera ~]$ ls
a.txt
修改对应文件夹下所有权限
-R
[root@mastera ~]# chmod -R 777 /home/xiaozhang/
[root@mastera ~]# ll /home
总用量 0
drwx------. 2 xiaozhang g1 83 5月 24 21:05 xiaohong
drwx------. 2 xiaoming xiaoming 99 5月 24 22:23 xiaoming
drwxrwxrwx. 2 xiaozhang xiaozhang 96 5月 24 22:27 xiaozhang
[root@mastera ~]# su xiaoming
[xiaoming@mastera root]$ cd /home/xiaozhang/
[xiaoming@mastera xiaozhang]$ vim a.txt
示例2
先创建小王
[root@mastera ~]# useradd xiaowang
[root@mastera ~]# passwd xiaowang
更改用户 xiaowang 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@mastera ~]# ll /home
总用量 0
drwx------. 2 xiaozhang g1 83 5月 24 21:05 xiaohong
drwx------. 2 xiaoming xiaoming 99 5月 24 22:29 xiaoming
drwx------. 2 xiaowang xiaowang 62 5月 24 22:31 xiaowang
drwxrwxrwx. 2 xiaozhang xiaozhang 96 5月 24 22:29 xiaozhang
让xiaoming 访问xiaowang 家目录
第一步:修改xiaowang 家目录 归属
[root@mastera ~]# chown -R xiaowang:g1 /home/xiaowang/
[root@mastera ~]# ll /home
总用量 0
drwx------. 2 xiaozhang g1 83 5月 24 21:05 xiaohong
drwx------. 2 xiaoming xiaoming 99 5月 24 22:29 xiaoming
drwx------. 2 xiaowang g1 62 5月 24 22:31 xiaowang
drwxrwxrwx. 2 xiaozhang xiaozhang 96 5月 24 22:29 xiaozhang
第二步:修改xiaoming 归属 g1
此时 xiaoming 和xiaowang 在同一组中
[root@mastera ~]# usermod -g g1 xiaoming
[root@mastera ~]# su xiaoming
第三步:修改 xiaowang 家目录 所在组权限
[root@mastera ~]# chmod -R 770 /home/xiaowang
[root@mastera ~]# ll /home
总用量 0
drwx------. 2 xiaozhang g1 83 5月 24 21:05 xiaohong
drwx------. 2 xiaoming g1 99 5月 24 22:29 xiaoming
drwxrwx---. 2 xiaowang g1 62 5月 24 22:31 xiaowang
drwxrwxrwx. 2 xiaozhang xiaozhang 96 5月 24 22:29 xiaozhang
[root@mastera ~]# su xiaoming
[xiaoming@mastera root]$ cd /home/xiaowang
修改文件夹 对应的归属
[root@mastera ~]# chown -R xiaowang:g1 /home/xiaowang/
修改文件 对应归属组
[root@mastera ~]# chgrp -R g1 /home/xiaozhang
注意
所有修改权限 :都要在root 用户下操作
访问文件夹 必须拥有读写
[root@mastera ~]# groups xiaoming
xiaoming : g1
四、其他命令
ps :查看进程
[root@mastera ~]# ps 查看当前用户对应命令行 进程
[root@mastera ~]# ps -ef # 查看所有进程包含内核进程
[root@mastera ~]# ps -ef | grep xiaoming # | 管道,将ps -ef的结果输出到管道中 使用 grep 指令过滤,只要 含有 xiaoming 字样的行 就打印出来
服务相关指令
针对服务的启动,停止,重启,开机自动启动,禁止开机自动启动,查看服务状态。
systemctl start|stop|restart|enable|disable|status 服务名称
常用服务
firewalld 防火墙
network 网络服务
[root@mastera ~]# systemctl status firewalld 查看防火墙状态
[root@mastera ~]# systemctl stop firewalld 关闭防火墙
[root@mastera ~]# systemctl disable firewalld 禁止防火墙自启动
查看网卡状态
没有网络时候使用此命令查看
[root@mastera ~]# systemctl status network
curl
测试网络是否联通
[root@mastera ~]# curl http://www.baidu.com
find
find 所有的路径 -name 文件名
[root@mastera ~]# find /root/testtar -name anaconda-ks.cfg
五、软件安装
jdk
1、将jdk 安装包 上传到 linux
2、解压
[root@mastera ~]# ls
a1.txt jdk-8u211-linux-x64.tar.gz test2 testtar testzip
anaconda-ks.cfg test1_backup test3 testtar2
[root@mastera ~]# mkdir /usr/java
[root@mastera ~]# tar -xzvf jdk-8u211-linux-x64.tar.gz -C /usr/java/
[root@mastera ~]# cd /usr/java/jdk1.8.0_211/
3、配置环境变量
[root@mastera jdk1.8.0_211]# vim /etc/profile
在/etc/profile最后添加
export JAVA_HOME=/usr/java/jdk1.8.0_211 # 自己解压路径 注释不要写上去
export PATH=$JAVA_HOME/bin:$PATH
4、保存
source 激活java 环境变量,只在当前窗口生效
永久生效 需要重新启动linux
5、测试
[root@mastera jdk1.8.0_211]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)
mysql
1、安装 webget 相当于迅雷
yum -y install wget
2、下载mysql 安装版本
[root@mastera ~]# wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
3、安装rpm
rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
4、检查mysql 版本(非常重要)
yum repolist all | grep mysql # 检查版本
5、修改安装版本 为 5.7
[root@mastera ~]# vim /etc/yum.repos.d/mysql-community.repo
6、再次确认
[root@mastera ~]# yum repolist all | grep mysql
7、安装mysql
yum -y install mysql-community-server
8、启动mysql
[root@mastera ~]# systemctl start mysqld
[root@mastera ~]# systemctl status mysqld
9、获取临时密码
grep 'temporary password' /var/log/mysqld.log
10、修改密码
mysql> use mysql;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'P@ssw0rd';
mysql> FLUSH PRIVILEGES;
11、使用navicat
必须关闭 window linux 防火墙
mysql 默认情况下 禁止 使用root 进项远程登陆 为了安全
修改root 可以远程登陆
mysql> use mysql;
Database changed
mysql> update user set host="%" where user="root";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)
六、如何查看端口被占用
安装工具包
[root@mastera ~]# yum -y install net-tools
过滤出来端口 ,看到进程号
[root@mastera ~]# netstat -naop | grep 3306
kill 对应的进程
[root@mastera ~]# kill -9 16176