最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Linux運(yùn)維工程師面試題(1)

2023-03-11 22:03 作者:阿賢在b站  | 我要投稿

Linux運(yùn)維工程師面試題(1)

1 別名、內(nèi)部命令、外部命令的執(zhí)行順序
2 linux 系統(tǒng)啟動(dòng)流程
3 破解用戶密碼的方法
4 忘記 grub 密碼怎么解決
5 硬盤空間滿了怎么處理,怎么找到硬盤中的大文件
6 硬盤明明有很多空間,為什么無(wú)法存儲(chǔ)文件
7 進(jìn)程使用內(nèi)存問題
????7.1 內(nèi)存泄露:Memory Leak
????7.2 內(nèi)存溢出:Memory Overflow
????7.3 內(nèi)存不足:OOM
8 進(jìn)程、線程和協(xié)程的區(qū)別
9 使用 find 命令找出/data目錄下15天以上以log結(jié)尾的文件并刪除
10 su、su - 和 sudo 的區(qū)別

Linux運(yùn)維工程師面試題(1)

祝各位小伙伴們?cè)缛照业阶约盒膬x的工作。 持續(xù)學(xué)習(xí)才不會(huì)被淘汰。 地球不爆炸,我們不放假。 機(jī)會(huì)總是留給有有準(zhǔn)備的人的。 加油,打工人!

1 別名、內(nèi)部命令、外部命令的執(zhí)行順序

命令執(zhí)行尋找順序:別名 > 內(nèi)部命令 > 外部命令;

即先尋找是否為別名,然后再找是否為內(nèi)部命令,最后才找是否為外部命令。

拓展:什么是內(nèi)部命令?什么是外部命令?

內(nèi)部命令:由shell自帶的,而且通過(guò)某命令形式提供
外部命令:在文件系統(tǒng)路徑下有對(duì)應(yīng)的可執(zhí)行程序文件

2 linux 系統(tǒng)啟動(dòng)流程

不同操作系統(tǒng)及版本有所不同,以下以 centos 7 為例。

啟動(dòng)流程比較復(fù)雜,以下簡(jiǎn)要描述,詳細(xì)看下圖

  1. UEFI 或 BIOS 初始化,運(yùn)行 POST 開機(jī)加電自檢;

  2. 加載 BIOS 的硬件信息,獲取第一個(gè)啟動(dòng)設(shè)備;

  3. 讀取第一個(gè)啟動(dòng)設(shè)備 MBR 的引導(dǎo)加載程序 (grub) 的啟動(dòng)信息;

  4. 引導(dǎo)裝載程序,centos 7 是 grub2,加載裝載程序的配置文件:

  • /etc/grub.d/

    • /etc/default/grub

    • /boot/grub2/grub.cfg

  1. 加載 initramfs 驅(qū)動(dòng)模塊;

  2. 加載內(nèi)核選項(xiàng);

  3. 內(nèi)核初始化,centos7使用systemd代替init;

  4. 執(zhí)行 initrd.target 所有單元,包括掛載 /etc/fstab;

  5. 從 initramfs 根文件系統(tǒng)切換到磁盤根目錄;

  6. systemd 執(zhí)行默認(rèn) target 配置,配置文件 /etc/systemd/system/default.target;

  7. systemd 執(zhí)行 sysinit.target 初始化系統(tǒng)及 basic.target 準(zhǔn)備操作系統(tǒng);

  8. systemd 啟動(dòng) multi-user.target 下的本機(jī)與服務(wù)器服務(wù);

  9. systemd 執(zhí)行 multi-user.target 下的 /etc/rc.d/rc.local;

  10. systemd 執(zhí)行 multi-user.target 下的 getty.target 及登錄服務(wù);

  11. systemd 執(zhí)行 graphical 需要的服務(wù)。

圖片來(lái)自互聯(lián)網(wǎng),略有錯(cuò)誤,僅供參考

3 破解用戶密碼的方法

方法一:

方法二:

4 忘記 grub 密碼怎么解決

如果 root 密碼忘記了,grub 的密碼也忘記了,可以進(jìn)救援模式將 /mnt/sysimage/boot/grub/grub.conf 文件里密碼那行刪了即可,或者直接修改 shadow 文件,直接把 root 密碼刪了,即可以使用 root 進(jìn)行空口令登錄了。

物理安全是系統(tǒng)安全的前提

5 硬盤空間滿了怎么處理,怎么找到硬盤中的大文件

首先使用 df -h 查看硬盤的使用情況,找到是哪個(gè)分區(qū)空間滿了;

然后去對(duì)應(yīng)分區(qū)使用 du -sh * 或者 du -a 查看哪個(gè)文件占空間比較大,一般是日志文件。

使用以上方法后沒有發(fā)現(xiàn)大文件,該怎么處理?

特殊情況一:

掛載的時(shí)候?qū)⒂袛?shù)據(jù)的目錄給覆蓋掉了,需要使用df命令查看掛載情況,取消掛載后將原有目錄的里大文件刪除即可。

特殊情況二:

刪除大量的文件沒有被釋放掉,使用 lsof -n | grep deleted 命令查看哪些被刪除文件的pid,將對(duì)應(yīng)的進(jìn)程停止即可釋放刪除的文件進(jìn)而釋放硬盤空間。

正確釋放大文件的方法:

cat /dev/null > /data/bigfile 或者 > /data/bigfile 但是后者不通用,有的shell不支持>,比如csh 釋放后再刪除 rm -f /data/bigfile

考察du、df、ls -l命令的區(qū)別:

ls -l查看的是文件的實(shí)際大小,du查看文件占硬盤空間的實(shí)際大小,df查看的是硬盤的實(shí)際大小,ext系列默認(rèn)元數(shù)據(jù)占用比xfs文件系統(tǒng)的元數(shù)據(jù)要小很多。

