1. 如何取得/etiantian文件的权限对应的数字内容,如-rw-r-r 为644,要求使用命令取得644或0644这样的数字。

解答:

方法1:用sed获取stat filename里的属性值
[root@oldboy oldboy]# stat oldboy.txt|sed -nr '4s#.*([0-9]{4}).*#\1#gp'
0644 方法2: 获取到权限值,用tr替换rwx-
注意,替换的顺序,-rwx,会把-r认为是参数,出错。
[root@oldboy oldboy]# ls -l oldboy.txt|cut -c2-10|tr "-rwx" "0421"
tr: invalid option -- 'r'
Try `tr --help' for more information.
[root@oldboy oldboy]# ls -l oldboy.txt|cut -c2-10|tr "rwx-" "4210"
420400400
[root@oldboy oldboy]# ls -l oldboy.txt|cut -c2-10|tr "rwx-" "4210"|awk -F "" '{print $1+$2+$3,$4+$5+$6,$7+$8+$9}'
6 4 4 方法3:
[root@oldboy oldboy]# stat oldboy.txt|awk -F "[(/)]" 'NR==4 {print $2}'
0644 方法4: 用stat filename的自带参数
[root@oldboy oldboy]# stat oldboy.txt -c %a
644

stat的--format参数(-c参数)

-c --format=FORMAT
use the specified FORMAT instead of the default; output a newline after each use of
FORMAT
The valid format sequences for files (without --file-system):
%a Access rights in octal %A Access rights in human readable form %b Number of blocks allocated (see %B) %B The size in bytes of each block reported by %b %C SELinux security context string
...

2. Linux下通过mkdir命令创建一个新目录/oldboy/ett,它的硬链接数是多少,为什么?如果在/oldboy/ett下面再创建一个目录test,再问/oldboy/ett的硬链接数是多少?

解答:

在目录目录只有/oldboy/ett的情况下:

  • /oldboy目录和本身"."互为硬链接,所以是2个
  • /oldboy目录和/ett目录下的".."互为硬链接,所以加上1个
  • 总计/oldboy的硬链接数为3
  • /oldboy/ett本身和ett下面的'.'本身互为硬链接,下面没有目录
  • 所以/oldboy/ett有2个硬链接
  • 在新增/oldboy/ett/test目录后
  • test目录下的".."与/oldboy/ett互为硬链接,所以/oldboy/ett的硬链接数加1
  • /oldboy目录下,没有新增的第一层字目录,所以硬链接数不增加,还是3
[root@oldboy /]# mkdir /oldboy/ett -p
[root@oldboy /]# ls -ld /oldboy/ett
drwxr-xr-x 2 root root 4096 Sep 5 22:17 /oldboy/ett
# 包含本身和'.' 互为硬链接目录 [root@oldboy /]# mkdir /oldboy/ett/test
[root@oldboy /]# ls -ld /oldboy/ett
drwxr-xr-x 3 root root 4096 Sep 5 22:17 /oldboy/ett
# 包含本身和'.' 互为硬链接,还有一个'..'
[root@oldboy /]# ls -alid /oldboy/ett/ /oldboy/ett/.
275739 drwxr-xr-x 3 root root 4096 Sep 5 22:17 /oldboy/ett/
275739 drwxr-xr-x 3 root root 4096 Sep 5 22:17 /oldboy/ett/. [root@oldboy /]# ls -ld /oldboy/ett/test
drwxr-xr-x 2 root root 4096 Sep 5 22:17 /oldboy/ett/test
[root@oldboy /]# ls -alid /oldboy/ett/test/. /oldboy/ett/test
275740 drwxr-xr-x 2 root root 4096 Sep 5 22:17 /oldboy/ett/test
275740 drwxr-xr-x 2 root root 4096 Sep 5 22:17 /oldboy/ett/test/.
[root@oldboy /]# ls -alid /oldboy/ett/ /oldboy/ett/. /oldboy/ett/test/..
275739 drwxr-xr-x 3 root root 4096 Sep 5 22:17 /oldboy/ett/
275739 drwxr-xr-x 3 root root 4096 Sep 5 22:17 /oldboy/ett/.
275739 drwxr-xr-x 3 root root 4096 Sep 5 22:17 /oldboy/ett/test/..

3. 请执行命令取出linux中eth0的IP地址

解答:

[root@oldboy /]# ifconfig eth3|sed -nr '2s#^.*dr:([0-9.]+)  B.*$#\1#gp'
192.168.0.109 [root@oldboy /]# ifconfig eth3|grep 'inet'|awk -F "[: ]+" '{print $4}'
192.168.0.109 [root@oldboy /]# ifconfig eth3|grep 'inet'|cut -d ":" -f 2|cut -d " " -f1
192.168.0.109 [root@oldboy /]# ifconfig eth3|awk -F "[: ]+" 'NR==2{print $4}'
192.168.0.109

4. 请给出默认情况eth0网卡配置文件的路径和客户端DNS的路径

解答:

网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-eth0

DNS配置文件:/etc/resolv.cnf

[root@oldboy test]# cat /etc/resolv.conf
; generated by /sbin/dhclient-script
nameserver 192.168.1.1
nameserver 192.168.0.1

修改IP,DNS等服务器网络配置,可以直接使用以上配置文件,可以不用setup命令。

如果配置DNS,ifcfg-eth0 优先于resolv.conf

5. 企业案例:查找当前目录下所有文件,并把文件中的www.etiantian.org 字符串替换成www.oldboy.me

解答:

  • find / -type f |xargs sed -i 's#www.etiantian.org#www.oldboy.me#g'
  • find / -type f -exec sed -i 's#www.etiantian.org#www.oldboy.me#g' {} \;
  • sed 's/www.etiantian.org/www.oldboy.me/g' $(find . -type f)

6. 如何赋予oldboy.txt文件-rw-r--r-x权限

解答:

  • chmod 641 oldboy.txt
  • chmod u=rw,g=r,o=rx oldboy.txt

7. 执行下面命令时发现提示需要输入密码,请问提示需要输入的密码是哪个用户的密码 sudo su - oldboy

解答:

输入当前用户密码,oldboy的密码

8. 请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出  echo 'oldboy';echo 'oldboy'

解答:echo -n 参数

[root@oldboy /]# echo 'oldboy';echo 'oldboy'
oldboy
oldboy
[root@oldboy /]# echo 'oldboy' -n ;echo 'oldboy'
oldboy -n
oldboy
[root@oldboy /]# echo -n 'oldboy';echo 'oldboy' # -n参数
oldboyoldboy

9. 请给出如下格式的date命令,日期显示为11-02-26,星期六显示为数字6

解答:

date +%Y-%m-%d;date +%w
date +%F;date +%w
[root@oldboy /]# date +%Y-%m-%d;date +%w
2019-11-29
5 [root@oldboy /]# date +%F;date +%w
2019-11-29
5

 [root@oldboy test]# date +%y-%m-%d
 19-09-06

10. 当从root用户切换到普通用户oldboy时,执行ifconfig会提示,

[oldboy@oldboy ~]$ ifconfig
-bash: ifconfig: command not found

请问原因时什么,如何解决。

解答:

这是由于普通用户oldboy和root用户的环境变量不一致导致的。主要是环境变量PATH的值发生了变化,普通用户无法找到ifconfig的路径。

因为CentOS5中ifconfig命令是超级用户的管理命令,其命令路径/sbin不在普通用户的全局环境变量中
解决办法
1、执行绝对路径
2、将/sbin添加到环境变量中

# 字符串拼接
[root@oldboy ~]# PATH="$PATH:/root" # 原有的PATH路径加上":/root",注意使用双引号。 [root@oldboy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root
# export 方式添加路径
[root@oldboy ~]# export PATH=$PATH:$HOME/bin:/sbin
[root@oldboy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/root:/root/bin:/sbin

3、将添加环境变量的命令写入.bash_profile文件

11. 打印三天前的日期

解答:date -d参数

[root@oldboy /]# date +%F -d '-3day'
2019-11-26

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

oldboy   

xizi

xiaochao

请问,如何把文件中的空行过滤掉(要求命令行实现)。

解答:

  • grep -v '^$' /oldboy/test.txt 过滤空行
  • sed -nr 's#([^ ].*)#\1#gp' /oldboy/test.txt  保留非空开头的行
  • sed -n '/[^ ].*/p' /oldboy/test.txt  显示非空格开头的任意行
  • sed '/^$/d' /oldboy/test.txt   将空行删掉
  • awk '$0 !~/^$/{print}' /oldboy/test.txt 匹配非空格行
  • awk '/^[^$]/' /oldboy/test.txt  匹配非空行的开头,过滤出以非空行开头的行; [^$] 非$结尾,即非空行

13. 已知/oldboy/ett.txt文件内容如下,使用grep正则匹配过滤出前两行内容:

oldboy
olldboooy
test

解答:

  • grep -v 'test' /oldby/ett.txt
  • grep '^ol.*' /oldboy/ett.txt
  • grep '.*y$' /oldboy/ett.txt
  • grep -E 'o+' /oldboy/ett.txt

14. 如何快速查到ifconfig的全路径,给出命令

解答:which,whereis,locate,find

# 查找二进制命令所在路径,从PATH环境变量查找
[root@oldboy ~]# which ifconfig
/sbin/ifconfig # 查看命令的说明、源代码
[root@oldboy ~]# whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz [root@oldboy ~]# whereis ifconfig -b
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz # 查找updatedb中的文件
[root@oldboy ~]# locate ifconfig
/sbin/ifconfig
/usr/sbin/pifconfig
/usr/share/man/de/man8/ifconfig.8.gz
/usr/share/man/fr/man8/ifconfig.8.gz
/usr/share/man/man8/ifconfig.8.gz
/usr/share/man/man8/pifconfig.8.gz
/usr/share/man/pt/man8/ifconfig.8.gz # find是从根目录开始遍历查找,效率最低
[root@oldboy ~]# find / -name ifconfig
/sbin/ifconfig

15. 请描述下面路径的内容是作什么的?

  • /var/log/messages 系统日志
  • /var/log/secure 系统安全日志
  • /var/spool/clientmqueue 邮件临时队列(目录)
  • /proc/interrupts 中断文件
  • /etc/fstab 磁盘文件系统开机自动挂载文件
  • /etc/profile 全局的环境配置文件

16. 每周日上午 9:30去上课,用/oldboy.sh代替,请用linux定时任务命令表示。

解答:

30 09 * * 0 /bin/sh /scripts/messages.txt >/dev/null 2>&1

17. 请给出当前哪些用户在线的Linux命令

解答:

此类命令有who, w, last, lastlog, users, fingers

18. 公司已开发人员申请对某以服务器10天的普通用户权限,请问你如何操作只给此用户10天的使用期限

解答:

Linux下控制账户过期的多种方法。

  • useradd oldboy -e 01/28/12 用户在2011年1月28日过期
  • usermod -e 01/28/12 oldboy
  • chage -E 01/28/12 oldboy

19. 请给出正确的关机与重启命令

解答:

一、shutdown命令(推荐使用)

  • 命令所在路径:/sbin/shutdown
  • 执行权限:root
  • 功能描述:进行关机重启操作
  • 语法:shutdown 【选项】 【时间】
    • -c  取消前一个关机命令
    • -h  关机
    • -r  重启

  范例1:马上关机:shutdown -h now

  范例2:晚上八点半关机:shutdown -h 20:30

  注意:推荐使用该命令进行关机,此命令关机之前会正确的关闭系统的服务。

shutdown -h now 马上关机
shutdown -h +1 1分钟以后关机
shutdown -h 20:30 晚上8点半关机

二、其他关机命令

  1. halt 立即停止系统,需要人工关闭电源(生产常用)
  2. poweroff 立即停止系统,并且关闭电源
  3. init0 切换运行级别到0

三、其他重启命令

  1. reboot 生产常用
  2. init6 切换运行级别到6
  3. shutdown -r now 生产常用
    shutdown -r +1 一分钟以后重启

四、退出登录命令

  1. logout

  2. exit

  3. ctrl +D (快捷键)(生产常用)

20. 请写出下面命令行快捷键的功能

  • ctrl+a 切换到命令的行首
  • ctrl+e 切换到命令的行尾
  • ctrl+c 中止当前命令或脚本
  • ctrl+d 退出当前shell,相当于logout,exit,一个个删除
  • ctrl+l 清屏,相当于clear
  • ctrl+u 清除(剪切)光标之前的内容
  • ctrl+k 清除(剪切)光标之后的内容
  • ctrl+r 查找
 

tab 所有命令及路径补全功能,一般要多按几下

 
  • ctrl+shift+c 命令行复制内容
  • ctrl+shift+v 命令行粘贴内容

【Linux题目】第五关的更多相关文章

  1. 【linux题目】第一关

    详细的解答:https://github.com/Zoe233/Linux/blob/master/[题目]5.Linux了解程度测试题解析.ipynb 1. 创建一个目录/data 解答: mkdi ...

  2. 【Linux题目】第九关

    前言:项目整合 企业项目实战考试: 1. 全网备份解决方案实战 2. NFS集群后段共享存储搭建优化 3. 解决NFS单点实现实时数据同步. 环境: 服务器角色 外网ip 内网ip 主机名 web 1 ...

  3. 【linux题目】第二关

    1.创建目录/data/oldboy,并且在该目录下创建文件oldboy.txt,然后在文件oldboy.txt里写入内容”inet addr:10.0.0.8 Bcast:10.0.0.255 Ma ...

  4. 20145233 2016-2017 1 linux题目总结

    20145233 2016-2017 1 linux题目总结 第一周考试知识汇总 判断:实验楼环境中所有的默认系统用户名和密码均为 shiyanlou.(x ). 填空:Linux Bash中,Ctr ...

  5. CTFHub-HTTP协议五关刷题解答

    CTFHub 开箱即用的CTF学习解决方案 地址:https://www.ctfhub.com/#/skilltree 本次解答一共包括五关,没有先后顺序. 1.技能树一:请求方式 题目描述 打开后得 ...

  6. Linux 下的五种 IO 模型

    概念说明 用户空间与内核空间 现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空间(虚拟存储空间)为4G(2的32次方).操作系统的核心是内核,独立于普通的应用程序,可以访问受保护的 ...

  7. Linux网络编程(五)

    /*Linux网络编程(五)——多路IO复用之select() 网络编程中,使用IO复用的典型场合: 1.当客户处理多个描述字时(交互式输入以及网络接口),必须使用IO复用. 2.一个客户同时处理多个 ...

  8. Python:黑板课爬虫闯关第五关

    第五关是最后一关了,至此之后黑板课就没有更新过关卡了. 第五关地址:http://www.heibanke.com/lesson/crawler_ex04/ 可以看到,是在第三关的基础上加了验证码. ...

  9. SQL注入之Sqli-labs系列第四十一关(基于堆叠注入的盲注)和四十二关四十三关四十四关四十五关

    0x1普通测试方式 (1)输入and1=1和and1=2测试,返回错误,证明存在注入 (2)union select联合查询 (3)查询表名 (4)其他 payload: ,( ,( 0x2 堆叠注入 ...

  10. SQL注入之Sqli-labs系列第三十四关(基于宽字符逃逸POST注入)和三十五关

    开始挑战第三十四关和第三十五关(Bypass add addslashes) 0x1查看源码 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理. if(isset($_ ...

随机推荐

  1. Pytest系列(7) - skip、skipif跳过用例

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest.mark.sk ...

  2. 解决VS项目程序运行完就自动关闭窗口

    VS的程序运行完会关闭窗口,需要设置工程属性 笔者虽然是Java开发者,但是学习用到了C++与C语言,之前使用的是dev与codeblock并没有这个情况,那么如何解决 首先你有这个hello,wor ...

  3. 自动由@3x图片生成@2x和@1x的图片 - Xcode插件

    原文:http://www.cocoachina.com/bbs/read.php?tid=277187 生成@3x图片对应的@2x和@1x版本--RTImageAssets 关键字:Xcode插件, ...

  4. Vue引用阿里图标库

    首先进入官网http://www.iconfont.cn/ 转载:https://blog.csdn.net/qq_34802010/article/details/81451278 选择图标库 在里 ...

  5. PTA | 1012 数字分类 (20分)

    给定一系列正整数,请按要求对数字进行分类,并输出以下 5 个数字: A1 = 能被 5 整除的数字中所有偶数的和: A2 = 将被 5 除后余 1 的数字按给出顺序进行交错求和,即计算 n1−n2+n ...

  6. 微信小程序项目总结

    最近公司做的项目,我主要负责小程序前端页面也API数据请求页面渲染工作,因为对微信小程序的不熟悉,在做的过程中不免做了很多弯路.现在总结如下: 首先遇到的问题就是"微信小程序尺寸单位&quo ...

  7. hadoop(四)centos7克隆|静态ip|机器名|映射关系|别名配置(完全分布式准备一)|6

    hadoop完全分布式准备工作 克隆默认基础虚拟机三台102/103/104目标:在win10主机上能连上这三台机器,三台机器之间可以互相ping通,用机器名也可ping通.基础虚拟机:创建了文件op ...

  8. leetcode-0001 两数之和

    题目地址:https://leetcode-cn.com/problems/two-sum/ 1.暴力解法 直接双重循环,枚举出所有可能的解,时间复杂度为O(n^2),空间复杂度为O(1) var t ...

  9. 09-sass

    一.sass和scss sass最初是为了配合haml设计的,不需要大括号,用tab缩进 从第三代开始,保留缩进风格,完全向下兼容普通的css代码 二.下载配置sass compass是sass的一个 ...

  10. Python工业互联网监控项目实战3—websocket to UI

    本小节继续演示如何在Django项目中采用早期websocket技术原型来实现把OPC服务端数据实时推送到UI端,让监控页面在另一种技术方式下,实时显示现场设备的工艺数据变化情况.本例我们仍然采用比较 ...