zoukankan      html  css  js  c++  java
  • 二、linux题型

    1、[root@pyrene ~]#

    这里root是当前登录用户  @分割     pyrene是主机名    ~:表示当前登录环境   #:表示管理员

    2、在/data下面创建一个文件oldboy.txt 

    [root@pyrene ~]# touch data/pyrene.txt

    [root@pyrene ~]# ls data/

    oldboy.txt

    3、在上面的文件中添加一句:I am study linux

             进入data目录中,进入vim编辑模式。然后输入内容保存 cat查看

             方法二:用echo的方式

                       [root@pyrene ~]# touch data/pyrene.txt

    [root@pyrene ~]# ls data/

    pyrene.txt

             方法三:

    [root@pyrene data]# cat >>pyrene.txt

    i am study linux

    ^C

     [root@pyrene data]# cat pyrene.txt

    i am study linux

    4、已知文件test.txt内容为

    test

    liyao

    oldboy

    请给出打印test.txt内容的时候不包含oldboy字符串的命令

    [root@oldboy xx]# find /xx -type f ! -name "file10"|xargs rm -f 

    [root@oldboy xx]# ls

    file10

     

    [root@oldboy xx]# find /xx -type f ! -name "file10" -exec rm -f {} ;     

    [root@oldboy xx]# ls

    file10

    [root@pyrene ~]# grep -v oldboy test.txt

    test

    liyao

             方法二、

             [root@pyrene ~]# head -2 test.txt

    test

    liyao

    5、连续创建目录 oldboy/data 这两个目录

             [root@pyrene ~]# mkdir /oldboy/data/a/bc

    mkdir: 无法创建目录"/oldboy/data/a/bc": 没有那个文件或目录

    [root@pyrene ~]# mkdir -p /oldboy/data/a/bc

    [root@pyrene ~]# tree /oldboy/

    /oldboy/

    └── data

        └── a

            └── bc

    6、已知/tmp目录下已经存在test.txt文件,如何执行命令才能把/mnt/test.txt拷贝到/tmp下覆盖掉/tmp/test.txt。并且不提示自动覆盖

    [root@pyrene ~]# touch  /tmp/test.txt

    [root@pyrene ~]# touch /mnt/test.txt

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

    cp:是否覆盖"/tmp/test.txt"?

     [root@pyrene ~]# cp /mnt/test.txt  /tmp/    反斜线屏蔽别名功能

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

            

    上在linux下输入cp实际上执行的是cp –I  加上一个或者写cp的全路径/bin/cp就是让这次的cp命令不使用别名(cp -i)运行

                       [root@pyrene ~]# alias rm='echo this command does not allow to use.'

     [root@pyrene ~]# alias|grep rm

    alias rm='echo this command does not allow to use.'

    设置别名的时候要用echo,如果不用echo就不能设置别名

    上面的别名只是内存中的,如果永久生效就要放到下面

    /ect/profile 全局生效

    ~/.bashrc   当前用户生效

    7、查看ett.txt文件(100行)内第20到30行的内容

    [root@pyrene ~]# seq 100 >> ett.txt   首先把内容填充到里面

    方法一

    [root@pyrene ~]# head -30 ett.txt |tail -11

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    方法二

    [root@pyrene ~]# sed -n '20,30'p ett.txt   //这个是最有效率的

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

                       上面的sed –n 表示取消默认输出,p为print,打印

                       方法三:

                       [root@pyrene ~]# awk 'NR>19&&NR<31' ett.txt

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

                       方法四

                       [root@pyrene ~]# grep 20 -A 10 ett.txt

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

                       方法五

                       [root@pyrene ~]# grep 25 -C 5 ett.txt

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

                       方法六

                       [root@pyrene ~]# grep 30 -B 10 ett.txt

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    8、把/oldboy目录及其子目录下所有以扩展名.sh结尾的文件中包含oldboy的字符串全部替换为oldgirl

    [root@pyrene oldboy]# echo 'oldboy'>test/del.sh

    [root@pyrene oldboy]# echo 'oldboy'>test.sh

    [root@pyrene oldboy]# echo 'oldboy'>.sh

    [root@pyrene oldboy]# tree

    .

    ├── test

    │?? └── del.sh

    └── test.sh

    1 directory, 2 files

             上面是模拟出来这些文件

    [root@pyrene oldboy]# find /oldboy/ -type f -name "*.sh"   //首先把sh结尾的文件查找出来

    /oldboy/test/del.sh

    /oldboy/test.sh

    /oldboy/.sh

    [root@pyrene oldboy]# find /oldboy/ -type f -name "*.sh"|xargs   //再把这些文件变成数据流

    /oldboy/test/del.sh /oldboy/test.sh /oldboy/.sh

    [root@pyrene oldboy]# find /oldboy/ -type f -name "*.sh"|xargs cat  //然后查看

    oldboy

    oldboy

    oldboy

    oldboy

    [root@pyrene oldboy]# find /oldboy/ -type f -name "*.sh"|xargs sed 's#oldboy#oldgirl#g'  //先在内存中替换看看是否成功

    oldgirl

    oldgirl

    oldgirl

    [root@pyrene oldboy]# find /oldboy/ -type f -name "*.sh"|xargs sed -i 's#oldboy#oldgirl#g'

    [root@pyrene oldboy]# find /oldboy/ -type f -name "*.sh"|xargs cat   //查看

    oldgirl

    oldgirl

    oldgirl

    方法二

    下面的方法首先是执行查找

    [root@pyrene oldboy]# sed -i 's#oldgirl#oldboy#g' `find /oldboy/ -type f -name "*.sh"`

    [root@pyrene oldboy]# find /oldboy/ -type f -name "*.sh" |xargs cat

    oldboy

    oldboy

    oldboy

    分区

    硬盘使用前,一般要分区,格式化(创建文件系统)

    分区:

    一块硬盘:

    主分区、扩展分区、逻辑分区

    主分区+扩展分区的数量<=4,其中一个主分区可以用一个扩展分区替代,扩展分区最多只能有一个

    扩展分区不能直接使用,还需要在上面创建逻辑分区,逻辑分区可有多个

    主分区+扩展分分区  编号只能1-4 ,逻辑分区的编号只能从5开始

    下面是三套服务器分区方案

    1、常规分区:数据不是特别重要的业务(集群的某个节点)

    /boot 引导分区 200m主分区

    swap  交换分区  内存的1.5倍,内存大于8G就给8-16G

    /     linux所有目录定点,剩余所有空间

    2、数据重要(数据库、存储服务器)

    /boot 引导分区 200m主分区

    swap  交换分区  内存的1.5倍,内存大于8G就给8-16G

    /     linux所有目录定点 100-200G

    /data  所有,存放数据 方便备份

    3、特大网站,门户(产品线特别多 需求)

    可能一个导航就是一组服务器,支付就是一组服务器,等等

    /boot 引导分区 200m主分区

    swap  交换分区  内存的1.5倍,内存大于8G就给8-16G

    /     linux所有目录定点 100-200G

    /data  所有,存放数据 方便备份

    剩余空间不分配,哪个部门领导了服务器,根据需求再进行分区

    挂载点:mount pint。是linux下访问磁盘分区的入口

  • 相关阅读:
    vue双向数据绑定原理解析及js代码实现
    react 实现tab切换
    vue不是内部或外部命令,解决办法
    JavaScript 基础知识 表达式和运算符
    JavaScript 基础知识 变量与数据类型
    Animation动画-小动画
    Ajax的封装
    esp32 python上位机(命令行)
    ESP32扫描环境中的所有WiFi并且通过串口选择需要连接的WiFi
    Linux修改开机图形/etc/motd
  • 原文地址:https://www.cnblogs.com/pyrene/p/8052629.html
Copyright © 2011-2022 走看看