• chapter02


    chapter02 - 03 作业

    1、  分别用cat ac l三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处?

    [root@localhost ~]# cat -n /etc/ssh/sshd_config

         1      #       $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $

         2     

             3      # This is the sshd server system-wide configuration file.  See

              。

              。

              。

         151 #       AllowTcpForwarding no

         152 #       PermitTTY no

             153 #       ForceCommand cvs server

    [root@localhost ~]# tac /etc/ssh/sshd_config

    #        ForceCommand cvs server

    #        PermitTTY no

    #        AllowTcpForwarding no

    # This is the sshd server system-wide configuration file.  See

    #        $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $

    [root@localhost ~]# nl  /etc/ssh/sshd_config

         1      #       $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $

          

         2      # This is the sshd server system-wide configuration file.  See

             3      # sshd_config(5) for more information.

              。

              。

              。

         125 #       AllowTcpForwarding no

         126 #       PermitTTY no

             127 #       ForceCommand cvs server

    不同之处:

    cat和tac标识空白行,nl不标示空白行

    cat以正序的方式显示文件内容,tac以倒叙的方式显示文件的内容

    2、  分别用more和less查看/etc/ssh/sshd_config里面的内容,请用总结more和less两个命令的相同和不同之处?

    [root@localhost ~]# more /etc/ssh/sshd_config

    #        $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $ ......

    [root@localhost ~]# less /etc/ssh/sshd_config

    #       $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $ ......

    不同之处:

    “more”按Enter键和空格键上下滚动,按q键退出

    “less” 功能与“more”大致相同,less按pgUp、pgDn键上下翻页,按“/”查找内容

    3、将/etc/passwd文件中的前20行重定向保存到/root下改名为20_pass.txt,将/etc/passwd文件中的后15行重定向保存到/root下改名为:pass_15.txt

    [root@localhost ~]# head -20 /etc/passwd >/root/20_pass.txt

    [root@localhost ~]# ls

    20_pass.txt      test.txt   公共  视频  文档  音乐

    anaconda-ks.cfg  test.txt~  模板  图片  下载  桌面

    [root@localhost ~]# tail -15 /etc/passwd >/root/pass_15.txt

    [root@localhost ~]# ls

    20_pass.txt      pass_15.txt  test.txt~  模板  图片  下载  桌面

    anaconda-ks.cfg  test.txt     公共       视频  文档  音乐

    3、  请用一个命令统计/etc/hosts文件包含有多少行?多少字节?多少单词数?

     [root@localhost ~]# wc /etc/hosts

      2  10 158 /etc/hosts

    5、练习使用grep和egrep

    5.1.通过grep管道工具过滤出ifconfig命令显示信息中的IP字段?

    [root@localhost ~]# ifconfig | grep "inet"

            inet 192.168.100.147  netmask 255.255.255.0  broadcast 192.168.100.255

            inet6 fe80::20c:29ff:fe69:4a49  prefixlen 64  scopeid 0x20<link>

            inet 127.0.0.1  netmask 255.0.0.0

            inet6 ::1  prefixlen 128  scopeid 0x10<host>

    (先利用ifconfig命令将IP调出来,再通过gerp命令滤除带有“inet”的字段。)

    [root@localhost ~]# ifconfig | grep "inet " | grep "t .* n"

            inet 192.168.100.147  netmask 255.255.255.0  broadcast 192.168.100.255

            inet 127.0.0.1  netmask 255.0.0.0

    (继续过滤,滤掉带有“inet6”的段落)

    [root@localhost ~]# ifconfig | grep "inet " | grep -o "t  .*  n"

    t 192.168.100.147  n

    t 127.0.0.1  n

    (通过“-o”参数扣出带有IP的字段)

    [root@localhost ~]# ifconfig | grep "inet " | grep -o "t  .*  n" | grep -o "  .*  "

     192.168.100.147 

     127.0.0.1 

    (再次过滤把数字抠出来)

    [root@localhost ~]# ifconfig | grep "inet " | grep -o "t.*n"|    " | head -1

     192.168.100.147

    (利用“head”命令摘出第一段,IP字段查看完毕)

    5.2.将/etc/passwd文件中的前20行重定向保存到/root下名称为pass?

    [root@localhost ~]# head -20 /etc/passwd >/root/pass

    [root@localhost ~]# ls

    20_pass.txt      pass         test.txt   公共  视频  文档  音乐

    anaconda-ks.cfg  pass_15.txt  test.txt~  模板  图片  下载  桌面

    5.3.过滤/etc/passwd文件中含有/sbin/nologin 的行并统计行数?

    [root@localhost ~]# grep "/sbin/nologin" /etc/passwd | wc -l 

    35

    5.4 过滤/etc/passwd文件中以sh结尾的行,及以 root开头的行,不显示包含login的行?

    [root@localhost ~]# grep "sh$" /etc/passwd

    root:x:0:0:root:/root:/bin/bash

    tom:x:1000:1000:tom:/home/tom:/bin/bash

    [root@localhost ~]# grep "^root" /etc/passwd | grep -v "login"

    root:x:0:0:root:/root:/bin/bash

    5.5 分别用grep和egrep过滤出/etc/ssh/sshd_config文件中不包含“#”开头和空白的行?

    [root@localhost ~]# grep -v "^#" /etc/ssh/sshd_config | grep -v "^$"

    HostKey /etc/ssh/ssh_host_rsa_key

    HostKey /etc/ssh/ssh_host_ecdsa_key

    HostKey /etc/ssh/ssh_host_ed25519_key

    SyslogFacility AUTHPRIV

    AuthorizedKeysFile  .ssh/authorized_keys

    PasswordAuthentication yes

    ChallengeResponseAuthentication no

    GSSAPIAuthentication yes

    GSSAPICleanupCredentials no

    UsePAM yes

    X11Forwarding yes

    UsePrivilegeSeparation sandbox              # Default for new installations.

    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

    AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

    AcceptEnv XMODIFIERS

    Subsystem        sftp  /usr/libexec/openssh/sftp-server

    [root@localhost ~]# egrep -v "^# | ^$" /etc/ssh/sshd_config

    HostKey /etc/ssh/ssh_host_rsa_key

    HostKey /etc/ssh/ssh_host_ecdsa_key

    HostKey /etc/ssh/ssh_host_ed25519_key

    SyslogFacility AUTHPRIV

    AuthorizedKeysFile  .ssh/authorized_keys

    PasswordAuthentication yes

    ChallengeResponseAuthentication no

    GSSAPIAuthentication yes

    GSSAPICleanupCredentials no

    UsePAM yes

    X11Forwarding yes

    UsePrivilegeSeparation sandbox              # Default for new installations.

    AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

    AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

    AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

    AcceptEnv XMODIFIERS

    Subsystem        sftp  /usr/libexec/openssh/sftp-server

    6.1 通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.gz

    [root@localhost ~]# cd /etc

    (进入etc文件夹)

    [root@localhost etc]# tar czf /root/file.tar.gz passwd

    (压缩文件并命名)

    [root@localhost etc]# ls /root

    20_pass.txt      file.tar.gz  pass_15.txt  test.txt~  模板  图片  下载  桌面

    anaconda-ks.cfg  pass         test.txt     公共       视频  文档  音乐

    (查看)

    6.2通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.bz2

    [root@localhost ~]# cd /etc

    [root@localhost etc]# tar cjf /root/file.tar.bz2 passwd

    [root@localhost etc]# ls /root

    20_pass.txt      file.tar.bz2  pass         test.txt   公共  视频  文档  音乐

    anaconda-ks.cfg  file.tar.gz   pass_15.txt  test.txt~  模板  图片  下载  桌面

    (做法与上题一样)

    6.3创建空文件夹/web/test1,并将file.tar.bz2 解包并释放到/web/test1目录下?

     

    [root@localhost ~]# mkdir -p /web/test1/

    (创建空文件夹/web/test1

    [root@localhost ~]# tar -xf file.tar.bz2 -C /web/test1

    (将file.tar.bz2 解包并释放到/web/test1目录下)

    [root@localhost ~]# ls /web/test1

    passwd

    (查看)

     

     

     

    7.1 通过vi编辑/web/test1/passwd文件将文件里为root单词全部替换成benet。

    [root@localhost ~]# vi /web/test1/passwd

    (通过vi编辑/web/test1/passwd

    :%   s/root/benet/g

    (将文件里为root单词全部替换成benet

    7.2 通过vi编辑 删除pass文件第1、5、10行。

    [root@localhost ~]# vi /web/test1/passwd

    :set nu

    :1G     D

    :5G     D
    :10G    D

    7.3 在vi中显示pass文件行号复制文件2 3 4行粘贴到以lp开头的行下。

    [root@localhost ~]# vi pass

    : set nu

    将光标移动至第二行,3yy

    将光标移动到ip行,p

    7.4 通过vi编辑 查找文件内包含mail var等字符串,并记录所在行号。

    mail(12)

    var(4,5,8,12,15,21,23)

    7.5 通过vi编辑 快速跳转到文件的第二行,通过r 读取 /etc/hosts 文件的内容到第二行下。

     

    :r  /etc/hosts

                           

     

     

    7.6将更改后的文件使用vim另存为/root/new_pass。

    :w  /root/new_pass

    [root@localhost ~]# ls /root/

    20_pass.txt      file.tar.bz2  new_pass  pass_15.txt  test.txt~  模板  图片  下载  桌面

    anaconda-ks.cfg  file.tar.gz   pass      test.txt     公共       视频  文档  音乐

    7.7将new_pass文件压缩成gz格式并改名为npass.gz文件。

    [root@localhost ~]# tar -czf npass.gz new_pass

    [root@localhost ~]# ls /root 0           

    20_pass.txt      file.tar.bz2  new_pass  pass         test.txt   公共  视频  文档  音乐

    anaconda-ks.cfg  file.tar.gz   npass.gz  pass_15.txt  test.txt~  模板  图片  下载  桌面

    8统计/dev 目录下的文件数量。

    包含文件夹

    [root@localhost dev]# ls -l | grep -v "总用量" | wc -l

    155

    [root@localhost dev]# ls | wc -l

    155

    不包含文件夹

    [root@localhost dev]# ls -l /dev | grep -v "drwxr" | grep -v "总用量" | wc -l

    138

    9.1在/boot下查找文件名以vmlinuz开头的文件?

    [root@localhost dev]# ls /boot

    config-3.10.0-229.el7.x86_64                             initrd-plymouth.img

    grub                                                     symvers-3.10.0-229.el7.x86_64.gz

    grub2                                                    System.map-3.10.0-229.el7.x86_64

    initramfs-0-rescue-7f8ba12e352e4670a26f091cb7a2014d.img  vmlinuz-0-rescue-7f8ba12e352e4670a26f091cb7a2014d

    initramfs-3.10.0-229.el7.x86_64.img                      vmlinuz-3.10.0-229.el7.x86_64

    (查询boot文件夹下的文件)

    [root@localhost dev]# ls /boot | grep "vmlinuz"

    vmlinuz-0-rescue-7f8ba12e352e4670a26f091cb7a2014d

    vmlinuz-3.10.0-229.el7.x86_64

    (过滤出含有vmlinuz的字段)

     [root@localhost dev]# ls /boot | grep "vmlinuz" | wc -l

    2

    (统计行数)

    9.2在/boot下查找文件大小大于3M 小于 20M 的文件

     

    [root@localhost dev]# find /boot -size +3M -a -size -20M

    /boot/vmlinuz-3.10.0-229.el7.x86_64

    /boot/vmlinuz-0-rescue-7f8ba12e352e4670a26f091cb7a2014d

    /boot/initramfs-3.10.0-229.el7.x86_64.img

     

     

     

    10 请详细写出构建本地yum仓库的步骤?并在每行命令后面用自己的话做上中文注释?

    [root@localhost ~]# umount /dev/sr0(卸载光盘)

    [root@localhost ~]# mount /dev/sr0 /media/(挂载光盘)

    mount: /dev/sr0 写保护,将以只读方式挂载

    [root@localhost ~]# ls /media/(查看)

    CentOS_BuildTag  EULA  images    LiveOS    repodata              RPM-GPG-KEY-CentOS-Testing-7

    EFI              GPL   isolinux  Packages  RPM-GPG-KEY-CentOS-7  TRANS.TBL

    [root@localhost ~]# cd /etc/yum.r*(构建本地YUM仓库文档)

    [root@localhost yum.repos.d]# mkdir a/(构建本地YUM仓库文档)

    [root@localhost yum.repos.d]# mv C* a/(构建本地YUM仓库文档)

    [root@localhost yum.repos.d]# vi ./local.repo(创建本地yum仓库文档)

    [cdrom]    //仓库名称

    name=cdrom

    baseurl=file:///media   //指定rpm包的位置

    enabled=1   //启用本地yum仓库

    gpgcheck=0  //禁用gpg校验

    [root@localhost yum.repos.d]# yum -y clean all(清除yum缓存)

    已加载插件:fastestmirror, langpacks

    正在清理软件源: cdrom

    Cleaning up everything

    Cleaning up list of fastest mirrors

    [root@localhost yum.repos.d]# yum makecache(重建yum缓存)

    已加载插件:fastestmirror, langpacks

    cdrom                                                                   | 3.6 kB  00:00:00    

    (1/4): cdrom/group_gz                                                   | 154 kB  00:00:00    

    (2/4): cdrom/filelists_db                                               | 2.7 MB  00:00:00    

    (3/4): cdrom/other_db                                                   | 1.1 MB  00:00:00    

    (4/4): cdrom/primary_db                                                 | 2.7 MB  00:00:00    

    Determining fastest mirrors

    元数据缓存已建立

    11、用yum命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?

    [root@localhost ~]# rpm -q vsftpd

    未安装软件包 vsftpd

    (查询是否安装vsftpd)

    [root@localhost ~]# yum -y install vsftpd

    已加载插件:fastestmirror, langpacks

    Loading mirror speeds from cached hostfile

    正在解决依赖关系

    完毕!

    (用yum安装vsftpd)

    [root@localhost ~]# rpm -q vsftpd

    vsftpd-3.0.2-9.el7.x86_64

    (用yum安装vsftpd)

    [root@localhost ~]# yum -y remove vsftpd

    已加载插件:fastestmirror, langpacks

    正在解决依赖关系

    --> 正在检查事务

    。                                                                

    完毕!

    (用yum卸载vsftpd)

    [root@localhost ~]# rpm -q vsftpd

    未安装软件包 vsftpd

    (查询是否卸载vsftpd)

    12、用rpm命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?

    [root@localhost ~]# rpm -q vsftpd"vsftpd"

    未安装软件包 vsftpdvsftpd

    (超序是否安装vsftpdvsftpd包)

    [root@localhost ~]# find / -name "vsftpd*.rpm"

    /media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm

    (查找安装vsftpdvsftpd包)

     

     

     [root@localhost ~]# cd /media/Packages/

    (进入/media/Packages/

    [root@localhost Packages]# rpm  -ihv  vsftpd-3.0.2-9.el7.x86_64.rpm

    警告:vsftpd-3.0.2-9.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

    准备中...                          ################################# [100%]

    正在升级/安装...

       1:vsftpd-3.0.2-9.el7               ################################# [100%]

    (安装rpm包)

    [root@localhost Packages]# rpm -q vsftpd

    vsftpd-3.0.2-9.el7.x86_64

    (查询是否安装rpm包)

    [root@localhost Packages]# rpm -e vsftpd

    (卸载rpm包)

    [root@localhost Packages]# rpm -q vsftpd

    未安装软件包 vsftpd

    (查询是否安装rpm包)

    13、通过源码方式通过解包、配置、编译、安装四个步骤安装源码软件httpd-2.2.17.tar.gz?并进行测试?

    [root@localhost Packages]# yum -y install gcc gcc-c++ make

    已加载插件:fastestmirror, langpacks

    Loading mirror speeds from cached hostfile

    完毕!

    (准备操作,先安装c++

    [root@localhost ~]# tar -xf httpd-2.2.17.tar.gz -C  /usr/src

    (解包到/usr/src

    [root@localhost ~]# cd /usr/src/httpd-2.2.17/

    (进入包)

    [root@localhost httpd-2.2.17]# ./configure –prefix=/usr/local/apache

    config.status: creating build/config_vars.sh

    config.status: creating include/ap_config_auto.h

    config.status: executing default commands

    (预配置)

    [root@localhost httpd-2.2.17]# make

    prutil-1.la /usr/src/httpd-2.2.17/srclib/apr-util/xml/expat/libexpat.la /usr/src/httpd-2.2.17/srclib/apr/libapr-1.la -lrt -lcrypt -lpthread -ldl

    make[1]: 离开目录“/usr/src/httpd-2.2.17”

    (编译)

    [root@localhost httpd-2.2.17]# make install

    Making install in srclib

    make[1]: 进入目录“/usr/src/httpd-2.2.17/srclib”

    mkdir /usr/local/apache/man/man8

    mkdir /usr/local/apache/manual

    make[1]: 离开目录“/usr/src/httpd-2.2.17”

    (安装)

    [root@localhost httpd-2.2.17]# cd /usr/local/apache/conf/

    (进入/usr/local/apache/conf/

    [root@localhost conf]# cp httpd.conf httpd.conf.bak

    (拷贝httpd.conf httpd.conf.bak

    [root@localhost conf]# vi /usr/local/apache/conf/httpd.conf

    (修改配置文件)

    [root@localhost conf]# /usr/local/apache/bin/apachectl start

    (启动)

    [root@localhost conf]# yum -y install lynx

    已加载插件:fastestmirror, langpacks

    Loading mirror speeds from cached hostfile

    完毕

    (安装lynx

    [root@localhost conf]# lynx 127.0.0.1

    (运行)

  • 相关阅读:
    pmp组织结构
    在Python中使用ArcObjects(来自Mark Cederholm UniSource Energy Services )
    C#中使用多线程访问winform的值
    白话地图投影之图解投影
    白话地图投影之初识地球
    验证视图状态 MAC 失败。如果此应用程序由网络场或群集承载,请确保<machineKey>
    外连接
    Repeater二级绑定
    内连接
    Access多条件查询前几条数据
  • 原文地址:https://www.cnblogs.com/baoqingrui/p/11252684.html
Copyright © 2020-2023  润新知