Linux 高级命令及项目部署

Linux 高级命令

一.用户管理
计算资源:(一切皆文件)
权限:定义资源或服务的访问能力,称之为权限
	定义某一个特定的人资源或者服务的访问能力, 用户
	定义一类用户具有访问某个资源或服务的能力. 用户组(存放一些列用户的容器),同时用户组还拥有具有访问某个资源的权限
	定义一个资源的权限: 
		1. 用户具有该资源的权限(文件所有者,属主)
		2. 用户组具有该资源的权限(属组)
		3. 其他用户(既不是属主,也不是属组)

文件权限:
 	r  可读 可以执行类似cat命令的操作
	w  可写 可以编辑或者删除此文件
	x  可执行 
1.创建用户
创建用户 :useradd [用户名]
创建用户并分配一个组:useradd -G [组名] [用户名] 

查看系统用户:cat /etc/passwd
1	用户名
2	用户的密码,用x替代
3	用户的uid,一般情况下root为01-499默认为系统账号,有的更大些到1000500-65535为用户的可登录账号,有的系统从1000开始。
4	用户的gid,linux的用户都会有两个ID,一个是用户uid,一个是用户组id,在我们登录的时候,输入用户名和密码,
	其实会先到/etc/passwd查看是否有你输入的账号或者用户名,有的话将该账号与对应的UID和GID(/etc/group中)读出来。
	然后读出主文件夹与shell的设置,然后再去检验密码是否正确,正确的话正常登录。
5	用户的账号说明解释
6	用户的家目录文件夹
7	用户使用的shell,如果换成/sbin/nologin/就是默认没有登录环境的。
2.查看系统用户
	查看系统用户组:cat /etc/group
3.修改用户组属性
usermod -G [组名] [用户名]
4.删除用户
//userdel
删除用户:
-f:强制删除用户,即使用户已登录 
-r:删除与用户相关的所有文件。
5.切换用户(常用)
passwd 用户名
切换用户: su 用户名
二.文件基本权限
1.文件权限解释(常用)
-rw-r--r--
	- 文件类型(- 文件 d 目录 I 软链接文件)
	rw-			r--				r--
	u所有者		g所属组		o其他人	
	r读	w写	x执行

-rw-r--r--.  1 root root    12288  Aug 22  2019 aliases.db
//对应参数意思
文件类型  所有者读写权限   所属组读写权限  其他人读写权限  
   - 	       rw-				r--				r--.
硬链接次数  所属用户 所属用户组 文件大小 
	1       root       root     12288       
  文件修改时间        文件名
 Aug 22  2019    aliases.db                                                                                                   
2.修改权限(常用)
chmod [选项] 模式 文件名
	选项
		-R		递归
	模式
		[u g o a] [+-=] [rwx]  //u所有者  g所属组  o其他人  r读	w写	x执行
		[mode=421]
修改权限的方式:
chmod u+x 文件
#给当前用户添加指定文件的x执行权限
chmod g+w,o+w 文件
#给该文件用户组合其他人添加指定文件的w写的权限
chmod a=rwx 文件
#给该文件的当前用户,当前组,其他人 添加rwx可读可写可执行的权限
3.权限数字表示(常用)
权限的数字表示
r		4
w		2
x		1
111--->7  rwx
110--->6  rw-
100--->4  r--
    
示例:
rwxr-xr-x
  7	 5	5
chmod 755 文件
4.sudo权限
root把本来只能超级用户执行的命令赋予普通用户执行.
sudo的操作对象是系统命令

//1.visudo
#实际修改的是/etc/sudoers文件

root ALL=(ALL) ALL
#用户名 被管理主机的地址=(可使用的身份) 授权命令(绝对路径)
%wheel ALL=(ALL) ALL
#%组名 被管理注解的地址=(可使用身份) 授权命令(绝对路径)

//2.xiaoliu ALL = (ALL)  /usr/sbin/shutdown  //xiaoliu用户在任何地方都能操作关机,给了关机权限

