开发者社区> 惨绿少年> 正文

练习题二下

简介: 1.1 第8题 linux 系统运行级别一般为 0-6,请分别写出每个级别的含义。 1.1.1 运行级别的含义 0 关机 1 单用户模式 2 多用户模式 没有NFS 3 完全的多用户   命令行模式 4 没有使用 5 图形化界面模式 6 重启 1.
+关注继续查看

1.1 8

linux 系统运行级别一般为 0-6,请分别写出每个级别的含义。

1.1.1 运行级别的含义

0 关机

1 单用户模式

2 多用户模式 没有NFS

3 完全的多用户   命令行模式

4 没有使用

5 图形化界面模式

6 重启

1.1.2 临时切换运行级别 

init 5 临时修改

1.1.3 查看运行级别

runlevel 显示运行级别

1.1.4 永久修改运行级别

修改文件 /etc/inittab

1.2 9

希望防火墙,仅在 3 级别上开机自启动,该如何做?

1.2.1 --level

--level后加数字指定运行级别 on off

[root@znix ~]# chkconfig --level 3  iptables on

[root@znix ~]# chkconfig |grep ipt

iptables       0:off   1:off   2:off   3:on    4:off   5:off   6:off

[root@znix ~]# chkconfig --level 3  iptables off

[root@znix ~]# chkconfig |grep ipt

iptables        0:off   1:off   2:off   3:off   4:of

1.3 13

etc/目录为 linux 系统的默认的配置文件及服务启动命令的目录

   a.请用 tar打包/etc 整个目录(打包及压缩)

   b.请用 tar打包/etc 整个目录(打包及压缩,但需要排除/etc/services 文件)

   c.请把 a 点命令的压缩包,解压到/tmp 指定目录下(最好只用 tar命令实现)

1.3.1 创建压缩包

创建压缩包的时候尽量使用相对路径

[root@znix ~]# tar zcvf  /tmp/etc.tar.gz     /etc/

                                   筐(压缩包的名字) 要压缩的文件          

[root@znix ~]# ls -lh /tmp/etc.tar.gz

-rw-r--r-- 1 root root 9.3M Aug 25 09:34 /tmp/etc.tar.gz

              z----压缩工具 gzip  通过gzip软件进行压缩

              c----create 创建压缩包

              v----显示 创建/解压 的过程

              f----指定压缩包的位置和名字

1.3.2 查看压缩包的内容

查看压缩包的内容时可以不加z参数,系统会自动选择。

[root@znix tmp]# tar ztf etc.tar.gz

              t----显示或者列表

1.3.3 解压缩

解压不指定路径的时候会解压到当前路径。

