从头开始积累centos7系统运用

大牛博客:https://blog.51cto.com/yangrong/p5

1.创建目录/data/oldboy,并且在该目录下创建文件oldboy.txt,然后在文件lodboy.txt里写入内容

“inet addr:10.0.0.8” Bcast:10.0.0.255 Mask:255.255.255.0"(不包括引号)。

[root@python01 ~]# mkdir /data/oldboy -p

用sed过滤行

[root@python01 ~]# ip a|sed -n '9p'
    inet 192.168.50.200/24 brd 192.168.50.255 scope global eth0

用grep过滤指定字符

[root@python01 ~]# ip a|grep 192     
    inet 192.168.50.200/24 brd 192.168.50.255 scope global eth0

[root@python01 ~]# ip a|grep 192 >/data/oldboy/oldboy.txt

[root@python01 ~]# cat /data/oldboy/oldboy.txt
    inet 192.168.50.200/24 brd 192.168.50.255 scope global eth0

2.讲题1中的oldboy.txt文件内容通过命令过滤只输出如下内容:

10.0.0.8 10.0.0.255 255.255.255.0

多个分隔符用中括号括起来

[root@python01 ~]# awk -F "[ :]+" '{print $1$3}' /data/oldboy/oldboy.txt

正确答案:当只有一个分隔符时

[root@python01 ~]# awk -F " " '{print $2" "$4}' /data/oldboy/oldboy.txt  
192.168.50.200/24 192.168.50.255

3.将题1的oldboy目录移动到/tmp目录下,并将/etc/passwd文件复制到/tmp/oldboy下。

[root@python01 ~]# mv /data/oldboy  /tmp/
[root@python01 ~]# ls /tmp/oldboy/
oldboy.txt

[root@python01 ~]# cp /etc/passwd /tmp/oldboy/
[root@python01 ~]# ls /tmp/oldboy/
oldboy.txt  passwd

4.在题3的基础上使用awk取passwd文件的地10行到20行的第三列重定向到/tmp/oldboy/test.txt 文件里面。

[root@python01 oldboy]# awk '9<NR && NR<21{print }' passwd |cat -n
     1  operator:x:11:0:operator:/root:/sbin/nologin
     2  games:x:12:100:games:/usr/games:/sbin/nologin
     3  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
     4  nobody:x:99:99:Nobody:/:/sbin/nologin
     5  systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
     6  dbus:x:81:81:System message bus:/:/sbin/nologin
     7  polkitd:x:999:998:User for polkitd:/:/sbin/nologin
     8  sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
     9  postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    10  chrony:x:998:996::/var/lib/chrony:/sbin/nologin
    11  ntp:x:38:38::/etc/ntp:/sbin/nologin

[root@python01 oldboy]# awk -F ":" '{if(9<NR && NR<21)print $3}' passwd    
11
12
14
99
192
81
999
74
89
998
38

[root@python01 oldboy]# awk -F ":" '9<NR && NR<21{print $3}' passwd
11
12
14
99
192
81
999
74
89
998
38

[root@python01 oldboy]# awk -F ":" '9<NR && NR<21{print $3}' passwd >test.txt
[root@python01 oldboy]# ls
oldboy.txt  passwd  test.txt
[root@python01 oldboy]# cat test.txt
11
12
14
99
192
81
999
74
89
998
38

5.在题3的基础上要求用命令rm删除文件时提示如下禁止使用rm的提示,并是该效果永久生效。

[root@python01 oldboy]# rm -f passwd

Do not use rm command

别名临时生效:

[root@python01 oldboy]# alias rm='echo Do not use rm command.'

[root@python01 oldboy]# rm passwd
Do not use rm command. passwd

别名永久生效:

[root@python01 oldboy]# ls /etc/profile /etc/bashrc
/etc/bashrc  /etc/profile

追加到属性文件:

[root@python01 oldboy]# echo "alias rm='echo Do not use rm command.'" >> /etc/bashrc

[root@python01 oldboy]# echo "alias rm='echo Do not use rm command.'" >> /etc/profile

6.在题3的基础上,删除/tmp/oldboy/下除passwd以外的其他文件。

取正

[root@python01 oldboy]# find /tmp/oldboy/ -type f -name "*.txt"

取反

[root@python01 oldboy]# find /tmp/oldboy/ -type f ! -name "passwd"

删除查找到的文件\目的是屏蔽别名

[root@python01 oldboy]# find /tmp/oldboy/ -type f ! -name "passwd"|xargs \rm -f

7.在题3的基础上,请打印/etc/passwd 文件中的第2-5行(不低于三种方法)

[root@python01 oldboy]# sed -n '2,5'p /etc/passwd
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

[root@python01 oldboy]# awk '1<NR && NR<6' /etc/passwd  
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

[root@python01 oldboy]# head -5 /etc/passwd|tail -4
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

8.在题3的基础上,使用命令调换passwd文件里root位置和/bin/bash位置?即将所有的第一列和最后一列位置调换?

例:

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

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

