zoukankan      html  css  js  c++  java
  • 巨蟒python全栈开发linux之centos3

    1.作业讲解

    (1)递归创建文件夹/tmp/oldboy/python/{alex,wusir,nvshen,xiaofeng}

    下面中的路径没有必要换,在哪里创建都行,根目录下或者tmp目录下或者其他目录下创建都行

    这个时候我们用命令:tree   /tmp  查看一下创建之后的结构:

    (2)显示./tmp/下所有的内容详细信息(注意,这个是需要cd 到/tmp/下面的)

    方法一:  

    cd  /tmp

    ls  -lah

    方法二:

     ls  -lah  /tmp

    (解释:  l列表  a显示隐藏文件  h文件夹大小)

     (3)简述 / ~ - 的含义

    (4)请简述你如何使用vi命令

       1.打开文件  vi 校花的故事.txt

      2.输入i进入编辑

      3.按下esc退出编辑模式

      4.输入:wq!  写入保存退出

           :q!  不保存强制退出vim

    (5)查看/etc/校花的故事.txt的内容,并且打印行号

      cat  -n  /etc/校花的故事.txt

    (6) linux xshell常用快捷键?

       1.Tab键  补全命令

       2.Ctrl+l  清空终端显示的内容

       3.clear  清理终端显示,和上条一样

       4.Ctrl+c     终止当前显示

    (7) 如何用echo清空一个文件?

    #通过空字符串实现

    echo  ""  >  校花的故事.txt

     #覆盖写入,w模式

    echo  "嘻嘻嘻"  >  校花的故事.txt

    #追加写入,a模式

    echo  "嘻嘻嘻"  >  校花的故事.txt

    (8)复制/tmp/下所有内容到/home,在修改文件前,先拷贝一份,防止内容被破坏

     cp  -r  /tmp/*  /home    #*是所有的意思,正则

    (9)重命名test.py为my.py

     mv  test.py  my.py

    (10)强制删除/tmp下内容

    rm  -rf  /tmp/*

    #下面这句话表示将tmp干掉

    rm  -rf  /tmp/

    (11)找到服务器上的settings.py

    find  /crm/  -type  f  -name  settings.py

    #上边表示的是settings.py在crm目录下面,如果存在/etc/目录下面呢?

    #我们通过根,在全局搜索,可以搜索到

    find  /  -type  f  -name  settings.py

    (12)找到/etc下的网卡配置文件,提示网卡配置文件名是ifc开头

    find /etc/ -type f -name ifc*

    #注意,下面的普通用户没有权限,应该是有权限的,我中间用的是Tab键,应该用空格表示

    #下面的root超级用户有这个权限

    下面我用超级用户查看也是一样的问题,用空格隔离,可以显示出来了

    lo和ens33,我们在centos中输入ifconfig命令看到下面的内容

    这里题目,请先cp /etc/passwd /tmp/   拷贝文件

    (13)过滤出/tmp/passwd下有关root的信息

    提示,如果直接操作,会提示,这个内容不存在

    可信的答案:

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

    步骤:

    1.先生成一个  /tmp/passwd的文件

    #下图是查看/etc/passwd的内容的,其实就是一堆字符串,然后我们写在/tmp/passwd文件中

    我们可以,右击复制,粘贴到vim当中.

    命令1:

    cat /etc/passwd

     命令2:

    cp /etc/passwd   /tmp/passwd

    命令3:

    cat  /etc/passwd  >  /tmp/passwd

    cat  /tmp/passwd  -n  

    处理之后,我们依然得到44条命令在tmp里边

    回到题目:

    (13)过滤出/tmp/passwd下有关root的信息

    1.先生成了一个/tmp/passwd的文件

    grep "root" /tmp/passwd

    root信息这个时候会高亮显示,

     可信答案:

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

    (14)过滤出/tmp/passwd下除了/sbin/nologin的信息,且打印行号

     

    进入:

    加上enter,显示行号

    搜索login,用左下角的命令/login

    搜索/sbin/nologin,然后我们搜索的是sbin

     退出:

    现在我们开始过滤出来

     

    搜索字符串,在路径中

     

    翻转加上-v,  显示行号加上-n,所以最后的结果见下图:

    另一种写法:

    查询cat里边的参数信息:

    (15)

     查看/tmp/passwd前10行

    head -10 /tmp/passwd

    (16)

     查看/tmp/passwd后3行

    tail -3 /tmp/passwd

    (17)不间断打印/var/log/py.log的信息(-f理解成flash刷新的意思)

    tail -f /var/log/py.log

    (18)配置rm别名为“禁止你用rm,谢谢”,然后取消别名

    alias rm="echo  禁止你用rm,谢谢"

    unalias rm

    (19)统计/var/log/文件夹大小

    du -sh  /var/log

    (20).给settings.py加锁

    chattr +a settings.py

    解锁:

    chattr -a settings.py

    (21)同步服务器时间到ntp.aliyun.com

    ntpdate -u ntp.aliyun.com

    (22)将服务器1的/tmp/my.py远程传输到服务器2的/opt/目录下

    scp你想要的内容  你想存放到的地方

    scp  /tmp/my.py    用户名@服务器ip:/opt

      

    (23)将服务器2的/opt/test.py拷贝到服务器1的/home目录下

    #自己就是home

    scp root@服务器2的ip:/opt/test.py    /home/

    (24)简述top的常见参数(查看一下博客)

    2.用户管理篇

    (1)

    寻找网卡

    上边倒数第二条语句找到的是"文件夹对应的内容"

    ens33是网卡文件

    动态IP,

    我们要也可以配置静态ip

    BOOTPROTO=static

    还有一个是确保:

    ONBOOT=yes就行

    我们知道有这么一个东西就行

     (2)

    查看系统版本信息:

    第一条是红帽系列的版本,第二条是通用的,乌班图只能用第二条

     (3)用户管理:

    班主任(root用户):  群主  权利最大,为所欲为

    管理员:  sudo 命令,就是root给他了了一些超级权限 

    渣渣用户:普通linux用户,几乎,没什么权限

    python是查询id地址的,

    linux中的id是查询系统用户的id信息的

    展示一下默认家目录:

     

    存放用户信息的文件:  /etc/passwd

    第一个参数,用户名

    第一个数字:用户id

    第二个数字:用户组id

     1-999是系统自己创建的

    代表匿名文件同步

    自己创建的超过了1000

    退出

     (4)

    A:创建系统用户的命令:

    useradd banzhuren

    B:更改班主任的密码:

    passwd banzhuren

    下图是添加并查看用户:

    /etc/passwd/  我们查看后两行如何看?

    如果,不加用户名字,更改的是root的密码:

    #查看系统用户的id信息

    id banzhuren

    id root

    存放用户信息的文件  /etc/passwd

    存放用户组的文件    /etc/group

    班主任是1102

    切换到班主任用户的命令:

     

    设置banzhuren的密码:班主任666

    在右边开启一个新的窗口,登录banzhuren:

    因为班主任是一个普通的用户,所以,我们不能查看/root下面的信息

    如何用班主任切换到root

    su命令可以切换用户身份的需求,
    su - username
    
    su命令中间的-号很重要,意味着完全切换到新的用户,即环境变量信息也变更为新用户的信息

     必须加上 "横杠",不加的话,可能导致变量之间的冲突

     使用root登录banzhuren的账户不需要密码:

    总结:

    (5)

    root切换普通用户
    su - banzhuren  #不需要输入密码

    普通用户切换其他用户,需要输入那个用户的密码

    #先看下当前用户(我是谁)
    whoami
    #切换用户
    su - oldboy
    #退出用户登录
    logout
    ctrl + d

    作为一个运维,如果离职,运维必须要能够删除离职人员的用户和密码.

    班主任连用户的删除命令都没有,

    上边的这种删除方式仅仅是将名字给踢出掉了,

     如果刚才我们不删,看一下用户的信息:

    我们现在再看一下用户的信息

     

    这样,我们就看不到用户的信息

    这个文件依然存在这个家目录,依然存在风险,可能会反推会这个地方,进行破解,造成风险,怎么办?

    -f     强制删除用户
    -r    同事删除用户以及家目录
    userdel -r alex 

     现在我们手动删除home下面的alex ,以及home下面的s18

    这样我们就删除了:

    下面我们再创建一个用户:

    这个时候就删除了,见下图:

    (6)

    4.sudo命令,预设以root身份去执行命令 
        1.配置 /etc/sudoers,添加banzhuren用户到配置中
        找到如下行
        ## Allow root to run any commands anywhere 
        root    ALL=(ALL)       ALL
        banzhuren       ALL=(ALL)       ALL
    
        2.保存退出后,banzhuren用户即可使用sudo命令了
    
        3.visodu命令,提供对/etc/sudoers文件,进行配置检测的功能

     sudo是授权的意思

     

    权限没有行通,我们需要一个sudoers东西

    在root用户下我们执行下面的命令:

    快速查找命令/root

    上边只是其中一个地方,意思是"可以再任何地方执行任何命令"

     我们再插入一行命令:

    退出,执行:wq!,在按回车(enter)键

    这个时候,我们再用班主任看,

     

    现在还是显示权限不足,

     

    我们必须拿着超级用户授予权限的权限,才能成功执行,也就是sudo,不拿的话不能执行

    输入,停止网络的命令,显示权限不足,我们需要输入root用户的密码

     

    也有可能要求输入的是其他用户的密码

     

    esc+

    按"enter"退出,

    现在,我们再次处理,展示班主任用户下面的/root信息

    这个时候,我们得到的是下面的信息

    这个时候,我们知道是我们修改的行号出错了.

    但是如果不知道怎么办?需要加上行号

    这个时候,我们删除原来错误的那一行

     

    下面我们说一下visudo

    运行

    现在,我们在上边再瞎写一个,

    保存退出

    visodu命令,提供对/etc/sudoers文件,进行配置检测的功能

    直接在原来的root里边提示基础上修改,

    这个时候,班主任里边又可以使用了.

    
    

    3.开发常用命令1

    4.linux学习命令2

    5.linux命令学习3

    第一部分:
    
    1.配置好阿里云yum源
     1. /etc/yum.repos.d  #存放yum源仓库的文件,只有在这个目录下,文件以.repo结尾的才会被识别为yum仓库
     2.   CentOS-Base.repo  epel.repo   这2个文件就是 aliyun 的 yum源
     3.如果你不想要这些 aliyun的源,  你可以再去找 163的源,清华的源。。。。。。。。
        
    2.下载lrzsz工具,方便linux和windows互相传文件 3.如何手动启动网卡?
      启动/关闭一块网卡
      ifup eth0
      ifdown eth0
    4.linux的超级用户是什么?如何查看用户身份信息? 
    root   whoami

      id banzhuren
      id root
      id

    linux下的用户:超级用户root//普通用户
    5.简单描述linux的用户管理


    6.如何创建普通用户,并且修改用户密码,然后使用普通用户登录

        1.创建系统用户的命令
        useradd banzhuren
        2.更改班主任的密码
        passwd banzhuren

      ssh banzhuren@1.1.1.1:9999

    7.在linux下如何切换用户
      su - chaoge
    8.如何使用root身份执行普通用户的命令?请详细说明配置步骤 
      

        1.配置 /etc/sudoers,添加banzhuren用户到配置中
        找到如下行
        ## Allow root to run any commands anywhere
        root ALL=(ALL) ALL
        banzhuren ALL=(ALL) ALL

      2.保存退出后,banzhuren用户即可使用sudo命令了

      3.visodu命令,提供对/etc/sudoers文件,进行配置检测的功能


    9.简述linux文件的权限有哪些?
      rwx

    10
    .linux文件权限的755,700是什么意思?
    755
      u:可读可写可执行
      g:可读不可写可执行
      o:可读不可写可执行
    700
      u:可读可写可执行
      g:不可执行
      o:不可执行

    11.如何修改test.py文件权限为700
    chmod 700 test.py 

    12.如何修改test.py属组是oldboy?
    chgrp oldboy test.py  #更改属组
    chown oldboy test.py  #更改属主

    13.已知test.py文件权限是rwxr--r--,如何修改权限为rw-rw-rw
    744
    chmod 666 test.py

    14.linux如何建立软连接?
    ln -s 目标文件(给谁添加快捷方式)  快捷方式的路径

    15.linux的PS1变量是什么?如何修改
     命令提示符显示的格式
        通过重新给PS1赋值来修改
        PS1="[u@h W 	]$"
        
        #注意 Linux的shell变量赋值,不能有空格
    第二部分: 

    1.vim vi 是什么?


    2.vim有哪几种模式?


    3.命令模式有哪些?


    4.输入模式有哪些?


    5.底线命令模式有哪些?


    6.centos7用什么命令管理服务
    只有通过yum安装的软件才可以使用systemctl
    
    
    centos7系列    systemctl start/stop   redis  
    centos6/rhel 6    service  redis  start/stop/restart 
    7.linux解析dns的命令是什么? 
    nslookup  xiaohuawang.cn


    第三部分:

    1.将/tmp/下所有内容压缩成All_log.tar.gz并且放到/home/

        第一解法:tar -zcf /home/All_log.tar.gz   /tmp/*
        
        第二解法:mv  All_log.tar.gz   /home 
    2.解压缩Python源码包Python-3.7.0b3.tgz 
      tar -zxf Python-3.7.0b3.tgz



    3.查看mysql端口状态


    4.如何查看nginx的进程


    查看nginx的进程方式:ps –ef | grep nginx
    查看Nginx服务主进程的方式:cat nginx.pid


    5.如何杀死nginx进程
    kill pid
    6.如何修改linux中文 
    7.如何统计/var/log大小 
     du -sh /var/log
    -s合计
     -h 友好的单位  mb  gb  tb  pb  


    8.tree是什么作用?
    列出某路径下面的树状结构

    9.如何给linux添加一个dns服务器记录

    vim /etc/hosts
    进入里边进行添加ip和地址www.baidu.com

    10.每月的,5,15,25天的晚上5点50重启nginx

      50 17 5,15,25 * *
    /opt/nginx/sbin/nginx -s reload
    
    
      50 17 5,15,25 * * /usr/bin/systemctl  restart nginx 

    11.每周3到周5的深夜11点,备份/var/log /vmtp/
    0 23 * * 3-5 /usr/bin/cp -r /var/log /vmtp/
    注意:这个备份不太会写

    12.每天早上6.30清空/tmp/内容

      30 6 * * * /usr/bin/rm -rf /tmp/*
      问题:为什么加上/user/bin

    13.每个星期三的下午6点到8点的第5,15分钟执行命令 command
    5,15 6-8 * * 3 command

    14.编译安装软件有哪些步骤?
    1.解决python编译安装所需的软件依赖
            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.下载python3源码包
                wget https://www.python.org/ftp/python/3.6.7/Python-3.6.7.tar.xz
                
                xz -d Python-3.6.7.tar.xz
                tar -xf Python-3.6.7.tar        #解压缩,生成一个python源码文件夹
            
            3.进入python源码文件夹
                cd Python-3.6.7 
            4.进行编译安装,编译三部曲
                1.第一曲
                    ./configure --prefix=/opt/python36/
                            --prefix  参数解释:指定python36安装的位置 
                2.第二曲
                    make 
                3.第三曲 ,此时就开始安装python3软件
                    make install 
                    
                
            5.进入python36安装目录 ,检查bin目录
            
            
            6.配置python3的环境变量  PATH 
                1.取出当前的path变量
                echo $PATH
                2.填写python3的bin目录到PATH中
                PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
                3.讲环境变量,写入到全局配置文件/etc/profile 
                vim  /etc/profile 
                
                4.写入如下代码,在最底行写入如下配置
                PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
                5.读取配置文件,加载变量生效
                source  /etc/profile  
                
            7.安装django,运行django
                1.安装django模块
                pip3 install -i  https://pypi.douban.com/simple django  
            
                2.升级pip
                pip3 install --upgrade pip
                
                3.通过命令创建django项目
                
                django-admin startproject crm
                django-admin startapp app01
                
                4.关闭防火墙
                iptables -F  
    View Code
    
    

    15.如何修改python3的环境变量,以及软连接
      
    (1).取出当前的path变量
        echo $PATH
    (2).填写python3的bin目录到PATH中
                PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
    (3).将环境变量,写入到全局配置文件/etc/profile 
        vim  /etc/profile 
                
    (4).写入如下代码,在最底行写入如下配置
                PATH="/opt/python36/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin"
    (5).读取配置文件,加载变量生效
        source  /etc/profile  

    在/home目录中建立软连接,指向/tmp/test.txt文件 cd /home
    ln -s /tmp/test.txt my_test

    16.请在linux上启动django,windows上进行访问 
    linux中输入:
      cd /opt/crm
      python3 manage.py runserver 192.168.34.128:9988
    windows中输入:
      192.168.34.128:9988
    18.如何查看linux端口? 
    netstat

    19.如何杀死进程号为5888?
    先用ps查找进程,然后用kill杀掉:
    ps -ef | grep vim
    root      3268  2884  0 16:21 pts/1    00:00:00 vim install.log
    root      3370  2822  0 16:21 pts/0    00:00:00 grep vim
    ...
    
    kill 5888


    20.如何关闭iptables?
    centos7默认已经使用firewall作为防火墙了
    1.关闭防火墙
    systemctl status firewalld #查看防火墙状态
    systemctl stop firewalld    #关闭防火墙
    systemctl disable firewalld#关闭防火墙开机启动
    systemctl is-enabled firewalld.service#检查防火墙是否启动


    21.请说出 755, 740分别是什么权限?
    755:
      用户==读写可执行权限
      组内用户==可读不可写可执行
      其他用户==可读不可写可执行
    740:  
      用户==读写可执行权限
      组内用户==只有可读权限
      其他用户==没有权限

    22.修改文件权限为只有属主可读可写可执行?
    chmod 700 xxx.txt

     

  • 相关阅读:
    Maven+SpringMVC+Mybatis 开发环境整合
    在子jsp页面中调用父jsp中的function或父jsp调用子页面中的function
    动态库的生成和调用
    怎么下载纯净版系统
    ATL开发COM组件
    链表问题
    内存理解
    静态绑定和动态绑定;位拷贝和值拷贝
    导EXCEL单表单方法
    mfc解决回车键默认关闭窗口的一般方法
  • 原文地址:https://www.cnblogs.com/studybrother/p/10616800.html
Copyright © 2011-2022 走看看