• Linux了解一下


    VMware与CentOS系统安装

      1, 下载CentOS系统ISO镜像:

      国内镜像源

    https://opsx.alibaba.com/mirror#阿里云官方镜像站
    iso下载地址(此DVD映像包含可以使用该软件安装的所有软件包安装程序。这是大多数用户的推荐图像):
    https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso

      2, 安装VMware虚拟机

      虚拟机能让用户在一台机器上模拟出多个操作系统的软件,一般的机器配置能够胜任虚拟机的任务.

      虚拟机不但可以虚拟出硬件资源,把实验环境与真机文件分离保证数据安全,还能在删掉系统核心配置时,有'快照'的功能,立即恢复到出错前的状态.

      (Windows用户)VMware Workstation是一款功能强大的桌面虚拟计算机软件,提供用户可在单一的桌面上同时运行不同的操作系统,

    和进行开发、测试 、部署新的应用程序的最佳解决方案。
      下载激活地址:http://www.zdfans.com/html/5928.html
      (Mac用户) VMware fusion
      简单的说,虚拟机(virtual Machine)软件就是一套特殊的软件,同时可以用“多个操作系统”
      虚拟出硬件+操作系统==服务器+OS
      误区:学Linux不需要再物理机上安装,费时费力,采用虚拟机是最合适的方式

      Linux学习环境推荐电脑配置:
        笔记本电脑: 内存 8G ; 磁盘 500G SATA或者120G SSD ; i3, i5, i7处理器.
      
      Linux是一个多用户,多任务,支持多线程和多CPU的操作系统
      
      通过VM虚拟机学习Linux的优点:
        利用虚拟机搭建Linux学习环境简单方便, 容易上手, 最重要的是虚拟机的Linux和真实服务器
        几乎无区别;
        搭建Linux集群或者需要模拟多台服务器通信的时候,可以同时开启好几台虚拟机,虚拟机可以满足多机器的需求;
        自己租服务器可以搭建Linux环境,用于个人开发学习使用;
        允许修改虚拟(服务器)机配置,且不会影响自己的电脑,想删除虚拟机也不会影响电脑,虚拟机只是运行在电脑上的一个程序.

      安装VM注意:
        1, 秘钥自己网上搜即可,要配合版本;
        2, 安装成功后创建新的虚拟机,在新建虚拟机向导中选择'自定义';
        3, 在安装客户机操作系统时, 选择'稍后安装操作系统';
        4, 在选择磁盘时,选中 '创建新虚拟磁盘';
        5, 在指定磁盘容量时,选择'将虚拟机磁盘拆分成多个文件';
        6, 点击'自动检测',选择已经下好的ISO文件
        ...

      root密码重置:
        在重启Linux系统主机并出现引导界面时,按下键盘上的e键进入内核编辑界面

      
        在Linux16参数行的最后追加'rd.break'参数,然后按下Ctrl+X组合键来运行修改的内核程序

        等待之后,进入系统紧急求援模式

        依次输入以下命令,等待系统重启操作完毕,然后就可以使用新密码来登录Linux系统了   

    mount -o remount,rw /sysroot
        chroot /sysroot
        passwd
        touch /.autorelabel
    exit reboot

      在安装VM和CentOS过程中可能还有其他问题,如电脑不兼容等问题,自行查资料或请教他人解决.

    远程连接: 

        这里只用Xshell软件进行连接.

           获取主机IP地址 : 

        

    方式1 ip addr
    方式2 ifconfig

       网络模式配置: 

        host only 仅主机,单机模式,电脑控制虚拟令其无法与外界通信

        nat模式(网络地址转换)

        --- 电脑宿主机的ip在局域网内是唯一的, 选择了NAT模式创建虚拟机,虚拟机就是一个新的局域网

        --- 虚拟机的IP地址是nat分配的,电脑网络环境改变不会影响虚拟机

        桥接模式: 

        --- 用该模式,就是局域网中一台独立的主机,他可以访问该网段任意一台机器.

        --- 虚拟机受电脑网络环境的影响,随时改变ip地址

      端口 

        一台服务器可以有一个ip地址,例如是192.168.11.1,服务器是需要对外提供服务的,例如web服务,FTP服务。那么仅凭ip地址,主机无法区分不同的服务,ip地址和网络服务是一对多的关系,一个ip提供多个服务,因此就有了“端口号”来区分不同的服务器的。

        端口(port) 的设计规定是有65536个端口,每个端口对应唯一的程序,0-1024端口之间被操作系统占用,因此开发人员使用的是1024-65536

        如 : ftp : 23    dns: 53   http : 80    https: 443    ssh : 22

      

      协议 : 

        protocol是为网络中的数据交换而建立的规则,标准或者约定,俩个实体要通信,必须要有同一种语言.

        超文本传输协议: HTTP ; 文件传输协议: FTP ; 简单邮件传输协议: SMTP

        网络通信协议: TCP ; 用户数据报协议: UDP

      连接服务器: 

        首先打开服务器,并获取ip,

        然后,在Xshell中输入 :  ssh 用户名@ip,

        随后输入用户名称和密码即可.

        Ctrl+Alt+F[1~6],如果要切换到第二号虚拟机终端, 则同时按Ctrl+Alt+F2

        普通用户登录后系统提示符:$ ; root用户登录后系统提示符: # 

      查看终端信息shell命令

        tty 查看当前终端 ;  

        who am i 仅显示当前用户正在使用的终端和登录时间

        w  查看所有终端, (功能最全,显示用户名,登陆时间,负载等信息)

    Linux 常用命令

      Linux命令就是一个可执行的二进制程序

      网卡配置: 

      装好Linux后,有的时候网卡默认是没启动的,因此需要手动启动网卡:

        编辑网卡配置文件-- vi /etc/sysconfig/network-scripts/ifcfg-etho

        (注意ifcfg-etho表示ip所在的当前文件夹)

        修改配置参数-- ONBOOT=yes

      

      

    网络配置文件:
    /etc/sysconfig/network
    
    网络接口配置文件:
    /etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME
    DEVICE=: 关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致; 
    BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;
      dhcp表示使用DHCP服务器获取地址; IPADDR
    =: IP地址 NETMASK=:子网掩码 GATEWAY=:设定默认网关; ONBOOT=:开机时是否自动激活此网络接口; HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省; USERCTL={yes|no}: 是否允许普通用户控制此接口; PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;

      注意: dhclient 能够手动获取ip地址,再使用ip addr 即可查看.

          service network restart   重启网络即可.

      ifup, ifdown命令 

      表示启动/关闭一块网卡;

      ifup ens33     ;    ifdown ens33

      他们是直接连接到/etc/sysconfig/network-scripts目录下搜索对应的网卡文件,如: ifcfg-ens33

      

      ifconfig命名(并非系统自带,需要下软件包:yum install net-tools -y)

      ifconfig 查看网卡ip地址

    直接输入ifconfig会列出已经启动的网卡,也可以输入ifconfig ens33单独显示ens33的信息
    各选项解释是:
    eth0    网卡的代号 
    lo        回环地址loopback
    inet    IPv4的Ip地址
    netmask    子网掩码
    broadcast    广播地址
    RX/TX     流量发/收情况     tx是发送(transport),rx是接收(receive)
    packets     数据包数
    errors     数据包错误数
    dropped    数据包有问题被丢弃的数量
    collisions    数据包碰撞情况,数值太多代表网络状况差

      ifdown 关闭网卡  

       ip 命令

       ip是一个命令,结合了ifconfig和route俩个命令的功能

       ip addr show 查看ip信息

       系统信息:

    #查看系统版本信息
    cat /etc/redhat-release 
    CentOS Linux release 7.4.1708 (Core) 
    #查看内核版本号
    uname -r
    3.10.0-693.el7.x86_64
    #查看系统多少位
    uname -m
    x86_64
    #查看内核所有信息
    uname -a

      ls 查看Linux文件夹信息 list缩写 , Linux中白色的是普通文件,蓝色的是目录文件

      pwd 打印当前工作目录--print work

      mkdir 创建文件夹   

        如: mkdir 文件夹名        创建单个文件夹 ; 

           mkdir 文件夹1 文件夹2文件夹3      创建多个文件夹

      cat 查看Linux文本(查看纯文本文档,常用于内容较少的)

      

    #查看文件,显示行号
    cat -n xxx.py
    #查看文件
    cat xxx.py
    
    #在每一行的结尾加上$符
    [root@master tmp]# cat -E 1.txt
    
    #追加文字到文件
    cat >>/tmp/oldboy.txt << EOF(此处表明退出的标识)
    唧唧复唧唧...
    (此处写追加的内容)
    EOF

      

      cd change 目录     表示更改目录  ; cd 目录   表示切换/更改当前目录或位置  如: cd /home  

      touch  创建普通文本

        如: touch 文件名

           touch 文件1 文件2 文件3

      echo  显示变量的值/显示当前字符串

        如: echo 'pan 是个大傻逼'

      

      cat filename.txt -n 查看文本内容 显示行号

      more 用于查看大文件

        more 命令查看文本会以百分比的形式显示已经看了多少,

        回车键向下读取内容 ; 按空格(space)翻页 ; 按b键是上一页 

      拷贝命令 : cp 文件1 文件2 ;  cp -r 递归拷贝文件

      find 查找文件命令   表示从哪找  啥类型 找什么(find 目录 类型 名字)   

    #Linux里如何找到需要的文件 例如 oldboy.py
    find 在哪里(目录) 什么类型(文件类型) 叫什么名字(文件名)
    参数
    
    -name 按照文件名查找文件
    -type 查找某一类型的文件,诸如:
    b - 块设备文件。
    d - 目录。
    c - 字符设备文件。
    p - 管道文件。
    l - 符号链接文件。
    f - 普通文件。
    s - socket文件
    
    
    find /tmp/ -type f  -name "oldboy.py"
    
    #找出/tmp所有以 .txt 结尾的文件
    find /tmp/ -type f -name "*.txt"
    
    #找到/etc下所有名字以host开头的文件
    find /etc -name 'host*'
    
    #找到/opt上一个名为settings.py
    find /opt -name 'settings.py'

        

      Linux 快捷键:

        tab键: 用于自动补全命令/文件名/目录名

        Ctrl + 1 清理终端信息

        clear/cls  清理终端显示

        Ctrl + c 终止当前操作

      echo : 

        用于在终端输出字符串或者变量提取后的值,格式是'echo 字符串|$变量'

    #默认吧内容显示到终端上    
    echo "pan"
    #把“pan”写入到文件里!
    echo "pan" > /tmp/chaoge.txt
    echo $PATH #取出打印PATH的值

      特殊符号 

        输出/输入 重定向符号

         >>  追加重定向,把文字追加到文件的结尾

         >     重定向符号,清空源文件内容, 然后把文字覆盖到文件末尾

         <   输入重定向

         <<    将输入结果输入重定向

        如: echo 'pan' > /tmp/pan.txt

           echo 'pan66' >> /tmp/pan.txt

           cat >> /tmp/pan.txt << EOF

           把命令执行的结果信息,写入到文件

          ip addr > /tmp/network.txt  标准输出重定向 把命令执行结果信息放到文件中

        通配符:   

          ls -l 文件

        

      vim 支持编程的文本编辑器(不是系统默认命令,需要下载)

        vim 具有程序编辑能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计. 

        vim filename.txt 进入命令模式后,可以输入各种命令

        :set nu  显示行号 (需要先按Esc键)

        在光标所在行 yy 复制本行 ; 在光标所在行 dd 删除本行

        5yy 表示复制5行 , 5dd 表示删除5行

    #方法,命令
    vi
    vim
    使用vi打开oldboy.py,默认是命令模式,需要输入a/i进入编辑模式,然后输入文本"Life is short,i use python"
    按下esc键,回到命令模式
    输入  :wq!  强制保存退出
    w write 写入
    q quit 退出
    ! 强制
    或者  :x 保存退出
    ------
    :q  不保存退出
    :q! 不保存强制退出

      vi   Linux底下的文本编辑器(相当于记事本)

        vi 文件   此时进入一个命令模式,需要先输入i字母插入指令,便可进行编辑.

        编辑完成后,先按esc回到命令模式,再按下 : 然后输入wq!  保存退出. w表示write写入; q 表示 quit 退出 ; ! 表示强制性.   若不保存退出 输入 q! .

      复制 : 

    copy ==> cp
    #移动xxx.py到/tmp目录下
    cp xxx.py /tmp/
    #移动xxx.py顺便改名为chaoge.py
    cp xxx.py /tmp/chaoge.py
    
    Linux下面很多命令,一般没有办法直接处理文件夹,因此需要加上(参数) 
    cp -r 递归,复制目录以及目录的子孙后代
    cp -p 复制文件,同时保持文件属性不变    可以用stat
    cp -a 相当于-pdr
    #递归复制test文件夹,为test2
    cp -r test test2
    
    cp是个好命令,操作文件前,先备份
    cp main.py main.py.bak

      移动命令:

    move > mv
    
    cd /home
    #把日本的冲绳,搬到南海去
    mv /home/riben/chongsheng /tmp/nanhai
    
    文件/文件夹改名
    mv x.log xx.log

       

      删除命令:  

    remove ==> rm
    参数  -i  需要删除确认
       -f  强制删除
         -r  递归删除目录和内容
         
    cd /tmp
    rm oldboy.py
    #默认有提示删除,需要输入y
    rm -f oldboy.py #不需要提示,强制删除
    #rm默认无法删除目录,需要跟上参数-r
    rm -rf /tmp/oldboy/
    
    --------
    友情提醒:初学者使用rm命令,随时快照虚拟机

      管道命令:   

    Linux提供的管道符“|”将两条命令隔开,管道符左边命令的输出会作为管道符右边命令的输入。
    常见用法:
    #检查python程序是否启动
    ps -ef|grep "python"
    
    #找到/tmp目录下所有txt文件
    ls /tmp|grep '.txt'
    
    #检查nginx的端口是否存活
    netstat -tunlp |grep nginx

      grep 

        是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来.

    语法:
    grep [参数] [--color=auto] [字符串] filename
    参数详解:
    -i : 忽略大小写
    -n : 输出行号
    -v : 反向选择
    --color = auto : 给关键词部分添加颜色
    
    grep "我要找什么" /tmp/oldboy.txt
    #排除 -v,排除我要找的东西
    grep -v "我要找什么 /tmp/oldboy.txt

      如: 找出目录下root用户所在行,以及行号,显示颜色

        cat /etc/passwd |grep '^root' --color=auto -n

       找出..所有不允许登录的用户

        grep /sbin/nologin /etc/passwd

        找出..的所有与mysql有关行,行号

         cat /etc/passwd |grep 'mysql' -n

      head, tail命令

    head显示文件前几行,默认前10行
    tail显示文件后几行,默认后10行
    #查看前两行
    head -2 /tmp/oldboy.txt
    #查看后两行
    tail -2 /tmp/oldboy.txt
    #持续刷新显示
    tail -f xx.log
    
    #显示文件10-30行
    head -30 /tmp/oldboy.txt |tail -21

      别名: 

    Linux如何提示你,在使用这些命令时候,提醒你小心呢?
    #查看系统别名
    alias
    默认别名
    
    alias cp='cp -i'
    alias egrep='egrep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias grep='grep --color=auto'
    alias l.='ls -d .* --color=auto'
    alias ll='ls -l --color=auto'
    alias ls='ls --color=auto'
    alias mv='mv -i'
    alias rm='rm -i'
    alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
    别名作用是:
    我们在linux中使用cp时候相当于执行了cp -i
    -i:删除已有文件或目录之前先询问用户;
    #别名用比较危险的操作,防止你犯错

      设置rm别名 

    #让系统显示 do not use rm
    echo do not use rm
    #设置rm别名
    alias rm='echo do not use rm'
    #设置别名永久生效,写入到/etc/profile(针对登录用户的合同,设置环境变量)
    vim /etc/profile #编辑文件
    G  快速到达最后一行
    o  当前行下一行,创建一个新行,进入编辑模式
    source /etc/profile #读取文件(合同生效)
    ---------------
    #取消别名
    unalias rm

      which命令: 

    which命令用于查找并显示给定命令的绝对路径,环境变量PATH中保存了查找命令时需要遍历的目录。
    which指令会在环境变量$PATH设置的目录里查找符合条件的文件。
    也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。
    which pwd
    which python

    which python #python命令在哪
    /usr/bin/python #命令文件绝对路径

        scp 命令: 

          Linux scp命令用于Linux之间复制文件和,目录.

       scp是secure copy的缩写,scp是Linux系统下的基于

       语法: scp 参数 本地文件 远程文件标记

       参数:  

    -r :递归复制整个目录
    -v:详细方式输出
    -q:不显示传输进度条
    -C:允许压缩

      实例: 

    #传输本地文件到远程地址
    scp 本地文件  远程用户名@远程ip:远程文件夹/
    scp 本地文件  远程用户名@远程ip:远程文件夹/远程文件名
    
    scp /tmp/chaoge.py root@192.168.1.155:/home/
    scp /tmp/chaoge.py root@192.168.1.155:/home/chaoge_python.py
    
    scp -r  本地文件夹  远程用户名@远程ip:远程文件夹/
    scp -r /tmp/oldboy root@192.168.1.155:/home/oldboy
    
    #复制远程文件到本地
    scp root@192.168.1.155:/home/oldboy.txt /tmp/oldboy.txt
    scp -r root@192.168.1.155:/home/oldboy /home/

      du命令: 

        Linux du命令用于显示目录或文件的大小

        du会显示指定的目录或文件所占用的磁盘空间  

    用法
    du 【参数】【文件或目录】
    -s 显示总计
    -h 以k,M,G为单位显示,可读性强

        实例:  

    显示目录或文件所占空间
    #什么都不跟,代表显示当前目录所有文件大小
    du   
    
    #显示/home的总大小
    du -sh /home

      top 命令:

      

    第一行 (uptime)
    系统时间 主机运行时间 用户连接数(who) 系统1,5,15分钟的平均负载
    第二行:进程信息
    进程总数 正在运行的进程数 睡眠的进程数 停止的进程数 僵尸进程数
    第三行:cpu信息
    us:用户空间所占CPU百分比
    sy:内核空间占用CPU百分比
    ni:用户进程空间内改变过优先级的进程占用CPU百分比
    id:空闲CPU百分比
    wa:等待输入输出的CPU时间百分比
    hi:硬件CPU中断占用百分比
    si:软中断占用百分比
    st:虚拟机占用百分比
    
    第四行:内存信息(与第五行的信息类似与free命令)
    total:物理内存总量
    used:已使用的内存总量
    free:空闲的内存总量(free+used=total)
    buffers:用作内核缓存的内存量
    
    第五行:swap信息
    total:交换分区总量
    used:已使用的交换分区总量
    free:空闲交换区总量
    cached Mem:缓冲的交换区总量,内存中的内容被换出到交换区,然后又被换入到内存,但是使用过的交换区没有被覆盖,交换区的这些内容已存在于内存中的交换区的大小,相应的内存再次被换出时可不必再对交换区写入。

      Linux的时间同步

       Linux的date命令可以显示当前时间或者设置系统时间

       查看当前时间:

        

        格式化输出:  

    -d    --date=string    显示指定的时间,而不是当前时间
    以年-月-日显示当前时间
    date +"%Y-%m-%d"
    以年-月-日 时分秒 显示当前时间
    date +"%Y-%m-%d %T"
    在Linux下系统时间和硬件时间不会自动同步,在Linux运行过程中,系统时间和硬件时间以异步的方式运行,互不干扰。
    硬件时间的运行,是靠Bios电池来运行,而系统时间是用CPU tick来维持的。
    在系统开机时候,会从Bios中获取硬件时间,设置为系统时间
    硬件始终的查看
    
    [root@localhost ~ 10:19:04]#hwclock
    2018年08月27日 星期一 10时23分03秒  -0.528004 秒
    同步系统时间和硬件时间,可以用hwclock命令
    
    //以系统时间为基准,修改硬件时间
    [root@localhost~ 10:29:07]#hwclock -w
    
    //以硬件时间为基准,修改系统时间
    [root@oldboy_python ~ 10:29:21]#hwclock -s

      wget命令

        wget 命令用于在终端下载网络文件

        参数是 wget [参数]  下载地址   

    wget -r -p http://www.luffycity.com#递归下载路飞所有资源,保存到www.luffycity.com文件中

      

      开关机命令: reboot 用于重启机器 ; poweroff 用于关闭系统.

      su - 用户名 : 表示切换用户身份   - 表示完全切换,连同环境变量都切换了

        root用户切换普通用户不需要密码, 反之要输入root密码

      退出登录 exit logout 

      

      xshell 快捷键 

        ctrl + l 清屏  ctrl + d 退出登录  ctrl + shift + r 快速登录

        

      linux命令提示符的变量 PS1变量

      修改命令提示符,添加 绝对路径,和时间      PS1="[u@h w ]$"

      用户组添加  groupadd 用户组名

      删除用户      userdel 用户名

      用root身份去执行命令 sudo 编辑这个文件,写入一些配置 vi /etc/sudoers 找到这一行配置:

    Allow root to run any commands anywhere
    
    root ALL=(ALL)  ALL
    pan     ALL=(ALL)  ALL

       修改主机名 :hostnamectl set-hostname s15nb

      文件与目录权限:

        r 表示可读可以对次目录执行ls列出所有文件 ; w 表示可写 可以在这个目录文件创建文件 ; x 表示可执行 可以cd进入这个目录,或者查看详细信息 ; - 表示没有权限

        r w x 分别对应 4 2 1 那么可以认为文件夹权限777 为最高权限,即: rwxrwxrwx ; 最低权限为000 即: --------- .

    -rw-r--r-- .1 root root 721819 Dec 08:17 girl.gif
    权限相关 软连接 属于哪个用户 属于哪个组 文件大小 日期 文件名
                 

      -rw-r--r--. 1 root root 28 Dec 26 20:57 zhaoyiningnibiewanshoujila

      文件属主 : root

      属组: root

      文件类型是 - (普通文件)

      权限 rw-r--r--

        文件属主的权限 rw-

        文件数组的权限 r--

        其他人的权限 r--

      文件夹的可读可写可执行 : 可读 : ls ;  可写 : 在文件夹当中创建文件;  可执行 :cd .

      改变用户属主: chown change owner

      更改拥有者:  chown 用户名 file

      更改属组 :  chgrp 组名 file

      

      软连接配置:   

    ln命令
    
    ln -s  目标文件绝对地址  快捷方式的绝对路径地址
    
    ln -s  /opt/cs.txt   /home/cs.txt 
    
    py3  /opt/python36/bin/python3.6  解释器绝对路径
    
    python的时候,就去path中寻找
    
    将python3.6的解释器,添加快捷方式到 /usr/local/sbin/python3.6
    
    当我们输入python的时候
    ln -s /opt/python36/bin/python3.6     /usr/local/sbin/

     

       path添加:  

    echo $path
    [root@s15fafafa home]# echo $PATH
    PATH变量只能添加目录,不能定位到文件
    将某个文件地下所有内容,都加入环境变量 
    /usr/local/sbin
    :/usr/local/bin
    :/usr/sbin
    :/usr/bin
    :/root/bin
    
    #假设不用这个
    :/opt/python36/bin/   这才是正确的添加python环境变量

       tar 压缩解压 命令

        -c 压缩参数 ; 

        -x 解压参数

        -v 显示过程

        -f 指定文件,改参数要写在最后

        语法: 压缩文件== > tar -cf 压缩文件名 想压的内容

            解压文件==>  tar -xf 压缩文件名

      lrzsz 上传下载的小工具 

       xftp 文件传输工具

      ps -ef | grep 任务       表示查看某任务是否运行有进程

      netstat -tunlp | grep  端口号  表示查看某任务的端口是否启动

      netstat 参数

        -t 或 --tcp   显示TCP传输协议的连线状况

        -u 或 --udp 显示UDP传输协议的连线状况

        -n 或 --numeric  直接使用ip地址,而不通过域名服务器

        -l 或 --listening  显示监控中的服务器的Socket

        -p 或 --programs  显示正在使用Socket的程序识别码和程序名称

        -a 或 --all 显示所有连线中的Socket

      

      同一台机器的三个ip : 

        0.0.0.0  即暴露应用在对外的ip地址,又暴露在自己的回环地址;

        127.0.0.1 本机回环地址,代表机器自己的内部ip ,其他人访问不到, 并且每个人斗鱼自己的回环地址;

        192.168.*.*   本地对外可以访问的ip地址, 每个人都不一样.

      kill    杀死进程 ;   kill -9    强制杀死进程

        如: kill -9 mysql

     

      selinux 内置的防火墙 

        查询selinux状态  : getenforce

        暂时停止selinux :  setenforce 0

        永久关闭selinux :

        ==>vi /etc/selinux/config

          enforcing - SELinux security policy is enforced    # 开启

          permissive - SELinux prints warnings instead of enforcing   # 临时关闭

          disabled - No SELinux policy is loaded    # 永久关闭   

          SELINUX=disabled  # 修改该字段重启机器 使得selinux永久关闭

       软件防火墙: 

        iptables -F  清空规则

        iptables -L  查看iptable防火墙规则 , 看到只有如下短短的三个链,就说明,没有规则了,关闭防火墙的需求,防止他影响你的服务访问 :

           Chain INPUT(policy ACCEPT)

         target prot opt source   destination

         Chain FORWARD(policy ACCEPT)

         target prot opt source   destination

         Chain OUTPUT            destination

      停止防火墙:

          systemctl start/restart/stop firewalld  # 开启/重启/停止防火墙

       systemctl disable firewalld  # 删除 iptables 的开机自启

      修改Linux字符编码

       编译字符编码的文件: 

        vi/etc/locale.conf

        写如下代码: LANG="zh_cn.utf-8"

       读取文件是的变量生效: (source 读取命令, 是的配置文件在系统中生效)

        source /etc/locale.conf

       查看系统字符编码:   echo $LANG

      查看磁盘空间 : df -h

      以树状图显示文件目录 : tree    (需要下载该命令包--yum install tree -y)

      dns服务 : 

        bind 软件 , 配置dns 服务

        常见的互联网dns服务器: 

           8.8.8.8 谷歌的dns服务器;

         114.114.114.114   114 dns服务器地址;

         223.6.6.6  阿里巴巴的dns服务器地址;

         119.29.29.29  腾讯的dns服务器地址

      Linux dns配置文件是 etc/resolve.conf

        cat /etc/resolve.conf

        Generated by NetworkManager

        nameserver 119.29.29.29          主dns

        nameserver 223.5.5.5             备dns

        /etc/host 文件 本地dns强制解析的文件

    [root@s15fafafa home]# cat /etc/hosts
    127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.13.148  www.baidu.com

        dns解析顺序 : 

        1 ./etc/hosts

        2 ./etc/resolve.conf

      Linux 用于解析域名的命令 : nslookup Pythonav.cn

      

      Linux的定时任务 

        crontab -l  查看任务 ;   crontab -e   编辑任务

        crontab的语法:  分时 日 月 周

    例 : 每月的,5,15,25天的晚上5点50重启nginx
    
    ​    50 17 5,15,25 * * /opt/nginx/sbin/nginx -s reload

    Windows 软件包 : exe 可安装格式 ; msi  可执行安装文件 ; .zip 压缩包格式 ; .rar压缩包格式.

     

    Linux 软件包管理 : 

      Linux软件格式分为:

         1, 源码包格式: 

         下载Python3的源码包; 解压源码包 ; 编译且安装 ; 配置环境变量; 使用平原Python3

       2, rpm 二进制包格式(这种安装方式,需要手动解决依赖关系,有可能装一个mysql耗时很长) 

         下载软件的rpm格式包 ; rpm -ivh lrzsz.rpm ; 使用lrzsz工具

         (lrzsz 是软件包的名字,提供的命令是: rz 接收文件  sz 发送文件)

        补充: 如果直接安装mysql5.6.rpm,依赖了很多其它软件包,就得手动逐个解决依赖,所以不建议使用.

       3, yum安装方式    yum工具,自动搜索下载rpm包,且安装,且解决依赖关系,自动处理下载其它依赖rpm包

         软件开发目录规范: 

          lib  库文件

          core  核心文件

          bin  可执行文件

          conf  配置文件

          log  日志文件夹

          readme  使用说明书

        向Python的模块

        pip3 install -i http://pypi.douban.com/simple flask

     

    yum源配置:

    yum源的仓库路径在
    /etc/yum.repos.d/
    然后这个目录底下,只有 以 .repo结尾的文件,才会被识别为yum仓库
    
    配置国内的yum源
    1.在/etc/yum.repos.d/目录底下,定制我们自己的repo仓库文件 
    2.我们自己没有yum仓库,我们就去拿阿里巴巴的yum仓库
    3.https://opsx.alibaba.com/mirror  这就是阿里巴巴的镜像站
    4.下载阿里巴巴的yum仓库文件
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    wget下载文件后,-O参数,指定放到某个目录,且改名
    5.清除yum缓存 
    yum clean all 
    6.生成新的阿里云的yum软件缓存
    yum makecache
    
    再配置epel额外的仓库源,这个仓库里就存放了很多第三方软件,例如redis  mysql  nginx 
    1.配置epel仓库
    wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
    2.最好再生成yum缓存
    yum makecache 
    3.请随心所欲的使用 yum工具
    
    yum示例用法
    yum安装nginx web服务器软件
    
    1. yum install nginx  -y       -y 一路都是默认yes
       2.启动nginx  
       直接输入nginx命令
       3.修改nginx主页面 ,文件名字叫做 index.html  
       find  /   -name index.html        查找这个文件所在地
       vim /usr/share/nginx/html/index.html        修改这个nginx首页文件

      系统服务管理命令: 

        只有通过yum安装的软件,默认才能使用这个命令管理

        systemctl start/stop/restart  服务名

        systemctl start/stop/restart   mariadb

        systemctl start/stop/restart redis

        systemctl start/stop/restart nginx

     

    接下来是各个软件的安装测试以及相关配置: 如: Python3 ; django ; redis ; nginx 等 . 

      (最终把创建完成的项目跑起来)

      详情看笔记或搜索...

     

  • 相关阅读:
    【CF617D】Roads in Yusland
    对偶问题
    【LG3722】[HNOI2017]影魔
    [HEOI2017] 相逢是问候
    [SHOI2009] 会场预约
    [SCOI2007] 修车
    [CTSC2008] 网络管理
    [国家集训队] 礼物
    [Poetize6] IncDec Sequence
    [网络流24题] 魔术球问题
  • 原文地址:https://www.cnblogs.com/panda-pandeyong/p/10171240.html
Copyright © 2020-2023  润新知