[root@python01 oldboy]# awk -F ":" 'NR==1{print $7":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd
/bin/bash:x:0:0:root:/root:root
[root@python01 oldboy]# awk 'NR==1{print $0}' /etc/passwd                                     
root:x:0:0:root:/root:/bin/bash

[root@python01 oldboy]# awk -F ":" '{print $7":"$2":"$3":"$4":"$5":"$6":"$1}' /etc/passwd

[root@python01 oldboy]# sed ir 's#(.*):x(.*)#\3\2\1#g' /tmp/oldboy/passwd

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

结果是一样的: -n 1是表示分组有区别的

[root@python01 oldboy]# find /data -type f -name "*.txt" |xargs cat

[root@python01 oldboy]# find /data -type f -name "*.txt" |xargs -n 1 cat

[root@python01 oldboy]# echo "oldgir1" >/data/{1..99}.txt
-bash: /data/{1..99}.txt: ambiguous redirect
[root@python01 oldboy]# echo "oldgir1" >/data/1.txt      
[root@python01 oldboy]# echo "oldgir1" >/data/2.txt
[root@python01 oldboy]# echo "oldgir1" >/data/3.txt
[root@python01 oldboy]# echo "oldgir1" >/data/4.txt
[root@python01 oldboy]# echo "oldgir1" >/data/5.txt
[root@python01 oldboy]# echo "oldgir1" >/data/6.txt
[root@python01 oldboy]# echo "oldgir1" >/data/7.txt
[root@python01 oldboy]# echo "oldgir1" >/data/8.txt
[root@python01 oldboy]# echo "oldgir1" >/data/9.txt
[root@python01 oldboy]# echo "oldgir1" >/data/10.txt
[root@python01 oldboy]# echo "oldgir1" >/data/11.txt
[root@python01 oldboy]# echo "oldgir1" >/data/12.txt
[root@python01 oldboy]# echo "oldgir1" >/data/13.txt
[root@python01 oldboy]# echo "oldgir1" >/data/14.txt
[root@python01 oldboy]# echo "oldgir1" >/data/15.txt
[root@python01 oldboy]# echo "oldgir1" >/data/16.txt
[root@python01 oldboy]# echo "oldgir1" >/data/17.txt

将文件中的内容替换成要求的

[root@python01 oldboy]# find /data -type f -name "*.txt" |xargs sed -i 's#oldgir#oldboy#g'

最近8条命令的截取

history |cut -c 8-

10.查找/oldboy下所有七天以前的以log结尾的大于1M的文件移动到/emp目录下。

[root@python01 oldboy]# mkdir -p /data/oldboy

[root@python01 oldboy]# pwd
/data/oldboy

制造大文件执行10次下面的命令

[root@python01 oldboy]# cat /var/log/dmesg >>123.log

[root@python01 oldboy]# cat /var/log/dmesg >>456.log

将系统日期往后推9天,今天是20190709,就可以查看7天以前的文件了

[root@python01 oldboy]# date -s 20190718

[root@python01 oldboy]# stat 123.log

[root@python01 oldboy]# find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7
/data/oldboy/123.log
/data/oldboy/456.log

后面的 \;是exec的固定参数

[root@python01 oldboy]# find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7 -exec mv {} /tmp \;

[root@python01 oldboy]# mv `find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7` /tmp

[root@python01 oldboy]# find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7 |xargs -i mv {}  /tmp

博客参考:https://blog.51cto.com/oldboy/1750481

[root@python01 oldboy]# find /data/oldboy/ -type f -name "*.log" -size +1M -mtime +7 -exec cp {} /tmp \;

此处用xargs不行:删除时可以用xargs

[root@python01 oldboy]# find /tmp -type f -name "*.log" -size +1M -mtime +7 |xargs \rm

11.什么是linux的运行级别,请描述linux的运行级别不同数字的含义?

7已经没有那么多运行级别了。

[root@python01 oldboy]# cat /etc/inittab

# multi-user.target: analogous to runlevel 3
# graphical.target: analogous to runlevel 5

# systemctl set-default TARGET.target

7.里面默认的是 3

6.里面的运行级别:

0  halt

1  Single user mode

2  Multiuser,wittout NFS

3  Full multiuser mode

4  unused

5  X11

6  reboot

12.请描述buffer 和 cache的区别?

写入到内存的缓存叫buffer

从硬盘读取到内存的叫cache

13.请说出你知道的下列字符在linux里可以代表的意义。

~  root家目录

  [root@python01 oldboy]# cd ~
  [root@python01 ~]# ls
  anaconda-ks.cfg  epel-release-latest-7.noarch.rpm  test

