Linux入门级别知识详解(二)

Linux

Linux的网络信息

主机名称

  • 临时修改 hostname zhangsan(主机名)
  • 长久修改 vi /etc/hostname 在此文件中写的内容就是主机名

DNS解析

  • 域名解析服务,可以将域名转为IP地址
  • DNS域名劫持
    • Windows–> C:\Windows\System32\drivers\etc\hosts 此文件最后加入IP和域名即可,如``123.56.138.186 www.baidu.com`访问百度就会访问你配置的IP
    • Linux下,vi /etc/hosts 修改此文件即可

网络相关命令

  • ifconfig 查看当前网卡的配置信息,需要手动安装此命令yum install net-tools -y;不下载使用 ip addr也可以。
  • netstat
    • 查看当前网卡的配置信息
    • 一个机器默认有65536个端口号[0,65535]
  • ping 查看与目标IP的地址能否连通,如ping www.baidu.com
  • telnet 查看与目标IP的指定端口能否连通如telnet 192.168.31.44 22 ,使用需安装yum install telnet -y
  • curl
    • 我们所有的资源在网络上都有唯一的定位,可以通过这唯一定位标识指定的资源
    • curl -X GET http://www.baidu.com

防火墙

  • 防火墙帮助计算机网络于其内外网之前构建一道相对隔绝的保护屏障

  • #查看防火墙状态
    systemctl status firewalld.service
    #临时停止firewall
    systemctl stop firewalld.service
    #禁止firewall开机启动
    systemctl disable firewalld.service
    
    firewall-cmd --state ##查看防火墙状态,是否是running
    firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
    firewall-cmd --get-zones ##列出支持的zone
    firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
    firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
    firewall-cmd --add-service=ftp ##临时开放ftp服务
    firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
    firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
    firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
    
  • 开启一个端口的操作

    # 添加
    firewall-cmd --zone=public --add-port=80/tcp --permanent
    #重新载入
    firewall-cmd --reload
    #查看
    firewall-cmd --zone=public --query-port=80/tcp
    #删除
    firewall-cmd --zone=public --remove-port=80/tcp --permanent
    

加密算法

不可逆加密算法
  • 可以通过数据计算加密后的结果,但是通过结果无法计算出加密数据
  • 应用场景用户名或者密码加密后数据库存储(数据库大多数不会存储关键信息的明文,就像很多登录功能的忘记密码不能找回,只能重置)
对称加密算法
  • 加密和解密使用相同的密钥
  • 生成密钥的算法公开、计算量小、加密速度快、加密效率高、密钥较短
  • 应用场景:登录信息用户名和密码加密、传输加密、指令加密
非对称加密
  • 非对称加密算法需要一对密钥(两个密钥)
    • 公开密钥(publickey)和私有密钥(privatekey)(简称公钥,私钥)。
    • 公开密钥与私有密钥生成时是一对
    • 用公钥加密只能是对应的私钥解密,同理用私钥加密只能用对应的公钥解密。
  • 安全性高,加解密相对速度慢,密钥长计算量大,效率低
  • 应用场景:HTTPS(ssl)证书里制作、CRS请求证书、金融通信加密、蓝牙等硬件信息加密配对传输、关键的登录信息验证。
    在这里插入图片描述

Linux主机间的相互免密钥

  • 可以通过ssh命令免密钥连接到其他主机

  • 生成密钥ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

  • 如果你想免秘钥登录谁,只需要把自己的公钥传递给对方主机即可,这个秘钥要放在 ~/.ssh/authorized_keys ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.58.201

  • 如果是第一次建立连接,会有主机名与host校验,输入yes即可

    • 在 ~/.ssh/known_hosts 文件记录了以前访问地址(ip hostname)的信息

    • 在访问地址的时候如果没有收录到known_hosts文件中,就需要输入yes

    • 如果以前收录到known_hosts中,直接输入密码即可
      在这里插入图片描述

    • 解决方案(不校验直接连接)

      • 只有本次生效Cannot determine realm for numeric host

      • 永久生效修改/etc/ssh/ssh_config文件的配置,以后则不会再出现此问题,在其最后添加:

      • StrictHostKeyChecking no
        UserKnownHostsFile /dev/null
        

在这里插入图片描述

  • 相互免密钥原理图
    在这里插入图片描述

日期与时间

时间命令

  • 查看时区 ll /etc/localtime

  • 查看当前系统时间 date

  • 查看日历 cal

  • 修改时间

    date -s 11:11:11
    date -s 2019-11-11
    date -s '2019-11-11 11:11:11
    

日期自动同步

  • 安装时间同步服务yum install ntp -y

  • 自动同步网络时间中心ntpdate cn.ntp.org.cn

  • 如果需要同步本地另一台主机(假设b主机同步a主机的时间)

    • a主机下修改vi /etc/ntp.conf 最后追加如下

      #========权限控制============
      restrict default kod nomodify notrap nopeer noquery 拒绝IPV4用户
      restrict -6 default kod nomodify notrap nopeer noquery 拒绝IPV6用户
      restrict 210.72.145.44 授权国家授时中心服务器访问本地NTP
      restrict 133.100.11.8 授权133.100.11.8访问本地NTP
      restrict 127.0.0.1
      restrict -6 ::1
      restrict 192.168.88.2 mask 255.255.255.0 nomodify 本地网段授权访问
      #=========源服务器===========
      server cn.ntp.org.cn prefer 指定上级更新时间服务器,优先使用这个地址
      #=========差异分析===========
      driftfile /var/lib/ntp/drift
      keys /etc/ntp/keys
      
    • a主机下,开启本地NTP服务器systemctl start ntpd.service

    • b主机下同步a主机时间ntpdate 192.168.88.100(a主机ip)

用户-组-权限

用户

  • 新增用户,会创建同名的组和家目录useradd zhangsan(用户名)
  • 设置密码passwd zhangsan
  • 删除用户,级联删除家目录和组userdel -r zhangsan(用户名)
  • 修改用户信息
    • usermod -l lisi(新名) zhangsan(旧名) 修改用户名,家目录和组名称不会被修改
    • usermod -L zhangsan 锁定用户名
    • usermod -U zhangsan 解锁用户名
  • cat /etc/shadow 展示所有用户的用户名和密码
  • cat /etc/passwd 展示用户名,编号,组编号,家目录,命令,目录
  • 切换账户 su zhangsan

  • 创建组 groupadd spring
  • 删除组 groupdel spring
  • 修改组名字 groupmod -n redis(新名) spring(原名)
  • 查看用户对应的组
    • groups
    • groups redis
  • 修改用户的组
    • usermod -g lucky(组名) spring(用户名) 修改主组
    • usermod -G lucky(组名) spring(用户名) 修改附属组,可加多个附属组

权限

在这里插入图片描述

查看文件的权限
  • d 文件类型
  • rwxr-xr-x,权限列表,三组权限每组三个字母
    • r:读取权限
    • w:写入权限
    • x:执行权限
    • -:没有权限
  • root(第一个):所属用户(属主)
  • root(第二个):所属的组(属组)
    在这里插入图片描述
权限的UGO模型
  • 三组权限,属主的权限(u):属组的权限(g):其他的权限(o)
  • 所以说修改文件的权限,可以从rw和ugo两个方面进行修改
修改文件的权限
  • 修改文件所属
    • chown user(用户名) test.txt(文件)
    • chown user:zhangsan(组名) test.txt
    • chown -R user:zhangsan temp(文件夹)
  • 修改文件的权限
    • ugo+rwx
权限赋予
  • 我们可以将管理用的权限分配给普通用户,文件位置在/etc/sudoers,修改这个文件需要使用命令visudo,在第99行之后追加如下

    zhangsan(用户名) ALL=(root) /sbin/useradd(需要给的权限)
    zhangsan ALL=(root) /sbin/   
    
  • 使用: su zhangsan sudo chkconfig iptables off

管道与重定向

管道

  • 将前面的命令结果作为参数传递给后面的命令
  • grep 强大的文本搜索工具 如:cat profile | grep if

重定向

  • 改变数据输出的位置,方向
  • 写出方式 >覆盖 >>追加
  • 写出类型1标准输出 2错误输出 2>&1全部输出
    在这里插入图片描述

Linux的系统进程

进程信息

  • ps -ef 查看所有进程

    • UID 所属用户
    • PID当前进程编号
    • PPID当前进程编号的父进程编号
  • ps -ef | grep redis 查看redis的进程

  • ps -aux 查看所有进程的所有信息

  • top 查看当前服务器内存使用率

后台进程

  • 只需要在正常的命令后面添加一个&符号 如ping www.baidu.com >> baidu & 将ping百度的标准信息重定向到baidu这个文件中,且后台运行这个命令

  • jobs -l 可以查看当前的后台进程,但是只有当前用户界面可以获取到

  • nohup 可以防止后台进程被挂起

杀死进程

  • kill -9 进程号

Linux软件安装

环境变量

  • 当我们执行一个命令时,默认从当前路径开始查找,如果当前路径找不到对应的命令文件,从环境变量 P A T H 查 找 ; PATH查找; PATH;PATH配置文件在/etc/profile

  • window 路径与路径之间用;(分号)连接; Linux路径与路径之间用:(冒号)连接

  • Linux每次修改完成之后,需要重新加载文件 source /etc/profile
    在这里插入图片描述

软件的安装方式

  • 压缩包安装,解压就可以使用
  • 使用安装包安装(Wubdiws-exe; Linux-rpm)
    • 自己下载安装包
    • 使用统一的软件帮助我们安装
  • 通过源码安装
RPM安装(以安装JDK为例)
  • RedHat Package Manager,它属于红帽的一种包管理方式(独有的)

  • 查询软件安装包

    • rpm -qa 查询所有的安装包
    • rpm -qa | grep jdk 查询指定的安装包(注意要使用安装后的名字)
  • 安装软件 rpm -ivh jdk-7u67-linux-x64.rpm

  • 卸载 rpm -e jdk-1.7.0_67-fcs.x86_64

  • 手动配置JAVA的环境变量

    • vim /etc/profile

    • export JAVA_HOME=/usr/java/jdk1.7.0_67
      export PATH=$JAVA_HOME/bin:$PATH
      
    • 重新加载配置文件source /etc/profile

压缩包解压安装(以安装tomcat为例)
  • 上传压缩文件到linux
  • 解压文件 tar -zxf apache-tomcat-7.0.61.tar.gz
  • 拷贝到/opt/bdp目录下 cp -r apache-tomcat-7.0.61 /opt/bdp
  • 启动tomcat
    • cd /opt/bdp/apache-tomcat-7.0.61/bin/
    • ./startup.sh
YUM安装
yum的作用
  • 可以帮助我们管理rpm包(类似于maven)
  • 可以帮我们安装软件
  • 如果软件有其他依赖会帮我们安装依赖后在安装软件
yum命令
  • search 查询命令或者软件
  • info 查看包的信息
  • list 查询安装的rpm包
更换yum源
  • 首先安装wget yum install wget -y
  • 将系统原始配置文件失效mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  • 使用Wget获取阿里yum源配置文件wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  • 清空以前的yum源的缓存 yum clean all
  • 获取阿里云的缓存 yum makecache
安装mysql
#----------安装Mysql依赖【perl net-tools】
yum install perl net-tools -y
#----------卸载mariadb
rpm -qa | grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
#----------安装mysql
tar -xvf mysql-8.0.18-1.el7.x86_64.rpm-bundle.tar
rpm -ivh mysql-community-common-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-8.0.18-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-8.0.18-1.el7.x86_64.rpm
#----------启动mysql
systemctl start mysqld
#----------查找密码并登陆Mysql
cat /var/log/mysqld.log | grep password
mysql -u root -p
#----------修改Mysql密码 8.0版本输入命令:
set global validate_password.policy=LOW;
set global validate_password.length=6;
#更改加密方式
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
#更新用户密码
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
#刷新权限
FLUSH PRIVILEGES;
#----------修改Mysql密码 5.7版本输入命令:
set global validate_password_policy=LOW;
set global validate_password_length=6;
alter user root@localhost identified by '123456';
#----------修改Mysql链接地址
use mysql;
update user set host='%' where user = 'root';
commit;
exit;
systemctl restart mysqld;
#----------使用Navicat连接Mysql测试

Linux的三剑客

普通剑客

  • cut 用指定的规则来切分文本
  • sort 对文本中的行进行排序
  • wc 统计单词的数量

剑客1号:grep

  • 可以对文本进行搜索

剑客2号:sed

  • sed 是Stream Editor(字符流编辑器)的缩写,简称流编辑器

剑客3号:awk

  • awk是一门语言
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值