二、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下访问磁盘分区的入口

原文地址:https://www.cnblogs.com/pyrene/p/8052629.html