zoukankan      html  css  js  c++  java
  • linux目录结构

    Linux文件系统结构

    Linux以斜杠/分割目录,Windows以反斜杠分割目录

    Linux首先建立一个根"/"文件系统,所有的目录也都是由根目录衍生出来的

    /dev 存放抽象硬件
    /lib 存放系统库文件
    /sbin 存放特权级二进制文件
    /var 存放经常变化的文件
    /home 普通用户目录
    /etc 存放配置文件目录
    /boot 存放内核与启动文件
    /bin 存放二进制文件(可执行命令)
    /usr 存放安装程序(软件默认目录)
    /mnt 文件挂载目录(u盘,光驱)
    /root 特权用户目录
    /opt 大型软件存放目录
    .    当前目录
    ..    上一层目录
    -    前一个工作目录
    ~    当前用户所在的家目录
    iptables -F 清空防火墙规则
    systemctl start firewalld 关闭防火墙开机自启的服务
    systemctl stop firewalld 关闭防火墙服务
    关闭selinux:
    vi .etc.selinux/config
    找到SELINUX=enforcing 改成SELINUX=disabled
    systemctl start network 开启网络服务
    systemctl stop network 关闭网络服务
    pwd 打印当前目录
    cd /home 进入/home目录
    cd .. 返回上一级目录
    cd ../.. 返回上两级目录
    cd ~ 进入用户家目录
    cd 没有加路径,也代表进入加目录
    cd - 返回上次所在的目录
    pwd 查看当前工作路径
    ls 查看目录中的文件
    ls -F 加上文件类型的指示符号

    文件目录

    mkdir 建立新目录
    mkdir -p 递归创建目录
    mkdir dir1 dir2 同时创建两个目录
    touch 创建文本
    rmdir 删除空目录
    rm -f 删除文件
    rm -rf dir 删除dir1的目录并同时删除其内容
    mv 移动:移动文件/文件夹到别的目录
       改名: mv 旧名字 新名字
    cat 读取文本文件内容
    more 查看一个长文件的内容
    less 可以翻页查看上下页的内容
    head 默认显示前10行
    tail 默认显示后10行
    tail -f 实时监控的命令
    cp f1 f2 复制一个文件
    cp -r 递归拷贝文件夹

    查找文件

    find / -name 文件名 从根目录搜索文件
    find / -user 用户名 搜索属于用户的文件和目录
    -type 是文件类型:f是文件,d是目录

    查看linux的环境变量:  echo $PATH

    特殊符号:

    >>> 追加重定向,把文字追加到文件的末尾
    > 重定向符号,清空原文件所有内容,然后把文字覆盖到文件末尾
    < 输入重定向
    << 将输入结果输入重定向
    echo "666" > /tmp/f1.txt 将666写入f1.txt文件中

    用户管理

    useradd 用户名 创建普通用户
    userdel 删除用户
    passwd 用户名 设置密码
    root 用户可以修改其他所有人的密码,且不需要验证
    su - username 切换用户
    su 命令中间的-意味着完全切换到新的用户,即环境变量也变更为新用户的信息
    whoami 查看当前用户
    logout 退出用户登录
    groupadd 用户组名 添加用户组
    sudo 用root身份去执行命令
    hostnamectl set-hostname 主机名 修改主机名
    ls -l /home/oldboy/ 查看文件或文件夹权限
    - 普通文件 d 文件夹
    -rw-r--r-- 1 root root 0 Dec 26 22:38 /home/oldboy/hello.txt
    第一个字母为文件类型,后面9个字母,每三个一组,分别为属主,属组,其他人的权限,1位文件链接数,修改日期, 文件名
    r 4 可以对此目录执行ls列出所有文件
    w 2 可以在这个目录创建文件
    x 1 可以cd进入这个目录,或者查看详细信息
    id 命令可以查看用户所属群组
    chomd 修改文件权限
    u 文件属主权限
    g 同组用户权限
    o 其他用户权限
    a 所有用户(包括以上三种)
    + 增加权限
    - 取消权限
    = 唯一设定权限
    chomd u+ file    -rwxr--r--
    chomd g-r file    -rw----r--
    chomd o+w file    -rw-r--rw-
    chowm 用户名 file    改变用户的属主
    chgrp 组名 fike     改变属组

    软连接,压缩,进程

    软连接配置
    ln -s 目标文件绝对地址    快捷方式的绝对路径地址
    如果是在/tmp目录中,
    ln -s /home/oldboy/hello.txt/ my.txt
    在/tmp目录中建立软连接,指向/home/oldboy/hello.txt/ , 即在/tmp中创建了一个名字为my.txt的文件
    PS1="[u@h w	]$"    修改命令提示符,添加绝对路径和时间
    tar    压缩
    -c    压缩参数
    -x    解压参数
    -v     显示过程
    -f    指定文件(这个参数写在最后)
    压缩文件
    tar -cf    压缩文件名    想压缩的文件
    解压文件
    tar -xf    压缩文件名
    ps -ef|grep python    查看python任务是否运行有进程
    netstat -tunlp | grep 端口号    查看任务的端口是否启动
    来自于同一个机器上的三个ip
    0.0.0.0        127.0.0.1加上192.168.30.128    暴露应用又在对外的ip地址,又暴露在自己的回环地址
    127.0.0.1    本机回环地址,代表机器自己的内部一个ip,其他人访问不到,并且每个人都有自己的127.0.0.1
    192.168.30.128    本地对外可以提供访问的ip地址,每个人都不一样
    netstat -t或--tcp    显示TCP传输协议的连线状况
    netstat -u或--udp    显示UDP传输协议的连线状况
    netstat -n或--numeric    直接使用ip地址,而不通过域名服务器
    netstat -l或--listening    显示监控中的服务器的Socket
    netstat -p或--programs    显示正在使用的Socket的程序识别码和程序名称
    netstat -a或--all    显示所有连线中的Socket
    ps -a    显示所有进程
    ps -u    显示用户以及其他详细信息
    ps -x    显示没有控制终端的进程
    kill    杀死进程的命令
    如果进程杀不死,就加上-9
    killall nginx    结束nginx带有的全部进程
    selinux    内置的防火墙
    getenforce    查询selinux状态
    setenforce 0    暂时停止selinux
    
    永久关闭selinux
    vi /etc/selinux/conf  
    #     enforcing - SELinux security policy is enforced.          开启
    #     permissive - SELinux prints warnings instead of enforcing.        临时关闭
    #     disabled - No SELinux policy is loaded.        永久关闭 
    
    修改如下行
    SELINUX=enforcing
    重启机器,使得selinx永久关闭
    
    软件防火墙 
    iptables -F  清空规则
    iptables -L  
    查看iptable防火墙规则 ,看到只有如下短短的三个链,就说明,没有规则了
    关闭防火墙的需求,防止他影响你的服务访问 
    [root@s15fafafa ~]# iptables -L
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination         
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination         
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination    
    
    
    
    停止防火墙服务
    systemctl start/restart/stop firewalld 
    systemctl disable  firewalld  #删除iptables的开机自启 
    
    修改linux的字符编码
    1.编译字符编码的文件
    vi /etc/locale.conf
    写入如下变量
    LANG="zh_CN.UTF-8"
    2.读取这个文件,使得变量生效
    
    source    读取命令,使得配置文件在系统中生效
    echo $LANG    查看系统字符编码
    df -h    查看磁盘空间
    linux  dns配置文件是 /etc/resolv.conf 

    定时任务

    crontab -l    查看任务
    crontab -e    编辑任务
    语法:
    分    时    日    月    周    命令
     *     *      *   *       *    

    配置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 

    系统服务管理命令

    只有通过yum安装的软件,默认才能使用这个命令管理 
    systemctl  start/stop/restart  服务名
    
    systemctl  start/stop/restart    mariadb 
    systemctl  start/stop/restart  redis
    systemctl  start/stop/restart  nginx

    安装python3

    1.下载python3的源码
    cd /opt
    yum install wget -y    安装wget命令
    wget https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tgz
    
    通过yum安装工具包,自动处理依赖关系,每个软件包通过空格分割
    yum install gcc patch libffi-devel python-devel  zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel -y
    
    2.解压缩源码包
    tar -xvf Python-3.6.2.tgz
    
    3.切换源码包目录
    cd Python-3.6.2
    
    4.编译且安装
        4.1释放编译文件makefile
        ./configure --prefix=/opt/python36/
        4.2开始编译python3
        make
        4.3编译且安装
        make install
        4.4配置python3.6的环境变量(二选一即可)
            配置软连接    ln -s 目标文件    软连接文件
            ln -s /opt/python36/bin/python3.6    /user/bin/python3
            ln -s /opt/python36/bin/pip3    /user/bin/pip3
            配置path环境变量
            echo $PATH    查看环境变量
            vim /etc/profile写入
            PATH=/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/root/bin
            读一下/etc/profile使得生效
            source /etc/profile
    5.测试linux安装一个django
    pip3 install django
    6.创建django项目
    django-admin startproject mysite
    7.创建django的app应用
    django-admin startapp app01
    8.修改settings.py中的allow_hosts

    安装virtualevn

    1.下载virtualenv工具
    通过物理环境的pip工具安装
    pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple virtualenv
    安装完成后就多了一个virtualenv命令
    2.创建虚拟环境venv1
    virtualenv --no-site-packages --python=python3    虚拟环境名
    --no-site-packages    这是构建干净,隔离的模块的参数
    --python=python3    这个参数是指定虚拟环境以哪一个物理解释器为基础的
    最后是虚拟环境的名字,会创建这么一个文件夹
    3.进入虚拟环境目录,激活虚拟环境
    找到虚拟环境目录bin底下的activate文件
    source myenv/s15env1/bin/active
    激活虚拟环境,原理就是修改PATH变量,path是有顺序的执行的
    echo $PATH    检查环境变量
    检查虚拟环境是否正常
    which python3
    which pip3    
    4.测试安装两个虚拟环境venv1,venv2,并运行两个不同django版本的项目
    5.退出虚拟环境的命令 deactivate

    保证本地开发环境和线上一致性的操作

    1.通过命令保证环境的一致性,导出当前python环境的包
    pip3 freeze > requirements.txt
    这将会创建一个requirements.txt文件,其中包含了当前环境中所有包及各自版本的简单列表,可以使用pip list 在不产生requirements文件的情况下,查看已安装包的列表
    2.上传至服务器后,在服务器下创建virtualenv,在venv中导入项目所需的模块依赖
    pip3 install -r requirements.txt

    虚拟环境管理工具virtualenvwrapper

    1.在物理解释器底下安装这个命令
    pip3 install virtualenvwrapper
    2.修改环境变量,每次开机就加载这个virtualenvwrapper工具,
    vim ~/.bashrc    vim编辑用户家目录下的.bashrc文件,这个文件是用户在登录的时候,就读取这个文件
    export是读取shell命令的作用
    export WORKON_HOME=~/Envs   #设置virtualenv的统一管理目录
        export VIRTUALENVWRAPPER_VIRTUALENV_ARGS='--no-site-packages'   #添加virtualenvwrapper的参数,生成干净隔绝的环境
        export VIRTUALENVWRAPPER_PYTHON=/opt/python36/bin/python3     #指定python解释器
        source /opt/python36/bin/virtualenvwrapper.sh #执行virtualenvwrapper安装脚本 
    3.重新登录会话,使得这个配置生效
    logout
    ssh root@ip

    virtualenvwrapper命令

    mkvirtualenv    虚拟环境名    自动下载虚拟环境,且激活虚拟环境
    workon    虚拟环境名    激活虚拟环境
    deactivate    退出虚拟环境
    rmvirtualenv    删除虚拟环境
    cdvirtualenv    进入当前已激活的虚拟环境所在的目录
    cdsitepackages    进入当前激活的虚拟环境的python包的目录
  • 相关阅读:
    持续交付知易行难,想做成这事你要理解这几个关键点
    运维需要懂产品和运营吗?
    云计算和AI时代,运维应该如何做好转型?
    从谷歌CRE谈起,运维如何培养服务意识?
    谷歌SRE运维模式解读
    如何打造好运维组织架构?
    如何在CMDB中落地应用的概念?
    有了CMDB,为什么还需要应用配置管理?
    Vue视图渲染原理解析,从构建VNode到生成真实节点树
    10个Vue开发技巧助力成为更好的工程师(二)
  • 原文地址:https://www.cnblogs.com/s593941/p/10192941.html
Copyright © 2011-2022 走看看