2024年运维最新《对线面试官》 高频 Linux 面试题 Part1_linux高频面试题(1)

cat /dev/null > myfile

#方法二
echo " " > myfile


### 6、查找当前目录下从2022年9月1日上午10点到2022年10月15日下午五点范围内的普通文件,并将其压缩打包


使用 find 按照时间戳来查找



find . -type f -newermt ‘2022-09-1 10:00’ ! -newermt ‘2022-10-15 17:00’ | xargs tar -zcf myfile.tar.gz


参数 -newermt 中的 m 代表 mtime,t 代表绝对时间


于此同时还有 -newerat 和 -newerct ,分布表示绝对访问时间和绝对改变时间


### 7、如何查看进程的启动时间和持续运行时间



ps -eo cmd,lstart,etime


* 参数:
* + -e:显示所有进程
	+ -o 用户自定义格式
* 显示字段:
* + cmd:进程或命令
	+ lstart:开始时间
	+ etime:持续时间


### 8、如何替换换行符


我们知道,windows 系统的换行符跟 Linux 系统(Unix类系统)的换行符是不一致的


**Unix 系统里,每行结尾只有 “<换行>”,即 “\n”;Windows 系统里面,每行结尾是“ <回车><换行>”,即“\r\n”**


一个直接后果是,Unix 系统下的文件在 Windows 里打开的话,所有文字会变成一行


而 Windows 里的文件在 Unix 下打开的话,在每行的结尾可能会多出一个 ^M 符号


而我们一般习惯在 windows 系统上面编写脚本编写配置文件再复制粘贴到 Linux 系统上去,如果换行符不对,就极有可能导致出错


所以我们需要将 windows 的换行符替换成 Linux 的换行符


1. vim 进入文件,切换到末行模式
2. 敲命令:%s/^M//g (^M 这么敲:Ctrl+v,Ctrl+m)


或者直接对文件进行 sed 操作



sed -i ‘s/^M//g’ myfile


### 9、如何过滤掉文本中的注释和空行



grep -Ev “#|$” file


### 10、查看系统资源使用情况


top 命令查看系统整体资源使用情况以及进程资源使用情况(按 1 可显示所有 cpu 的使用情况)


top 命令具体输出内容及对应字段解释详见我之前的文章:


《[面试经验篇 | 你了解top命令输出的内容吗]( )》


### 11、查看系统平均负载


uptime 命令查看系统平均负载



[root@localhost ~]# uptime
14:36:05 up 2 days, 2:38, 1 user, load average: 0.00, 0.01, 0.05


这个命令能很快地检查系统平均负载


load average 对应的这三个值是系统计算的 1 分钟、5 分钟、15 分钟的指数加权的动态平均值,可以简单地认为就是这个时间段内的平均值


根据这三个值,我们可以了解系统负载随时间的变化


### 12、简述一下 Linux 启动过程吧


1. 内核引导:加载BIOS
2. 运行init进程
3. 系统初始化
4. 建立终端
5. 用户登录系统


### 13、如果一个文件有进程正在操作它,我执行 rm 命令,该文件还存在吗?


该文件在磁盘上所占的空间并没有真正释放


在 Linux 中,一个文件在文件系统中的存放分两部分——数据部分(data)和指针部分(inode)


指针位于文件系统的 meta-data 中,数据存储在磁盘中,将文件删除后(例如执行 rm 命令),这个指针就从 meta-data 中消失,而文件的数据部分占用的空间就会被覆盖等后面写入新的内容


如果有进程一直向某个文件写入,虽然删除了该文件,但是由于进程锁定,该文件对应的指针并未从meta-data 中清除,所以内核就认为该文件并未删除,导致磁盘空间并没有释放


举个例子:


如果有有一个进程号为666的进程对 file.txt 一直写入,你删除了 file.txt 但磁盘空间并没有释放,可以通过 /proc/666/fd 来找回该文件


