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. 编写SpringBoot 中的AOP

    编写SpringBoot 中的AOP 在程序开发的过程中会使用到AOP的思想,面向切面进行开发,比如登录的验证,记录日志等等-频繁需要操作的步骤,在遇到这种情况时就要使用Spring 的AOP了 Sp ...

  2. Emergency Evacuation(最短下车时间)———(思维)

    题意: 给你一个车厢和一些人的位置,这些人都坐在座位上,求这些人全部出去的时间最小值. 注意: 有许多行座位,且每行关于过道对称,出口在过道一端,一个时间只能移动一个单位,且每时刻每个格子只能有一人 ...

  3. CSS制作小旗子与小箭头

    CSS制作小旗子与小箭头 效果图如下: 小旗子效果图 小箭头效果图 小旗子效果 以下是具体实现代码: <div class="container"> <div c ...

  4. mysql 聚集函数 count 使用详解

    mysql 聚集函数 count 使用详解 本文将探讨以下问题 1.count(*) . count(n).count(null)与count(fieldName) 2.distinct 与 coun ...

  5. 文本表格文件指定分隔符分列转Excel(java实现)

    我的需求: 嗯,实习中遇到,需要过滤数据然后以指定的列名输出为excel 我是这样解决的: 写出到一个文本或者表格文件然后指定分隔符分列的输出excel,因为要设计去重处理. 我需要做的: 写一个文本 ...

  6. thymeleaf的特殊属性赋值

    在用thymeleaf时,遇到特殊属性不知道该怎么解决如下: 问题1:循环时,遇到特殊的属性,不知道怎么赋值 如:cate-id="" ,fid=""; 使用t ...

  7. CentOS 7 yum安装 k8s 创建Pod一直处于ContainerCreating状态 问题解决

    问题描述 使用CentOS7的 yum 包管理器安装了 Kubernetes 集群,使用 kubectl 创建服务成功后,执行 kubectl get pods,发现AGE虽然在不断增加,但状态始终不 ...

  8. git中常用命令的总结

    一.git stash  1.git  stash 保存当前工作进度,会把暂存区和工作区的改动保存起来.执行完这个命令后,在运行git status命令,就会发现当前是一个干净的工作区,没有任何改动. ...

  9. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(八)之Reusing Classes

    The trick is to use the classes without soiling the existing code. 1. composition--simply create obj ...

  10. 打印图片的属性和实现另存图片功能以及使用numpy

    上一篇我们已经学了如何读取图片的功能了以及和opencv的环境搭建了,今天接着来学习,哈哈哈,今天刚好五一,也没闲着,继续学习. 1. 首先我们来实现打印出图片的一些属性功能, 先来看一段代码: im ...