首页 > 代码库 > 第一关测试题(一)

第一关测试题(一)


1. 为 oldboy.txt 增加内容为“ I am studying linux.  ” 

解答:    

  • 方法一:#vim /data/oldboy.txt

              I am studying linux.

  • 方法二:# echo "hello oldboy linux" >>/data/oldboy.txt      

                                                         == >> ##追加内容到oldboy.txt             

  •  方法三:#cat >>/data/oldboy.txt<<EOF

                >I am studying linux.

                >hello oldboy linux

                >I am study

                >EOF

          [root@server1 ~]# cat /data/oldboy.txt 

           I am studying linux.

           hello oldboy linux

           I am study


2. 已知文件 test.txt 内容为:

test

liyao

oldboy 

请给出 输出test.txt文件 内容时,不包含 oldboy 字符串的命令。

解答:

  • 方法一 : # grep "oldboy"  /data/test.txt 

                    oldboy

                     [root@server1 ~]#grep -v  "oldboy"  /data/test.txt 

                    test

                    liyao


  • #方法二: # head -n2 /data/test.txt 

                     test

                     liyao

                      [root@server1 ~]# head -2 /data/test.txt 

                     test

                     liyao


  •  #方法三: [root@server1 ~]# sed ‘/oldboy/d‘  /data/test.txt 

                      test

                      liyao


  •  #方法四:  # awk ‘/oldboy/‘ /data/test.txt 

                      oldboy

                        [root@server1 ~]# awk ‘!/oldboy/‘ /data/test.txt 

                       test

                       liyao


3. 已知 /tmp 下已经存在 test.txt文件,如何执行命令才能把 文件 /mnt/test.txt 拷贝到 /tmp 下覆盖掉 /tmp/test.txt ,而让系统不提示是否覆盖(root权限下)。

解答:

  • #方法一:使用 \cp 

         [root@server1 ~] # \cp /mnt/test.txt /tmp/


  • #方法二.使用命令cp 的全路径(绝对路径)

          [root@server1 ~] # which cp 

           alias cp=‘cp -i‘

           /bin/cp

           [root@server1 ~]# /bin/cp /mnt/test.txt /tmp/


4. 只查看 ett .txt文件(共 100 行)内第 20 到第 30 行的内容。

解答:[root@server1 ~]# seq 100 >/data/ett.txt     ==>创建100行内容

  • #方法一: # head -30 /data/ett.txt |tail -11

              20

              21

              22

              23

              24

              25

              26

              27

              28

              29

              30

  •  #方法二:# sed -n ‘20,30p‘ /data/ett.txt       ===>>  -n 取消默认输出

              20

              21

              22

              23

              24

              25

              26

              27

              28

              29

              30

 #方法三:# awk ‘NR==20,NR==30‘  /data/ett.txt 

              20

              21

              22

              23

              24

              25

              26

              27

              28

              29

              30

                # awk ‘NR>=20 && NR<=30‘ /data/ett.txt 

              20

              21

              22

              23

              24

              25

              26

              27

              28

              29

              30

  • #方法四:# grep -A10 "20" /data/ett.txt             ## -A10, 20之后的十行

            20

            21

            22

            23

            24

            25

            26

            27

            28

            29

            30

              # grep -B 10 "30" /data/ett.txt               ## -B 10,30之前的十行

            20

            21

            22

            23

            24

            25

            26

            27

            28

            29

            30

            # grep -C 5 "25" /data/ett.txt ##-C 5,  25左右五行

            20

            21

            22

            23

            24

            25

            26

            27

            28

            29

            30


5. 为什么运行cp命令的时候 会提示你 ?执行cp命令的时候,就相当于执行了 cp -i (mv -i ; rm -i )

   

★linux设置别名。

  •  查看别名:[root@server1 ~]# alias 

     alias cp=‘cp -i‘

     alias l.=‘ls -d .* --color=auto‘

     alias ll=‘ls -l --color=auto‘

     alias ls=‘ls --color=auto‘

     alias mv=‘mv -i‘

     alias rm=‘rm -i‘

     alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘        

  •   取消别名:[root@server1 ~]# unalias cp

 

例子:执行rm命令时,显示do not use rm command 

         ###第一个里程碑-如何显示这行文字

      [root@server1 ~]# echo do not use rm command

     do not use rm command


          ###第二个里程碑-配置别名

       [root@server1 ~]#  alias cp                   //看别人是如何配置的

       alias cp=‘cp -i‘

       [root@server1 ~]# alias rm=‘echo do not use rm command‘


         ###第三个里程碑-测试

         [root@server1 ~]# rm  /data

         do not use rm command /data

          [root@server1 ~]# rm -rf /data

         do not use rm command -rf /data


          ###第四个里程碑-让别名永久生效-/etc/profile 

          [root@server1 ~]# tail -1 /etc/profile

           alias rm=‘echo do not use rm command‘

          

           ###第五个里程碑-让别名的配置生效

            [root@server1 ~]# source /etc/profile

 

           ###第六个里程碑-排坑 -vim /root/.bashrc

            [root@oldboyedu37 ~]# cat /root/.bashrc 

            # .bashrc

            

            # User specific aliases and functions

            

            #alias rm=‘rm -i‘                        //注释rm 这行

            alias cp=‘cp -i‘

            alias mv=‘mv -i‘

            

            # Source global definitions

            if [ -f /etc/bashrc ]; then

            . /etc/bashrc

            fi


  

联系qq:2632886623

本文出自 “一个Linux小白-学习运维” 博客,谢绝转载!

第一关测试题(一)