Linux面試題


Linux面試題總結一下

 

一、有文件file1

 1、查詢file1 里面空行的所在行號

 awk ‘{if($0~/^$/)print NR}’ file

 or

 grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’

或者用grep -n ^$ /usr/local/httpd/conf/httpd.conf | awk -F: '{print $1}' 即可

 2、查詢file1 以abc 結尾的行

 grep abc$ file1

 3、打印出file1 文件第1 到第3 行

 sed -n ’1,3p’ file1

 head -3 file1

 二、如何將本地80 端口的請求轉發到8080 端口,當前主機IP 為192.168.2.1

 Iptables -A PREROUTING -d 124.42.60.109 -p tcp -m tcp –dport 80 -j DNAT

 –to-destination 10.0.0.18:9000

 三、crontab

 在11 月份內,每天的早上6 點到12 點中,每隔2 小時執行一次/usr/bin/httpd.sh 怎么

 實現

 0 6-12/2 * 11 * /usr/bin/httpd.sh

 四、編寫個shell 腳本將/usr/local/test 目錄下大於100K 的文件轉移到/tmp 目錄下

 #!/bin/bash

 for file in `ls /root`

 do

 if [ -f $file ]; then

 if [ `ls -l $file|awk '{print $5}'` -gt 10000 ]; then

 mv $file /tmp/

 fi

 fi

 done

 五、簡述raid0 raid1 raid5 三種工作模式的工作原理及特點。

 RAID 0:連續以位或字節為單位分割數據,並行讀/寫於多個磁盤上,因此具有很高的數據

 傳輸率,但它沒有數據冗余,因此並不能算是真正的RAID 結構。RAID 0 只是單純地提高

 性能,並沒有為數據的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數據。因此,

 RAID 0 不能應用於數據安全性要求高的場合。

 RAID 1:它是通過磁盤數據鏡像實現數據冗余,在成對的獨立磁盤上產生互為備份的數據。

 當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1 可以提高讀取性能。RAID

 1 是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,

 系統可以自動切換到鏡像磁盤上讀寫 ,而不需要重組失效的數據。簡單來說就是:鏡象結

 構,類似於備份模式,一個數據被復制到兩塊硬盤上。

 RAID10:高可靠性與高效磁盤結構

 一個帶區結構加一個鏡象結構,因為兩種結構各有優缺點,因此可以相互補充。

 主要用於容量不大,但要求速度和差錯控制的數據庫中。

 RAID5:分布式奇偶校驗的獨立磁盤結構,它的奇偶校驗碼存在於所有磁盤上,任何一個

 硬盤損壞,都可以根據其它硬盤上的校驗位來重建損壞的數據。支持一塊盤掉線后仍然正常

 運行。

 六、oracle 數據庫備份方式

 物理備份:開啟網絡監聽,備份數據庫文件。

 RMAN 備份:通過表空間文件在RMAN 模式對ORACLE 數據備份。

 七、如何查看占用端口8080 的進程

 lsof -i:8080

 八、請寫出apache2.X 版本的兩種工作模式,以及各自工作原理。如何查看apache 當前

 所支持的模塊,並且查看是工作在哪種模式下?

 答案:

 prefork(多進程,每個進程產生子進程)和worker(多進程,每個進程生成多個線程)

 prefork 的工作原理是,控制進程在最初建立“StartServers”個子進程后,為了滿足

 MinSpareServers 設置的需要創建一個進程,等待一秒鍾,繼續創建兩個,再等待一秒鍾,

 繼續創建四個……如此按指數級增加創建的進程數,最多達到每秒32 個,直到滿足

 MinSpareServers 設置的值為止。這就是預派生(prefork)的由來。這種模式可以不必

 在請求到來時再產生新的進程,從而減小了系統開銷以增加性能。

 worker 是2.0 版中全新的支持多線程和多進程混合模型的MPM。由於使用線程來處

 理,所以可以處理相對海量的請求,而系統資源的開銷要小於基於進程的服務器。但是,

 worker 也使用了多進程,每個進程又生成多個線程,以獲得基於進程服務器的穩定性。這

 種MPM 的工作方式將是Apache 2.0 的發展趨勢。

 可以通過命令httpd -l 可以查看apache 當前的模塊,如果帶有worker.c 就是工作在

 worker 模式下,如果有prefork.c 就是工作在prefork.c 的模式下。

 九、你使用過監控軟件嗎?說說其特點

 使用nagios 對服務器進行監控,其特點可實時實現手機短信、電子郵件、MSN、飛信報警。

 使用cacti 對流量進行監控。

 十、你對現在運維工程師的理解和以及對其工作的認識

 運維工程師在公司當中責任重大,需要保證時刻為公司及客戶提供最高、最快、最穩定、最

 安全的服務。運維工程師的一個小小的失誤,很有可能會對公司及客戶造成重大損失,因此

 運維工程師的工作需要嚴謹及富有創新精神。

 十一、linux 下常用的DNS服務軟件是什么,舉出幾種常用的DNS記錄,如果域名abc.com

 配置好了一台郵件服務器,IP 地址為202.106.0.20,我該如何做相關的解析?是否了解

 bind 的智能解析,如果了解請簡述一下其原理

 答案:

 1)常用的DNS 軟件是bind

 2)A 記錄 地址記錄

 MX 記錄 郵件交換記錄

 CNAME 記錄 別名域記錄

 3)修改abc.com 域名的配置文件,增加以下記錄

 IN MX 10 mail.abc.com.

 mail IN A 202.106.0.20

 4)bind 根據請求解析客戶端的IP 地址,做出不同的解析,其原理是在配置文件中,設定了

 view,在每個view 都有客戶端的IP 地址段,bind 服務器根據請求解析客戶端的IP 地址,

 匹配不同的view,再根據該view 的配置,到相應的配置文件進行查詢,將結果返回給請求

 的客戶端。

 十二、通過apache 訪問日志access.log 統計IP 和每個地址訪問的次數,按訪問量列出

 前10 名。

 日志格式樣例如下

 192.168.1.247 – - [02/Jul/2010:23:44:59 +0800] “GET / HTTP/1.1″ 200 19

 答案:

 cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10

 //這個別的方法也能統計,但有些命令是必要的 awk , sort,uniq ,主要看是否這些命令都

 使用了。

 十三、如何用mysql 命令進行備份和恢復?以test 庫為例,創建一個備份,並再用此備份

 進行恢復。

 mysqldump -u root -p test > test.sql

 mysql -u root -p test < test.sql

 //主要考對方msqldump > test.sql 和 mysql < test.sql

 十四、你認為在系統調優方面都包括哪些工作,以linux 為例,請簡明闡述,並舉一些參數

 為例。

 答案:

 系統調優包括內核參數優化和應用優化2 個方面,對方只要從這兩方面來說,就可以了,

 盡量能有些經驗的闡述。

 有個文件如下:

 http://a.domain.com/1.html

 http://b.domain.com/1.html

 http://c.domain.com/1.html

 http://a.domain.com/2.html

 http://b.domain.com/2.html

 http://a.domain.com/3.html

 要求:得到主機名(和域名),並統計哪個網址出現的次數,並排序。可以shell 或C。

 得到的結果應該是:

 3 a.domain.com

 2 b.domain.com

 1 c.domain.com

 [root@mail ~]# awk ‘BEGIN{FS=”/”}{arr[$3]++}END{for(i in arr) print

 arr[i],i}’ list| sort -r 答案

 3 a.domain.com

 2 b.domain.com

 1 c.domain.com

 掛載windows 的共享目錄?

 mount.cifs //IP/SHARE linux 的目錄 --verbose -o user=username <--這個用戶是

 windows 下的用戶--verbose 這個參數可以不加,它是顯示過程的

 例如mount.cifs //10.1.1.246/gongxiang /mnt --verbose -o user=gao

 或者是mount -t cifs

 umount /mnt 或umount.cifs /mnt -l <--取消掛載

 圖形界面:smb://IP

 A B 網絡是通的,最少列出五種傳輸文件的服務

 nfs ,ftp,scp ,rsync,samba,http://

 1.假設Apache 產生的日志文件名為access_log,在apache 正在運行時,執行命令mv

 access_log access_log.bak,執行完后,請問新的apache 的日志會打印到哪里,為什么?

 新的日志會打印在access_log.bak 中,因為apache 啟動時會找到access_log 文件,

 隨時准備向文件中加入日志信息,

 雖然此時文件被改名,但是由於服務正在運行,因為它的inode 節點的位置沒有變,程序

 打開的fd 仍然會指向原來那個inode,

 不會因為文件名的改變而改變。apache 會繼續向已改名的文件中追加日志,但是若重啟

 apache 服務,系統會檢查access_log

 文件是否存在,若不存在則創建。

 2.在Shell 環境下,如何查看遠程Linux 系統運行了多少時間?

 2、監控主機執行: ssh user@被監控主機ip "uptime"

 這樣得到了被監控主機的uptime

 3.處理以下文件內容,將域名取出並進行計數排序,如處理:

 http://www.baidu.com/index.html

 http://www.baidu.com/1.html

 http://post.baidu.com/index.html

 http://mp3.baidu.com/index.html

 http://www.baidu.com/3.html

 http://post.baidu.com/2.html

 得到如下結果:

 域名的出現的次數 域名

 3 www.baidu.com

 2 post.baidu.com

 1 mp3.baidu.com

 可以使用bash/perl/php/c 任意一種

 3、[root@localhost shell]# cat file | sed -e ' s/http:\/\///' -e ' s/\/.*//' | sort |

 uniq -c | sort -rn

 3 www.baidu.com

 2 post.baidu.com

 1 mp3.baidu.com

 [root@codfei4 shell]# awk -F/ '{print $3}' file |sort -r|uniq -c|awk '{print

 $1"\t",$2}'

 3 www.baidu.com

 2 post.baidu.com

 1 mp3.baidu.com

 4.如果得到隨機的字串,長度和字串中出現的字符表可定義,並將字串倒序顯示,如

 把0123456789 作為基准的字串字符表,產生一個6 位的字串642031,打印出的字串為

 130246,可使用bash/perl/php/c 任意一種.

 4、[root@localhost ~]# awk -v count=6 'BEGIN

 {srand();str="0123456789";len=length(str);for(i=count;i>0;i--)

 marry[i]=substr(str,int(rand()*len),1);for(i=count;i>0;i--)

 printf("%c",marry[i]);printf("\n");for

 (i=0;i<=count;i++) printf("%c",marry[i]);printf("\n")}'

 838705

 507838

 5.如何查看當前Linux 系統的狀態,如CPU 使用,內存使用,負載情況等.

 5、Linux 系統中“/proc”是個偽文件目錄,不占用系統空間,及時的反應出內存現在使用的

 進程情況......其中許多文件都保存系統運行狀態和相關信息

 對於“/proc”中文件可使用文件查看命令瀏覽其內容,文件中包含系統特定信息:

 cpuinfo 主機CPU 信息

 filesystems 文件系統信息

 meninfo 主機內存信息

 version Linux 內存版本信息

 diskstatus 磁盤負載情況

 另外top 命令可以動態的顯示當前系統進程用戶的使用情況,而且是動態的顯示出來,尤其

 是在該命令顯示出來的對上方對系統的情況進行匯總.

 free 命令呢可以查看真實使用的內存 一般用free -m

 使用lsof 、ps -aux 可以查看詳細的每個進程的使用狀況

 dmesg 也是常用來查看系統性能的命令

 #題目:有10 台被監控主機、一台監控機,在監控機上編寫腳本,一旦某台被監控機器/

 分區適用率大於80%, 就發郵件報警放到crontab 里面, 每10 分鍾檢查一次

 #測試機器:虛擬機Linux as 4

 #1.首先建立服務器間的信任關系。拿兩台機器做測試

 本機ip:192.168.1.6

 [root@codfei ~]# ssh-keygen -t rsa

 Generating public/private rsa key pair.

 Enter file in which to save the key (/root/.ssh/id_rsa):

 /root/.ssh/id_rsa already exists.

 Overwrite (y/n)? y (以為我是第2 次建立關系所以此處覆蓋原來的文件)

 Enter passphrase (empty for no passphrase):(直接回車無須輸入密鑰)

 Enter same passphrase again:

 Your identification has been saved in /root/.ssh/id_rsa.

 Your public key has been saved in /root/.ssh/id_rsa.pub.

 The key fingerprint is:

 04:37:13:2a:4b:10:af:c1:2b:03:3f:6b:27:ce:b9:62 root@codfei

 [root@codfei ~]# cd .ssh/

 [root@codfei .ssh]# ll

 -rw------- 1 root root 883 Apr 25 17:51 id_rsa

 -rw-r--r-- 1 root root 221 Apr 25 17:51 id_rsa.pub

 -rw-r--r-- 1 root root 442 Apr 25 17:37 known_hosts

 id_rsa 是密鑰文件,id_rsa.pub 是公鑰文件。

 [root@codfei .ssh]# scp id_rsa.pub192.168.1.4:/root/.ssh/192.168.1.6

 root@192.168.1.4's password:

 id_rsa.pub 100% 221 0.2KB/s 00:00

 這里把公鑰文件取名為本機的ip 地址就是為了以后和更多的機器建立信任關系不發生混

 淆。

 現在登陸到192.168.1.4 機器

 [root@codfei ~]# cd .ssh/

 [root@codfei .ssh]# cat 192.168.1.6 >> authorized_keys

 然后回到192.168.1.6 機器直接

 [root@codfei .ssh]# ssh 192.168.1.4

 Last login: Wed Aug 8 12:14:42 2007 from 192.168.1.6

 這樣就可以了,里面偶爾涉及到權限問題。一般./ssh 文件夾是755 authorized_keys 為

 600 或者644

 ####腳本如下#######################

 #!/bin/bash

 #SCRIPT:df_check.sh

 #Writeen by codfei Mon Sep 3 07:25:28 CST 2007

 #PURPOSE:This script is used to monitor for full filesystems.

 #######################Begining####################

 ###################

 FSMAX="80"

 remote_user='root' #####完全可以不用root

 remote_ip=(192.168.1.5 192.168.1.6 192.168.1.7 192.168.1.8 192.168.1.9

 192.168.1.10 192.168.1.11 192.168.1.12 192.168.1.13 192.168.1.14 ) ---->

 這里填寫你要監控的主機ip

 ip_num='0'

 while [ "$ip_num" -le "$(expr ${#remote_ip[@]} - 1)" ]

 do

 read_num='1'

 ssh "$remote_user"@"${remote_ip[$ip_num]}" df -h > /tmp/diskcheck_tmp

 gep '^/dev1 * * * clear

 94.系統中有用戶user1 和user2,同屬於users 組。在user1 用戶目錄下有一文件file1,

 它擁有644 的權限,如果user2 用戶想修改user1 用戶目錄下的file1 文件,應擁有 B 權

 限。

 A 744

 B 664

 C 646

 D 746

 95.如果想配置一台匿名ftp 服務器,應修改 C 文件。

 A /etc/gateway

 B /etc/ftpservers

 C /etc/ftpusers

 D /etc/inetd.conf

 96.Samba 服務器的進程由B 兩部分組成 。

 A named 和sendmail

 Bsmbd 和nmbd

 C bootp 和dhcpd

 D httpd 和squid

 97.要配置NFS 服務器,在服務器端主要配置 C 文件。

 A /etc/rc.d/rc.inet1

 B /etc/rc.d/rc.M

 C /etc/exports

 D /etc/rc.d/rc.S

 98.為保證在啟動服務器時自動啟動DHCP 進程,應對 B 文件進行編輯。

 A /etc/rc.d/rc.inet2

 B /etc/rc.d/rc.inet1

 C /etc/dhcpd.conf

 D /etc/rc.d/rc.S

 99.在配置代理服務器時,若設置代理服務器的工作緩存為64MB,配置行應為 D 。

 A cache 64MB

 B cache_dir ufs /usr/local/squid/cache 10000 16 256

 C cache_ mgr 64MB

 Dcache_ mem 64MB

 100.安全管理涉及的問題包括保證網絡管理工作可靠進行的安全問題和保護網絡用戶及網

 絡管理對象問題。 C 屬於安全管理的內容。

 A 配置設備的工作參數

  收集與網絡性能有關的數據

 C 控制和維護訪問權限

 D 監測故障

 101.以下命令對中,正確的是: B 。

 A ls 和sl

 B cat 和tac

 C more 和erom

 D exit 和tixe

 cat 是顯示文件夾的命令,這個大家都知道,tac 是cat 的倒寫,意思也和它是相反的。cat

 是從第一行顯示到最后一行,而tac 是從最后一行顯示到第一行,而rev 則是從最后一個

 字符顯示到第一個字符

 102. B 命令是在vi 編輯器中執行存盤退出。

 A :q

 B ZZ

 C :q!

 D :WQ

 103.下列關於/etc/fstab 文件描述,正確的是 D 。

 A fstab 文件只能描述屬於linux 的文件系統

 B CD_ROM 和軟盤必須是自動加載的

 C fstab 文件中描述的文件系統不能被卸載

 D 啟動時按fstab 文件描述內容加載文件系統

 104.通過文件名存取文件時,文件系統內部的操作過程是通過 C 。

 A 文件在目錄中查找文件數據存取位置。

 B 文件名直接找到文件的數據,進行存取操作。

 C 文件名在目錄中查找對應的I 節點,通過I 節點存取文件數據。

 D 文件名在中查找對應的超級塊,在超級塊查找對應i 節點,通過i 節點存取文件數據

 105.Linux 將存儲設備和輸入/輸出設備均看做文件來操作, C 不是以文件的形式出現。

 A 目錄

 B 軟鏈接

 C i 節點表

 D 網絡適配器

 106.關於i 節點和超級塊,下列論述不正確的是 B 。

 A i 節點是一個長度固定的表

 B 超級塊在文件系統的個數是唯一的

 C i 節點包含了描述一個文件所必需的全部信息

 D 超級塊記錄了i 節點表和空閑塊表信息在磁盤中存放的位置

 107. D 設備是字符設備。

 A hdc

 B fd0

 C hda1

 D tty1(A,B,C 為塊設備)

 108. B 目錄存放着Linux 的源代碼。

 A /etc

 B /usr/src

 C /usr

 D /home

 109.關於文件系統的安裝和卸載,下面描述正確的是 A 。

 A 如果光盤未經卸載,光驅是打不開的

 B 安裝文件系統的安裝點只能是/mnt 下

 C 不管光驅中是否有光盤,系統都可以安裝CD-ROM 設備

 D mount /dev/fd0 /floppy 此命令中目錄/floppy 是自動生成的

 110. B 不是進程和程序的區別。

 A 程序是一組有序的靜態指令,進程是一次程序的執行過程

 B 程序只能在前台運行,而進程可以在前台或后台運行

 C 程序可以長期保存,進程是暫時的

 D 程序沒有狀態,而進程是有狀態的

 111.文件exer1 的訪問權限為rw-r--r--,現要增加所有用戶的執行權限和同組用戶的寫

 權限,下列命令正確的是 A 。

 A chmod a+x g+w exer1 B chmod 765 exer1

 C chmod o+x exer1 D chmod g+w exer1

 112.有關歸檔和壓縮命令,下面描述正確的是 C 。

 A 用uncompress 命令解壓縮由compress 命令生成的后綴為.zip 的壓縮文件

 B unzip 命令和gzip 命令可以解壓縮相同類型的文件

 C tar 歸檔且壓縮的文件可以由gzip 命令解壓縮

 D tar 命令歸檔后的文件也是一種壓縮文件

 113.不是shell 具有的功能和特點的是 C 。

 A 管道 B 輸入輸出重定向 C 執行后台進程 D 處理程序命令

 114.下列對shell 變量FRUIT 操作,正確的是: C 。

 A 為變量賦值:$FRUIT=apple

 B 顯示變量的值:fruit=apple

 C 顯示變量的值:echo $FRUIT

 D 判斷變量是否有值:[ -f “$FRUIT” ]

 三.簡答題:

 1.簡述Linux 文件系統通過i 節點把文件的邏輯結構和物理結構轉換的工作過程。

 參考答案:

 Linux 通過i 節點表將文件的邏輯結構和物理結構進行轉換。

 i 節點是一個64 字節長的表,表中包含了文件的相關信息,其中有文件的大小、文件所有

 者、文件的存取許可方式以及文件的類型等重要信息。在i 節點表中最重要 的內容是磁盤

 地址表 。在磁盤地址表中有13 個塊號,文件將以塊號在磁盤地址表中出現的順序依次讀

 取相應的塊。Linux 文件系統通過把i 節點和文件名進行 連接,當需要讀取該文件時,文

 件系統在當前目錄表中查找該文件名對應的項,由此得到該文件相對應的i 節點號,通過該

 i 節點的磁盤地址表把分散存放的文件物 理塊連接成文件的邏輯結構。

 2.簡述進程的啟動、終止的方式以及如何進行進程的查看。

 參考答案:

 在Linux 中啟動一個進程有手工啟動和調度啟動兩種方式:

 (1)手工啟動

 用戶在輸入端發出命令,直接啟動一個進程的啟動方式。可以分為:

 ①前台啟動:直接在SHELL 中輸入命令進行啟動。

 ②后台啟動:啟動一個目前並不緊急的進程,如打印進程。

 (2)調度啟動

 系統管理員根據系統資源和進程占用資源的情況,事先進行調度安排,指定任務運行的時間

 和場合,到時候系統會自動完成該任務。

 經常使用的進程調度命令為:at、batch、crontab。

 3. 簡述DNS 進行域名解析的過程。

 參考答案:

 首先,客戶端發出DNS 請求翻譯IP 地址或主機名。DNS 服務器在收到客戶機的請求后:

 (1)檢查DNS 服務器的緩存,若查到請求的地址或名字,即向客戶機發出應答信息;

 (2)若沒有查到,則在數據庫中查找,若查到請求的地址或名字,即向客戶機發出應答信

 息;

 (3)若沒有查到,則將請求發給根域DNS 服務器,並依序從根域查找頂級域,由頂級查

 找二級域,二級域查找三級,直至找到要解析的地址或名字,即向客戶機所在網絡的DNS

 服務器發出應答信息,DNS 服務器收到應答后現在緩存中存儲,然后,將解析結果發給客

 戶機。

 (4)若沒有找到,則返回錯誤信息。

 4.系統管理員的職責包括那些?管理的對象是什么?

 參考答案:

 系統管理員的職責是進行系統資源管理、設備管理、系統性能管理、安全管理和系統性能監

 測。管理的對象是服務器、用戶、服務器的進程及系統的各種資源等。

 5.簡述安裝Slackware Linux 系統的過程。

 參考答案:

 (1)對硬盤重新分區。 (2)啟動Linux 系統(用光盤、軟盤等)。

 (3)建立Linux 主分區和交換分區。(4)用setup 命令安裝Linux 系統。

 (5)格式化Linux 主分區和交換分區(6)安裝Linux 軟件包

 (7)安裝完畢,建立從硬盤啟動Linux 系統的LILO 啟動程序,或者制作一張啟動Linux

 系統的軟盤。重新啟動Linux 系統。

 6.什么是靜態路由,其特點是什么?什么是動態路由,其特點是什么?

 參考答案:

 靜態路由是由系統管理員設計與構建的路由表規定的路由。適用於網關數量有限的場合,且

 網絡拓朴結構不經常變化的網絡。其缺點是不能動態地適用網絡狀況的變化,當網絡狀況變

 化后必須由網絡管理員修改路由表。

 動態路由是由路由選擇協議而動態構建的,路由協議之間通過交換各自所擁有的路由信息實

 時更新路由表的內容。動態路由可以自動 學習 網絡的拓朴結構,並更新路由表。其缺點是

 路由廣播更新信息將占據大量的網絡帶寬。

 87.進程的查看和調度分別使用什么命令?

 參考答案:

 進程查看的命令是ps 和top。

 進程調度的命令有at,crontab,batch,kill。

 8.當文件系統受到破壞時,如何檢查和修復系統?

 參考答案:

 成功修復文件系統的前提是要有兩個以上的主文件系統,並保證在修復之前首先卸載將被修

 復的文件系統。

 使用命令fsck 對受到破壞的文件系統進行修復。fsck 檢查文件系統分為5 步,每一步檢查

 系統不同部分的連接特性並對上一步進行驗證和修改。在執行 fsck 命令時,檢查首先從超

 級塊開始,然后是分配的磁盤塊、路徑名、目錄的連接性、鏈接數目以及空閑塊鏈表、i-node。

 9.解釋i 節點在文件系統中的作用。

 參考答案:

 在linux 文件系統中,是以塊為單位存儲信息的,為了找到某一個文件在存儲空間中存放的

 位置,用i 節點對一個文件進行索引。I 節點包含了描述一個文件所必須的全部信息。所以

 i 節點是文件系統管理的一個數據結構。

 10.什么是符號鏈接,什么是硬鏈接?符號鏈接與硬鏈接的區別是什么?

 參考答案:

 鏈接分硬鏈接和符號鏈接。

 符號鏈接可以建立對於文件和目錄的鏈接。符號鏈接可以跨文件系統,即可以跨磁盤分區。

 符號鏈接的文件類型位是l,鏈接文件具有新的i 節點。

 硬鏈接不可以跨文件系統。它只能建立對文件的鏈接,硬鏈接的文件類型位是-,且硬鏈接

 文件的i 節點同被鏈接文件的i 節點相同。

 11.在對linux 系統分區進行格式化時需要對磁盤簇(或i 節點密度)的大小進行選擇,請

 說明選擇的原則。

 參考答案:

 磁盤簇(或i 節點密度)是文件系統調度文件的基本單元。磁盤簇的大小,直接影響系統調

 度磁盤空間效率。當磁盤分區較大時,磁盤簇也應選得大些;當分區較小時,磁盤簇應選得

 小些。通常使用經驗值。

 1

 2.簡述網絡文件系統NFS,並說明其作用。

 參考答案:

 網絡文件系統是應用層的一種應用服務,它主要應用於Linux 和Linux 系統、Linux 和Unix

 系統之間的文件或目錄的共享。對於用戶而言可以通過 NFS 方便的訪問遠地的文件系統,

 使之成為本地文件系統的一部分。采用NFS 之后省去了登錄的過程,方便了用戶訪問系統

 資源。

 13.某/etc/fstab 文件中的某行如下:

 /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2

 請解釋其含義。

 參考答案:

 (1)第一列:將被加載的文件系統名;(2)第二列:該文件系統的安裝點;

 (3)第三列:文件系統的類型;(4)第四列:設置參數;

 (5)第五列:供備份程序確定上次備份距現在的天數;

 (6)第六列:在系統引導時檢測文件系統的順序。

 14.Apache 服務器的配置文件httpd.conf 中有很多內容,請解釋如下配置項:

 (1)MaxKeepAliveRequests 200 (2)UserDir public_html

 (3)DefaultType text/plain (4)AddLanguare en.en

 (5)DocumentRoot“/usr/local/httpd/htdocs”

 (6)AddType application/x-httpd-php.php.php.php4

 參考答案:

 (1)允許每次連接的最大請求數目,此為200;(2)設定用戶放置網頁的目錄;

 (3)設置服務器對於不認識的文件類型的預設格式;

 (4)設置可傳送語言的文件給瀏覽器;(5)該目錄為Apache 放置網頁的地方;

 6)服務器選擇使用php4。

 15.某Linux 主機的/etc/rc.d/rc.inet1 文件中有如下語句,請修正錯誤,並解釋其內容。

 /etc/rc.d/rc.inet1:

 ……

 ROUTE add –net default gw 192.168.0.101 netmask 255.255.0.0 metric 1

 ROUTE add –net 192.168.1.0 gw 192.168.0.250 netmask 255.255.0.0 metric 1

 參考答案:

 修正錯誤:

 (1)ROUTE 應改為小寫:route;(2)netmask 255.255.0.0 應改為:netmask

 255.255.255.0;

 (3)缺省路由的子網掩碼應改為:netmask 0.0.0.0;

 (4)缺省路由必須在最后設定,否則其后的路由將無效。

 解釋內容:

 (1)route:建立靜態路由表的命令;(2)add:增加一條新路由;

 (3)-net 192.168.1.0:到達一個目標網絡的網絡地址;

 (4)default:建立一條缺省路由;(5)gw 192.168.0.101:網關地址;

 (6)metric 1:到達目標網絡經過的 路由器 數(跳數)。

 6.試解釋apache 服務器以下配置的含義:

 (1)port 1080 (2)UserDir userdoc

 (3)DocumentRoot “/home/htdocs”

 (4);

 Options Indexes FollowSymLinks

 AllowOverride None

 Order deny,allow

 deny from all

 allow from 192.168.1.5

 ;

 (5)Server Type Standlone

 考答案:

 Apache 服務器配置行含義如下:

 (1)將apache 服務器的端口號設定為1080;

 (2)設定用戶網頁目錄為userdoc;

 (3)設定apache 服務器的網頁根目錄:/home/htdocs;

 (4)在此apache 服務器上設定一個目錄/home/htdocs/inside,且此目錄只允許IP 地

 址為192.168.1.5 的主機訪問;

 (5)定義apache 服務器以獨立進程的方式運行。

 17.簡述使用ftp 進行文件傳輸時的兩種登錄方式?它們的區別是什么?常用的ftp 文件傳

 輸命令是什么?

 參考答案:

 (1)ftp 有兩種登錄方式:匿名登錄和授權登錄。使用匿名登錄時,用戶名為:anonymous,

 密碼為:任何合法email 地址;使用授權登錄時,用戶名為用戶在遠程系統中的用戶帳號,

 密碼為用戶在遠程系統中的用戶密碼。

 區別:使用匿名登錄只能訪問ftp 目錄下的資源,默認配置下只能下載;而授權登錄訪問的

 權限大於匿名登錄,且上載、下載均可。

 (2)ftp 文件傳輸有兩種文件傳輸模式:ASCII 模式和binary 模式。ASCII 模式用來傳

 輸文本文件,其他文件的傳輸使用binary 模式。

 (3)常用的ftp 文件傳輸命令為:bin、asc、put、get、mput、mget、prompt、bye

 四.編程與應用題:

 1.用Shell 編程,判斷一文件是不是字符設備文件,如果是將其拷貝到 /dev 目錄下。

 參考程序:

 #!/bin/sh

 FILENAME=

 echo “Input file name:”

 read FILENAME

 if [ -c "$FILENAME" ]

 then

 cp $FILENAME /dev

 fi

 2.請下列shell 程序加注釋,並說明程序的功能和調用方法:#!/bin/sh

 #!/bin/sh

 #

 # /etc/rc.d/rc.httpd

 #

 # Start/stop/restart the Apache web server.

 #

 # To make Apache start automatically at boot, make this

 # file executable: chmod 755 /etc/rc.d/rc.httpd

 #

 case "$1" in

 'start')

 /usr/sbin/apachectl start ;;

 'stop')

 /usr/sbin/apachectl stop ;;

 'restart')

 /usr/sbin/apachectl restart ;;

 *)

 echo "usage $0 start|stop|restart" ;;

 esac

 參考答案:

 (1)程序注釋

 #!/bin/sh 定義實用的shell

 #

 # /etc/rc.d/rc.httpd 注釋行,凡是以星號開始的行均為注釋行。

 #

 # Start/stop/restart the Apache web server.

 #

 # To make Apache start automatically at boot, make this

 # file executable: chmod 755 /etc/rc.d/rc.httpd

 #

 case "$1" in #case 結構開始,判斷“位置參數”決定執行的操作。本程序攜帶一個“位置

 參數”,即$1

 'start') #若位置參數為start

 /usr/sbin/apachectl start ;; #啟動httpd 進程

 'stop') #若位置參數為stop

 /usr/sbin/apachectl stop ;; #關閉httpd 進程

 'restart') #若位置參數為stop

 /usr/sbin/apachectl restart ;; #重新啟動httpd 進程

 *) #若位置參數不是start、stop 或restart 時

 echo "usage $0 start|stop|restart" ;; #顯示命令提示信息:程序的調用方法

 esac #case 結構結束

 (2)程序的功能是啟動,停止或重新啟動httpd 進程

 (3)程序的調用方式有三種:啟動,停止和重新啟動。

 3.設計一個shell 程序,添加一個新組為class1,然后添加屬於這個組的30 個用戶,用

 戶名的形式為stdxx,其中xx 從01 到30。

 參考答案:

 #!/bin/sh

 i=1

 groupadd class1

 while [ $i -le 30 ]

 do

 if [ $i -le 9 ] ;then

 USERNAME=stu0${i}

 else

 USERNAME=stu${i}

 fi

 useradd $USERNAME

 mkdir /home/$USERNAME

 chown -R $USERNAME /home/$USERNAME

 chgrp -R class1 /home/$USERNAME

 i=$(($i+1))

 done

 4.編寫shell 程序,實現自動刪除50 個賬號的功能。賬號名為stud1 至stud50。

 參考程序:

 #!/bin/sh

 i=1

 while [ $i -le 50 ]

 do

 userdel -r stud${i}

 i=$(($i+1 ))

 done

 5.某系統管理員需每天做一定的重復工作,請按照下列要求,編制一個解決 方案 :

 (1)在下午4 :50 刪除/abc 目錄下的全部子目錄和全部文件;

 (2)從早8:00~下午6:00 每小時讀取/xyz 目錄下x1 文件中每行第一個域的全部數據

 加入到/backup 目錄下的bak01.txt 文件內;

 (3)每逢星期一下午5:50 將/data 目錄下的所有目錄和文件歸檔並壓縮為文件:

 backup.tar.gz;

 (4)在下午5:55 將IDE 接口的CD-ROM 卸載(假設:CD-ROM 的設備名為hdc);

 (5)在早晨8:00 前開機后啟動。

 參考答案:

 解決方案:

 (1)用vi 創建編輯一個名為prgx 的crontab 文件;

 prgx 文件的內容:

 50 16 * * * rm -r /abc/*

 (2)、0 8-18/1 * * * cut -f1 /xyz/x1 >;>; /backup/bak01.txt

 (3)、50 17 * * * tar zcvf backup.tar.gz /data

 (4)、55 17 * * * umount /dev/hdc

 (5)、由超級用戶登錄,用crontab 執行 prgx 文件中的內容:

 root@xxx:#crontab prgx;在每日早晨8:00 之前開機后即可自動啟動crontab。

 ---------------------------------------

 -------

 6.設計一個shell 程序,在每月第一天備份並壓縮/etc 目錄的所有內容,存放在/root/bak

 目錄里,且文件名為如下形式yymmdd_etc,yy 為年,mm為月,dd 為日。Shell 程序

 fileback 存放在/usr/bin 目錄下。

 參考答案:

 (1)編寫shell 程序fileback:

 #!/bin/sh

 DIRNAME=`ls /root | grep bak`

 if [ -z "$DIRNAME" ] ; then

 mkdir /root/bak

 cd /root/bak

 fi

 YY=`date +%y`

 MM=`date +%m`

 DD=`date +%d`

 BACKETC=$YY$MM$DD_etc.tar.gz

 tar zcvf $BACKETC /etc

 echo "fileback finished!"

 (2)編寫任務定時器:

 echo "0 0 1 * * /bin/sh /usr/bin/fileback" >; /root/etcbakcron

 crontab /root/etcbakcron

 或使用crontab -e 命令添加定時任務:

 0 1 * * * /bin/sh /usr/bin/fileback

 7.有一普通用戶想在每周日凌晨零點零分定期備份/user/backup 到/tmp 目錄下,該用

 戶應如何做?

 參考答案:(1)第一種方法:

 用戶應使用crontab –e 命令創建crontab 文件。格式如下:

 0 0 * * sun cp –r /user/backup /tmp

 (2)第二種方法:

 用戶先在自己目錄下新建文件file,文件內容如下:

 0 * * sun cp –r /user/backup /tmp

 然后執行 crontab file 使生效。

 8.設計一個Shell 程序,在/userdata 目錄下建立50 個目錄,即user1~user50,並設

 置每個目錄的權限,其中其他用戶的權限為:讀;文件所有者的權限為:讀、寫、執行;文

 件所有者所在組的權限為:讀、執行。

 參考答案: 建立程序 Pro16 如下:

 #!/bin/sh

 i=1

 while [ i -le 50 ]

 do

 if [ -d /userdata ];then

 mkdir -p -m 754 /userdata/user$i 加上-m 754 就不用寫下面那一句了 -p 是遞歸建

 立目錄

 #chmod 754 /userdata/user$i

 echo "user$i"

 let "i = i + 1" (或i=$(($i+1))

 else

 mkdir /userdata

 mkdir -p -m /userdata/user$i

 #chmod 754 /userdata/user$i

 echo "user$i"

 let "i = i + 1" (或i=$(($i+1))

 fi

 done

 五、多選題

 1.關於硬鏈接的描述正確的(BE)。

 A 跨文件系統

 B 不可以跨文件系統

 D 可以做目錄的連接

 C 為鏈接文件創建新的i 節點 E 鏈接文件的i 節點同被鏈接文件的i 節點

 2.在網站發布用戶wang 的個人網頁時,需要創建用戶網頁目錄,假定用戶網頁目錄設定

 為web

 (用戶目錄在/home 目錄下),如下描述正確的是(BCE)

 A 存放用戶網頁的絕對路徑/wang/web

 B 存放用戶網頁的目錄~wang/

 C 存放用戶網頁的絕對路徑/home/wang/web D 存放用戶網頁的絕對路徑/home/web

 E 在本機訪問用戶wang 的個人網頁的URL 地址http://localhost/~wang/

 3.在一台WWW服務器上將端口號設定為8000,默認的網頁文件index.html,服務器

 網頁的根目錄/www。在本機訪問服務器時,正確的用法是(BDE)

 A 瀏覽器訪問該服務器的URL 地址http://localhost/

 B 瀏覽器訪問該服務器的URL 地址http://localhost:8000/

 C 瀏覽器訪問該服務器的用戶li 網頁URL 地址http://localhost/~li

 D 瀏覽器訪問該服務器的用戶li 網頁URL 地址http://localhost:8000/~li

 E 瀏覽器訪問該服務器的URL 地址localhost:8000/

 4.在shell 編程中關於$2 的描述正確的是(CE)

 A 程序后攜帶了兩個位置參數

 B 宏替換

 C 程序后面攜帶的第二個位置參數

 D 攜帶位置參數的個數 E 用$2 引用第二個位置參數

 5.某文件的權限是 - r w x r - - r- -,下面描述正確的是(CD)

 A 文件的權限值是755

 B 文件的所有者對文件只有讀權 限

 C 文件的權限值是 744

 D 其他用戶對文件只有讀權限 E 同組用戶對文件只有寫權限

 6.關於OpenSSH 的作用的描述正確的是(ACE)

 A 開放源代碼的安全加密程序

 B OpenSSH 常用於為http 協議加密

 C OpenSSH 用於提高遠程登錄訪問的安全性

 D 它和telnet 實用同樣的端口號

 E OpenSSH 是免費下載的應程序

 7.關於NFS 服務器描述正確的是(BC)

 A 網絡中實現Windows 系統之間文件系統共享的應用軟件

 B 網絡中實現Linux 系統之間文件系統共享的應用軟件

 C 網絡中實現Unix 系統之間文件系統共享的應用軟件

 D 網絡中實現Windows 系統和Unix 之間文件系統共享的應用軟件

 E 網絡中實現Windows 系統和Linux 之間文件系統共享的應用軟件

 8.關於sed 描述正確的是(ABD)

 A sed 是Linux 系統中的流編輯器

 B sed 是UNIX 系統中的流編輯器

 C sed 網絡文件系統的類型

 D 利用管道對標准輸入/標准輸入的數據進行編輯和組合

 E sed 是NFS 的應用程序

 9.關於限制磁盤限額,描述正確的是(ABD)

 A 使用edquota 可以監控系統所有用戶使用的磁盤空間,並在接近極限時提示用戶

 B 用戶組的磁盤限額是用戶組內所有用戶予設磁盤空間總和

 C 單個用戶的磁盤限額就是該用戶所在用戶組內所有磁盤限額的總合

 D 在Linux 系統下限制用戶使用的磁盤空間可以使用edquota

 E 用戶組的磁盤限額就是該用戶組內擁有最大磁盤限額值的用戶的磁盤限額

 10.關於建立系統用戶的正確描述是()

 A 在Linux 系統下建立用戶使用adduser 命令

 B 每個系統用戶分別在/etc/passwd 和/etc/shadow 文件中有一條記錄

 C 訪問每個用戶的工作目錄使用命令“cd /用戶名”

 D 每個系統用戶在默認狀態下的工作目錄在/home/用戶名

 E 每個系統用戶在/etc/fstab 文件中有一條記錄

 lspci |grep Ethernet ==查看機器雙網卡

 mii-tool 查看網線是否接號

 用戶進程、系統進程、IO 進程、空閑的比例" 如果idle 時常處於0,則需要檢查引起大量

 CPU 消耗的原因

 內存使用情況 "vmstat:觀察free 值

 top: 觀察memory 項" 低於50 時,值得注意

 交換區使用情況 "vmstat:觀察pi、po 值

 top: 觀察paging/paging space 項 free: 觀察Swap 行的值" 當空閑值低時,值得

 注意

 I/O 情況 "sar -u:觀察io 占用系統情況

 iostat -d:觀察哪塊盤io 較多

 top:觀察io 最多的進程" IO 值過高的進程將會嚴重影響到整機的性能,要對高IO 的進程

 重點監控,檢查

 系統進程 ps aux 有無多個相同的進程名

 df -h:檢查空間使用達到90%的文件系統 尤其是使用情況

 系統日志 last:觀察最近的主機登錄情況,查看var/log/messages 文件內容, 對不明

 主機進行檢查

 網絡狀況 ping:查看到其他主機的time 值是否小於10ms 無頻繁丟包

 top 查詢 CPU, 內存, 系統進程情況 ( CPU 內存瓶頸), 某個進程

 cat /etc/redhat-release <---看本機系統是什么版本的

 smartmontools-5.38-2.el5

 smartctl --all /dev/sda 檢測磁盤有沒有壞塊

 smartctl -i /dev/sda

 vim /etc/smartd.conf

 /dev/sda -a -d sat 把硬盤注冊為sat 57 行

 /dev/sda -d scsi -s L/../../3/18 打開注釋 65 行

 service smartd restart 磁盤有問題的話,會發郵件給管理員的

 service sendmail restart

 yum istall -y sysstat

 iostat 看當前磁盤讀寫的情況 iostat 2 10 查詢當前狀態 ( 磁盤 i/o )

 sar 2 10 查詢當前狀態 ( service sysstat start )

 sar -r ( 內存 )

 sar -u ( cpu )

 sar -P ( cpu ) --> sar -P 0 || sar -P ALL

 sar -b ( i/o )

 sar -n DEV ( 網絡設備 )

 sar -f

 service sysstat on

 checkconfig sysstat on 每十分鍾搜集一次信息

 sar -f /var/log/sa/sa13 -s 10:10:00 -e 11:10:00 查看昨天(今天是14 號)10:

 10:00 到 11:10:00 的系統情況

 針對日志 /var/log/sa/* 查詢之前的日志信息

 sar -n DEV

 tty 看自己的

 mpstat 2 查看cpu 狀態

 vmstat 2 10

 mpstat 2 10 <- cpu 每二秒顯示一次,共顯示十次

 vmstat 2 10 <- 整體資源

 free ltrace

 pmap 進程號 是看這個進程占了多少內存

 pgrep httpd 查詢這個服務的所有進程號 killall httpd 殺掉所有 <--不怎么安全

 ps aux | grep mysql |xargs kill -9 殺掉所有前面查出來的所有進程 <--推薦用這個

 pstree ps nice renice 不建議把系統資源的優先級提高

 ldd /bin/ls 顯示當前這個命令運行時所需要的庫文件

 yum install strace -y

 strace +服務名稱 分析出當前的命令執行時所找的庫文件的路徑

 lspci | grep Ethernet 查本機有哪些網卡設備

 dmesg 查看本機的設備信息

 mii-tool 看本機網卡是否連接正常

 iptraf 查看本機當前的流量

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM