第三关课前练习题(第四周)

2018-01-02  本文已影响0人  康乐_SH

笔试上机部分:

2.1请执行命令取出linux中eth0的IP地址(请用cut,有能力着也可分别用awk,sed命令)

思路:

1.定位-取出第二行

2.取出你要的ip地址

方法1-awk+awk+awk方法:

[root@hkping oldboy]# ifconfig eth0 | awk 'NR==2'

          inet addr:10.0.0.200  Bcast:10.0.0.255  Mask:255.255.255.0

[root@hkping oldboy]# ifconfig eth0 | awk 'NR==2' | awk '{print $2}' | awk -F ':' '{print $2}'

10.0.0.200

方法2-awk+awk方法:

[root@hkping oldboy]#  ifconfig eth0 | awk 'NR==2'

          inet addr:10.0.0.200  Bcast:10.0.0.255  Mask:255.255.255.0

[root@hkping oldboy]#  ifconfig eth0 | awk 'NR==2' | awk -F "[: ]" '{print $13}'

10.0.0.200

[root@hkping oldboy]#  ifconfig eth0 | awk 'NR==2' | awk -F "[: ]+" '{print $4}'

10.0.0.200

方法3-awk

#预备姿势—通过awk取出  ifconfig eth0结果中的 第二行的第二列

[root@hkping ~]# ifconfig eth0 | awk 'NR==2'

          inet addr:10.0.0.200  Bcast:10.0.0.255  Mask:255.255.255.0

[root@hkping ~]# ifconfig eth0 | awk 'NR==2' | awk '{print $2}'

addr:10.0.0.200

awk ‘找谁{干啥}’

#最终结果

[root@hkping ~]# ifconfig eth0 | awk -F "[: ]+" 'NR==2{print $4}'

10.0.0.200

方法4:sed+sed+sed

[root@hkping ~]# ifconfig eth0|sed -n "2p"|sed 's#^.*dr:##g'|sed 's#  Bc.*$##g'

10.0.0.200

方法5:sed后向引用

#原则—先把你要的内容保护起来,然后在后面使用

[root@hkping ~]# ifconfig eth0|sed -n "2p"|sed -r 's#^.*dr:(.*)  Bc.*$#\1#g'

10.0.0.200

方法6:

#预备姿势—ifconfig eth0第二行的inet替换为oldboy

理解:

1.1235方法

2.了解6

3.awk指定多个连续的分隔符,sed的反向引用

第2题:

#如何取得/etc/hosts文件的权限对应的数字内容,如-rw-r--r--为644,要求使用命令取得644或者8644这样的数字。

方法1:awk

stat /etc/hosts|awk -F "[(/]" 'NR==4 {print $2}'

0644

方法2:sed

stat /etc/hosts|sed -nr '4s#^.*\(([0-9]+).*$#\1#gp'

0644

方法3:stat命令的参数

[root@hkping ~]# stat -c%a /etc/hosts

644

小结:

1.sed awk的方法 awk方法指定分隔符

2.3 已知/oldboy/test.txt文件内容为

oldboy

xizi

xiaochao

请问如何把文件中的空行过滤掉(要求命令行事项)

方法1:grep

[root@hkping oldboy]# grep -v "^$" oldboy2.txt      -v表示排除  ^$表示空行

oldboy

xizi

xiaochao

方法2:awk

[root@hkping oldboy]# awk '!/^$/' oldboy2.txt        !表示不要  //表示awk查找

oldboy

xizi

xiaochao

方法3:sed

[root@hkping oldboy]# sed '/^$/d' oldboy2.txt        d表示删除

oldboy

xizi

xiaochao

小结:

1.通过awk sed表示排除

2.awk !

3.sed d

2.4 ett.txt过滤

oldboy

olldboooy

test

#如何通过sed awk实现过滤  ===grep/egrep

#egrep 'ol+dbo+y' ett.txt

oldboy

olldboooy

[root@hkping oldboy]# sed -nr '/ol+dbo+y/p' ett.txt

oldboy

olldboooy

# awk '/ol+dbo+y/' ett.txt

oldboy

olldboooy

小结:

1.sed awk如何实现过滤类似于grep/egrep

2.awk定位的方法

  # awk 'NR==1' ett.txt

  # awk 'NR==1,NR==10' ett.txt

  #awk '//'

3.sed定位

  sed -n '1p'

  sed -n '1,10p'

  sed -n '//p’

2.5linux下通过mkdir命令创建一个新目录/oldboy/ett.txt  ett的硬链接数是多少,为什么?

2.6请给出默认情况eth0网卡配置文件的路径及客户端DNS的路径。

/etc/sysconfig/network-scripts/ifcfg-eth0

/配置/系统配置/网络-脚本/if(c f g)-eth0

DNS的配置

1./etc/resolv.conf

2.网卡配置文件

3.网卡配置文件里面的DNS优先

