【linux题目】第二关
1、创建目录/data/oldboy,并且在该目录下创建文件oldboy.txt,然后在文件oldboy.txt里写入内容”inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0”(不包含引号)。
解答:
[root@oldboy /]# mkdir /data/oldboy -p
[root@oldboy /]# cd /data/oldboy
[root@oldboy oldboy]# touch oldboy.txt
[root@oldboy oldboy]# echo "inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0" > oldboy.txt
[root@oldboy oldboy]# cat oldboy.txt
inet addr:10.0.0.8 Bcast:10.0.0.255 Mask:255.255.255.0
2、将题1中的oldboy.txt文件内容通过命令过滤只输出如下内容:
10.0.0.8 10.0.0.255 255.255.255.0
解答:
方法1:用awk字段分隔符划分
[root@oldboy oldboy]# awk -F "[: ]+" '{print $3,$5,$7 }' oldboy.txt
10.0.0.8 10.0.0.255 255.255.255.0 方法2:用sed命令替换全部英文和冒号
[root@oldboy oldboy]# sed 's#[a-zA-Z:]##g' oldboy.txt
10.0.0.8 10.0.0.255 255.255.255.0
方法3:用反向保留ip地址,去除其它
[root@oldboy oldboy]# sed -nr 's#^.*dr:([0-9.]+).*t:([0-9.]+).*:([0-9.]+)$#\1 \2 \3#gp' oldboy.txt
10.0.0.8 10.0.0.255 255.255.255.0
3、将题1中的oldboy目录移动到/tmp目录下,并将/etc/passwd文件复制到/tmp/oldboy下。
解答:
[root@oldboy oldboy]# mv /data/oldboy /tmp/
[root@oldboy oldboy]# cp /etc/passwd /tmp/oldboy/
4、在题3的基础上使用awk取passwd文件的第10行到20行的第三列重定向到/tmp/oldboy/test.txt文件里。
[root@oldboy oldboy]# awk 'NR==10,NR==20 {print}' passwd|cut -d ":" -f 3 >> /tmp/oldboy/test.txt
[root@oldboy oldboy]# cat test.txt
10
11
12
13
14
99
81
69
173
68
38
5、在题3的基础上要求用命令rm删除文件时提示如下禁止使用rm的提示,并使该效果永久生效。
解答:
- 临时生效:alias别名修改rm。
- alias rm='echo Do not use rm command.'
- 永久生效:配置文件~/.bashrc, ~/.bashrc_prfile等文件永久修改。
[root@oldboy ~]# cat .bashrc
# .bashrc # User specific aliases and functions alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias grep='grep --color=auto'
alias ll='ls -l'
alias rm='Do not use rm command!'
alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth3' # Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi定义别名永久生效:
- /etc/profile 全局生效
/etc/bashrc 全局生效
~/.bashrc 当前用户生效
- ~/.bashrc_profile 当前用户生效
6、在题3的基础上,删除/tmp/oldboy/下移除passwd以外的其他文件。
解答:find /tmp/oldboy -type f ! -name passwd -exec rm {} \;
7、在题3的基础上,请打印/etc/passwd文件中的第2-5行(不低于三种方法)
解答:
方法1: head -5 /etc/passwd|tail -4
方法2: sed -n '2,5p' /etc/passwd
方法3: awk 'NR==2,NR==5 {print }' /etc/passwd
8、在题3的基础上,使用命令调换passwd文件root位置和/bin/bash位置?即将所有的第一列和最后一列位置调换?
解答:
方法1: sed替换,后向引用
[root@oldboy oldboy]# sed -n '1p' passwd
root:x:0:0:root:/root:/bin/bash
[root@oldboy oldboy]# sed -nr '1s#(.*):x(.*):(.*)#\3:x\2:\1#gp' passwd
/bin/bash:x:0:0:root:/root:root 方法2: awk分隔符
awk -F ":" '{print $7":"$2":"$3":"$4":"$5":"$6":"$1}' passwd
9、把/data目录及其子目录下所有以扩展名.txt结尾的文件中包含oldgirl的字符串全部替换为oldboy。
解答:
find /data -type f -name "*.txt"|xargs sed -i 's#oldgirl#oldboy#g'
10、查找/oldboy下所有七天以前以log结尾的大于1M的文件移动/tmp下。
解答:
- find /oldboy -type f -name "*.log" -size +1M -mtime +7 -exec mv {} /tmp/ \;
- find /oldboy -type f -name ".log" -size +1M -mtime +7 |xargs -I {} mv {} /tmp/
- mv $(find . -name "*.log" -size +1M -atime +7) /tmp/
- mv `find . -name "*.log" -size +1M -atime +7` /tmp/
11、什么是Linux的运行级别,请描述Linux的运行级别不同数字的含义?(附加题)
解答:
- 0 关机
- 1 单用户命令行模式
- 2 无网络的多用户
- 3 正常的文本模式下的多用户
- 4 unused
- 5 桌面系统模式
- 6 重启
[root@zoe oldboy]# cat /etc/inittab
# inittab is only used by upstart for the default runlevel.
#
# ADDING OTHER CONFIGURATION HERE WILL HAVE NO EFFECT ON YOUR SYSTEM.
#
# System initialization is started by /etc/init/rcS.conf
#
# Individual runlevels are started by /etc/init/rc.conf
#
# Ctrl-Alt-Delete is handled by /etc/init/control-alt-delete.conf
#
# Terminal gettys are handled by /etc/init/tty.conf and /etc/init/serial.conf,
# with configuration in /etc/sysconfig/init.
#
# For information on how to write upstart event handlers, or how
# upstart works, see init(5), init(8), and initctl(8).
#
# Default runlevel. The runlevels used are:
# 0 - halt (Do NOT set initdefault to this)
# 1 - Single user mode
# 2 - Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 - Full multiuser mode
# 4 - unused
# 5 - X11
# 6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:
12、请描述buffer和cache的区别?(附加题)
解答:
缓冲和缓存
- 写入数据到内存里,这个数据的内存空间称为缓冲区(buffer)。
- 从内存读取数据,这个数据的内存空间称为缓存区(cache)。
13、请说出你知道的下列字符在Linux里可以代表的意义。(附加题)
~ - . .. | > >> < << !
解答:
- ~ 家目录
- - 上一次所在的目录
- . 当前目录; 单个任意字符
- .. 上一级目录
- | 管道
- > 标准正确输出
- >> 追加标准正确输出
- < 标准输入
- << 追加标准输入
- !
- !! 上一条命令
- !数字 history命令排行的数字的命令
- ! -name "aa.txt" 取反
- !c 表示调出最近一次以c开头的命令
【linux题目】第二关的更多相关文章
- 20145233 2016-2017 1 linux题目总结
20145233 2016-2017 1 linux题目总结 第一周考试知识汇总 判断:实验楼环境中所有的默认系统用户名和密码均为 shiyanlou.(x ). 填空:Linux Bash中,Ctr ...
- Python:黑板课爬虫闯关第二关
第二关依然是非常的简单 地址:http://www.heibanke.com/lesson/crawler_ex01/ 随便输入昵称呢密码,点击提交,显示如下: 这样看来就很简单了,枚举密码循环 po ...
- SQL注入之Sqli-labs系列第二关
废话不在多说 let's go! 继续挑战第二关(Error Based- Intiger) 同样的前奏,就不截图了 ,and 1=1和and 1=2进行测试,出现报错 还原sql语句 查看源代 ...
- (linux shell)第二章--命令之乐(一)
文章来自于我的个人博客:(linux shell)第二章--命令之乐(一) 上一章我们描写叙述了一些linux shell中须要注意的一些语法.接下来我们開始了解linux shell的经常使用 ...
- Python Challenge 第二关
第二关和第一关一样,还是一幅图和一行提示.提示说的是: recognize the characters. maybe they are in the book, but MAYBE they are ...
- sqli-labs第二关 详解
学会了第一关,时隔多天来到了第二关,怎么说了没有看wp就给做出来了. 首先,我是自己先判断了下,这个是什么注入 ?id=1' 不行 ?id=1' or '1'='1--+ 也不行 然后又尝试了下 ?i ...
- webug第二关:从图片中你能找到什么?
第二关:从图片中你能找到什么? 记事本打开发现提示 binwalk,发现压缩包rar
- 【Linux题目】第四关
1. 如何过滤出已知当前目录下oldboy中的所有一级目录? 提示:不包含oldboy目录下面目录的子目录和隐藏目录,只要一级目录即可. 解答: ls -F|grep / 通过ls -F给目录后面 ...
- 【linux题目】第一关
详细的解答:https://github.com/Zoe233/Linux/blob/master/[题目]5.Linux了解程度测试题解析.ipynb 1. 创建一个目录/data 解答: mkdi ...
随机推荐
- dis反汇编查看实现
dis库是python(默认的CPython)自带的一个库,可以用来分析字节码 >>> import dis >>> def add(a, b = 0): ... ...
- java+lodop+vue+热敏打印机,打印图片
1.根据需求生成图片模板,详情见 https://www.cnblogs.com/xiaokangk/p/11151774.html 2.下载lodop并进行安装(安装步骤详情百度) 3.安装热敏打印 ...
- python学习要点(二)
我的博客:https://www.luozhiyun.com/archives/269 '==' VS 'is' '=='操作符比较对象之间的值是否相等. 'is'操作符比较的是对象的身份标识是否相等 ...
- python--Django从创建一个项目说起
创建项目 首先进入一个空目录,打开操作命令行,输入: django-admin startproject 项目名称 建立数据库连接 进入项目目录打开settings.py文件,修改以下字段 DATAB ...
- winform怎么实现财务上凭证录入和打印
序言 现如今存在的财务软件层出不穷,怎么样让自己的业务系统与财务系统相结合,往往是很多公司头痛的问题.大多数公司也没有这个能力都去开发一套属于自己的财务软件,所以只有对接像金蝶用友这类的财务软件,花费 ...
- 【python实现卷积神经网络】损失函数的定义(均方误差损失、交叉熵损失)
代码来源:https://github.com/eriklindernoren/ML-From-Scratch 卷积神经网络中卷积层Conv2D(带stride.padding)的具体实现:https ...
- OO第三单元作业分析
一.JML的理论基础应用工具链 JML是用于对Java程序进行规格化设计的一种表示语言.基于Larch方法构建. (1)注释 JML以javadoc注释的方式来表示规格,每行都以@起头.有两种注释方式 ...
- Altium Designer 3D
- 《MySQL实战45讲》学习笔记4——MySQL中InnoDB的索引
索引是在存储引擎层实现的,且在 MySQL 不同存储引擎中的实现也不同,本篇文章介绍的是 MySQL 的 InnoDB 的索引. 下文将以这张表为例开展. # 创建一个主键为 id 的表,表中有字段 ...
- Linux c++ vim环境搭建系列(5)——vim使用
5. 使用 5.1 快捷键及设置 5.1.1 光标移动 w : 正向移动到相邻单词的首字符 b : 逆向移动到相邻单词的首字符 e : 正向移动到相邻单词的尾字符 ge : 逆向移动到相邻单词的尾字符 ...