对待这种进程不断对文件进行写操作的情况,如果想要释放该文件的空间,可以对文件进行清空操作,通过这种方法,既能释放文件占用的磁盘空间,又不影响进程对该文件的操作


### 14、简述一下 Linux 运行级别


* 0:系统停机状态
* 1:单用户工作状态
* 2:多用户状态(没有NFS)
* 3:完全的多用户状态(有NFS),登陆后进入控制台命令行模式
* 4:系统未使用,保留
* 5:登陆后进入图形GUI模式
* 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动


### 15、简述 Linux 常见目录


![在这里插入图片描述](https://img-blog.csdnimg.cn/f86ce005089b4375a6f55c2b8a271429.png)


* root:root 用户的家目录
* home:普通用户的家目录
* etc:存放系统管理文件和配置文化
* bin:普通用户使用的命令,RHEL7淘汰,换成了/usr/bin
* sbin:管理员使用的命令,RHEL7淘汰,换成了/usr/sbin
* dev:用于存放设备文件
* proc:虚拟文件系统目录,是系统内存的映射。可直接访问这个目录来获取系统信息
* usr:
	+ 用于存放系统应用程序,比较重要的目录 /usr/local 本地系统管理员软件安装目录(安装系统级的应用)
	+ 这是最庞大的目录,要用到的应用程序和文件几乎都在这个目录
* boot:存放用于系统引导时使用的各种文件
* lib 和 lib64:
	+ 存放跟文件系统中的程序运行所需要的共享库及内核模块。
	+ 共享库又叫动态链接共享库,作用类似windows里的.dll文件,存放了根文件系统程序运行所需的共享文件
	+ RHEL7淘汰,换成了 usr/lib 和 usr/lib64
* tmp: 用于存放各种临时文件,是公用的临时文件存储点
* var:用于存放运行时需要改变数据的文件,比方说各种服务的日志文件(系统启动日志)
* media:媒体设备
* mnt:手动挂载设备的挂载点
* opt:额外安装的可选应用程序包所放置的位置。一般情况下,我们可以把 nginx 等都安装到这里


### 16、Linux 中 buffer 和 cache 的区别


先来总结:


* Buffer 是对磁盘数据的缓存;Cache 是文件数据的缓存
* 既会用在读请求中,也会用在写请求中


在老的 Linux 系统上,对一个文件进行读操作会先到 Block buffer,再到 Page cache,即这两个是分开的,这就意味着读取一次文件数据会被 cache 两次


后面有了文件系统之后才将 Block buffer 和 Page cache 统一了:对于文件操作,Page cache 指向


Block buffer,而对于非文件(块设备),则直接是 Block buffer


对文件 I/O 操作影响 cache;裸I/O(Raw I/O)即越过文件系统直接对磁盘进行 I/O 操作影响的是 buffer;直接 I/O(direct I/O)即不越过文件系统但越过 cache 的也会影响 buffer


补充:磁盘和文件的区别


磁盘是一个块设备,可以划分为不同的磁盘分区分区;在磁盘分区之上再创建文件系统,挂载到某个目录,之后才可以在这个目录中读写文件


Linux中一切皆文件,磁盘分区或磁盘在Linux 上对应的就是块设备文件,而我们通常所提到的文件在 Linux 中是普通文件


### 17、怎么让一个命令在后台运行?


### 最后的话

最近很多小伙伴找我要Linux学习资料,于是我翻箱倒柜,整理了一些优质资源,涵盖视频、电子书、PPT等共享给大家!

### 资料预览

给大家整理的视频资料:

![](https://img-blog.csdnimg.cn/img_convert/cbf35019dda4d8f454a3e5e58d692b26.png)

给大家整理的电子书资料:

  

![](https://img-blog.csdnimg.cn/img_convert/294c308c3f9f110760b0840468fc97e0.png)



**如果本文对你有帮助,欢迎点赞、收藏、转发给朋友,让我有持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
持续创作的动力!**

**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化的资料的朋友,可以点击这里获取!](https://bbs.csdn.net/topics/618542503)**


**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值