`   上一次所在的目录

  [root@python01 ~]# cd -
  /data/oldboy

.  当前目录

..  上一级目录

|  管道符

  [root@python01 oldboy]# ip addr|sed -n '9p'
      inet 192.168.50.200/24 brd 192.168.50.255 scope global eth0

>  输入重定向

  [root@python01 oldboy]# seq 10 >abc.txt
  [root@python01 oldboy]# cat abc.txt
  1
  2
  3
  4
  5
  6
  7
  8
  9
  10

>>  追加输入重定向

<  输出重定向

  [root@python01 oldboy]# xargs -n 3 <abc.txt
  1 2 3
  4 5 6
  7 8 9
  10

<<  追加输出重定向

[root@python01 oldboy]# cat >>abc.txt <<EOF
> DFJSAKLFDJ
> DFJKSLAJF
> FJDSKLAFJ
> EOF

24.centos7基础学习与积累-010-上机考核命令练习的更多相关文章

  1. 26.centos7基础学习与积累-012-文件和目录的属性

    从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.文件的属性(文件的信息描述): [root@python01 ~]# ls -l ...

  2. 20.centos7基础学习与积累-006-软实力-画图

    从头开始积累centos7系统运用 亿图是用指南 安装亿图软件 修改基础配置 路径:文件==>选项==>常规 需要修改的参数: 撤销次数:256 自动保存间隔:2分钟 路径:文件==> ...

  3. 17.centos7基础学习与积累-003-命令练习01

    1.从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 linux命令的学习: 创建目录:mkdir mkdir /data mkdir ...

  4. 15.centos7基础学习与积累-001

    1.从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 做到精通这个操作系统, 互联网常用服务器品牌: dell:       4u   ...

  5. 27.centos7基础学习与积累-013-文件和目录的权限

    从头开始积累centos7系统运用 大牛博客: https://blog.51cto.com/yangrong/p5 https://blog.oldboyedu.com/ 文件的权限 rw-r--r ...

  6. 25.centos7基础学习与积累-011-课前考试二-命令练习

    从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 取IP地址: 6的命令:ifconfig eth0 7的命令 [root@pytho ...

  7. 23.centos7基础学习与积累-009-linux目录

    从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 linux目录的特点: 1. /是所有目录的顶点. 2. 目录结构像一颗倒挂的树. ...

  8. 22.centos7基础学习与积累-008-系统调优及安全设置

    从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.关闭selinux功能: SELinux(Securety-EnhancedLi ...

  9. 19.centos7基础学习与积累-005-命令总结01

    从头开始积累centos7系统运用 大牛博客:https://blog.51cto.com/yangrong/p5 1.查看命令帮助的方法: --help 适用于一般命令,非内置命令 man  适用于 ...

随机推荐

  1. Operation之算数&聚合操作符

    toArray 该操作符先把一个序列转成一个数组, 并作为一个单一的事件发送, 然后结束 Observable.of(1,2,3,4) .toArray() .subscribe(onNext: { ...

  2. Katalon studio登陆并进行用户名和密码参数化

    前面步骤不截图了,简单说一下: 1.创建空的test case :login 2.点击record录制脚本,走登陆 3.生成的脚本后,点击login用例属性,新建2个变量值 4.创建好后,进入用例页面 ...

  3. sql 在查询到的语句基础上添加行号

    正常查询语句: SELECT TagName FROM ps_status a WHERE a.TagName LIKE "DTmk_zybf%1bxxjcqh.PV" 查询结果: ...

  4. 大数据开发工程师面试《一》Shopee虾皮技术面

    一.项目问题 1 做了哪些项目2 使用什么技术3 哪个是你主导的项目,一共开发多少个接口,项目多长时间,数据库有多少个表 二.技术问题 1 用自己擅长的语言实现非递归单链表反转 现场手写2 Hadoo ...

  5. HttpClient get请求获取数据流

    HttpClient get请求获取数据流,将数据保存为文件 public String getStreamFile(String url) throws Exception { HttpClient ...

  6. Windows删除文件夹下的指定格式文件(递归删除)

    问题描述: 今天遇到一个需求,需要对文件夹进行文件筛选.目录结构较为复杂(目录较多,层次较深),数据量较大(总共60GB左右). 鉴于上述情况,直接排除了人工处理方式(否则小伙伴们会打死我的). 解决 ...

  7. Ajax跨域请求附带Cookie/Ajax跨域请求附带身份凭证

    一.跨域请求中默认不带cookie等验证凭证 尤其对于post请求. 对于ajax请求,其中post,get都可以正常访问. withCredentials: false, // 允许携带cookie ...

  8. PHP设计模式 - 命令模式

    命令模式:在软件系统中,“行为请求者”与“行为实现者”通常呈现一种“紧耦合”.但在某些场合,比如要对行为进行“记录.撤销/重做.事务”等处理,这种无法抵御变化的紧耦合是不合适的.在这种情况下,如何将“ ...

  9. xe.10.2的下载路径

    为了这个玩意,我折腾了一天,为了以后自己还用到 官网地址: http://altd.embarcadero.com/download/radstudio/10.2/delphicbuilder10_2 ...

  10. Python之路【第二十三篇】:数据库基础

    数据库的简介 数据库 数据库(database,DB)是指长期存储在计算机内的,有组织,可共享的数据的集合.数据库中的数据按一定的数学模型组织.描述和存储,具有较小的冗余,较高的数据独立性和易扩展性, ...