//3.sudo shutdown -h   //切换到xiaoliu用户执行sudo + 命令
//当我们设置了权限后,其他用户要想执行已经被赋予的权限时,需要加上sudo命令
三.系统服务管理
1.systemctl命令
systemctl是CentOS7的服务管理工具中主要的工具
启动服务:systemctl start <服务名>
关闭服务:systemctl stop <服务名>
重启服务:systemctl restart <服务名>
查看服务状态:systemctl status <服务名>
添加开机启动项:systemctl enable <服务名>
禁止开机启动项:systemctl disable <服务名>
查看开机启动项:systemctl list-unit-files
2.进程查看
用于报告当前系统的进程状态。可以搭配kill指令随时中断、删除不必要的程序。

ps -ef 显示出的结果:
    1.UID       用户ID
    2.PID        进程ID
    3.PPID      父进程ID
    4.C           CPU占用率
    5.STIME     开始时间
    6.TTY         开始此进程的TTY----终端设备
    7.TIME       此进程运行的总时间
    8.CMD       命令名
3.杀死进程(常用)
kill -9 pid(进程id)
四.网络管理
网络的基本概念
		1)ip地址:在网络通信中主机的标识符(好比手机号码)
		2)mac地址:主机的物理网卡的唯一标识符(好比身份证号码)
		3)子网掩码:用于区分主机的IP地址中的网络地址和主机地址,并由此确定该主机的IP地址的网段
		4)网关:就是一个网络中的主机连接到另一个网络的主机的关口
		5)DNS:域名解析服务器,把域名解析成对应的IP地址
		
	DNS服务器有2,一种叫本地DNS服务,一种远程
	域名解析步骤:
	1.用户在浏览器中输入www.baidu.com之后,浏览器先从本地hosts文件(本地DNS服务器)中查找www.baidu.com这个域名对应ip
	2.如果能找到直接通过这个ip访问(发起请求)
    3.如果找不到,沿着网线找最近的的远程的DNS服务,然后解析DNS服务器缓存域名ip转换表,得到ip此时可以通过这个ip访问
域名解析步骤:

在这里插入图片描述

演示将域名写在本地
1>修改地方

在这里插入图片描述

2>修改内容

在这里插入图片描述

3>演示结果

在这里插入图片描述

2.fg-eth解释
	文件 /etc/sysconfig/network-scripts/ifcfg-eth0在/etc/sysconfig/network-script在这个目录下面,
存放的是网络接口(网卡)的脚本文件(控制文件),ifcfg-eth0是默认的第一个网络接口,如果机器中有多网络接口,
那么名字就将依此类推ifcfg-eth1,ifcfg-eth2,ifcfg-eth3......(这里面的文件是相当重要的,涉及到网络能否正常工作)。

TYPE=Ethernet #网卡类型
DEVICE=eth0 #网卡接口名称
ONBOOT=yes #系统启动时是否自动加载
BOOTPROTO=static #启用地址协议 --static:静态协议 --bootp协议 --dhcp协议
IPADDR=192.168.1.11 #网卡IP地址
NETMASK=255.255.255.0 #网卡网络地址
GATEWAY=192.168.1.1 #网卡网关地址
DNS1=8.8.8.8 #网卡DNS地址
BROADCAST=192.168.1.255 #网卡广播地址 

查看ip:
ip addr
------------------------------------
//静态ip设置
TYPE="Ethernet"
BOOTPROTO="static"
IPADDR=192.168.1.11    //改
NETMASK=255.255.255.0
GATEWAY=192.168.1.1   //改
DNS1=8.8.8.8
BROADCAST=192.168.1.255  //改
ONBOOT="yes"

最后一个操作:
	重启network服务
	systemctl  restart network
	ip addr 如果没有显示改动 重启虚拟centos电脑
3.防火墙
centos7的防火墙程序服务名为:firewalld

防火墙配置命令:firewall-cmd
防火墙帮助:
fireweall-cmd --help

查看防火墙状态:
firewall-cmd --state

查看所有打开的端口:
firewall-cmd --zone=public --list-ports

开启端口:
firewall-cmd --zone=public --add-port=端口号/tcp --permanent(--permanent参数为永久生效,不加则重启后失效)
例如:firewall-cmd --zone=public --add-port=3306/tcp --permanent(记住开启后需要更新防火墙才生效)

