1、一个目录中有很多文件(ls -l 查看时好多屏),想用一条命令最快速度查看到最近更新的文件。如何看?
ls -lrt
2、在配置 apache 服务时 执行了./configure --prefix=/application/apache2.2.17 来编译 apche,在 make install 完成后,希望用户访问 apache 路径更简单,需要给/application/apache2.2.17目录做一个软链接/application/apache,使得内部开发或管理人员通过/application/apache 就可以访问到 apache 的安装目 录/application/apache2.2.17 下的内容,请你给出实现的命令
ln -s /application/apache2.2.17 /application/apache
1)软链接创建方式:ln -s 原文件或目录 目标文件或目
可以为文件或目录创建软链接
2)硬链接创建方式:ln 原文件 目标文件
只能为文件创建硬链接
3、已知 Nginx 服务的访问日志按天记录在服务器本地目录/app/logs 下,由于磁盘空间紧张,现在要求只能保留最近 7 天的访问日志!请问如何解决? 请给解决办法或配置或处理命令。
00 00 * * * /usr/bin/find /app/logs -type f -mtime +7 |xargs rm -f &>/dev/null
00 00 * * * /usr/bin/find /app/logs -type f -mtime +7 |xargs rm -f /dev/null 2>&1
find /app/logs -type f -mtime +7 -exec rm -rf {} \; &>/dev/null或者/dev/null 2>&1
rm -f $(find /app/logs -type f -mtime +7 ) &>/dev/null 或 /dev/null 2>&1
4、调试系统服务时,希望能实时查看/var/log/messages 系统日志的更新,如何做?
tail -f /var/log/messages 根据文件描述符进行追踪,当文件改名或被删除,追踪停止
tail -F 根据文件名进行追踪,并保持重试,即该文件被删除或改名后,如果再次创建相同的文件名,会继续追踪
tailf /var/log/messages 等同于tail -f -n 10(貌似tail -f或-F默认也是打印最后10行,然后追踪文件),与tail -f不同的是,如果文件不增长,它不会去访问磁盘文件,所以tailf特别适合那些便携机上跟踪日志文件,因为它减少了磁盘访问,可以省电。
5、打印轻量级 web 服务的配置文件 nginx.conf 内容的行号及内容,该如何做?
cat -n nginx.conf
grep -n '.' nginx.conf
awk ‘{print NR,$0}’ nginx.conf
vim :set nu
sed '=' nginx.conf
6、一直如下命令及结果:
[oldboy@test ~]$ echo "I am oldboy,my qq is 31333741">>oldboy.txt
[oldboy@test ~]$ cat oldboy.txt
I am oldboy,my qq is 31333741
现在需要从文件中过滤出“oldboy”和“31333741”字符串,请给出命令。
egrep -o 'oldboy|31333741' oldboy.txt
grep -Eo 'oldboy|31333741' oldboy.txt
sed -r 's#^.*am (.*),my.*is (.*)#\1 \2#g' oldboy.txt
awk -F "[ ,]" '{print $3,$NF}' oldboy.txt
7、问题:请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。
echo -n "oldboy";echo "oldboy"
-n 不换行输出
8、如何快速查到 ifconfig 命令的全路径(假如你不知道其路径),请给出命令。
which ifconfig
whereis ifconfig
9、查找/oldboy/目录下所有文件,并把文件中的 www.etiantian.org 字符串替换成
www.oldboyedu.com
find /odlboy/ -type f |xargs sed 's#www.etiantian.org#www.oldboyedu.com#g'
find /oldboy/ -type f -exec sed 's#www.etiantian.org#www.oldboyedu.com#g' {} \;
sed 's#www.etiantian.org#www.oldboyedu.com#g' $(find /oldboy/ -type f)
10、过滤出/etc/services 文件包含 3306 或 1521 两数据库端口的行的内容。
egrep "3306|1521" /etc/services
sed -nr '/3306|1521/' /etc/services
awk '3306|1521' /etc/services
11、请将 ifconfig eth0 和 ip add 结果中的 eth0 网卡对应 ip 地址取出(不低于 2 种方法)。
[root@oldboyedu ~]# ifconfig eth0
eth0: flags=4163
inet 10.0.0.201 netmask 255.255.255.0 broadcast 10.0.0.255
inet6 fe80::9fdb:66ba:dc7f:3fe5 prefixlen 64 scopeid 0x20
[root@oldboyedu ~]# ip add
2: eth0:
link/ether 00:0c:29:2a:ca:54 brd ff:ff:ff:ff:ff:ff
inet 10.0.0.201/24 brd 10.0.0.255 scope global noprefixroute eth0
sed -n 's###gp'
ifconfig eth0|sed -nr 's#^.*et (.*) net.*$#\1#gp'
ifconfig eth0|awk -F "[ :]+" 'NR==2{print $3}'
ip add|sed -nr 's#^.*et (.*)/24.*$#\1#gp'
ip add|awk -F "[ /]+" 'NR==9{print $3}'
12、如何赋予 oldboy.txt 文件如下权限、用户、用户组属性
-w-rw-rwx. 1 oldboy sa 24 Mar 13 11:46 oldboy.txt
chmod 267 oldboy.txt
chmod u=w g=rw o=rwx oldboy.txt
chomn oldboy.sa oldboy.txt
chown oldboy:sa oldboy.txt
chage sa oldboy.txt
13.某系统管理员需每天做一定的重复工作,请按照下列要求,编写一个解决方案,请按步骤写清楚每一步操作:
(1)在下午 4:50 删除/abc 目录下的全部子目录和全部文件。
(2)每逢星期一下午五点将/data 目录下的所有目录和文件归档并压缩为以当天日期命名的tar.gz 结尾打包文件
(1)50 16 * * * /bin/rm -rf /abc/* >/dev/null 2>&1
脚本:
vim shanch.sh
50 16 * * * /bin/rm -rf /abc/*
或者
#!/bin/sh
cd /abc&&rm -rf ./*
50 16 * * */bin/sh shanchu.sh &>/dev/null
(2)00 17 * * 1 /bin/tar zcf ./$(date +\%F).tar.gz /data/ &>/dev/null
14、.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644,要求使用命令取得644 这样的数字(不低于 2 种方法)
stat /etc/hosts -c %a
stat /etc/hosts|awk -F'[0/]' 'NR==4{print $2}'
stat /etc/hosts|sed -nr 's#.*\(0(.*)/-.*#\1#gp'
15、Linux 下通过 mkdir 命令创建一个新目录/oldboy/ett,它的硬链接数是多少,为什么?
如果在/oldboy/ett 下面再创建一个目录 test。再问/oldboy/ett 的硬链接数是多少?为什么。
两个,目录本身是一个硬链接,ett下还有个.
三个,出前面两个,test下还有个..
16、企业故障案例 1:(参考问题 9)
作为运维工程师,你在工作中遇到的一个实际问题,情况是:一个 lnmp 的服务器,站
点目录下所有的文件均被植入了如下内容:
(可用 A 代替此行内容解答)
包括图片文件也被植入了,当用户网站打开时就会调用这个地址,显示一个广告,请问你如何解决
解答:
第一步:备份
第二步:找到植入内容,并删除
grep 'A' *
find / -type f |xargs sed 's#A##g'
第三步:故障总结报告,并针对性防护
17、请输出当前日期和时间、3 天前的日期、未来 10 天的日期。
当前日期和时间:date
3天前的日期:date -d '-3 day' +%F
10天后的日期:date -d '+10 day' +%F
18、写出 10 个以上 Linux 命令行中特殊字符及对应含义
* 匹配0个或多个字符,包括空,即所有
?匹配一个且只有一个字符
{} 生成序列
[abcd] 匹配 []内任意一个字符
[!abcd] 匹配不包括abcd的任意的一个字符
~ 用户的家目录
- 上一次访问的目录
. 当前目录
.. 上级目录
'' 所见即所得
"" 弱引用,括号内有特殊含义的字符会解析出来在输出
`` 相当于$()
; 命令的间隔符
# 表示注释内容,系统不会执行#开头的内容;root用户的提示符
| 管道符,将前一个命令的结果输出给下一个命令继续处理
\ 转义符 ,还原本意,去掉特殊含义
&& 相当于and
|| 相当于 or
19、请说出软链接和硬链接的区别
答:1)硬链接不占用inode,软链接占用一个inode
2)硬链接不可以跨文件系统创建,软链接可以
3)删除源文件对硬链接无影响,软链接失效
4)目录不可以创建硬链接,可以创建软链接
5)硬链接可以移动,软链接不可以移动
20、描述 ls -lhi 输出中,每一列的意义。
答:33631870 -rw-r--r-- . 1 root root 21 Oct 6 2020 oldboy.txt
inode(索引节点)文件属性权限 selinux 硬链接数 所属用户 所属用户组 修改时间 文件名
21、什么是 PATH 环境变量,它有什么作用?
答:PASH 是命令的搜索路径
作用:可以在其他子shell 中定义命令的目录路径
22、描述 Linux 下文件删除的原理?
答:硬连接数为 0 ilink = 0
进程数为0 icount = 0
23、企业故障案例 2:往磁盘中写入数据出现 no space left on device 故障,请写出可能原因。
答:inode满:df -i 定时任务书写有误,命令后未加 &>/dev/null,导致邮件产生大量文件,将inode占用完,定位答小文件,将其删除
block满:df -h du -sh 定位到大文件,将其删除
24、Tomcat 服务器磁盘满了,临时删除对应日志文件但是发现空间未释放,可能原因是?如何解决)
答:ps -ef 查看进程 kill 进程号,ps -ef|grep delete
重启相应的服务,释放空间即可。
25、定时任务的脚本手工可以执行,但是放到定时任务里无法执行,可能原因是什么?
答:
一:环境变量问题,没有使用绝对路径执行定时任务
二:定时任务写错了