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. Java 程序该怎么优化?(工具篇)

    程序员:为什么程序总是那么慢?时间都花到哪里去了? 面试官:若你写的 Java 程序,出现了性能问题,该怎么去排查呢? 工欲善其事必先利其器,为你呈上一箩筐性能优化工具,必有一款满足你,废话不多说,直 ...

  3. git 为什么要先commit,然后pull,最后再push?而不是commit然后直接push?

    情况是这样的,现在远程有一个仓库,分支就一个,是master.然后我本地的仓库是从远程的master上clone下来的.大家都是clone下来,再在自己本地改好,再commit然后pull然后push ...

  4. cephfs分布式系统

                                                               cephfs分布式系统 CephFS:分布式文件系统 l 什么是CephFS: 分 ...

  5. Python模块---制作属于自己的有声小说

    操作环境 Python版本: anaconda3 python3.7.4 操作系统: Ubuntu19.10 编译器: pycharm社区版 用到的模块: pyttsx3,requests pysst ...

  6. python爬虫两个影院的实例

    主要两个的python代码如下: import requests from bs4 import BeautifulSoup url = 'https://www.17k.com/' headers ...

  7. MySQL数据库二

    筛选条件 比较运算符: 等于: =  (注意!不是==)            大于等于: >=          IS NULL 不等于: !=  或  <>        小于: ...

  8. 31.2 try finally使用

    package day31_exception; import java.io.FileWriter; import java.io.IOException; import java.lang.Exc ...

  9. 使用python pip安装工具组件包:出现 requests File “<stdin>",line 1 pip install xxx ^ SyntaxError:invalid syntax

    最近想要试试python ,软件安装完成了,但是,import 组件包时,出了问题,一直不得解:安装pycharm 工具感觉麻烦,不想安装那些,只想单纯使用python . 问题复现: 1.Windo ...

  10. Vm安装虚拟机并使用net模式连接外网

    Vm安装虚拟机并使用net模式连接外网 最近想搭建一个maven私服和阿波罗配置中心一切准备就绪时 发现本地vm虚拟机无法连接外网,嗯 ~ ~ ,一句cnm不由从嘴里崩了出来.没办法,只能配置一下了接 ...