[root@znix tmp]# tar zxf etc.tar.gz

              x----extract 解压

       指定解压路径

              -C (大写c 指定解压路径

[root@znix ~]# tar xf /tmp/etc.tar.gz  -C /tmp/

[root@znix ~]# ls -ld /etc/

drwxr-xr-x. 78 root root 4096 Aug 25 09:42 /etc/

1.3.4 排除指定文件

--exclude  后面加上等号填上要排除的文件

[root@znix /]# tar zcf /tmp/etc-paichu.tar.gz /etc/ --exclude=etc/services

[root@znix /]# tar tf /tmp/etc-paichu.tar.gz |grep "services"

etc/init/readahead-disable-services.conf

1.3.5 压缩时的提示

Removing leading `/' from member names

把压缩包中的文件最前面的斜线删除

            压缩包里的内容 绝对路径>>>相对路径

原因:

       解压的时候会按照压缩包内的路径进行解压,从根目录打包会覆盖其他文件

系统解决办法:

       出于安全的考虑,把绝对路径前面的'/'去掉,变成相对路径

1.3.6 相对路径压缩

先进入根目录再进行压缩。

[root@znix /]# tar zcf /tmp/etc.tar.gz etc/

       一条命令,进入根目录并且压缩。

[root@znix ~]# cd / && tar zcf /tmp/data.tar.gz etc/

&& 表示前面的执行好了,再执行后面的

[root@znix ~]# cd / && tar zcf /tmp/etcbak.tar.gz etc/

[root@znix /]# ll /tmp/etcbak.tar.gz

-rw-r--r-- 1 root root 9733401 Aug 25 10:54 /tmp/etcbak.tar.gz

1.4 13

 

创建环境

[root@znix /]# mkdir /oldboy ; echo "I am oldboy,myqq is 31333741">/oldboy/oldboy.txt

[root@znix oldboy]# cat oldboy.txt

I am oldboy,myqq is 31333741


现在需要从文件中过滤出“oldboy”和“31333741”字符串,请给出命令。

 

1.4.1 方法一 sed+sed

先用sed命令将前面的部分替换为空,经过管道,sed在将后面的部分替换为空。

[root@znix oldboy]# sed 's#I am ##g' oldboy.txt |sed 's#,myqq is##g'

oldboy 31333741

1.4.2 方法二 sed+awk

sed将逗号换为空格,awk以空格为分隔符,print输出列的内容,$3表示第三列,$NF 表示最后一列

[root@znix oldboy]# sed 's#,# #g' oldboy.txt |awk '{print $3,$NF}'

oldboy 31333741

1.4.3 方法三 awk

使用-F指定分隔符,这里指定为逗号和空格,print 需要在{}中才可以使用

-F 指定分隔符,表示每一列的结束标记

[root@znix oldboy]# awk -F "[, ]" '{print $3,$6}' oldboy.txt

oldboy 31333741

1.4.4 方法四 sed+cut

先用sed将逗号替换为空格,然后再用cut 切割。

-d 表示用什么切割,这里指定为空格,-f36表示第三和六列。

[root@znix oldboy]# sed 's#,# #g' oldboy.txt|cut -d ' ' -f3,6

oldboy 31333741

1.4.5 显示为oldboy,31333741

awk'{print $3","$NF}'里面写双引号里面写什么就显示什么

[root@znix oldboy]# awk -F "[ ,]"  '{print $3","$NF}' oldboy.txt

oldboy,31333741

1.5 14

查看/etc/services文件内容有多少行

1.5.1 显示行数 wc

[root@znix oldboy]# wc -l /etc/services

10774 /etc/services

-l 显示文件有多少行

1.5.2 检查进程是否运行(wc运用)

ps命令,查看正在运行的进程,-ef 显示系统中正在运行的进程

[root@znix ~]# ps -ef

[root@znix ~]# ps -ef|grep "/sshd"

root       1450      1  0 Aug24 ?        00:00:00 /usr/sbin/sshd

root       4965   4846  0 12:32 pts/0    00:00:00 grep /sshd

       使用wc命令查看行数

       数字大于2时表示程序运行。

[root@znix ~]# ps -ef|grep "/sshd"|wc -l

2

1.6 15

过滤出/etc/services  文件包含 3306 1521 两数据库端口的行的内容。

1.6.1 使用grep命令

[root@znix ~]# grep -E "3306|1521" /etc/services

mysql           3306/tcp                        # MySQL

mysql           3306/udp                        # MySQL

ncube-lm        1521/tcp                # nCube License Manager

ncube-lm        1521/udp                # nCube License Manager

       "|" 表示或者,必须加在引号中。属于正则表达式。

1.6.2 使用egrep

egrepgrep的高级版,与grep -E 相同。

[root@znix ~]# egrep "3306|1521" /etc/services

mysql           3306/tcp                        # MySQL

mysql           3306/udp                        # MySQL

ncube-lm        1521/tcp                # nCube License Manager

ncube-lm        1521/udp                # nCube License Manager

1.7 命令行及shell中加单引号和加双引号的区别

1.7.1 单引号

所见即所得, 单引号里的内容会原封不动的显示出来

[root@znix ~]# echo '$LANG $(hostname)'

$LANG $(hostname)

 

1.7.2 双引号

解析里面的特殊符号

[root@znix ~]# echo "$LANG $(hostname)"

en_US.UTF-8 znix

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
c++练习题(4)
c++练习题(4)
16 0
C++练习题1
C++练习题1
15 0
C/C++练习题(二)
1、下面这些指针分别代表什么? float(**p1)[10]; double*(*p2)[10]; double(*p3[10])(); int*((*p4)[10]); long(**p5)(int(*a)[]); p1是一个二维指针,它指向的一维指针又指向了一个数组,这个数组的类型是floa...
922 0
C/C++练习题(三)
1、对下面两个文件编译后,运行会输出什么? // 第一个文件a.c #include extern char p[]; extern void f(); int main() { f(); printf("a.
672 0
C/C++练习题(一)
1. volatile 关键字在 C++ 中的性能和 C 的一样? 作用是一样的,但是其内部实现原理可能不同。 2. scanf 格式化输入是怎么赋值的? 由于scanf输入的数据个数是不定的,从键盘输入的数据会进入缓冲流,然后将输入的数据赋值给scanf的参数。
1521 0
练习题四
第1章 练习题 1.1 每天晚上 12 点,打包站点目录/var/www/html 备份到/data 目录下(最好每次备份按时间生成不同的备份包) 1.1.1 测试命令 [root@znix ~]# cd / && tar zcf /data/www_`date +%F`.
1144 0
练习题三
第1章 练习题 1.1 第1题 取得/etc/hosts 文件的权限 如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r--  为 644,要求使用命令取得644 这样的数字。
1205 0
练习题二上
第1章 linux启动过程 1、开机自检bios 2、mbr引导 3、GRUB 菜单:选择不同的内核 4、加载内核 5、运行init进程 6、读取/etc/inittab运行级别配置文件 7、执行 /etc/rc.
1056 0
练习题 一下
1.1 第8题 输出test.txt文件内容时,不包含oldboy字符串的命令 文件内容:   [root@znix ~]# cat /data/test.txt test liyao oldboy   1.1.1 方法一grep 使用grep命令,找什么就写什么 -v 参数是排除的意思   [root@znix ~]# grep -v "oldboy" /data/test.txt test liyao 1.1.2 方法二head 使用head显示文件前2行信息(-2参数是显示两行),默认显示前10行。
1109 0
【转】练习题
文章来自:互联网 答案本人愚见   1. How many memory layers are in the shared pool?  Answer: 1 1.libary cache 2.
853 0
+关注
惨绿少年
我是惨绿少年,我的博客为 http://clsn.io
文章
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载