2.7找出当前目录下所有文件,并把文件中的www.etiantian.org字符串替换为www.oldboyedu.com

    假设现在在/oldboy

    方法1:

    find /oldboy -type f -name "*.txt"|sed ''|xargs sed 's#www.etiantian.org#www.oldboyedu.com#g'

    方法2:

    #预备姿势

    ls -l `which mkdir`

    -rwxr-xr-x. 1 root root 50056 Mar 23  2017 /bin/mkdir

  #最终结果

  sed 's#www.etiantian.org#www.oldboyedu.com#g' $( find /oldboy -type f -name "*.txt")

    方法3:

    find /oldboy -type f -name "*.txt" -exec ls -l {} \;

2.8请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。

echo "oldboy";echo "oldboy"

; ======分号表示分隔多条命令

ls;pwd;pwd

# echo -n "oldboy";echo "oldboy" -n取消每行结尾的换行符号

[root@hkping ~]# date

Mon Jan  1 17:59:26 CST 2018

# date +%F

2018-01-01

# date +%w

1

# date +%T

18:05:57

date命令安装格式显示日期小结:

1.date +格式

2.%F %Y-%m-%d 年-月-日

  %T %H:%M:%S 时:分:秒

  %w 周几

按照说明显示日期

[root@hkping ~]# date -d "1day"

Tue Jan  2 18:12:14 CST 2018

[root@hkping ~]# date -d "-1day"

Sun Dec 31 18:12:17 CST 2017

#显示七天前的时间日期格式年-月-日_周几

# date -d "-7day" +%F_%w

2017-12-25_1

修改日期-慎用

data -s "20181111"

自动修改系统时间

时间服务器

pool.ntp.org

ntp1.aliyun.com

# ntpdate pool.ntp.org

2.11centos5.x,当从root用户切换到普通用户oldboy时,执行ifconfig会提示:command not found

PATH环境变量的

1.linux运行命令过程

  输入命令

  linux会在path里面进行查找

  运行

  报错

修改PATH环境变量

##临时

#export /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

##永久

把环境变量配置命令追加到/etc/profile中

export /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

#生效

# source /etc/profile

小结:

1.什么是PATH环境变量

2.如何修改PATH环境变量

2.12 请描述下列路径的内容是做什么?

/var/log/messages 系统默认日志

/var/log/secure 用户的登录信息

/etc/fstab linux开机的时候自动挂载的列表  开机的时候每个磁盘分区对应着什么入口

/etc/profile 配置环境变量和别名

/var/spool/cron/root 定时任务的配置文件

/etc/hosts 解析主机名

/etc/hosts   主机名----->ip地址

DNS解析    域名--->ip过程

2.13如何快速查到 ifconfig 的全路径,请给出命令。

方法1:which  在PATH环境变量中找

# which ifconfig

/sbin/ifconfig

方法2:find

# find / -type f -name "ifconfig"

/sbin/ifconfig

方法3:whereis  找出命令相关的  帮助 man

# whereis ifconfig

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

方法4:locate  根据名字  找出文件路径

2.14 请给出查看当前哪些用户在线的linux命令。

用户在线=====远程连接到服务器的用户

远程登录的用户=====通过xshell与SecureCRT连接服务器

方法1:w命令

# w

22:42:58 up  6:05,  1 user,  load average: 0.00, 0.00, 0.00

USER                  TTY      FROM              LOGIN@            IDLE  JCPU  PCPU WHAT

root                        pts/1    10.0.0.1        17:50                    0.00s  0.06s  0.00s w

远程登录的用户                从哪里登录      什么时候进入系统                          这个用户在做什么

系统的负载----系统的繁忙程度

  如果负载接近-服务cpu的核心总数

方法2:last  谁在什么时间连接到系统  连接了多久

方法3:lastlog  显示系统中所有用户最近一次的登录信息

2.15 请给出正确的关机和重起服务器命令

##重启

1.init 6

2.shutdown -r 1 一分钟后重启

  shutdown -r now          reboot

  shutdown -c 取消重启

##关机

1.init 0

2.poweoff

3.halt #需要手动关闭电源

4.shutdown -h 1

  shutdown -h now

2.16 请写出下面linux命令行快捷键 的功能?

ctrl + a 移动到行首

ctrl + e 移动到行尾

ctrl + c 取消当前操作

ctrl + d logout命令

ctrl + l 清除屏幕内容clear

ctrl + u 剪贴光标所在位置到行首的内容

clrl + k 剪贴光标所在位置到行尾的内容

ctrl + y 粘贴

ctrl + → 把光标移动到下一个单词

ctrl + ← 把光标移动到上一个单词

history|grep awk

ctrl + r 搜索历史命令,继续搜索

2.17vi /vim快捷键

移动光标:

移动到文件的第一行 gg

移动到文件的最后一行 G

移动到文件第100行 100gg

移动光标到行首 0 ^

移动光标到行尾 $

搜索

/你要搜索的内容 继续向下搜索n 继续向上搜索N

vim查询帮助

上一篇 下一篇

猜你喜欢

热点阅读