Linux

Posted xue_yun_xiang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux相关的知识,希望对你有一定的参考价值。

一、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 524 21:05 xiaohong
drwx------. 2 xiaoming  xiaoming  99 524 22:23 xiaoming
drwxrwxrwx. 2 xiaozhang xiaozhang 96 524 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 524 21:05 xiaohong
drwx------. 2 xiaoming  xiaoming  99 524 22:29 xiaoming
drwx------. 2 xiaowang  xiaowang  62 524 22:31 xiaowang
drwxrwxrwx. 2 xiaozhang xiaozhang 96 524 22:29 xiaozhang

让xiaoming 访问xiaowang 家目录

第一步:修改xiaowang 家目录 归属

[root@mastera ~]# chown -R xiaowang:g1 /home/xiaowang/ 
[root@mastera ~]# ll /home
总用量 0
drwx------. 2 xiaozhang g1        83 524 21:05 xiaohong
drwx------. 2 xiaoming  xiaoming  99 524 22:29 xiaoming
drwx------. 2 xiaowang  g1        62 524 22:31 xiaowang
drwxrwxrwx. 2 xiaozhang xiaozhang 96 524 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 524 21:05 xiaohong
drwx------. 2 xiaoming  g1        99 524 22:29 xiaoming
drwxrwx---. 2 xiaowang  g1        62 524 22:31 xiaowang
drwxrwxrwx. 2 xiaozhang xiaozhang 96 524 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

以上是关于Linux的主要内容,如果未能解决你的问题,请参考以下文章

如何测量当前 node.js 进程的峰值内存使用量

Linux之ps命令

磁盘配额(Quota

linux df磁盘使用量同实际使用量不符

linux 必知命令

如何手动释放Linux内存的方法