2017年Linux試題精選
Linux承襲的是開放式原始碼(Open Source)的精神,所有Linux Source Code(原始碼)均可免費取得,這使得它相對其它的作業系統(尤其是昂貴的WindowsNT)而言價格極其便宜。以下是Linux試題,希望大家認真練習~!
一、Linux操作系統知識
1.常見的Linux發行版本都有什麼?你最擅長哪一個?它的官方的網站網站是什麼?說明你擅長哪一塊?
答:
常見的Linux發現版本有Redhat、Centos、Debian、Ubuntu、Suse
最擅長Redhat和Centos
Redhat官方的網站:
Centos官方的網站:
我最擅長Linux基本命令操作及相關服務搭建
x開機啟動流程詳細步驟是什麼?系統安裝完,忘記密碼如何破解?
答:
開機步驟由a--h
a、首先是bios加電自檢、初始化,這個過程會檢測相關硬體(cpu、記憶體、顯示卡、硬碟等),然後讀取一個啟動順序,以硬碟為例,會讀取硬碟中的MBR。
b、載入核心 讀取/boot裡邊的配置檔案。
c、啟動初始化程序,開始執行/sbin/init
d、讀取/etc/inittab確定執行級別
e、根據/etc/rc.d/rcN.d載入開機啟動程式,rcN.d都是連結檔案,都指向/etc/rc.d/init.d 再執行/etc/rc.d/l
f、使用者登入(3種方式 ssh、命令列、圖形化)
g、進入login shell,以命令列為例,首先讀取/etc/profile這個全域性配置檔案,然後再針對當前使用者讀取家目錄中的 ~/_profile和~/_login和~/ile
h、最後一步就是開啟non-login shell,進入圖形化後 手動新建一個終端,但這個shell不讀取/etc/profile
忘記密碼
a、重啟系統,在GRUB介面,選取忘記密碼的系統,按e鍵進入編輯模式
b、選項Kernel.....按e鍵進行編輯
c、在編輯介面rhgb quiet後加空格,然後輸入"single"或"1" 回車
d、按b啟動 進入單使用者模式
f、進入系統後passwd回車輸入新密碼(如果有selinux,先暫時關閉 setenforce 0)
3.企業中Linux伺服器系統分割槽標準是什麼?(硬碟為300G,記憶體16G)
答:
/boot 200M
/swap 16G
/ 70G
/data 剩下的全部空間
4.某一天突然發現Linux系統檔案只讀,該怎麼辦呢?完整操作步驟。
答:
首先把系統關機,然後以光碟啟動進入救援模式(linux rescue),執行"3 -y /dev/sda2" (假如只讀的分割槽型別為ext3,分割槽為/dev/sda2)
5.安裝一臺系統使用DVD光碟安裝,如何安裝50臺Linux系統如何安裝呢?思考一下。
答:
a、可以多用幾張DVD一臺一臺的安裝。
b、可以用Kickstart批量安裝(客戶端從網路啟動)
6.用虛擬機器安裝了一臺Linux系統,突然想克隆一臺伺服器,克隆後發現無法上網,如何解決?
答:
a、編輯網絡卡配置檔案/etc/sysconfig/network-scripts/ifcfg-eth0,將HWADDR和MAC地址這兩行刪除。
b、修改檔案/etc/udev/rules.d/s,刪除之前eth0所在的行,將下一行eth1修改為eth0
c、reboot
x網絡卡配置檔案路徑是什麼?要使伺服器上外網,必須滿足的條件有哪些?需要配置什麼?
答:
網絡卡配置檔案路徑:/etc/sysconfig/network-scripts/ifcfg-eth*(*代表數字)
要上外網需要:能夠連結internet的網線(或無線)、有網絡卡
需要配置:IP、netmask、gateway、dns(自動或手動都ok,伺服器一般自動)
8.一般可以使用什麼軟體遠端linux伺服器?通過什麼上傳檔案和下載檔案?
答:
遠端連線linux的軟體:xshell、SecureCRT、putty、vnc(圖形化)
上傳和下載檔案:lrzsz、sftp
9./mnt目錄主要用於什麼?/root目錄跟root使用者有什麼關係?/根目錄與/boot目錄有什麼聯絡?
答:
/mnt一般用於掛載外接裝置
/root是一個目錄,是root使用者的家目錄
/boot目錄是/目錄下的一個子目錄
10.某一天誤操作,執行了rm -rf * ,會有哪些情況發生?請舉例。
答:
a、如果當前目錄為"/tmp" ,那麼這個目錄下的東西會全部刪除(預設不包含隱藏檔案)
b、如果當前目錄為"/",那麼系統上的資料將會丟失,且無法啟動,系統崩潰(謹慎使用這個命令)
二、Linux命令及檔案操作
1.在/tmp/目錄下建立檔案,內容為: Hello,World! ,用一個命令寫出來。
答:
echo "Hello,World!" > /tmp/
2.給檔案除所有者之外增加執行許可權,最終以數字寫出檔案的許可權。
答:
655
預設是644,可以通過"chmod 655 /tmp/"
3.用vi命令編輯,如何跳轉到末行,首行,行首、行末,如何在游標行下一行插入,如何複製5行,刪除10行,查詢jingfeng的字元、把jingfeng替換為
答:
末行:G
首行:gg
行首:^(Shift+6)
行尾:$(Shift+4)
游標下插入一行: o
複製5行:5yy
刪除10行:10dd
替換::%s/jingfeng/
4.查詢linux系統下以txt結尾,30天沒有修改的檔案大小大於20K同時具有執行許可權的檔案並備份到/data/backup/目錄下。
答:
find / -name *txt -mtime +30 -type f -size +20k -perm a=x -exec cp {} /data/backup/ ;
5.當前所屬的.使用者為root,組為abc,請將使擁有者為abc,組為root,寫出命令。
答:
chown abc:root
6.如何修改Linux啟動級別為字元模式並永久生效,如何臨時、永久關閉selinux及防火牆,請分別寫出操作方法。
答:
更改字元模式:修改/etc/inittab一行為 id:3:initdefault:
臨時關閉selinnux setenforce 0
臨時關閉防火牆 iptables -F
永久關閉selinux 修改/etc/selinux/config一行為 SELINUX=permissive
永久關閉防火牆 iptables -F;/etc/init.d/iptables save
7.每次開機在/tmp目錄下建立一個當天的日期資料夾(提示:當前日期表示的方法為:`date +%Y%m%d`)
答:
echo "mkdir /tmp/`date +%Y%m%d`" >> /etc/rc.d/l
8.如何檢視檔案內容,命令有哪些?檢視檔案第1行到3行,檢視檔案最後一行。
答:
檢視檔案內容:vim、cat、head、tail
檢視第1到行:head -3 file
檢視最後一行:tail -1 file
9.檢視linux伺服器IP的命令,同時只顯示包含ip所在的行打印出來。
答:
以eth0為例
只打印所在的行:ifconfig eth0 | grep "inet addr:"
只打印ip:ifconfig eth0 | grep "inet addr:"|awk -F: '{print $2}'|awk -F' ' '{print $1}'
10.將普通使用者test加入root組的命令是?
答:
usermod -G root test
三、Linux磁碟及軟體管理操作
1、如何新增一塊新的50G硬碟到linux伺服器系統作為單獨的分割槽,並正在使用?需要哪些操作步驟?
答:
a、把硬碟放進伺服器並連線
b、建立硬碟分割槽(通過fdisk命令)
c、格式化分割槽
d、掛載分割槽(可寫入到/etc/fatab中,重啟自動掛載)
2.有個金士頓U盤,需要往伺服器/var/www/html/目錄下上傳一個檔案,如何操作並完成。
答:
a、把U盤掛載到伺服器上(需要安裝ntfs-3g),拷貝到/var/www/html/
b、把U盤連結到Windows下,通過遠端連線伺服器,遠端拷貝
3.有一塊行動硬碟,上面有300G資料,如何快速cp到linux伺服器?
答:
假設硬碟在伺服器上識別為 sdbc
mkdir /mydata
mount -t ntfs /dev/sdbc /mydata
4.光盤裡面有一個包,如何掛載並安裝呢?
答:
a、掛載光碟到/mnt下(mount /dev/cdrom /mnt)
b、安裝(rpm -ivh /mnt/Packages/)
5.使用rpm命令安裝、解除安裝、更新ntp-0.7.12.x86_這個軟包。
答:
安裝 rpm -ivh ntp-0.7.12.x86_
解除安裝 rpm -e ntp --nodeps
更新 rpm -Uvh ntp-0.7.12.x86_
6./var/www/html/是網站的釋出目錄,如何每天凌晨0點30對其進行自動備份,寫出操作步驟?
答:
a、crontab -e 進入編輯模式
b、新增以下內容 30 0 * * * /bin/tar -czf /backup/web_bak_$(date +%Y%m%d) /var/www/html > /dev/null 2>&1
c、啟動服務 service crontab start;chkconfig crontab on
7.使用tar命令打包並壓縮/root目錄,然後移動到/tmp下,將其許可權設定其他人只讀。
答:
tar -czf /tmp/root_ /root
chmod o=r /tmp/root_
命令與rpm命令的區別?如何使用rpm安裝一個有依賴的包?
答:
rpm一般用於安裝本地的包,yum一般用於線上安裝(也可以本地光碟建立yum源)
最大的區別在於yum可以自動安裝所依賴的包(不包含環境)
加"--nodeps"選項 如:rpm -ivh ** --nodeps
9.在這個月內,每天的早上 6 點到 12 點中,每隔 2 小時建立一個檔案,內容為ok,如何實現?
答:
a、crontab -e 進入編輯模式
b、新增以下內容 0 6-12/2 * 4 * /bin/touch (以4月為例)
c、啟動服務 service crontab start;chkconfig crontab on
10.將/usr/local/test目錄下大於100K 的檔案轉移到/tmp 目錄下。
答:
find /usr/local/test -type f -size +100k -exec mv {} /tmp ;
11.簡述 raid0 raid1 raid5三種工作模式的工作原理及特點。
答:
raid 0 數量 >=2 磁碟利用率 100% hot-spare 無 優點 讀寫效能高 缺點 沒有容錯能力
資料分散寫入不同磁碟,不提供冗餘,不能擴容,任何一個盤壞掉,資料全部丟失。適用於對效能要求高,但對資料的安全不太在乎的領域。
raid 1 數量 >=2 磁碟利用率 50% Hot-spare 有 優點 提供資料冗餘,安全性高 缺點 浪費磁碟空間
適用於對資料安全性高的場所,一般為2塊盤,空間為最小的盤的空間,如果有4塊盤,其中3塊空間都是浪費(做映象冗餘)只要有一塊盤存在,資料就不會丟失.
raid 5 數量 >=3 磁碟利用率 (n-1)/n hot-spare 有 優點 有容錯,可冗餘,讀取效能高 缺點 寫效能低
raid5相當於raid0和raid1的折中方案
應用伺服器(像apache) 做 raid 1 兩塊硬碟
資料伺服器(像Mysql) 做 raid 10 四塊硬碟
12.如何檢視佔用埠 8080 的程序。
答:
netstat -anlp | grep 8080
lsof -i:8080
四、Linux服務配置及管理
1.請寫出 apache2.X 版本的兩種工作模式,以及各自工作原理。如何檢視apache 當前所支援的模組,並且檢視是工作在哪種模式下?
答:
apache有兩種工作模式,一種為prefork模式,另一種為 work模式
prefork:一個程序僅有一個執行緒接待一個訪問請求,穩定性高,一個程序崩潰後不影響其它程序,但是佔用記憶體較多,對硬體要求高。
work:一個程序具有多個執行緒,並分別響應訪問請求,佔用記憶體小,但是一個程序崩潰會影響其它請求
檢視支援模組:httpd -l
檢視工作模式:httpd -V
x下nfs在客戶端無法掛載,請寫出排查步驟?
答:
a、檢查是否是防火牆或selinux的影響
b、檢查語法與伺服器地址是否錯誤(只能掛載目錄,不能掛載檔案)
c、在服務端檢查配置檔案是否正確及客戶端是否有許可權訪問
x下已經部署了dhcp伺服器,客戶端無法獲取的IP,如何解決?
答:
a、重啟客戶端網路服務,IP改為自動獲取
b、檢查客戶端是否與伺服器在同一網路內
c、檢查伺服器相關配置,並檢視日誌
4.常見的FTP軟體有哪些?Linux最常用的是?如何共享一個資源讓他人使用使用者名稱和密碼訪問?
答:
a、常見的FTP軟體有vsftpd、ProFTPD、PureFTPd和wuftpd等
b、linux最常用的為vsftpd
c、關閉匿名訪問,建立相關使用者
5.如何禁止FTP使用匿名使用者登入?命令列如何訪問ftp伺服器?
答:
關閉匿名訪問(anonymous_enable=NO)
ftp server_ip
heWEB伺服器的釋出目錄在哪裡?
答:
a、yum安裝 預設為/var/www/html
b、原始碼安裝 預設為/usr/local/apache/htdocs(加入安裝apache的時候,安裝路徑為/usr/local/apache)
heWEB伺服器有幾種工作模式,每種模式的簡單區別?
答:
Apache有兩種工作模式,一種為 prefork 模式,另一種為 work 模式
prefork:一個程序僅有一個執行緒接待一個訪問請求,穩定性高,一個程序崩潰後不影響其它程序,但是佔用記憶體較多,對硬體要求高。
work:一個程序具有多個執行緒,並分別響應訪問請求,佔用記憶體小,但是一個程序崩潰會影響其它請求
L伺服器的用途是?Apache和mysql可以安裝在一臺機器嗎?如何檢視apache和mysql埠和程序?
答:
a、Mysql伺服器用於儲存一些資料
b、Apache和mysql可以安裝在一臺機器
c、檢視埠 netstat -anlp |egrep ‘httpd|mysql’
檢視程序 ps -aux | egrep 'httpd|mysql'
9.如何在虛擬機器上面部署4個網站,訪問的域名分別為 ?
答:
a、在中取消 Include conf/extra/的註釋
b、在網站釋出目錄建立四個目錄,mkdir web{1,2,3,4}
c、編輯,把...內容複製四分,修改DocumentRoot等相關配置即可
10.假設 Apache 產生的日誌檔名為access_log,在 apache 正在執行時,執行命令 mv access_log access_,執行完後,請問新的 apache的日誌會列印到哪裡,為什麼?
答:
依舊會列印到access_log中(預設建立一個新檔案),因為Apache的配置檔案裡邊指定的為這個檔名,當沒有的時候會自動建立
11.我們都知道 FTP 協議有兩種工作模式,說說它們的大概的一個工作流程?
答:
FTP有兩種工作模式:
FTP主動模式:客戶端從一個任意的非特權埠N(N>1024)連線到FTP伺服器的port 21命令埠。然後客戶端開始監聽埠N+1,併發送FTP命令“port N+1”到FTP伺服器。接著伺服器會從它自己的資料埠(20)連線到客戶端指定的資料埠(N+1)。
FTP被動模式:客戶端從一個任意的非特權埠N(N>1024)連線到FTP伺服器的port 21命令埠。然後客戶端開始監聽埠N+1,同時客戶端提交 PASV命令。伺服器會開啟一個任意的非特權埠(P >1024),併發送PORT P命令給客戶端。然後客戶端發起從本地埠N+1到伺服器的埠P的連線用來傳送資料。
x核心引導時,從哪個檔案中讀取要載入的檔案系統。
答:
從/etc/fstab
13.寫出下面服務的常用埠ftp http dns snmp pop3、dhcp、nfs、mysql、samba等服務。
答:
服務(埠號) ftp(2021)、http(80)、dns(53)、snmp(161)、pop3(110)、dhcp(67 68)、nfs(111)、mysql(3306)、samba(137 138 139)
l建立資料庫的命令,建立表的命令,插入語句的命令?
答:
建立資料庫 create database jacken;
建立表 use jacken; create table jacken(name var20),age int(10),love var20));
插入語句 into jacken_1(name,age,love) values('tom',2,'reading');
l備份命令?Mysql如何對jfedu使用者授權訪問,密碼為,請寫出命令?
答:
mysql備份mysqldump -h localhost -u root -p jacken > /data/
授權:mysql> grant all privileges on *.* to jfedu@localhost identified by "";
l忘記密碼該如何操作呢?
答:
停止mysql服務,編輯/etc/,在mysqld選項中加一行 --skip-grant-start儲存後啟動mysql,此時無需密碼。
進去之後執行
mysql> use mysql;
mysql> user set password=password=('newpass') where user='root';
mysql> flush privileges;
在/etc/中註釋--skip-grant-start這行,重啟服務即可