小实验

2017-10-19  本文已影响28人  Miracle001
实验:更改文件,自动登录
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

上一篇下一篇

猜你喜欢

热点阅读