更新防火墙规则:
firewall-cmd --reload

删除端口:
firewall-cmd --zone=public --remove-port=端口号/tcp --permanent

关闭防火墙	
systemctl  stop firewalld
systemctl disable firewalld
//防火墙打开端口就可以避开防火墙,防火墙就是根据端口防护的,例如要想访问mysql,我们就可以通过开启端口3306,放它进来
五.软件的安装
1.rpm
rpm 常用命令
安装一个包 
# rpm -ivh <包名>
rpm -ivh  --nodeps  <包名>  : 如果该RPM包的安装依赖其它包,即使其它包没装,也强迫安装。 
--force 即使覆盖属于其它包的文件也强迫安装 

查询一个包是否被安装 
# rpm -q <软件名>

得到被安装的包的信息 
# rpm -qi < 软件名> 

列出该包中有哪些文件 
# rpm -ql < 软件名> 

列出服务器上的一个文件或目录属于哪一个RPM包 
#rpm -qf <文件或目录名>

列出所有被安装的rpm package 
# rpm -qa 

卸载一个包 
# rpm -e <软件名>

//有安装包,知道依赖关系使用rpm
2.yum
1 配置一个自定义的仓库地址
	/etc/yum.repos.d
	local.repo
2 安装命令
	yum install 
3 查看软件包
	yum list |grep mysql
	yum list installed
4 卸载软件包
	yum remove  

//没安装包, 不知道依赖关系,使用yum

//修改yum源
yum install wget -y

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo_bak

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum makecache

#更新系统软件,不执行
yum -y update
六项目部署
1.jdk的安装
1:将jdk拉入linux路径: /usr/local/software

2:将jdk解压到指定的路径
cd  /usr/local/software
tar -zxvf jdk-8u161-linux-x64.tar.gz  -C /usr/local

3:给解压后的文件目录改过好操作的名字, 可以不改
 mv  jdk1.8.0_161  jdk1.8

4:备份配置环境变量文件
 注意,设置前先备份,养成习惯
cp /etc/profile /etc/profile_bak

5:修改配置环境变量文件
vi  /etc/profile 

在随便空白地方输入:
export JAVA_HOME=/usr/local/jdk1.8    #设置java_home
export PATH=$JAVA_HOME/bin:$PATH   #设置环境变量, 跟window区别,是  :  分隔的

大小写必须一致

6:重写加载环境变量
source /etc/profile

7:测试
java -version

//看到下面这个结果表示安装成功

java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
2.tomcat的安装
1:将tomcat安装包拉入linux路径: /usr/local/software

2:将tomcat解压到指定的路径
cd  /usr/local/software
tar -zxvf apache-tomcat-7.0.78.tar.gz -C /usr/local

3:切换到tomcat的 bin目录
cd /usr/local/apache-tomcat-7.0.78/bin

4:执行tomcat启动命令
 ./startup.sh     #注意有点.5:此时因为防火墙没有开辟8080端口,需要开通, 并重启
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

6:访问测试tomcat是否启动
http://192.168.168.131:8080/   #注意: 192.168.168.131 这个是自己的虚拟主机的ip

-----------------------------------------------------------------------------------------
7:观看tomcat运行日志

cd /usr/local/apache-tomcat-7.0.78/logs

tail -f catalina.out  #查看新增日志

8:选中SecureCRT的连接会话拷贝一份
cd /usr/local/apache-tomcat-7.0.78/bin
 ./startup.sh 

9:切换回到刚刚查看日志命令,可以看到日志打印

10:tomcat 关闭
方式1: 
cd /usr/local/apache-tomcat-7.0.78/bin
 ./shutdown.sh

方式2:
ps -ef | grep java  #找到进程id
kill  进程id
3.mysql数据库的安装
安装mysql5.7
1、先把postfix 和mariadb-libs卸载掉,不然的会有依赖包冲突:
[root@wolfcode]#  rpm -e postfix mariadb-libs

2、安装mysql的依赖net-tools和 perl
yum -y install net-tools perl