一般情況下du顯示的會(huì)比ls -l顯示的大,這主要是因?yàn)閐u顯示的是block的整數(shù)倍。

為什么生成文件前就有33M的數(shù)據(jù),因?yàn)槟J(rèn)磁盤的元數(shù)據(jù)也會(huì)占用空間。

6 硬盤明明有很多空間,為什么無(wú)法存儲(chǔ)文件

原因是所在分區(qū)的inode號(hào)滿了,df -i 可以查看 inode 的使用情況。

一般是生成大量的小文件導(dǎo)致inode號(hào)耗盡,將這些小文件刪除,釋放inode號(hào)即可。

軟鏈接過(guò)多也會(huì)導(dǎo)致inode耗盡。

7 進(jìn)程使用內(nèi)存問題

7.1 內(nèi)存泄露:Memory Leak

指程序中用 malloc 或 new 申請(qǐng)了一塊內(nèi)存,但是沒有用 free 或 delete 將內(nèi)存釋放,導(dǎo)致這塊內(nèi)存一直處于占用狀態(tài)。

7.2 內(nèi)存溢出:Memory Overflow

指程序申請(qǐng)了10M的空間,但是在這個(gè)空間寫入10M以上字節(jié)的數(shù)據(jù),就是溢出。

7.3 內(nèi)存不足:OOM

OOM 即 Out Of Memory,“內(nèi)存用完了",在情況在java程序中比較常見。系統(tǒng)會(huì)選一個(gè)進(jìn)程將之殺死,在日志messages中看到類似下面的提示:

Jul 10 10:20:30 kernel: Out of memory: Kill process 9527(java) score 88 or sacrifice child

當(dāng) JVM 因?yàn)闆]有足夠的內(nèi)存來(lái)為對(duì)象分配空間并且垃圾回收器也已經(jīng)沒有空間可回收時(shí),就會(huì)拋出這個(gè)error,因?yàn)檫@個(gè)問題已經(jīng)嚴(yán)重到不足以被應(yīng)用處理。

原因:

  • 給應(yīng)用分配內(nèi)存太少:比如虛擬機(jī)本身可使用的內(nèi)存 (一般通過(guò)啟動(dòng)時(shí)的VM參數(shù)指定) 太少。

  • 應(yīng)用用的太多,并且用完沒釋放,浪費(fèi)了。此時(shí)就會(huì)造成內(nèi)存泄露或者內(nèi)存溢出。

使用的解決辦法:

  1. 限制 java 進(jìn)程的 max heap,并且降低 java 程序的 worker 數(shù)量,從而降低內(nèi)存使用

  2. 給系統(tǒng)增加 swap 空間

8 進(jìn)程、線程和協(xié)程的區(qū)別

定義:

(1) 進(jìn)程是系統(tǒng)進(jìn)行資源分配和調(diào)度的獨(dú)立單位;

(2) 線程是進(jìn)程的實(shí)體,是CPU調(diào)度和分配的基本單位;

(3) 協(xié)程,又稱微線程,自帶CUP上下文,是比線程更小的執(zhí)行單元,占用資源小,效率高。

區(qū)別:

(1) 一個(gè)程序至少有一個(gè)進(jìn)程,一個(gè)進(jìn)程至少有一個(gè)線程;

(2) 線程的劃分尺度小于進(jìn)程(資源比進(jìn)程少),使得多線程程序的并發(fā)性高;

(3) 進(jìn)程在執(zhí)行過(guò)程中擁有獨(dú)立的內(nèi)存單元,而多個(gè)線程共享內(nèi)存,從而極大的提高了程序的運(yùn)行效率;

(4) 線程不能夠獨(dú)立執(zhí)行,必須依存在進(jìn)程中。

9 使用 find 命令找出/data目錄下15天以上以log結(jié)尾的文件并刪除

10 su、su - 和 sudo 的區(qū)別

su username:非登錄式切換,即不會(huì)讀取目標(biāo)用戶的配置文件,不改變當(dāng)前工作目錄,即不完全切換

su - username:登錄式切換,會(huì)讀取目標(biāo)用戶的配置文件,切換至自己的家目錄,即完全切換

sudo 是一種權(quán)限管理機(jī)制,依賴于/etc/sudoers,其定義了授權(quán)給哪個(gè)用戶可以以管理員的身份能夠執(zhí)行什么樣的管理命令。格式:sudo -u USERNAME COMMAND

使用su切換用戶時(shí)需要輸入目標(biāo)用戶的密碼,使用sudo執(zhí)行命令的時(shí)候需要輸入當(dāng)前用戶的密碼。

以上面試題僅僅個(gè)人總結(jié),想到什么就寫什么,沒有任何順序,寫的有什么不對(duì)的地方請(qǐng)各位大佬評(píng)論、留言,我會(huì)及時(shí)更正。

原文鏈接: [Linux運(yùn)維工程師面試題(1)](https://blog.waluna.top/2023/02/18/1339/).

Linux運(yùn)維工程師面試題(1)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
石首市| 西乌| 临朐县| 中阳县| 饶阳县| 亳州市| 盐山县| 右玉县| 宝鸡市| 神池县| 宁南县| 平遥县| 自治县| 岳西县| 赫章县| 平定县| 石首市| 甘南县| 英德市| 攀枝花市| 大安市| 封开县| 安西县| 大悟县| 太保市| 昔阳县| 宿州市| 红安县| 阿克苏市| 资中县| 砚山县| 永春县| 盘山县| 黄浦区| 呼和浩特市| 德庆县| 博白县| 桂阳县| 寿宁县| 鄂温| 大竹县|