面試題21-linux
01 如何使用單個命令行查看當前目錄下的所有文件和子目錄?
02 描述Linux中的文件權(quán)限系統(tǒng)。drwxr-xr--這種表示方式意味著什么?
03 如果一個程序在后臺運行并且輸出大量的日志到屏幕,如何將其重定向到一個文件并使程序在后臺靜默運行?
04 在Debian和Red Hat系列的Linux發(fā)行版中,分別使用哪些命令來安裝軟件包?
05 如何查看當前系統(tǒng)的磁盤使用情況,并找出使用最多磁盤空間的五個文件或目錄?
06 如何查看當前系統(tǒng)的網(wǎng)絡(luò)接口配置,并如何臨時更改IP地址?
07 描述top命令的功能。如何使用它來查找CPU使用率最高的五個進程?
08 在Linux中,系統(tǒng)日志通常保存在哪個目錄?如何實時查看新添加的日志條目?
09 什么是sudo命令?
10 為什么直接使用root用戶登錄可能是一個不好的做法
01 如何使用單個命令行查看當前目錄下的所有文件和子目錄?
ls -a ls -la 詳細信息
02 描述Linux中的文件權(quán)限系統(tǒng)。drwxr-xr--這種表示方式意味著什么?
inux中的文件權(quán)限系統(tǒng)基于三種主要的實體:所有者(owner)、組(group)和其他用戶(others)。每種實體都有三種基本的權(quán)限:讀(read)、寫(write)和執(zhí)行(execute)。 權(quán)限表示法drwxr-xr--可以分解為以下部分:
第一個字符
:文件類型
d: 表示這是一個目錄。
-: 表示這是一個普通文件。
l: 表示這是一個符號鏈接。
其他字符也可能出現(xiàn),但這些是最常見的。
接下來的三個字符
:所有者的權(quán)限
rwx: 表示所有者有讀、寫和執(zhí)行的權(quán)限。
接下來的三個字符
:組的權(quán)限
r-x: 表示組有讀和執(zhí)行的權(quán)限,但沒有寫權(quán)限。
最后三個字符
:其他用戶的權(quán)限
r--: 表示其他用戶只有讀的權(quán)限,沒有寫和執(zhí)行的權(quán)限。
所以,drwxr-xr--表示: 這是一個目錄。
所有者可以讀、寫和進入該目錄。
組成員可以讀和進入該目錄,但不能寫。
其他用戶只能讀該目錄,不能寫或進入。
在數(shù)字表示法中,這些權(quán)限可以表示為: r: 4
w: 2
x: 1
因此,drwxr-xr--可以表示為755。
03 如果一個程序在后臺運行并且輸出大量的日志到屏幕,如何將其重定向到一個文件并使程序在后臺靜默運行?
如果你有一個程序,比如叫做my_program,并且你想讓它在后臺運行,同時將其輸出重定向到一個文件(例如output.log), 可以使用以下命令: my_program > output.log 2>&1 & >: 是重定向標準輸出的符號。 &: 將使my_program在后臺運行。
04 在Debian和Red Hat系列的Linux發(fā)行版中,分別使用哪些命令來安裝軟件包?
Debian系列
(如Debian, Ubuntu, Linux Mint等): 使用apt或apt-get工具。
sudo apt update????# 更新軟件包列表
sudo apt install
ed Hat系列
(如Red Hat Enterprise Linux, CentOS, Fedora等): 在舊版本中,使用yum工具。
在新版本中(特別是CentOS/RHEL 8及更高版本),使用dnf工具。
使用yum安裝軟件包的命令為:
sudo yum install
05 如何查看當前系統(tǒng)的磁盤使用情況,并找出使用最多磁盤空間的五個文件或目錄?
查看當前系統(tǒng)的磁盤使用情況
: 使用df命令,它會顯示每個掛載點的磁盤使用情況: df -h -h選項會使輸出更易讀,將大小顯示為“人類可讀”的格式,如GB、MB等。
找出使用最多磁盤空間的五個文件或目錄
: 從當前目錄開始,使用du命令: du -hs * | sort -rh | head -n 5 du -hs *: 顯示當前目錄下每個文件和目錄的大小。-h使輸出更易讀,-s提供每個文件和目錄的總計。 sort -rh: 對輸出進行排序。-r表示逆序(從大到?。?,-h表示按“人類可讀”的大小排序。 head -n 5: 只顯示前五個結(jié)果。
06 如何查看當前系統(tǒng)的網(wǎng)絡(luò)接口配置,并如何臨時更改IP地址?
在Linux系統(tǒng)中,你可以使用多種方法來查看和更改網(wǎng)絡(luò)接口的配置。以下是使用ip和ifconfig命令的方法: ip addr show ifconfig
臨時更改IP地址
: ip addr add 192.168.1.100/24 dev eth0 ip link set eth0 up
07 描述top命令的功能。如何使用它來查找CPU使用率最高的五個進程?
top命令在Linux和Unix-like系統(tǒng)中是一個非常有用的實時系統(tǒng)監(jiān)視工具。它提供了一個動態(tài)的實時視圖,展示了系統(tǒng)中的進程和其關(guān)于CPU、內(nèi)存等資源的使用情況。
top命令的主要功能
: 顯示系統(tǒng)摘要信息,如系統(tǒng)運行時間、在線用戶數(shù)、系統(tǒng)負載、活躍進程數(shù)等。
顯示CPU的使用情況,包括用戶空間、系統(tǒng)空間和空閑時間。
顯示物理和交換內(nèi)存的使用情況。
列出系統(tǒng)中正在運行的進程,并顯示其關(guān)于CPU、內(nèi)存等資源的使用情況。
允許用戶交互地發(fā)送信號到進程,例如停止或終止進程。
如何使用top來查找CPU使用率最高的五個進程
: 默認情況下,top會按照CPU使用率對進程進行排序,其中CPU使用率最高的進程位于列表的頂部。 top
08 在Linux中,系統(tǒng)日志通常保存在哪個目錄?如何實時查看新添加的日志條目?
在Linux中,系統(tǒng)日志通常保存在/var/log/目錄。這個目錄下有多個日志文件和子目錄,其中包括系統(tǒng)、應(yīng)用和服務(wù)的日志。 常見的日志文件包括: /var/log/syslog 或 /var/log/messages: 包含全局系統(tǒng)消息的日志。
/var/log/auth.log: 包含系統(tǒng)授權(quán)信息,如用戶登錄和身份驗證。
/var/log/kern.log: 包含內(nèi)核消息。
/var/log/boot.log: 包含系統(tǒng)啟動時的日志信息。
/var/log/dmesg: 包含內(nèi)核啟動和運行時的消息。
/var/log/faillog: 包含用戶登錄失敗的日志。
/var/log/apache2/ 或 /var/log/httpd/: 如果你運行了Apache web服務(wù)器,這里會有相關(guān)的日志。
要
實時查看新添加的日志條目
,你可以使用tail命令的-f選項。例如,要實時查看系統(tǒng)消息,你可以運行: tail -f /var/log/syslog 或者,如果你的系統(tǒng)使用/var/log/messages: tail -f /var/log/messages
09 什么是sudo命令?
sudo 是一個Unix和Linux系統(tǒng)中的命令行程序,允許已經(jīng)被授權(quán)的用戶以其他用戶的身份(通常為root用戶)執(zhí)行命令。sudo 的名稱來源于 "superuser do" 或 "switch user do"。
功能和用途
: sudo 允許系統(tǒng)管理員為特定用戶或用戶組分配特定的命令權(quán)限,而不是給予他們完全的root權(quán)限。
使用 sudo 執(zhí)行的命令通常會被記錄,這有助于審計和系統(tǒng)管理。
sudo 通常要求用戶輸入他們自己的密碼,而不是root密碼,以驗證他們的身份。
10
為什么直接使用root用戶登錄可能是一個不好的做法
:
安全風險
: 作為root用戶,你有無限的權(quán)限。一個小小的錯誤,例如誤刪除關(guān)鍵系統(tǒng)文件,可能會導致整個系統(tǒng)崩潰或數(shù)據(jù)丟失。
審計問題
: 如果多個管理員都使用root賬戶,很難追蹤誰做了什么。使用個人賬戶和sudo可以確保所有命令都被適當?shù)赜涗洝?/p>
外部威脅
: 如果攻擊者能夠破解或以某種方式獲得root權(quán)限,他們將能夠?qū)ο到y(tǒng)做任何事情。限制直接root訪問并使用sudo可以增加額外的安全層。
不必要的權(quán)限
: 在大多數(shù)情況下,日常任務(wù)不需要root權(quán)限。只有在需要時才提升權(quán)限,可以減少意外對系統(tǒng)造成損害的風險。
程序和服務(wù)的風險
: 如果你以root身份運行程序或服務(wù),那么這些程序或服務(wù)在遇到漏洞時可能會被利用,從而給攻擊者提供完全的系統(tǒng)訪問權(quán)限。