3、安装mysql-common包:
[root@wolfcode]#  rpm -ivh mysql-community-common-5.7.22-1.el7.x86_64.rpm

4、安装mysql-libs包:
[root@wolfcode]# rpm -ivh mysql-community-libs-5.7.22-1.el7.x86_64.rpm

5、安装mysql-client包;
[root@wolfcode]# rpm -ivh mysql-community-client-5.7.22-1.el7.x86_64.rpm

6、安装mysql-server包
[root@wolfcode]# rpm -ivh mysql-community-server-5.7.22-1.el7.x86_64.rpm

5、设置开机启动:
	[root@wolfcode]#  systemctl enable mysqld

6、启动MySql服务
	[root@wolfcode]#  systemctl start mysqld

7、由于MySQL5.7安装好后会给root用户分配一个临时密码,所以我们先查看临时密码
[root@wolfcode]#  grep 'temporary password' /var/log/mysqld.log
2018-06-01T19:40:08.341478Z 1 [Note] A temporary password is generated for root@localhost: Ct<pX.k7S(=w

//冒号后面的就是root用户的临时密码:Ct<pX.k7S(=w

8、使用临时密码登录
	[root@wolfcode]#  mysql -u root -p
输入密码:Ct<pX.k7S(=w
	
9、设置root的密码
	mysql>ALTER USER 'root'@'localhost' IDENTIFIED BY 'Wolfcode_2019';
	mysql> exit
//注意:mysql5.7增加了安全级别,密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。

10、用新密码登陆
	[root@wolfcode]#  mysql -u root -p
输入密码:Wolfcode_2019

11、开放远程登录权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'Wolfcode_2019'  WITH GRANT OPTION;
	mysql> FLUSH PRIVILEGES;

12、开放mysql的3306端口
[root@wolfcode]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
[root@wolfcode]# firewall-cmd --reload

如果出现乱码:
在链接地址栏后添加useUnicode=true&characterEncoding=utf-8
4.redis的安装
最新稳定版: https://redis.io/download  官方提供的


1:将redis安装包拉入linux路径: /usr/local/software

2:将redis解压到指定的路径
cd  /usr/local/software
 tar -zxvf redis-3.2.9.tar.gz -C /usr/local

3:进入redis主目录
cd  /usr/local/redis-5.0.5/

4.安装gcc编译器
yum install -y gcc

6:编译redis
cd  /usr/local/redis-5.0.5/
make

7:安装redis 服务
cd  /usr/local/redis-5.0.5/src
make install

8:修改配置文件redis.conf
vi /usr/local/redis-3.2.9/redis.conf    
	将redis配置的 : daemonize:后台运行,值为yes | no 默认为no  

9:启动redis服务
/usr/local/redis-3.2.9/src/redis-server    /usr/local/redis-3.2.9/redis.conf

10:验证启动是否成功:
ps -ef | grep redis   #查看是否有redis服务或者查看端口:     netstat -tunpl | grep 6379


11:设置远程连接
vi /usr/local/redis-3.2.9/redis.conf    
注释掉
#bind 127.0.0.1 
改为
bind  0.0.0.0

12:停掉redis, 重新启动
ps -ef | grep redis 
kill 进程号
/usr/local/redis-3.2.9/src/redis-server    /usr/local/redis-3.2.9/redis.conf

13 : 防火墙开放6379
firewall-cmd --zone=public --add-port=6379/tcp --permanent
 firewall-cmd --reload

14:远程连接
 firewall-cmd --reload
5.mongodb的安装
1:将mongodb安装包拉入linux路径: /usr/local/software

2:安装mongodb
cd  /usr/local/software
rpm -ivh  mongodb-org-server-4.0.10-1.el7.x86_64.rpm

3:修改mongodb配置文件满足远程连接
vi /etc/mongod.conf
	bindIp: 0.0.0.0  # 0.0.0.0 绑定所有的网卡

4:启动mongodb
	systemctl start mongod

5:开放防火墙端口

firewall-cmd --zone=public --add-port=27017/tcp --permanent
 firewall-cmd --reload

6:navicat连接
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值