• Linux基础


    操作系统:内核(管理硬件资源)+系统调用接口(为软件提供接口)

    切换终端
    图形--->dos:终端中ctrl+shift+f2 或 ini 3
    dos--->图形:ctrl+shift+f1 或 ini 5

    修改主机名:
    方法1:hostname oldboy_vm1
    方法2:vim /etc/sysconfig/network HOSTNAME=oldboy_vm1

    查看本次登录后的操作过的命令:history
    查看命令的位置:which ls
    客户端操作报错,查看linux服务器系统日志:tail -f /var/log/message

    ls -a 显示隐藏文件
    root的家目录就是/root/ 其他用户的家目录是/home/用户名/

    bin(binary):目录下都是2进制的可执行文件 命令很多都在这里
    sbin:存放系统下的可执行文件
    dev:设备文件目录(硬盘,网络各种设备)
    etc:配置文件目录
    可以随便用的目录:mnt、media(前两个可用作挂载目录)、opt
    tmp:临时文件目录

    ------------------------------------------------------------------------------------
    cd ~ 当前用户的家目录 root用户的家目录是/root 其他用户是/home/user
    cd - 返回上次所在的目录
    cd .. 返回上一级目录

    拷贝:cp 文件目录 目标目录

    移动 或 改名:mv

    创建目录:mkdir
    递归创建新的树形目录:mkdir -p /新目录1/新目录2/新目录3

    创建文件:touch
    创建连续名文件:touch {1..9}.txt touch {a..z}.txt

    删除命令:
    rm 删除文件(建议禁止使用)
    rm -f 删除文件且不提示信息
    rm -r 删除目录
    rm -rf 删除目录和文件且不提示信息
    解决办法:mv 文件 /tmp/ 或 cp源文件,备份.bak文件后删除

    查看文件内容命令:
    cat 查看文件全部内容
    head:显示文件内容的前10行(默认)
    tail:显示文件内容的后10行(默认) 可实时查看文件变化(例如日志)
    more:按百分比来显示内容 回车键翻内容
    less:可上下键翻内容

    ------------------------------------------------------------------------------------
    与用户相关的文件:
    查看password:more /etc/passwd >>> root:x:0:0:root:/root:/bin/bash
    即user:passwd占位:UID(0为第一个用户root):GroupID:描述信息:家目录:是否可登录
    /etc/shadow 密码存放处
    /etc/group 组信息 (建用户 自动 建同名组)
    /etc/gshadow 组密码存放处
    用户邮箱目录:/var/spool/mail/user
    家目录:/home/user

    用户操作
    创建用户useradd -u指定UID -g指定组 -d指定家目录 -c描述信息 -s是否可登录 userName
    删除用户userdel -r userName (r能删完整)
    查看用户: id userName
    修改用户 user modify= usermod
    用户改家目录:usermod -d 新目录 userName
    用户改组:usermod -G 目标组 userName #始终会在自己名字的组中
    用户追加组(在多个组append):usermod -aG 目标组 userName
    锁住用户:usermod -L userName
    解锁用户:usermod -U userName

    组操作
    创建组 groupadd -g组ID groupName
    修改组 groupmod -g组ID -n组名
    修改policy组的gid为555:groupmod -g 555 policy
    将aaa组的组名改为bbb: groupmod -n bbb aaa
    删除组:groupdel groupName

    ------------------------------------------------------------------------------------
    文件权限
    ls -l 别名:ll 查看命令别名:alias ll
    -rw-------. 1 root root 1787 7月6 06:36 a.txt
    权限信息 硬链接数 属主 属组 大小 创建日期 文件名

    drwxr-xr-x. 点的意思:安全标志 selinux开启情况下创建的文件才有
    selinux 安全加强型linux 加强安全性的
    1:文件类型 -普通文件 directory目录型文件 l软链接 block设备文件 p管道文件

    权限分三类:rwx r读 w写 x执行
    2~4: 属主的权限
    5~7: 数组的权限
    8~10:其他用户的权限

    drwxr-xr-x. 1 root root 1787 7月 6 06:36 a.txt
    修改权限:chmod u属主 g属组 o其他用户
    去掉a.txt文件 属主的可读可写权限:chmod u-rw a.txt
    增加a.txt文件 属主的可读可写权限:chmod u+rw a.txt
    直接授权属主可读可写可执行权限:chmod u=rwx a.txt
    撤销属主可读可写可执行权限:chmod u=- a.txt
    root用户有最高权限 只有属主或root才能chmod权限

    权限的意外情况:
    Q.txt属主为aaa,bbb用户对Q.txt权限为-w-
    bbb用vim Q.txt,但是由于没有r权限,操作系统会在内存生成空白的Q.txt
    由于bbb有w权限,故写完保存后,覆盖了aaa的Q.txt 。。。。。。。。

    执行文件方法:
    sh 文件路径
    bash 文件路径
    . 文件路径
    ./ 文件路径(用这个)

    普通文件执行权限不够:
    chmod u+x 文件
    usermod -aG 有权限的组 userName 并注销登录 (用户加到对文件有执行权限的组 来解决)

    对目录文件的权限:
    r:可以ls该目录下的子文件名
    w:可以在该目录下创建,删除,重命名
    x:可以cd进去
    对于目录/a/b/c,要想能在c下创建文件,最低的权限为:对/、a、b:x,对c:wx

    修改文件属主和属组:chown root.root a.txt
    修改属主:chown root a.txt 修改属组:chown .root a.txt
    递归修改AAA组和组下所有文件的属主属组:chown -R root.root /tset/AAA/

    rwx可用数字表示 4:r--, 2:-w-, 1:--x, 0:---, 3= -wx, 5= r-x, 6= rw-, 7= rwx
    修改a.txt权限为:主:rw 组:x other:rwx
    方法1:chmod u=rw, g=x, o=rwx a.txt
    方法2:chmod 617 a.txt

    ------------------------------------------------------------------------------------
    文件操作
    查看文件内容:cat
    >:左边的内容覆盖给右边 >>:左边的内容追加到右边
    覆盖cat /etc/passwd > a.txt a.txt不存在则创建
    追加cat /etc/passwd >> a.txt
    echo:回显 echo "hello" 回显“hello”的信息
    echo "hello" > a.txt 把内容覆盖到a.txt
    故:>左边的命令只要有输出信息,这个输出信息就会覆盖到右边文件内容中

    统计文件的信息有多少行:wc -l fileName
    管道符|:管道左边产生信息,管道右边为 对信息执行的操作
    cat /etc/passwd | wc -l 统计cat passwd的行数

    归档archiving:将许多文件包(或目录)打包成一个文件
    目的:方便备份、还原、传输
    创建归档文件:tar -cvf test.tar fileNames
    c:create f:tarFileName v:显示整个过程 fileNames:要归档的文件

    查看归档文件:tar -tf test.tar
    t:查看 f:指定文件fileName

    释放归档文件:tar xvf test.tar
    x:解包 v:显示过程 f:指定文件fileName

    指定目录释放归档文件:tar xvf test.tar -C /opt/test/

    /tmp/*:代表tmp下所有文件 /tmp/*.txt:代表tmp下所有.txt结尾的文件
    压缩文件:将大文件通过压缩算法变成小文件
    减少空间 节省带宽
    压缩/解压缩方法:gzip/gunzip bzip2/bunzip2
    压缩:gzip test.txt 解压:gunzip test.txt.gz

    *归档并压缩文件:tar czvf 压缩后名字 test01.txt test02.txt >>>test.tar.gz
    *解包 归档并压缩过的文件:tar xvf test.tar.gz -C/opt/test/

    ------------------------------------------------------------------------------------
    vi编辑器
    vim为vi modify,是vi升级版
    命令行模式(过度模式):进入编辑模式i,a,o 进入扩展模式“ :”
    编辑模式:退回命令行模式“Esc”
    扩展模式:w保存 q退出 !强制执行 退回命令行模式“Esc”

    命令行模式的命令:
    删除整行:dd
    删除多行:ndd 先按数字n,再按dd(效果为删除下面n行,且包括本行)
    复制光标所在行:yy
    复制多行:nyy 先按数字n,再按yy(效果为复制下面n行,且包括本行)
    粘贴:p:粘贴到下行 P:粘贴到上行
    粘贴多次:np ,nP
    撤销上一步操作:u 前进:ctrl+r
    剪切操作:dd后p
    搜索关键字/UseDNS 搜索UseDNS

    光标移动:0行首 $行尾 Home和End也行
    内容头部:gg 内容尾部:G 移动到某行:nG
    补充知识:ctrl+a调到命令首部 ctrl+e调到命令尾部 Home和End也行

    扩展模式中set nu:显示行

    ------------------------------------------------------------------------------------
    系统引导顺序

    BIOS-->MBR-->BootLoader-->Kenel-->Init
    1.BIOS:找到启动盘
    2.MBR:找到装有系统的分区
    3.bootloader:GRUB装载内核,引导加载程序,存储os相关信息,如系统名称,显示已有kernel
    4.kenel
    5.init程序初始化开启操作系统

    一个扇区:512bytes
    第一个扇区:主引导记录MBR 引导信息(446bytes)+分区信息(64bytes)+结束标志位(2bytes)

    init: 0关机 1单用户 2多用户不带NFS 3命令行多用户模式 4开发 5图形 6重启

    修改开机默认级别(开机默认命令行或图形):vim /etc/inittab

    vim提示swap文件:异常关机生成的,用作恢复,要么按e 要么删除

    *用户密码忘了:
    1.Booting CentOS...按任意键进bootloader即GRUB-->按e,选择kernel-->按e-->空格按1回车
    2.回到上一步按b回车,进入单用户模式(启动级别为1,且为root)直接passwd root改密码

    *单用户模式加密(防止单用户改用户密码):
    1.grub-md5-crypt命令设置GRUB密码,将生成的MD5密文复制
    2.vim/etc/grub.conf 在title上句加password --md5 粘贴密文 保存重启

    *单用户模式密码忘了:
    1.从CD启动,选救援模式,一顿选择,直到Recue的选择只有OK那里,有一页提示系统挂在某个目录
    2.记下该目录,选两次OK后选择Start shell,cd该目录,即进入硬盘上系统的/目录
    3.如上条,修改单用户模式加密文件grub.conf,删除加密信息,保存并关机
    4.从硬盘启动,即可进单用户模式(需要加载很久)

    *防止改系统引导顺序(BIOS加密):BIOS里设置即可

    *重置BIOS密码:BIOS上的小电池扣下放电,BIOS设置即复位重置

    ------------------------------------------------------------------------------------
    系统监控和进程监控
    top(会实时刷新,占用资源)
    load average:CPU负载
    bash:开一个终端就是一个bash,exit退出当前bash
    zombie:僵尸进程 即父进程被杀死,但子进程没关,还在浪费资源

    %Cpu(s): 0.2 us, 0.2 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
    Cpu占用: 用户进程 系统进程 剩余资源 等待CPU 硬件中断 软件中断 被偷走的
    hi:硬件中断占用百分比,硬件发起的切换CPU
    si:软件中断占用百分比,软件发起的切换CPU
    st:例如系统里的虚拟机占用的CPU资源
    当wa>0:有IO操作

    Swap 0used :交换内存使用,大于0表示物理内存不够

    内存:
    buffer缓冲区(缓解内存与硬盘的速度差) cache高速缓存(经常要调用的数据,缓解CPU与内存)

    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    进程号 运行者 控制优先级的 虚拟内存 物理内存 共享 状态 运行时间 进程名

    free查看内存信息
    free -h

    ------------------------------------------------------------------------------------
    查看进程
    守护进程:在后台运行,提供系统服务的进程
    ps查看进程命令 process search
    ps aux:查看运行的所有进程及详细信息 all 显示userID 显示tty
    ps aux | head -n 查看n行

    grep:正则过滤信息命令
    grep 'root' /etc/passwd 过滤passwd中带有root字符的行

    过滤显示进程:ps aux | grep 'init' 带有init字符的进程
    反向过滤:ps aux | grep 'init' | grep -v 'sbin' 带有init字符 且不含sbin的进程

    pgrep 进程名:PID grep通过名称或其他属性查到进程PID

    杀死进程命令
    筛选出有关命令, 杀死进程kill PID 或强制杀死进程kill -9 PID
    通过进程名杀进程:pkill 进程名

    后台运行程序:firefox & (命令行打开程序,若后台运行,则命令行可输入;反之不可运行)
    查看后台进程workID:jobs
    后台程序调到前台:fg % workID 前台程序调到后台:bg % workID
    杀死后台进程:可直接杀或 kill -9 %workID

    pstree查看进程树
    pstree 或者 pstree | less 可上下翻进程树

    ------------------------------------------------------------------------------------
    硬盘分区
    sda:第一块硬盘 sda1:第一块硬盘第一个分区
    sdb:第二块硬盘 sda1:第二块硬盘第一个分区

    查看挂载信息:df -h
    查看硬盘和分区信息:fdisk -l
    查看挂载参数:mount
    统计目录下文件总大小:du -sh /etc/

    ls/dev/sd Tab可看出有几块盘和分区
    查看第一块盘分区信息:fdisk -l /dev/sda :

    操作系统级别的存储数据按块为最小单位 block:8*512bytes

    三大类存储:
    块存储:DAS、SAN 裸磁盘不能被操作系统直接访问,需要格式化
    文件存储:NAS(看到的都是文件) 采用NFS或CIFS命令集访问数据,以文件为传输协议
    对象存储(百度网盘):不能基于文件操作,无法直接打开,修改文件

    分区
    MBR(64bytes):一个硬盘最多只能划分为4个主分区,或者是3个主分区加上一个扩展分区
    如果3主+1扩展已经分完,再建的扩展分区用的是前面的扩展分区空间(逻辑概念)
    扩展分区=逻辑分区1+逻辑分区2+... 扩展分区不可存数据,里面的逻辑分区可以存数据
    GPT:全是主分区,理论上不限制分区个数
    boot处为* 表示为系统启动分区(必须是主分区)

    新盘分区-->格式化-->挂载
    1.fdisk /dev/sdb
    2.n add a new partition
    3.p主分区(primary) e扩展分区 选p 选分区编号(选小的)
    4.First cylinder第一个柱面 选default
    5.Last cylinder:选default表示全部分完, +5G表示分5G大小
    6.w保存
    7.partprobe 更新分区列表
    8.格式化分区:makefilesystem(制作文件系统)
    mkfs.ext4 /dev/sdb1 (扩展分区不能格式化,下面逻辑分区可以)
    9.挂载分区到目录:mount /dev/sdb1 /folder

    分区可以挂载到多个目录
    查看挂载信息:df -h
    卸载分区:umount /folder
    数据优先存在单独挂载的分区中,若没有单独挂载,则存在父级目录所在的分区(目录不变)

    /dev/sr0 光盘分区 /media/CentOS_7 挂载目录 这里只读
    cd /media/CentOS_7进到目录,重新可读可写挂载:mount -o remount, ro /dev/sdb1

    ext4:日志文件系统,先写到日志,再刷到硬盘 xfs:用于 海量数据

    刚格式化的分区被使用3080个blocks,即被文件系统占用
    文件系统:格式化分区,即在分区中建立文件系统

    例1:cat /a.txt的寻址过程:
    1.查找根的inodeID为2,读取源数据,若用户有权限,指针指向a.txt的inodeID'3'
    2.读取inodeID'3'的源数据,若用户有权限,则指针指向a.txt的数据block并cat

    例2-1:rm -rf /a.txt 删除文件原理:
    1.在super block中把inode3标记为free
    2.根目录的directory block里清除a.txt>inode3映射关系
    3.a.txt的data block标记为free

    例2-2:恢复数据a.txt原理:
    1.带有free标记的inodeID中的找到有内容的inode3,即找到文件名和指针
    2.根目录的directory block里重建a.txt>inode3映射关系
    3.在super block中把inode3的free标记去掉
    4.a.txt的data block去掉free标记
    数据真正没了:a.txt删除后,inode3被重新分配,对应datablock被写覆盖
    故没有真正的删除,且数据恢复是概率性的

    文件包括:
    1.源数据 存在block里的inode(文件权限,属,大小,日期,指针等)
    2.目录block 文件名与inodeID映射关系
    3.文件内容 数据存在data block里
    空文件也占空间,占的'1'和'2'

    查看文件inodeID:ls -i /etc/passwd
    查看每个分区的inode信息:df -i

    硬盘满的两种情况:1.inodeID满了 2.datablock空间不足
    把多个文件打包,只占用1个inodeID

    测试硬盘写速度:dd if=/dev/zero of=/sdb1/test bs=2G count=1

    ------------------------------------------------------------------------------------
    软链接与硬链接

    建立软链接(快捷方式):ln -s 源目录 目标目录
    mkdir /a
    mkdir /b
    touch /a/source.txt
    ln -s /a/source.txt /b/des.txt
    发现ll /a/source.txt != ll /b/des.txt

    软链接特点:
    1.vim修改软链接/源文件内容,对应内容都会变
    2.删除软链接对源文件没影响
    3.删除源文件,软链接标红失效
    4.软链接是指向源文件的,故inodeID不同
    5.可跨分区建立软链接


    建立硬链接:
    mkdir /a
    mkdir /b
    touch /a/s.txt
    ln /a/s.txt /b/d.txt
    发现ll /a/s.txt = ll /b/d.txt

    硬链接特点:ln 源目录 目标目录
    1.vim修改硬链接/源文件内容,对应内容都会变
    2.删除硬链接对源文件没影响
    3.删除源文件对硬链接没影响
    4.硬链接是指向inodeID的,故inodeID相同
    5.跨分区不可建立硬链接(不同分区的同一inodeID指向的datablock是不一样的)

    操作系统维护的只是inodeID,不认识文件名

    查看硬链接数
    ls -l 别名:ll 查看命令别名:alias ll
    -rw-------. 1 root root 1787 7月6 06:36 a.txt
    权限信息 硬链接数 属主 属组 大小 创建日期 文件名

    ls -a
    可看到 ‘.’和 ‘..’ : 当前目录硬链接‘.’ 上级目录硬链接‘..’

    -------------------------------------------------------------------------------------
    网络配置
    查看当前操作系统中被激活的网口配置信息 ifconfig:interface config

    eth0:第一块网卡
    Bcast:广播地址
    MTU:网卡最大传输单元:一次性能收发多少字节的数据
    RX packets:接收的包 RX bytes:总共接收的数据大小
    TX packets:发出的包 TX bytes 总共发出的数据大小

    lo:loop回环
    协议:loopback
    地址:addr 127.0.0.0 Mask 255.0.0.0

    配置IP地址
    vim /etc/sysconfig/network-scripts/ifcfg-eth0

    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static/dhcp
    DEFROUTE=yes
    IPV4_FAILURE_FATAL=no
    IPV6INIT=yes
    IPV6_AUTOCONF=yes
    IPV6_DEFROUTE=yes
    IPV6_FAILURE_FATAL=no
    IPV6_ADDR_GEN_MODE=stable-privacy
    NAME=ens33
    UUID=c29c1d57-9f5d-43e9-aad4-ea8a0cbba44f
    DEVICE=ens33
    ONBOOT=yes 随操作系统启动
    *IPADDR=192.168.73.30
    *PREFIX=24 / NETMASK=255.255.255.0
    *GATEWAY=192.168.73.2
    *DNS1=192.168.1.1
    *DNS2=114.114.114.114
    *x*NM_CONTROLLED=no 网卡守护进程(后台运行,只要更改配置立即生效,容易冲突)
    重启服务service network restart
    查看网络运行状态service NetworkManager status
    停掉网络守护进程service NetworkManager stop(关掉解决网卡守护进程导致的冲突)

    查看运行级别:chkconfig --list
    查看开机启动级别下的NetworkManager运行:chkconfig --list | grep 'NetworkManager'
    所有关闭NetworkManager服务:chkconfig --level 2345 NetworkManager off

    查看网关:route -network
    查看DNS:cat /etc/resolv.conf
    本地解析文件(本地解析优先):vim /etc/hosts (ip 域名)
    临时添加网关:route add default gw 192.168.1.1

    清除防火墙规则:iptables -F
    关闭防火墙:service iptables stop

    关闭网卡:ifconfig eth0 down 开启网卡:ifconfig eth0 down
    让网卡加载配置信息:ifup eth0 ---> /etc/sysconfig/network-scripts/ifcfg-eth0

    命令:
    ping一次:ping -c1 192.168.1.1
    指定网卡ping:arping -I eth0 192.168.1.1 (可检测当前ip在子网内是否地址冲突)

    workstations虚拟机网卡
    1.桥接模式:把宿主机本地网卡当虚拟机的交换机(DNS可能要指定宿主机ip)
    2.NAT:网络地址转换 虚拟机网卡绑到VMnet8(即连到虚拟内网交换机)VM要配置VMnet8的网关
    补充:snat源地址转换,路由器把内网发的包,源地址转换成自己出口地址,目的地址不变
    3.仅主机模式:虚拟机网卡绑定到VMnet1,且为VMnet1下的内网 建议实验时用

    -------------------------------------------------------------------------------------
    软件包分两种
    1. tar.gz源码 下载后需要编译成二进制再安装
    2. rpm(redhat package manager红帽标准把源码以二进制编译好,可直接安装,一般为稳定版)

    1. rpm软件包管理
    安装软件包
    rpm源:/media/CentOS_7/Packages
    安装命令:rpm -ivh rpm包
    i:install v:安装详细信息 h:进度条
    强制安装,覆盖安装(升级软件包):rpm -ivh rpm包 --force
    查看dhcp是否安装:rpm -q dhcp
    查看安装的dhcp软件rpm -qa | grep 'dhcp'
    q:query询问 a:all

    查看软件包安装位置:rpm -ql python-blinker
    q:query询问 l:location

    查看软件包安装信息:rpm -qi python-blinker
    q:query询问 i:information

    卸载rpm包:rpm -e dhcp(不带.rpm扩展名)
    卸载忽视依赖提示:rpm -e dhcp-common --nodeps

    http://mirror.centos.org/
    查看系统版本 cat /etc/redhat-release
    安装:rpm -ivh http://mirror.centos.org/centos-7/7.6.1810/extras/x86_64/Packages/
    python-blinker-1.3-2.el7.noarch.rpm

    下载软件包:wget http://mirror.centos.org/centos-7/7.6.1810/extras/x86_64/Packages/
    python-blinker-1.3-2.el7.noarch.rpm


    2. yum软件包管理
    /media/CentOS_7/repodata写好了软件安装的依赖关系

    2-1. 配置本地光盘为yum源
    vim /etc/yum.repos.d/local.repo
    [local] 可能是local.repo的名
    name=name1
    baseurl=file:///media/CentOS_7
    enabled=1
    gpgcheck=0 不检测gpg
    若配置网络源,则baseurl=http://

    yum安装:yum install dhclient -y
    yum重新安装:yum reinstall dhclient -y
    yum 运行基于自带的python2
    自定义yum源
    1.安装createrepo 可创建包含依赖关系的repodata
    2.mkdir /test
    3.cp 软件包 /test
    4.createrepo /test 自动创建repodata
    5.vim /etc/yum.repos.d/local.repo,修改baseurl=file:///test

    安装忘了后面名字的包(符合的会全安装):yum -y install http* 全忘了就*http*

    卸载:yum erase dhcp-common

    清除yum缓存:yum clear all
    清除后再装,安装时会在/etc/yum.repos.d/一个个找,很慢
    制作缓存:在安装前执行yum makecache生成缓存,以后装同个软件不会一个个找

    2-2.配置网络源
    本地装完系统后的都是网络源
    touch /etc/yum.repos.d/test.repo
    vim /etc/yum.repos.d/test.repo
    [test]
    name=name2
    baseurl=http://mirror.centos.org/centos-7/7.6.1810/extras/x86_64/
    enabled=1 因为该目录下有repodata
    gpgcheck=0 不检测gpg

    安装第三方源:
    yum install epel-release -y(自带源rpm软件太少,安装第三方源,减少下载软件的麻烦)

    yum安装完就会把下载的文件清除
    想保存:vim /etc/yum.conf keepcache=1 cachedir=文件保存目录 (自制可控yum源)


    3.源码安装
    下载Source Releases:
    wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
    解包tar xvf--->运行configure脚本--->编译make(gcc工具,glibc库)--->安装make install
    0. yum install gcc-* glibc-* -y
    1. tar xvf Python-3.7.4.tgz
    2. cd Python-3.7.4
    3. ./configure 添加编译参数
    例如--prefix指定下步安装路径:./configure --prefix=/usr/local/Python37
    4. make
    5. 安装 make install
    6. 实现命令直接打开/usr/local/Python37/bin/python3.7
    6-1 echo $PATH查看环境变量:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
    $取path的值,每执行一个命令,操作系统会在这些path中找有没有这个命令
    6-2 vim /etc/profile 最后一行加两句:
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/Python37/bin/
    export PATH

    yum grouplist 显示环境分组
    例如安装'开发工具':yum groupinstall '开发工具' -y

    --------------------------------------------------------------------------------------
    ssh服务
    rpm -qa | grep openssh
    openssh-clients-7.4p1-16.el7.x86_64
    openssh-server-7.4p1-16.el7.x86_64
    openssh-7.4p1-16.el7.x86_64

    开启ssh:service sshd status
    重启ssh:service sshd restart
    ssh服务的配置文件:vim/etc/ssh/sshd_config (可更改端口等配置)
    解决改完端口ssh连接慢:
    1. vim命令行模式下/UseDNS 搜索UseDNS '#'去掉,yes改no
    2. vim /etc/hosts 添加本机解析 192.168.1.30 oldboy_vm1(可能不许需要)
    还连不上,看防火墙:
    1. 查看防火墙规则: iptables -L
    2. 清除防火墙规则:iptables -F
    3. 关闭防火墙:service iptables stop
    4. 开机时防火墙关闭:chkconfig iptables off
    5. 查看防火墙运行情况:service iptables status
    -------------------------------------------------------------------------------------
    部署apache服务

    部署服务的步骤:
    1. 准备环境
    关闭防火墙:service iptables stop (chkconfig iptables off)
    关闭selinux:setenforce 0
    永久关闭selinux:vim /etc/sysconfig/selinux SELINUX=disabled
    2. 安装软件包
    3. 修改配置文件
    4. 重启服务
    5. 测试

    安装:yum install httpd -y
    修改配置文件:vim /etc/httpd/conf/httpd.conf
    监听端口:Listen 80
    网站根目录:DocumentRoot "/var/www/html"
    把test.html文件放在根目录中
    'http://192.168.1.30:80/test.html'相当于"/var/www/html/test.html"
    默认网站文件 http://www.xxxx.com ---> http://www.xxxx.com/index.html

    -------------------------------------------------------------------------------------
    samba文件存储服务:搭建在linux中为windows提供服务

    共享式samba服务搭建
    1. 准备环境
    关闭防火墙:service iptables stop (chkconfig iptables off)
    关闭selinux:setenforce 0
    永久关闭selinux:vim /etc/sysconfig/selinux SELINUX=disabled
    2. 安装:yum install samba -y
    3. 修改配置文件:vim /etc/samba/smb.conf
    security = share(共享式不需要密码)
    ======= Share Definitions ======= 共享的定义
    [company] 添加一个自定义共享配置
    comment=share file
    path=/company/test
    public=yes
    writable=yes
    printable=no 若为yes,客户端就不能访问了
    write list = +staff (全体都可写)
    4. 添加访问权限:chmod o=rwx /company/test
    5. service smb restart
    6. windows映射网络驱动器:'\192.168.1.30lishuai1'

    个人式samba服务搭建:
    1. 修改配置文件:vim /etc/samba/smb.conf
    security = user(需提供用户名密码)
    2. 添加user必须加linux服务器的用户
    useradd lishuai1
    smbpasswd -a lishuai1
    系统生成/home/lishuai1, 即属主
    3. service smb restart
    4. windows映射网络驱动器:'\192.168.1.30lishuai1' 使用其他凭据连接
    5. 禁止该用户登录操作系统:usermod -s /sbin/nologin lishuai1

  • 相关阅读:
    【使用教程】CMDer,Window下CMD的替代者
    什么是数据仓库?
    【大话存储】学习笔记(八),数据保护
    分布式与集群
    【大话存储】学习笔记(五),以太网
    【廖雪峰】Python
    【大话存储】学习笔记(7章), OSI模型
    KVM计算虚拟化原理,偏基础
    DevOps
    H3C CAS(云管理平台)介绍
  • 原文地址:https://www.cnblogs.com/lishuaing/p/11349219.html
Copyright © 2020-2023  润新知