第二次笔试总结

作者: 静如止水yw | 来源:发表于2019-08-20 22:30 被阅读0次

    一、基础

    1.1 什么是绝对路径,什么是相对路径(2 分)

    绝对路径:以/开始的都是绝对路劲
    相对路劲:相对于当前目录来说
    

    1.2 简述命令执行的流程(2 分)

    判断是否通过绝对路径执行;
    判断是否存在alias别名;
    判断用户输入的是内置命令还是外置命令;
    bash内部命令直接执行;外部命令检测是否存在缓存
    通过$PATH变量查找命令,有执行,无报错,否则command not found
    

    1.3 简述软连接与硬连接的区别(2 分)

    硬链接使用ln来创建,而软链接使用ln -s来创建;
    硬链接不能创建目录,且硬链接不能跨越分区系统,软链接可以创建目录,且能跨越分区;
    硬链接的inode与源文件的inode相同,软链接与源文件的inode不同;
    删除硬链接时,源文件及其他硬链接文件无影响,
    删除源文件,硬链接与其他源文件无影响,但软链接失效,
    只有删除源文件与硬链接,整个文件才会被彻底的删除。
    

    1.4 创建目录/old/boy/(2 分)

    [root@wyw ~]# mkdir /old/boy/ -p
    

    1.5 使用一条命令在/old/boy/目录下创建 bgx1.txt、bgx2.txt、bgx3.txt 三个文件(2 分)

    [root@wyw boy]# touch /old/boy/bgx{1..3}.txt 
    

    1.6 将/old/boy/目录下所有内容复制到/root/目录下(2 分)

    [root@wyw ~]# cp /old/boy/* /root/
    

    1.7 删除/root 下所有 a 开头的文件及目录(2 分)

    [root@wyw ~]# rm -rf /root/a*
    

    1.8 在/tmp/目录下面创建一个 etc 的软连接 etc-test(2 分)

    [root@wyw ~]# ln -s /etc/ /tmp/etc-test
    

    1.9

    ls            查看当前目录的信息
    find          查找文件或者目录
    wget          联网下载文件
    curl          浏览网络资源
    rz            上传文件
    sz            下载文件
    cat           查看文件,从头到尾的查看
    less          查看文件,使用空格进行翻页,光标上下移动,q退出
    more          查看文件,使用ctrl+f/b进行上下移动,空格翻页,显示百分比,q退出
    mount         挂载
    grep          过滤文件内容
    awk           取列
    sed           替换
    vim           编辑工具
    history       查找执行的命令历史记录
    alias         设置别名
    unalias       取消别名
    man           查看帮助
    mkdir         创建一个目录
    touch         创建一个文件
    tree          以树状结构显示目录
    cd            返回当前所在的家目录
    rm            删除
    mv            移动
    tail          查看文件尾部的内容,默认后10行
    tailf         查看文件按=尾部的实时变化
    head          查看文件头部的内容,默认前10行
    pwd           查看当前所在的目录
    sort          排序
    uniq          去重
    cut           截取字段
    file          查看文件类型
    ln            创建链接文件
    echo          输出
    wc            统计行号
    useradd       添加用户
    usermod       修改用户
    userdel       删除用户
    groupadd      增加用户组
    groupmod      修改用户组
    groupdel      删除用户组
    yum           下载软件包
    rpm           安装软件
    

    1.10

    /bin  普通用户存放二进制可执行的命令
    /boot 存放系统启动时的引导目录 如kernel grub等
    /dev  存放设备目录
    /etc  系统的配置文件存放路径,包括后续安装的一些服务
    /home 普通用户的家目录
    /lib  库文件,命令所依赖的库文件(/usr/lib /usr/lib64)
    /mnt  挂载点
    /opt  第三方厂商安装软件存放的目录
    /proc 虚拟系统文件,显示当前系统正在运行进程的实时状态
    /root 超级管理员的家目录
    /run  存放进程锁文件
    /sbin 超级管理员存放二进制可执行的命令
    /tmp  系统临时目录
    /usr  存放系统文件
    /var  存放一些变化的文件,比如/var/log下的日志文件
    

    二、awk

    2.1 显示 1.txt 文件第 3 到第 10 行的内容?

    方法一:[root@wyw-10 ~]# awk 'NR>2 && NR<=10' 1.txt
    方法二:[root@wyw-10 ~]# sed -n '3,10p' 1.txt
    方法三:[root@wyw-10 ~]# head 1.txt |tail -8
    

    2.2取出 IP 地址

    [root@wyw-10 ~]# ifconfig ens33 |awk '/inet /{print $2}'
    [root@wyw-10 ~]# ifconfig ens33 |sed -n '2p'|awk '{print $2}'
    [root@wyw-10 ~]# ifconfig ens33 |grep 'inet '|awk '{print $2}'
    

    2.3写一个文件,文件内容如下
    cat >>test.txt<<EOF
    server {
    lisTEN 80;
    server_nAme docs.xuliangwei.com;
    root /code/dOcs
    index INDEX.html;
    }
    EOF
    2.3.1 过滤 docs.xuliangwei.com 这段关键字
    2.3.2 同时过滤出 root 和 index 的行,不区分大小写
    2.3.3 过滤 index,区分大小写
    2.3.4 过滤出带"O"的行,不区分大小写
    2.3.5 过滤出不带";"的行

    1.[root@wyw-10 ~]# awk -F " |;" 'NR==3{print $2}' test.txt
       [root@wyw-10 ~]# awk  'NR==3{print $2}' test.txt |awk -F ";" '{print $1}'
    2.[root@wyw-10 ~]# grep -Ei "root|index" test.txt
       [root@wyw-10 ~]# egrep -i "root|index" test.txt
    3.[root@wyw-10 ~]# grep -i "index" test.txt
    4.[root@wyw-10 ~]# grep -Ei "o" test.txt
       [root@wyw-10 ~]# egrep -i "o" test.txt
    5.[root@wyw-10 ~]# grep -v ";" test.txt   
    

    2.4 将“access.log”上传至你的Linux服务器
    2.4.1统计出该文件IP地址(第一列)出现的次数,并按正序对其进行排序
    2.4.2统计该文件内HTTP状态返回码出现的次数(例如200、4.4、4.3,在第九列),并按照倒序进行排序
    2.4.3过滤出所有状态返回码是200的行,并将这些返回码为200行的全部替换成300

    1.[root@wyw-10 ~]# awk '{print $1}' access.log |sort|uniq -c|sort -n
    2.[root@wyw-10 ~]# awk '{print $9}' access.log |sort|uniq -c|sort -nr
    3.[root@wyw-10 ~]# awk '{print $9}' access.log |sed 's#200#300#g'
    

    2.5使用hostnamectl查看当前系统信息
    2.5.1取出kernel内核版本信息
    2.5.2取出系统名称
    2.5.3取出系统版本信息,只显示“linux 7”

    1.[root@wyw-10 ~]# hostnamectl|awk -F ":" '/Kernel/{print $2}'
       [root@wyw-10 ~]# hostnamectl |grep -i "kernel"|awk -F ":" '{print $2}'
    2.[root@wyw-10 ~]# hostnamectl|awk -F ":" '/Static/{print $2}'
       [root@wyw-10 ~]# hostnamectl|awk '/Static/{print $3}'
       [root@wyw-10 ~]# hostnamectl|awk 'NR==1{print $3}'
       [root@wyw-10 ~]# hostnamectl|grep -i "static"|awk '{print $3}'
    3.[root@wyw-10 ~]# hostnamectl|awk 'NR==7{print $4,$5}'
       [root@wyw-10 ~]# hostnamectl|grep -i "operating"|awk '{print $4,$5}'  
    
    三、用户与权限

    1.在Linux系统中,那个文件保存着用户信息——/etc/passwd
    2.一个用户想要修改dir目录下的file文件,他需要对dir目录以及file文件有什么权限
    需要有dir目录的读权限和file文件的读写权限
    3.默认情况下管理员创建了一个用户,就会在/home目录下创建一个用户主目录
    4.为脚本程序指定执行权限的命令参数是——chmod +x filename.sh
    5.如果执行命令 #chmod 746 file.txt,那么该文件的权限是——rwxr--rw-
    6.某文件的权限为:drw--r--r--,用数值形式表示该权限,则该十进制数为644,该文件属性是目录类型。
    7.某个服务器有a.sh脚本,用户权限为644,需要执行什么命令,才可以执行./a.sh命令——chmod 755 a.sh
    8.唯一标识每一个用户的是用户的uid和用户名
    9.将以下权限翻译成数字,将数字权限用字母表示:
    rw-r-x-r-- 654 rw-r--r-- 644 rwx--x--x 711 rw------- 600
    rwxr--r-- 744 rw-rw-r-- 664
    751 rwxr-x--x 771 rwxrwx--x 632 rw--wx-w- 644 rw-r--r--
    551 r-xr-x--x 622 rw--w--w- 746 rwxr--rw- 755 rwxr-xr-x
    10.设置/home/user/test文件权限为所有者可读可写可执行,所有组可读可写,其他所有账户可读,并将该文件的所有者和所有组都修改为root
    chmod 764 /home/user/test chown root.root /home/user/test
    11.当用户zabbix对/testdir目录有写和执行权限时,该目录下的只读文件file1是否可修改和删除——能进入到/testdir下,能修改,但不能删除
    12.把Jacky的密码设置为123
    echo "123"|passwd --stdin jacky
    13.使用ls -l以长格式查看根目录,写出引号内容所代表的详细含义
    “dr-xr-xr-x.” 5 “root root” 4096 May 16 01:36 boot
    'd'表示文件类型,此类型为目录类型 第一个'r-x'表示属主权限,第二个'r-x'属组权限,第三个'r-x'是其他用户权限。
    14.当用户mysql对/data/DB目录无读权限,但是拥有写和执行权限,意味着能做那些操作,无法做哪些操作——能进入目录/data/DB,能创建新文件,也可以编写目录下的文件,但不能使用查看该目录下的文件。

    四、进阶

    1.如果某一天你误操作了"rm -rf*",会发生哪些情况

    如果实在当前目录下操作了rm -rf*,只会删除当前目录下的文
    件,如果是在根目录下,操作了rm -rf*,就会造成系统的崩溃。
    

    2.用命令行更改config.txt文件,把里面所有的"name"更改为"address"

    grep "name" config.txt|sed 's#name#address#g'
    

    3.用awk获取文件中第三行的倒数第二列字段

    awk 'NR==3{print $(NF-1)}'
    

    4.删除file.txt文件中的空行

    grep  -v "^$" file.txt
    grep  "^$" file.txt >/dev/null
    

    5.删除/tmp目录下所有a开头的文件

    rm -rf /tmp/a*
    
    五、翻译

    1.[root@test-200 ~]# cd /rot
    -bash: cd: /rot: No such file or directory ——没有这样的文件或目录
    2.[root@test-200 ~]# mdkir a
    -bash: mdkir: command not found ——找不到命令
    3.[root@test-200 ~]# mdkir a
    mkdir:cannot create directory ‘a’: File exists——无法创建目录“a”:文件存在
    4.[root@test-200 ~]# rm a
    rm:cannot remove ‘a’: Is a directory ——无法删除“a”:是一个目录
    5..[root@test-200 ~]# rm a.txt
    rm: remove regular empty file ‘a.txt’?——删除常规空文件“a.txt”

    1. [root@test-200 ~]# cp /tmp/a.txt /root/a.txt
      cp: overwrite ‘/root/a.txt’? ——是否覆盖'/root/a.txt'
    2. [root@test-200 ~]# id www
      id: www: no such user ——没有这样的用户
    3. [test@test-200 /]$ cd /root
      bash: cd: /root: Permission denied ——权限拒绝
    4. [root@test-200 /tmp]# cp -q a.txt c.txt
      cp: invalid option -- 'q' ——无效选项--“q”
    5. [root@test-200 /home]# useradd test
      useradd: user 'test' already exists ——用户“test”已存在

    相关文章

      网友评论

        本文标题:第二次笔试总结

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