小实验

作者: Miracle001 | 来源:发表于2017-10-19 09:44 被阅读28次
    实验:更改文件,自动登录
    centos7.3和centos6.9
        cat /etc/gdm/custom.conf
        vim /etc/gdm/custom.conf
        在[daemon]下方写上2条信息
            AutomaticLoginEnable=true
            AutomaticLogin=root(或fgq)开机自动登录的用户名
        cat /etc/gdm/custom.conf——reboot——本机就会自动登录
    
    实验:多个终端通讯
        SecruteCRT操作:复制并粘贴一个窗口,
            echo hello > /dev/pts/n  root操作  不正规  当前用户发信息给pts/n终端用户
        普通用户只能:wall hello  广播所有人
        write+用户名,hello+回车  正规操作
        广播禁止和开启
            mesg——is y
            mesg n  禁止
            mesg——is n
            mesg y  开启
    
    实验:启用网卡
    nano /etc/sysconfig/network-scripts/ifcfg-ens33(34)
    nano /etc/sysconfig/network-scripts/ifcfg-eth0(1)
    ONBOOT=no 更改位yes
        no更改位yes,ifconfig 看IP
        yes更改为no,重启reset,看IP
    重启或关闭单个网卡
    ifdown/ifup et1 192.168.128.136
    ifdown/ifup 网卡1 & ifdown/ifup 网卡2
    ifconfig 查看IP变化
    
    实验:修改提示符
    echo $PS1  提示符格式  [\u@\h \w]  \$=$  \\$=#   临时有效  exit后恢复
    PS1="..."
        引号里的内容
            \e \033颜色 
            \h 主机名简称    \H 全程
            \t 24小时格式   \T 12小时格式
            \l 命令历史数    \# 开机后命令历史数
            \w 当前目录基名
            \u 
    cat /etc/DIR_COLORS  颜色
        echo $PS1
        PS1="\[\e[31m\][\u@\h  \w]\\$\[\e[0m"
        nano /etc/profile.d/env.sh  创建一个新文件.sh后缀即可
            export PS1="\[\e[31m\][\u@\h  \w]\\$\[\e[0m"
        闪烁提示符
            echo -e "\033[43;31;5mmagedu\033[0m"
                43黄色背景 31字体颜色 ;5m闪烁
    登录提示信息
        nano /etc/motd  永久有效
        rz  上传文件
        cat 查看此文件
        echo > /etc/motd  删除文件
    修改文件颜色
        ls  /etc/profile.d/env.sh
        cat  /etc/DIR_COLORS
        nano /etc/DIR_COLORS  34更改为31
            创建文件,颜色变化
        nano a.exe  输入文件内容,y保存退出
            nano /etc/DIR_COLORS
            #.exe...32更改为.exe...35(粉)
            #表示注释,删除#,#后面内容发挥作用
    
    echo $PATH
    echo $PATH
        /usr/local/sbin;/usr/local/bin;/usr/sbin;usr/bin;/root/bin
        命令执行后,缓存的是路径,而不是命令本身;
        Linux里,即使命令就在当前目录下,也不会执行,只会按照“$PATH变量”指定的目录找,找不到,报错。要执行此命令,写具体路径。
        外部命令不在“PATH”变量里,就认为不是外部命令;把此命令放到“$PATH变量”的文件夹里,就可以执行。
    
    实验:把某个程序/命令设成外部命令
            把程序/命令放到“$PATH变量”的一个文件夹里
            ~]mkdir bin 
            ~]ls  有bin目录
            ~]mv cmd bin/   把cmd移到/root/bin
            ~]ls bin/  有cmd,可以执行
            ~]cmd  可以执行
            ~]type cmd  
        版本不同(6.9/7.3),用户不同(root/fgq),path路径不同
    
    命令执行的次序
        别名——内部命令——hash外部——$PATH变量路径
        内部命令-bash内存  外部命令-PATH变量  与路径无关,与当前所在文件夹无关
    
    保存别名(exit之后,不失效)
        nano .bashrc  
            系统文件:增加设置即可,exit后,对当前用户生效
            alias vi=vim
        ./source .bashrc  立即生效,不用exit
        ./source 文件名  使文件立即生效
        nano /etc/bashrc  对所有用户有效(建议备份)
            最下方空白处添加信息:alias hehe=ls
        . /etc/bashrc  保存,立即生效
    
    别名与原始命令可以相同,但是,定义完别名,优先使用别名
        使用原始命令,不用别名
            which cmd —— /path/to/cmd  写完整路径
            \cmd  加斜线
            "cmd"  加单引号
            不同环境,支持不同方法
            cmd 选项 参数
    
    实验:screen命令
    安装screen软件
    查看程序是否运行
        ps aux|grep 程序名(yes)
    screen 回车 
    运行程序  断网
    重新连接
        screen -ls  显示所有已经打开的screen会话
        screen -r  恢复某screen会话(某程序)
    图形界面VNC-可以  字符界面VNC-不可以  screen纯字符界面
        连接同一机器,用同一个账号,利用SecruteCRT连接
            A(root)——连接——> M <——连接——B(root)
        A
            screen -S help_name  创建新screen会话,名称是help_name
        B
            screen -ls  显示所有已经打开的screen会话
            screen -x help_name  连接
            同步
            exit  一起退出
            Ctrl+a Ctrl+d  自己退出当前回话,然后exit/x,不影响别人
            screen -r  显示已经打开的screen会话
        vim /etc/passwd  AB平等会话,可以自创窗口,同步
    
    实验:录屏、重播
    windows  录课堂视频软件
    Linux  录操作过程
        script -t(时间) 2> time.log(存放时间) -a wang.log(存放执行过的命令)  开始录屏
        exit退出录屏
        cat time.log  时间文件夹
        cat wang.log  操作过的命令
        scriptreplay time.log wang.log  回放
        可以重复录屏、回放
    
    实验:cp
    定义别名命令,每天将/etc/目录下的所有文件备份到/testdir独立子目录下,要求格式为backup YYYY-mm-dd
        mkdir /testdir 
        alias baketc="cp -a /etc /testdir/bakup`date +%F`"
        ls /testdir/
    创建/testdir/rootdir目录,并复制/root下所有文件到该目录,要求保留原有权限
        mkdir /testdir
        cp -a /root /testdir/rootdir 
    cp -a /etc/passwd{,.bak}
    echo/touch file{.txt,.log}  ——>  file.txt  file.log 
    echo file{,.log}  ——>  file  file.log
    echo {0000..100..10}  以10为起点,增到100
        0000
        0010
        0020
        ...
        0100
    touch file {1,2,3}.{txt,log}
    mv A B  改标签,改文件名
        rename ".txt" ".txt.bak" *.txt  
                被替换  替换后      被替换的文件名   
    mkdir 
        mkdir -p /app/d1/d2/d3/d4  自动创建所需目录
        mkdir -m 777  创建文件时,指定权限
        mkdir -p /testdir/dir1/{x,y}/{a,b}
            /testdir/dir1/x
            /testdir/dir1/y 
            /testdir/dir1/x/a 
            /testdir/dir1/x/b
            /testdir/dir1/y/a 
            /testdir/dir1/y/b 
        mkdir -p /testdir/dir2/{x/{a,b},y}
        mkdir -p /testdir/dir{3,4,5/dir{6,7}} 
    rmdir  
        rmdir 文件夹名(空)
        rmdir -p d1/d2/d3/d4  自动删除空文件夹,次序先d4
    rm
        rm -f file
        rm -rf /*  死定了
        rm -rf /app  内容、目录都删
        rm -rf /app/
        alias rm=mv
    mknod
        ll /dev/sda  ——>b类型 8主号 0次号
        mknod /app/sda b 8 0
        lsblk /app/sda 
    
    软连接、硬连接
    软连接 
        ln -s A B    B——>A
        跨分区、设备
        针对目录进行
        链接数不增加(不增加或减少目标文件inode计数)
        节点号不同
        依赖于原始文件
        相对路径是相对于相对于软连接的路径
    
    硬链接
        ln A B    参考A建立B
        不跨分区和设备
        不能针对目录
        链接数递增
        inode号一样
        不依赖于原始文件
        相对当前工作目录
    readlink /etc/system-release  显示"centos-release"
    
    硬链接(用的少)
        ln A B  参考A建立B文件
        二者的inode号一样
        AB地位平等
        多个名字
        对应同一分区(文件系统)的一个物理文件
            chown feng fiel_A  把A的所有者改为feng,则B的所有者也变为feng
        每个目录的inode号一样
        创建是,链接数递增
        删除文件时,链接数递减
        文件至少存在一个链接数,链接数为0,则该文件被删除
        不能跨设备(分区)
        不能针对目录(A不能为目录)
        不依赖原始文件
    应用
        哪个名字用起来方便,就把这个名字放到易找到的地方
    eg
        ln /etc/sysconfig/network-script/if-eth0(网卡名称)  /etc/eth0
        cat /etc/eth0 = cat /etc/sysconfig/network-script/if-eth0
        针对文件路径
        别名时针对命令
    

    软连接不同,对应的内容相同,但是功能就不同

    image.png
    自动挂载光盘
    df
    centos6 ...media/centos6.9..
    centos7.3 run/media/centos7.3
    root登录才可以挂载光盘
    
    mkdir -p /misc/cd  centos7.3
    yum -y install autofs
    
    普通用户挂载光盘
        mount /dev/sr0 /mnt
        ls /misc/cd  看到光盘挂载成功 centos6.9
        rpm -i /run/media/root/centos7.../Packages/autofs  系统已经安装则不用
        systemctl enable autofs  开机自动启动
        systemctl start autofs
        df 
        ls /misc/cd  
        cd /misc/cd  进入访问,即挂载   
        ls /misc/cd/Packages/  显示挂载信息
    
    IO重定向
    标准输入 0
    标准输出 1
    标准错误 2
    1> 把标准输出重定向到文件
    2> 把标准错误重定向到文件
    &> 把所有输出重定向到文件
    >> 追加
    
    cat 回车
    cat > f1
    结束:Ctrl+c/d
    
    cat < f1 
    cat < /bin/ls > /app/ls.exe
    mail -s 邮件标题 收信人    可以继续输入内容,结束方式. EOT
    收件人查收 mail n第几封邮件 quit退出
    echo centos|passwd --stdin mage &> /dev/null
    cat /dev/null > f1  清空f1
    多行重定向
        cat <<@/EOF/END>f1 
        >1111
        >2222
        >@/EOF/END  独立一行,结束符,开头和结尾一样
        
        cat <<EOF>mail.txt
        >hi,$USER
        >I am `whoami`
        >EOF 
        
    管道
    cmd1|cmd2|cmd3
        
    求1..100的和
        echo {1..100} | tr ' ' '+' | bc
    处理字符串
        echo 'xt.,|jr#!$mn2c*/fe 3 uz 4' | tr -dc '0-9 '
        ''单引号,不理会特殊字符
        ""双引号,识别特殊字符
    将文件中每个单词(字母组成)显示在独立的一行,且无空行
        cat file | tr -c 'a-zA-Z' '\n'
    
    奇数和偶数
    echo {1..100..2}  奇数
    echo {2..100..2}  偶数
    seq 100|sed -n 'n;p'  读取匹配到的行的下一行覆盖至模式空间(偶数)
    seq 100|sed 'n;d'  (奇数)
    
    httpd简单实验
    yum -y install httpd
    rpm -i /misc/cd/Packages/httpd-2...
    service httpd start 
    iptables -vnL  查看防火墙
    iptables -F  关闭防火墙
    chkconfig iptables off  关闭防火墙 
    echo welcome to lol > /var/www/html/index.html  网站建立
    网站刷新  产生日志
    tail -f /var/log/httpd/access...  回车,显示日志
    提取日志中的访问IP,不重复
        cut -d " " -f1 /var/log/httpd/access_log |sort -u |wc -l
    短期内某个IP显示次数过多,黑客,恶意刷网站
        显示日志中IP访问次数
        cut -d " " -f1 /var/log/httpd/access_log |sort |uniq -c |sort -nr
        取出httpd服务访问次数最高的IP
        cut -d " " -f1 /var/log/httpd/access_log |sort |uniq -c |sort -nr |head -n1 |tr -s " " |cut -d " " -f3  
    提取日志中的访问IP,不重复
        cut -d " " -f1 /var/log/httpd/access_log |sort -u |wc -l 
    查看当前,远程主机IP访问服务器的次数
            netstat -nt |tr -s " " : |cut -d: -f6 |sort |uniq -c |sort 
        
    刷网页:pv=page view
    echo testpage > /var/www/html/test.html  建立网站
    访问:IP地址/test.html  不写test.html,默认访问index.html  
    cat /var/log/httpd/access_log  查看访问哪个网页,使用哪个电脑
    centos7 curl http://IP地址/test.html  访问网址
    
    登陆界面输入用户名和密码登录
    xml文件
    cd /etc/gconf/gconf.xml.defaults
    ls
    vim %gconf-tree.xml
    搜索/user_list 21166行的信息false改为true
    
    

    相关文章

      网友评论

          本文标题:小实验

          本文链接:https://www.haomeiwen.com/subject/tnksuxtx.html