歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

2013最新linux運維面試題

2013最新linux運維面試題   一、有文件file1 1、查詢file1 裡面空行的所在行號 awk ‗{if($0~/^$/)print NR}‘ file or grep -n ^$ file |awk ‗BEGIN{FS=‖:‖}{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 192.168.2.1 -p tcp -m tcp –dport 80 -j DNAT –to-destination 192.168.2.1:8080 三、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 [email protected]'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 grep '^/dev/*' /tmp/diskcheck_tmp|awk '{print $5}'|sed 's/\%//g' > /tmp/diskcheck_num_tmp while [ "$read_num" -le $(wc -l < /tmp/diskcheck_num_tmp) ] do size=$(sed -n "$read_num"'p' /tmp/diskcheck_num_tmp) if [ "$size" -gt "$FSMAX" ] then $(grep '^/dev/*' /tmp/diskcheck_tmp|sed -n $read_num'p' > /tmp/disk_check_mail) $(echo ${remote_ip[$ip_num]} >> /tmp/disk_check_mail) $(mail -s "diskcheck_alert" admin < /tmp/disk_check_mail) fi read_num=$(expr $read_num + 1) done ip_num=$(expr $ip_num + 1) done #############over################################ ################讓腳本每十分鐘執行一次############# 在cron 表中加入 0/10 * * * * /home/codfei/diskcheck.sh 2>&1 ################################################ ########################## 比如, ext2 文件系統, 如果異常死機,開機如何修復文件系統? 如果異常關機,比如斷電,通知機房的人開機之後, 我們需要遠程修復、檢查文件系統 除了/分區之外, 其他的分區: umount /home fsck -y /home / 分區需要開機之後, 由機房的人來掃描 隨後我們再登錄並掃描/home 等其他分區 如何查看一個進程所使用的文件句柄? 看這裡面 /proc/進程號/fd/ 的個數就行了 簡單的比如如何查看apache 進程數 [root@localhost fd]# ps -ef|grep httpd|wc -l 1 如何統計apache 的每秒訪問數? tail access_log | awk '{print $1,$4}' [root@localhost logs]# grep -c `date -d '3 second ago' +%T` access_log 0 ################################################ 1、/proc/sys 子目錄的作用 該子目錄的作用是報告各種不同的內核參數,並讓您能交互地更改其中的某些。與 /proc 中所有其他文件不同,該目錄中的某些文件可以寫入,不過這僅針對 root。 其中的目錄以及文件的詳細列表將占據過多的篇幅,而且該目錄的內容是依賴於系統的,而 大部分的文件也僅僅對某些特殊的應用程序有用。然而,以下是該子目錄的兩個最常見的用 途: 允許路由:即便是 Mandrakelinux 默認的內核也是允許路由的,您必需顯式允許它這麼 做。為此,您只要以 root 身份鍵入以下命令: $ echo 1 >/proc/sys/net/ipv4/ip_forward 如果您要禁用路由,請將上述命令中的 1 改為 0。 阻止 IP 欺騙:IP 欺騙會讓人認為某個來自於外部的某個數據包是來自於它到達的那個接 口。這一技術常被駭客(cracker)所使用。您可以讓內核阻止這種入侵。請鍵入: $ echo 1 >/proc/sys/net/ipv4/conf/all/rp_filter 這樣,這種攻擊就不再可能了。 這些改變僅當系統運行時有效。在系統重新啟動之後,它們會改會它們的默認值。要在啟動 時就改動這些值,您可以將您在 shell 提示符後鍵入的命令添加到 /etc/rc.d/rc.local 中 以免每次都鍵入它們。另一個方法是修改 /etc/sysctl.conf 2、將一個文本的奇數行和偶數行合並,第2 行和第3 行合並 [root@localhost bin]# cat 1 48 Oct 3bc1997 lpas 68.00 lvx2a 138 484 Jan 380sdf1 usp 78.00 deiv 344 483 nov 7pl1998 usp 37.00 kvm9d 644 320 aug der9393 psh 83.00 wiel 293 231 jul sdf9dsf sdfs 99.00 werl 223 230 nov 19dfd9d abd 87.00 sdiv 230 219 sept 5ap1996 usp 65.00 lvx2c 189 216 Sept 3zl1998 usp 86.00 kvm9e 234 [root@localhost bin]# sed '$!N;s/\n/ /g' 1 48 Oct 3bc1997 lpas 68.00 lvx2a 138 484 Jan 380sdf1 usp 78.00 deiv 344 483 nov 7pl1998 usp 37.00 kvm9d 644 320 aug der9393 psh 83.00 wiel 293 231 jul sdf9dsf sdfs 99.00 werl 223 230 nov 19dfd9d abd 87.00 sdiv 230 219 sept 5ap1996 usp 65.00 lvx2c 189 216 Sept 3zl1998 usp 86.00 kvm9e 234 [root@localhost bin]# sed -n -e 2p -e 3p 1|sed '$!N;s/\n/ /' 484 Jan 380sdf1 usp 78.00 deiv 344 483 nov 7pl1998 usp 37.00 kvm9d 644 3、read 命令5 秒後自動退出 [root@localhost bin]# read -t 5 4、自動ftp 上傳 #!/bin/sh ftp -n<<END_FTP open 192.168.1.4 user codfei duibuqi //用戶名codfei 密碼duibuqi binary prompt off //關閉提示 mput test //上傳test close bye END_FTP 自動ssh 登陸 從A 到B 然後再到c #!/usr/bin/expect -f set timeout 30 spawn ssh codfei@B expect "password:" send "pppppp\r" expect "]*" send "ssh codfei@C\r" expect "password:" send "pppppp\r" interact 5、#打印第一個域 [root@localhost bin]# cat 3 eqeqedadasdD eqeqdadfdfDD fdsfdsfQWEDD DSADASDSADSA [root@localhost bin]# [root@localhost bin]# [root@localhost bin]# awk -F "" '{print $1}' 3 e e f D 6、實現字符串翻轉 [root@localhost bin]# cat 8 qweqewqedadaddas [root@localhost bin]# rev 8 saddadadeqweqewq ########################################第2 次電面 7、sed awk grep 哪個最好 我答的是 哪個掌握的精通,都很好,但是還是問我哪個最好,我只能說awk 了,對於行操 作和列操作都可以操作的很好。 8、grep -E -P 是什麼意思 我說的是-E, --extended-regexp 采用規則表示式去解釋樣式。 -P 不太清楚 9、請介紹一下你對運維這個工作的理解,和應該具備的素質。 shell 腳本編程部分: 1.從a.log 文件中提取包含―WARNING‖或‖FATAL‖,同時不包含―IGNOR‖的行,然後, 提取以―:‖分割的第五個字段? 2.添加一個新組為class01,然後,添加屬於這個組的30 個用戶,用戶名的形式為stdXX, 其中,XX 從01 到30? 3.在每個月的第一天備份並壓縮/etc 目錄下的所有內容,存放在/root/backup 目錄裡, 且文件名為如下形式yymmdd_etc,yy 為年,mm為月,dd 為日。shell 程序fileback 存放在/usr/bin 目錄下? 4.用shell 編程,判斷一文件是不是字符設備文件,如果是將其拷貝到/dev 目錄下? 參考答案: #!/bin/bash directory=/dev for file in anaconda-ks.cfg install.log install.log.syslog do if [ -f $file ] then cp $file $directory/$file.bak echo " HI, $LOGNAME $file is backed up already in $directory !!" fi done 5.某系統管理員需要每天做一定的重復工作,編制一個解決方案: (1).從下午4:50 刪除/abc 目錄下的全部子目錄和全部文件; (2).從早上8:00~下午6:00 每小時讀取/xyz 目錄下x1 文件中每行第一個域的全部數 據加入到/backup 目錄下的back01.txt 文件內; (3).每逢周一下午5:50 將/data 目錄下的所有目錄和文件歸檔並壓縮為文件 backup.tar.gz; (4).在下午5:55 將IDE 接口的CD-ROM 缷載(假設CD-ROM 的設備名為hdc); (5).在早上8:00 前開機後啟動。 --------------------------------------- ------------------ 1、簡述Apache 兩種工作模式,以及它們之間的區別。 答案:最主要的兩種模式是prefork 模式與worker 模式。prefork 每個子進程只有一個線 程,效率高但消耗內存大,是unix 下默認的模式;worker 模式每個子進程有多個線程, 內存消耗低,但一個線程崩潰會牽連其它同子進程的線程。 2、用iptables 添加一個規則允許192.168.0.123 訪問本機3306 端口 iptables -I INPUT 1 -p tcp -m tcp --dport 3306 -s 192.168.0.123 -j ACCEPT 3、如何對一台Linux 服務器進行系統性能調優,列舉出參數。 4、DNS 服務器的工作原理。 5、修改第一塊網卡的路徑是什麼。 /etc/sysconfig/network-scripts/ifcfg-eth0 7、使用shell,建立class1 用戶組,再批量建立stu1--stu30 的用戶,並指定用戶組為 class1。 vi autoaddusr #!/usr/bin/php -q <?php exec("groupadd class1"); for($i=1; $i<=30; $i++){ exec("useradd -G class1 stu".$i); } ?> chmod +x autoaddusr ./autoaddusr 8、個人對該工作的未來如何規劃,需要加強哪些能力。 首先,我有一顆真誠的心,遇事沉著冷靜,不急不躁; 其次,我有相應的專業知識和工作經驗。一年多的系統管理經歷鍛煉了我在這個行業的業務 能力,並對行業前景和發展動態有相應的了解; 最後,我會用踏實的作風在今後的工作中證明我自己的能力! 9、日常監控都需要監控哪些? 1)硬件: CPU:/proc/cpuinfo 內存:/proc/meminfo 硬盤:fdisk -l 2)系統: 負載:/proc/loadavg uptime 查看實時load average、swap 虛擬內存:vmstat(參數-s;2 4) SUID,用戶,進程 系統日志:tail -f /var/log/messages logwatch --print --range Today --service SSHD --service pam_unix 3)網絡:Host_Alive,Ping,端口,連接 1.如何將本地80 端口的請求轉發到8080 端口,當前主機IP 為192.168.16.1,其中本地 網卡eth0: 答: #iptables -t nat -A PREROUTING -d 192.168.16.1 -p tcp --dport 80 -j DNAT --to 192.168.16.1:8080 或者: #iptables -t nat -A PREROUTING -i eth0 -d 192.168.16.1 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080 2.什麼是NAT,常見分為那幾種,DNAT 與SNAT 有什麼不同,應用事例有那些? 3.包過濾防火牆與代理應用防火牆有什麼區別,能列舉幾種相應的產品嗎? 4.iptables 是否支持time 時間控制用戶行為,如有請寫出具體操作步驟 5.說出你知道的幾種linux/unix 發行版本 6.列出linux 常見打包工具並寫相應解壓縮參數(至少三種) 7.計劃每星期天早8 點服務器定時重啟,如何實現? 8.列出作為完整郵件系統的軟件,至少二類 9,當用戶在浏覽器當中輸入一個網g 站,說說計算機對dns 解釋經過那些流程?注:本機 跟本地dns 還沒有緩存。 答: a.用戶輸入網址到浏覽器 b.浏覽器發出DNS 請求信息 c.計算機首先查詢本機HOST 文件,看是否存在,存在直接返回結果,不存在,繼續下一 步 d.計算機按照本地DNS 的順序,向合法dns 服務器查詢IP 結果, e.合法dns 返回dns 結果給本地dns,本地dns 並緩存本結果,直到TTL 過期,才再次 查詢此結果 f.返回IP 結果給浏覽器 g.浏覽器根據IP 信息,獲取頁面 10,我們都知道,dns 既采用了tcp 協議,又采用了udp 協議,什麼時候采用tcp 協議? 什麼時候采用udp 協議?為什麼要這麼設計? 答:這個題需要理解的東西比較的多,分一下幾個方面 a,從數據包大小上分:UDP 的最大包長度是65507 個字節,響應dns 查詢的時候數據包 長度超過512 個字節,而返回的只要前512 個字節,這時名字解釋器通常使用TCP 從發 原來的請求。 b,從協議本身來分:大部分的情況下使用UDP 協議,大家都知道UDP 協議是一種不可靠 的協議,dns 不像其它的使用UDP 的Internet 應用 (如:TFTP,BOOTP 和SNMP 等), 大部分集中在局域網,dns 查詢和響應需要經過廣域網,分組丟失和往返時間的不確定性在 廣域網比局域網上更大,這就要求dns 客戶端需要好的重傳和超時算法,這時候使用TCP 11,一個EXT3 的文件分區,當使用touch test.file 命令創建一個新文件時報錯,報錯的 信息是提示磁盤已滿,但是采用df -h 命令查看磁盤大小時,只使用了,60%的磁盤空間, 為什麼會出現這個情況,說說你的理由。 答:兩種情況,一種是磁盤配額問題,另外一種就是EXT3 文件系統的設計不適合很多小 文件跟大文件的一種文件格式,出現很多小文件時,容易導致inode 耗盡了。 12,我們都知道FTP 協議有兩種工作模式,說說它們的大概的一個工作流程? FTP 兩種工作模式:主動模式(Active FTP)和被動模式(Passive FTP) 在主動模式下,FTP 客戶端隨機開啟一個大於1024 的端口N 向服務器的21 號端口發起 連接,然後開放N+1 號端口進行監聽,並向服務器發出PORT N+1 命令。 服務器接收到命令後,會用其本地的FTP 數據端口(通常是20)來連接客戶端指定的端口 N+1,進行數據傳輸。 在被動模式下,FTP 客戶端隨機開啟一個大於1024 的端口N 向服務器的21 號端口發起 連接,同時會開啟N+1 號端口。然後向服務器發送PASV 命令,通知服務器自己處於被動 模式。服務器收到命令後,會開放一個大於1024 的端口P 進行監聽,然後用PORT P 命 令通知客戶端,自己的數據端口是P。客戶端收到命令後,會通過 N+1 號端口連接服務器的端口P,然後在兩個端口之間進行數據傳輸。 總的來說,主動模式的FTP 是指服務器主動連接客戶端的數據端口,被動模式的FTP 是指 服務器被動地等待客戶端連接自己的數據端口。 被動模式的FTP 通常用在處於防火牆之後的FTP 客戶訪問外界FTp 服務器的情況,因為在 這種情況下,防火牆通常配置為不允許外界訪問防火牆之 後主機,而只允許由防火牆之後的主機發起的連接請求通過。 因此,在這種情況下不能使用主動模式的FTP 傳輸,而被動模式的FTP 可以良好的工作。 13.編寫個shell 腳本將當前目錄下大於10K 的文件轉移到/tmp 目錄下 #/bin/sh #Programm : # Using for move currently directory to /tmp for FileName in `ls -l |awk '$5>10240 {print $9}'` do mv $FileName /tmp done ls -al /tmp echo "Done! " 14.apache 有幾種工作模式,分別介紹下其特點,並說明什麼情況下采用不同的工作模 式? apache 主要有兩種工作模式:prefork(apache 的默認安裝模式)和worker(可以在編譯 的時候加參數--with-mpm-worker 選擇工作模式) prefork 的特點是:(預派生) 1.這種模式可以不必在請求到來時再產生新的進程,從而減小了系統開銷 2.可以防止意外的內存洩漏 3.在服務器負載下降的時候會自動減少子進程數 worker 的特點是:支持混合的多線程多進程的多路處理模塊 如果對於一個高流量的HTTP 服務器,worker MPM 是一個比較好的選擇,因為worker MPM 占用的內存要比prefork 要小。 15.名詞解釋 HDLC,VTP,OSPF,RIP,DDOS,system V,GNU,netscreen,ssh,smartd,apache,WAIT_TIME 等等 16.編寫shell 腳本獲取本機的網絡地址。比如:本機的ip 地址是: 192.168.100.2/255.255.255.0,那麼它的網絡地址是 192.168.100.1/255.255.255.0 方法一: 1. #!/bin/bash 2. #This script print ip and network 3. file="/etc/sysconfig/network-scripts/ifcfg-eth0" 4. if [ -f $file ] ;then 5. IP=`grep "IPADDR" $file|awk -F"=" '{ print $2 }'` 6. MASK=`grep "NETMASK" $file|awk -F"=" '{ print $2 }'` 7. echo "$IP/$MASK" 8. exit 1 9. fi 方法二: 1. #!/bin/bash 2. #This programm will printf ip/network 3. # 4. IP=`ifconfig eth0 |grep 'inet ' |sed 's/^.*addr://g'|sed 's/ Bcast.*$//g'` 5. NETMASK=`ifconfig eth0 |grep 'inet '|sed 's/^.*Mask://g'` 6. echo "$IP/$NETMASK" 7. exit 17.在命令行下發一郵件,發件人:[email protected],收信人:[email protected] 二簡述題: 1.linux 下如何改IP,主機名,DNS 2.linux 下如何添加路由 3.簡述linux 下編譯內核的意義與步驟 4.簡述Linux 啟動過程 5.簡述DDOS 攻擊的原理 6.簡述Tcp 三次握手的過程 7.簡述VPN,常見有哪幾種? 8. 三:設計題: 1.系統設計 請考慮以下系統的設計. 您可以翻閱資料,查詢任何您有幫助的資料、指南等。 您有的資源: 8 台安裝Linux (2.6 內核) 的雙網卡PC 服務器以及相關開源軟件,交換機 Apache 2.2.x Tomcat 5.5.X 數據庫系統 最多8 個Internet IP 地址,請您設計一個系統: 1、使用雙apache web server 前端; 2、采用AJP 連接後段的3台Tomcat 應用服務器,這些tomcat 被配置成cluster, 因此 需要考慮apache 對後端的分配, 分配采用完全平衡的方法 ; 配置使用cookie 來實現session stickness; 3、1台數據庫服務器只有tomcat 才需要連接,也不需要對Internet 提供服務。 4、考慮系統的安全性和維護方便性; 5、通過rewrite 規則配置把下屬URL 規則改寫成友好的URL http://server/webapp/getinfo?id=XXXX&name=YYYY –> http://server/getinfo/YYYY/XXXX 您需要提交 1、服務器規劃,包括: * 網絡結構圖 * 每台機器的IP 地址分配 * 每台機器上運行的關鍵軟件 * 您從安全性和維護性方面的考慮 2、Apache 的以下配置文件給我們: * extra/http-proxy-ajp.conf * extra/http-rewrite.conf 2.你可以采取任何設備和不同操作系統服務器設計對兩台WWW服務器和兩台FTP 服務器 做負載均衡,用網絡拓撲圖表示並加以說明!(方法越多 越好) 第一種方法: DNS 輪巡 www1 IN A 192.168.1.1 www2 IN A 192.168.1.2 www3 IN A 192.168.1.3 ftp1 IN A 192.1.1.4 ftp2 IN A 192.1.1.5 ftp3 IN A 192.1.1.6 www IN CNAME www1 www IN CNAME www2 www IN CNAME www3 ftp IN CNAME ftp1 ftp IN CNAME ftp2 ftp IN CNAME ftp3 ==================題空面試題================ =========== Linux 面試題 一.填空題: 1. 在Linux 系統 中,以 文件 方式訪問設備 。 2. Linux 內核引導時,從文件/etc/fstab 中讀取要加載的文件系統 。 3. Linux 文件系統中每個文件用i 節點 來標識。 4. 全部磁盤塊由四個部分組成,分別為引導塊 、專用塊 、 i 節點表塊 和 數據 存儲塊 。 5. 鏈接分為:硬鏈接 和 符號鏈接 。 6. 超級塊包含了i 節點表 和 空閒塊表 等重要的文件系統信息。 7. 某文件的權限為:d-rw-_r--_r--,用數值形式表示該權限,則該八進制數為:644 , 該文件屬性是目錄 。 8. 前台起動的進程使用Ctrl+c 終止。 9. 靜態 路由 設定後,若 網絡 拓撲結構發生變化,需由系統 管理 員 修改路由的 設 置 。 10. 網絡管理的重要任務是:控制 和 監控 。 11. 安裝Linux 系統對硬盤分區時,必須有兩種分區類型:文件系統分區 和 交換分區 。 13. 編寫的 Shell 程序運行前必須賦予該腳本文件執行 權限。 14. 系統管理的任務之一是能夠在分布式 環境中實現對程序和數據的安全保護、備份、恢 復和更新。 15. 系統交換分區是作為系統虛擬存儲器 的一塊區域 。 16. 內核分為進程管理系統 、 內存管理系統 、 I/O 管理系統 和文件管理系統 等四個子 系統。 17. 內核配置是系統管理員在改變系統配置硬件 時要進行的重要操作。 18. 在安裝Linux 系統中,使用netconfig 程序對網絡進行配置,該安裝程序會一步步提 示用戶 輸入主機名、域名、域名 服務 器 、IP 地址、網關地址 和子網掩碼 等必要信息。 19. 唯一標識每一個用戶的是用戶ID 和用戶名 。 20 .RIP 協議 是最為普遍的一種內部協議,一般稱為動態路由信息協議 。 21. 在Linux 系統中所有內容都被表示為文件,組織文件的各種方法稱為文件系統 。 22. DHCP 可以實現動態 IP 地址分配。 23. 系統網絡管理員的管理對象是服務器 、用戶 和服務器的進程 以及系統的各種資源。 24. 網絡管理通常由監測、傳輸和管理 三部分組成,其中管理部分是整個網絡管理的中心。 25.當想刪除本系統用不上的設備驅動程序 時必須編譯內核,當內核不支持系統上的設備 驅動程序 時,必須對內核升級 。 26 Ping 命令可以測試網絡中本機系統是否能到達一台遠程主機 ,所以常常用於測試網絡 的 連通性 。 27. vi 編輯器具有兩種工作模式: 命令 模式 和 輸入模式 。 28. 可以用ls –al 命令來觀察文件的權限,每個文件的權限都用10 位表示,並分為四段, 其中第一段占 1 位,表示 文件類型 ,第二段占3 位,表示文件所有者 對該文件的權限。 29. 進程與程序的區別在於其動態性,動態的產生和終止,從產生到終止進程可以具有的 基本狀態為:運行態 、 就緒態 和 等待態(阻塞態) 。 30. DNS 實際上是分布在internet 上的主機信息的 數據庫 ,其作用是實現IP 地址和主 機名 之間的轉換。 31. Apache 是實現WWW服務器功能 的 應用 程序,即通常所說的―浏覽web 服務器‖, 在服務器端為用戶提供浏覽 web 服務 的就是apache 應用程序。 32.在Linux 系統上做備份可以有兩種類型:系統備份 和用戶備份 。其中前者是指對 操 作系統 的備份,後者是指對應用程序和用戶文件的備份 。 33. CD-ROM 標准的文件系統類型是iso9660 。 34. 當lilo.conf 配置完畢後,使之生效,應運行的命令及參數是lilo 。 35. 在使用ls 命令時,用八進制形式顯示非打印字符應使用參數-b 。 36. Linux 使用支持 Windows 9.x/2000 長文件名的文件系統的類型是 vfat 。 37. 設定限制用戶使用磁盤 空間 的命令是quota 。 38 在Linux 系統中,用來存放系統所需要的配置文件和子目錄的目錄是/etc 。 39. 硬連接只能建立對文件 鏈接。符號鏈接可以跨不同文件系統創建。 40. 套接字文件的屬性位是s 。 41. 結束後台進程的命令是kill 。 42. 進程的運行有兩種方式,即獨立運行和使用父進程運行 。 43. Links 分為硬鏈接和符號鏈接 。 44. 在超級用戶下顯示Linux 系統中正在運行的全部進程,應使用的命令及參數是ps -aux 。 45. 管道文件的屬性位是p 。 46. 將前一個命令的標准輸出作為後一個命令的標准輸入,稱之為管道 。 47. 為腳本程序指定執行權的命令及參數是chmod a+x filename 。 48. 進行遠程登錄的命令是telnet 。 49. 欲發送10個分組報文測試與主機abc.tuu.edu.cn 的連通性,應使用的命令和參數是: ping abc.tuu.edu.cn –c 10 。 50. DNS 服務器的進程命名為named,當其啟動時,自動裝載 /etc 目錄下的 named.conf 文件中定義的DNS 分區數據庫文件。 51. Apache 服務器進程配置文件是httpd.conf 。 52.在 Linux 系統中,壓縮文件後生成後綴為.gz 文件的命令是gzip 。 53. 在用vi 編輯文件時,將文件內容存入test.txt 文件中,應在命令模式下鍵入 :w test.txt 。 54 可以在標准輸出上顯示整年日歷的命令及參數是cal -y 。 55. 在shell 編程時,使用方括號表示測試條件的規則是:方括號兩邊必須有空格 。 56. 檢查已安裝的文件系統/dev/had5 是否正常,若檢查有錯,則自動修復,其命令及參 數是fsck –a /dev/had 5 。 57. 在Windows9.x 環境下共享Unix/Linux 中的用戶目錄的一個工具是Samba 服務 器 。 58. 系統管理員的職責是進行系統資源管理、系統性能管理、設備管理、安全管理和系統 性能監測 。 59 在Linux 系統中,測試DNS 服務器是否能夠正確解析 域名的的客戶端命令,使用命 令nslookup 。 60. 在Linux 系統下,第二個IDE 通道的硬盤(從盤)被標識為hdb 。 61. 當系統管理員需升級內核版本和改變系統硬件配置時,應重新編譯內核 。 62. 如果只是要修改系統的IP 地址,應修改/etc/rc.d/rc.inet1 配置文件。 63. 當LAN 內沒有條件建立DNS 服務器,但又想讓局域網內的用戶可以使用計算機名互 相訪問時,應配置/etc/hosts 文件。 64. 在vi 編輯環境下,使用Esc 鍵 進行模式轉換。 65. Slackware Linux 9.0 通常使用ext3 文件系統,系統的全部磁盤塊由四 部分組成。 66. 將/home/stud1/wang 目錄做歸檔壓縮,壓縮後生成wang.tar.gz 文件,並將此文 件保存到/home 目錄下,實現此任務的tar 命令格式tar zcvf /home/wang.tar.gz /home/stud1/wang 。 67. 管道就是將前一個命令的 標准輸出 作為後一個命令的標准輸入 。 68. 在使用手工的方法配置網絡時,可通過修改/etc/HOSTNAME 文件來改變主機名,若 要配置該計算機的域名解析客戶端,需配置/etc/resolv.conf 文件。 69. 啟動進程有手動啟動和調度啟動兩種方法,其中調度啟動常用的命令為 at 、 batch 和 crontab 。 70. test.bns.com.cn 的域名是bns.com.cn ,如果要配置一域名服務器,應在 named.conf 文件中定義DNS 數據庫的工作目錄。 71. Sendmail 郵件系統使用的兩個主要協議是:SMTP 和 POP ,前者用來發送郵件,後 者用來接收郵件。 72. DHCP 是動態主機配置協議的簡稱,其作用是:為網絡中的主機分配IP 地址 。 73. 目前代理服務器使用的軟件包有很多種,教材中使用的是squid 。 74. rm 命令可刪除文件或目錄,其主要差別就是是否使用遞歸開關-r 或-R 。 75.mv 命令可以移動文件和目錄,還可以為文件和目錄重新命名。 76. 路由選擇 協議(RIP)的跳數表示到達目的地之前必須通過的網關 數,RIP 接受的 最 長距離是15 跳 。 77. ping 命令用於測試網絡的連通性,ping 命令通過ICMP 協議(internet 控制信息協 議)來實現。 78.nfs 協議 用於實現 Unix (/linux)主機之間的文件系統共享。 79. 在Linux 操作系統中,設備都是通過特殊的文件 來訪問。 80. shell 不僅是用戶命令的解釋器 ,它同時也是一種功能強大的編程語言。 bash 是 Linux 的缺省shell。 81. 用>;>; 符號將輸出重定向內容附加在原文的後面。 82. 增加一個用戶的命令是:adduser 或useradd 。 83 進行字符串查找,使用grep 命令。 84. 使用* 每次匹配若干個字符。 85./sbin 目錄用來存放系統管理員使用的管理程序。 二.單項選擇題: 1. 下面的網絡協議中,面向連接的的協議是: A 。 A 傳輸控制協議 B 用戶數據報協議 C 網際協議 D 網際控制報文協議 2. 在/etc/fstab 文件中指定的文件系統加載參數中,D 參數一般用於CD-ROM 等移動設 備。 A defaults B sw C rw 和ro D noauto 3. Linux 文件權限一共10 位長度,分成四段,第三段表示的內容是 C 。 A 文件類型 B 文件所有者的權限 C 文件所有者所在組的權限 D 其他用戶的權限 4. 終止一個前台進程可能用到的命令和操作 B 。 A kill B <CTRL>;+C C shut down D halt 5. 在使用mkdir 命令創建新的目錄時,在其父目錄不存在時先創建父目錄的選項是 D 。 A -m B -d C -f D -p 6. 下面關於i 節點描述錯誤的是 A 。(inode 是一種數據結構,vfs 中描述文件的相關參 數??) A i 節點和文件是一一對應的 B i 節點能描述文件占用的塊數 C i 節點描述了文件大小和指向數據塊的指針 D 通過i 節點實現文件的邏輯結構和物理結構的轉換 7. 一個文件名字為rr.Z,可以用來解壓縮的命令是: D 。 A tar B gzip C compress D uncompress 8. 具有很多C 語言的功能,又稱過濾器的是 C 。 A csh B tcsh C awk (awk 詳解 ) D sed 9. 一台主機要實現通過局域網與另一個局域網通信,需要做的工作是 C 。 A 配置域名服務器 B 定義一條本機指向所在網絡的路由 C 定義一條本機指向所在網絡網關的路由 D 定義一條本機指向目標網絡網關的路由 10. 建立動態路由需要用到的文件有 D 。 A /etc/hosts B /etc/HOSTNAME C /etc/resolv.conf D /etc/gateways 11. 局域網的網絡地址192.168.1.0/24,局域網絡連接其它網絡的網關地址是 192.168.1.1。主機192.168.1.20 訪問172.16.1.0/24 網絡時,其路由設置正確的是 B 。 A route add –net 192.168.1.0 gw 192.168.1.1 netmask 255.255.255.0 metric 1 B route add –net 172.16.1.0 gw 192.168.1.1 netmask 255.255.255.255 metric 1 C route add –net 172.16.1.0 gw 172.16.1.1 netmask 255.255.255.0 metric 1 D route add default 192.168.1.0 netmask 172.168.1.1 metric 1 12. 下列提法中,不屬於ifconfig 命令作用范圍的是 D 。 A 配置本地回環地址 B 配置網卡的IP 地址 C 激活網絡適配器 D 加載網卡到內核中 13. 下列關於鏈接描述,錯誤的是 B 。 A 硬鏈接就是讓鏈接文件的i 節點號指向被鏈接文件的i 節點 B 硬鏈接和符號連接都是產生一個新的i 節點 C 鏈接分為硬鏈接和符號鏈接 D 硬連接不能鏈接目錄文件 14. 在局域網絡內的某台主機用ping 命令測試網絡連接時發現網絡內部的主機都可以連 同,而不能與公網連通,問題可能是 C。 A 主機IP 設置有誤 B 沒有設置連接局域網的網關 C 局域網的網關或主機的網關設置有誤 D 局域網DNS 服務器設置有誤 15. 下列文件中,包含了主機名到IP 地址的映射關系的文件是: B 。 A /etc/HOSTNAME B /etc/hosts C /etc/resolv.conf D /etc/networks 16. 不需要編譯內核的情況是 D 。 A 刪除系統不用的設備驅動程序時 B 升級內核時 C 添加新硬件時 D 將網卡激活 17. 在shell 中變量的賦值有四種方法,其中,采用name=12 的方法稱 A 。 A 直接賦值 B 使用read 命令 C 使用命令行參數 D 使用命令的輸出 18. D 命令可以從文本文件的每一行中截取指定內容的數據。 A cp B dd C fmt D cut 19. 下列不是Linux 系統進程類型的是 D 。 A 交互進程 B 批處理進程 C 守護進程 D 就緒進程(進程狀態) 20.配置Apache 1.3.19 服務器需要修改的配置文件為___A______ A httpd.conf B access.conf C srm.conf D named.conf 21. 內核不包括的子系統是 D 。 A 進程管理系統 B 內存管理系統 C I/O 管理系統 D 硬件管理系統 22. 在日常管理中,通常CPU 會影響系統性能的情況是: A 。 A CPU 已滿負荷地運轉 B CPU 的運行效率為30% C CPU 的運行效率為50% D CPU 的運行效率為80% 23. 若一台計算機的內存為128MB,則交換分區的大小通常是 C 。 A 64MB B 128MB C 256MB D 512MB 24. 在安裝Linux 的過程中的第五步是讓用戶選擇安裝方式,如果用戶希望安裝部分組件 (軟件程序),並在選擇好後讓系統自動安裝,應該選擇的選項是 D 。 A full B expert C newbie D menu 25. Linux 有三個查看文件的命令,若希望在查看文件內容過程中可以用光標上下移動來 查看文件內容,應使用 C 命令。 A cat B more C less D menu 26. 下列信息是某系統用ps –ef 命令列出的正在運行的進程, D 進程是運行Internet 超級服務器,它負責監聽Internet sockets 上的連接,並調用合適的服務器來處理接收的 信息。 A root 1 4.0 0.0 344 204? S 17:09 0:00 init B root 2 0.0 0.1 2916 1520? S 17:09 0:00 /sbin/getty C root 3 0.0 0.2 1364 632? S 17:09 0:00 /usr/sbin/syslogd D root 4 0.0 1344 1204? S 17:09 0:10 /usr/sbin/inetd 27.在TCP/IP 模型中,應用層包含了所有的高層協議,在下列的一些應用協議中, B 是 能夠實現本地與遠程主機之間的文件傳輸工作。 A telnet B FTP C SNMP D NFS 28.當我們與某遠程網絡連接不上時,就需要跟蹤路由查看,以便了解在網絡的什麼位置 出現了問題,滿足該目的的命令是 C 。 A ping B ifconfig C traceroute D netstat 29.對名為fido 的文件用chmod 551 fido 進行了修改,則它的許可權是 D 。 A -rwxr-xr-x B -rwxr--r-- C -r--r--r-- D -r-xr-x—x 30. 在i 節點表中的磁盤地址表中,若一個文件的長度是從磁盤地址表的第1 塊到第11 塊,則該文件共占有 B 塊號。 A 256 B 266 C 11 D 256×10 31. 用ls –al 命令列出下面的文件列表, D 文件是符號連接文件。 A -rw-rw-rw- 2 hel-s users 56 Sep 09 11:05 hello B -rwxrwxrwx 2 hel-s users 56 Sep 09 11:05 goodbey C drwxr--r-- 1 hel users 1024 Sep 10 08:10 zhang Dl rwxr--r-- 1 hel users 2024 Sep 12 08:12 cheng 32. DNS 域名系統主要負責主機名和 A 之間的解析。 A IP 地址 B MAC 地址 C 網絡地址 D 主機別名 33. WWW服務器是在Internet 上使用最為廣泛,它采用的是 B 結構。 A 服務器/工作站 B B/S C 集中式 D 分布式 34.Linux 系統通過 C 命令給其他用戶發消息。 A less B mesg y C write D echo to [ 注:mesg [y|n] 所有使用者 決定是否允許其他人傳訊息到自己的終端機介面 ] 35.NFS 是 C 系統。 A 文件 B 磁盤 C 網絡文件 D 操作 36. B 命令可以在Linux 的安全系統中完成文件向磁帶備份的工作。 A cp B tr C dir D cpio [注:如果用 echo $PATH 或者 echo $LD_LIBRARY_PATH 等類似的命令來顯示路徑 信息的話,我們看到的將會是一大堆用冒號連接在一起的路徑, tr 命令可以把這些冒號轉 換為回車,這樣,這些路徑就具有很好的可讀性了: echo $PATH | tr ":" "\n" ] 37.Linux 文件系統的文件都按其作用分門別類地放在相關的目錄中,對於外部設備文件, 一般應將其放在 C 目錄中。 A /bin B /etc C /dev D /lib 38.在重新啟動Linux 系統的同時把內存中的信息寫入硬盤,應使用 D 命令實現。 A # reboot B # halt C # reboot D # shutdown –r now 39.網絡管理具備以下幾大功能:配置管理、 A 、性能管理、安全管理和計費管理等。 A 故障 管理 B 日常備份管理 C 升級管理 D 發送郵件 40.關於代理服務器的論述,正確的是 A 。 A 使用internet 上已有的公開代理服務器,只需配置客戶端。 B 代理服務器只能代理客戶端http 的請求。 C 設置好的代理服務器可以被網絡上任何主機使用。 D 使用代理服務器的客戶端沒有自己的ip 地址。 41.關閉linux 系統(不重新啟動)可使用命令 B 。 A Ctrl+Alt+Del B halt C shutdown -r now D reboot 42.實現從IP 地址到以太網MAC 地址轉換的命令為: C 。 A ping B ifconfig C arp D traceroute 43.在vi 編輯器中的命令模式下,鍵入 B 可在光標當前所在行下添加一新行。 A <a>; B <o>; C <I>; D A 44.在vi 編輯器中的命令模式下,刪除當前光標處的字符使用 A 命令。 A <x>; B <d>;<w>; C <D>; D <d>;<d>; 45.在vi 編輯器中的命令模式下,重復上一次對編輯的文本進行的操作,可使用 C 命令。 A 上箭頭 B 下箭頭 C <.>; D <*>; 46.用命令ls -al 顯示出文件ff 的描述如下所示,由此可知文件ff 的類型為 A 。 -rwxr-xr-- 1 root root 599 Cec 10 17:12 ff A 普通文件 B 硬鏈接 C 目錄 D 符號鏈接 47.刪除文件命令為: D 。 A mkdir B rmdir C mv D rm 48.在下列的名稱中,不屬於DNS 服務器類型的是:____C_____ A Primary Master Server B Secondary Master Server C samba D Cache_only Server 49.網絡管理員對WWW服務器進行訪問、控制存取和運行等控制,這些控制可在 A 文 件中體現。 A httpd.conf B lilo.conf C inetd.conf D resolv.conf 50.郵件轉發代理也稱郵件轉發服務器,它可以使用SMTP 協議,也可以使用 C 協議。 A FTP B TCP C UUCP D POP 51.啟動samba 服務器進程,可以有兩種方式:獨立啟動方式和父進程啟動方式,其中 前者是在 C 文件中以獨立進程方式啟動。 A /usr/sbin/smbd B /usr/sbin/nmbd Crc.samba D /etc/inetd.conf 52.DHCP 是動態主機配置協議的簡稱,其作用是可以使網絡管理員通過一台服務器來管 理一個網絡系統,自動地為一個網絡中的主機分配___D______地址。 A 網絡 B MAC C TCP D IP 53.為了保證在啟動服務器時自動啟動DHCP 進程,應將 A 文件中的dhcpd=no 改為 dhcpd=yes。 Arc.inet1 B lilo.conf C inetd.conf D httpd.conf [注:英文原義:RC 中文釋義:含有程序(應用程序甚至操作系統)啟動指令的腳本文件 注解:這一文件在操作系統啟動時會自動執行,它含有要運行的指令(命令或其它腳本)列 表。] 54.對文件進行歸檔的命令為 D 。 A dd B cpio C gzip D tar 55.改變文件所有者的命令為 C 。 A chmod B touch C chown D cat 56.在給定文件中查找與設定條件相符字符串的命令為: A 。 A grep B gzip C find D sort 57.建立一個新文件可以使用的命令為 D 。 A chmod B more C cp D touch (指令改變檔案的時間記錄。) 58.在下列命令中,不能顯示文本文件內容的命令是: D 。 A more B less C tail D join 59.在使用匿名登錄ftp 時,用戶名為 B 。 A users B anonymous C root D guest 60.在實際操作中,想了解命令logname 的用法,可以鍵入 D 得到幫助。 A logname --man B logname/? C help logname D logname --help 6 1.如果LILO 被安裝在MBR,使用 A 命令即可卸載LILO。 A lilo –u B lilo –c C lilo –v D lilo -V 62.當用命令ls –al 查看文件和目錄時,欲觀看卷過屏幕的內容,應使用組合鍵 D 。 A Shift+Home B Ctrl+ PgUp C Alt+ PgDn D Shift+ PgUp 63.mc 是UNIX 風格操作系統的 C 。 A 文件編輯器/程序編譯器 B 配置網絡的窗口工具 C 目錄浏覽器/文件管理器 D Samba 服務器管理工具 64.i 節點是一個 D 長的表 ,表中包含了文件的相關信息。 A 8 字節 B 16 字節 C 32 字節 D 64 字節 65.文件權限讀、寫、執行的三種標志符號依次是 A 。 A rwx B xrw C rdx D srw 66.Linux 文件名的長度不得超過 C 個字符。 A 64 B 128 C 256 D 512 67.進程有三種狀態: C 。 A 准備態、執行態和退出態 B 精確態、模糊態和隨機態 C 運行態、就緒態和等待態 D 手工態、自動態和自由態 68. 從後台啟動進程,應在命令的結尾加上符號 A 。 A & B @ C # D $ 69. B 不是郵件系統的組成部分。 A 用戶代理 B 代理服務器 C 傳輸代理 D 投遞代理 70.在Shell 腳本中,用來讀取文件內各個域的內容並將其賦值給Shell 變量的命令是 D 。 A fold B join C tr D read 71.crontab 文件由六個域組成 ,每個域之間用空格分割,其排列如下: B 。 A MIN HOUR DAY MONTH YEAR COMMAND B MIN HOUR DAY MONTH DAYOFWEEK COMMAND C COMMAND HOUR DAY MONTH DAYOFWEEK D COMMAND YEAR MONTH DAY HOUR MIN crontab 命令:實現程序定時運行 72.用ftp 進行文件傳輸時,有兩種模式: C 。 A Word 和binary B .txt 和Word Document C ASCII 和binary D ASCII 和Rich Text Format 73.某文件的組外成員的權限為只讀;所有者有全部權限;組內的權限為讀與寫,則該文 件的權限為 D 。 A 467 B 674 C 476 D 764 74.在DNS 系統測試時,設named 進程號是53,命令 D 通知進程重讀配置文件。 A kill –USR2 53 B kill –USR1 53 C kill -INT 63 D kill –HUP 53 75.Apache 服務器默認的接聽連接端口號是 C 。 A 1024 B 800 C 80 (http) D 8 76.PHP 和 MySQL 的聯合使用 解決 了 C 。 A 在Proxy 上處理數據庫的訪問問題 B 在WWW服務器上處理黑客的非法訪問問題 C 在WWW服務器上處理數據庫的訪問問題 D 在Sendmail 郵件系統上處理數據庫的訪問問題 77.OpenSSL 是一個 A 。 A 加密軟件 B 郵件系統 C 數據庫管理系統 D 嵌入式腳本編程語言 78.Samba 服務器的配置文件是 D 。 A httpd.conf B inetd.conf C rc.samba D smb.conf 79.關於DNS 服務器,敘述正確的是 D 。 A DNS 服務器配置不需要配置客戶端 B 建立某個分區的DNS 服務器時只需要建立一個主DNS 服務器 C 主DNS 服務器需要啟動named 進程,而輔DNS 服務器不需要 D DNS 服務器的root.cache 文件包含了根名字服務器的有關信息 80.退出交互模式的shell,應鍵入 C 。 A <Esc>; B ^q C exit D quit 81.將Windows C:盤(hda1)安裝在Linux 文件系統的/winsys 目錄下,命令是 B 。 [email protected]:~#mount dev/had1 /winsys [email protected]:~#mount /dev/had1 /winsys [email protected]:~#mount /dev/had1 winsys [email protected]:~#mount dev/had1 winsys 82.設超級用戶root 當前所在目錄為:/usr/local,鍵入cd 命令後,用戶當前所在目錄 為 B 。 A /home B /root C /home/root D /usr/local 83.字符設備文件類型的標志是 B 。 A p B c C s D l 84.將光盤CD-ROM(hdc)安裝到文件系統的/mnt/cdrom 目錄下的命令是 C 。 A mount /mnt/cdrom B mount /mnt/cdrom /dev/hdc C mount /dev/hdc /mnt/cdrom D mount /dev/hdc 85.將光盤/dev/hdc 卸載的命令是 C 。 A umount /dev/hdc B unmount /dev/hdc C umount /mnt/cdrom /dev/hdc D unmount /mnt/cdrom /dev/hdc 86.在/home/stud1/wang 目錄下有一文件file,使用 D 可實現在後台執行命令,此命 令將file 文件中的內容輸出到file.copy 文件中。 A cat file >;file.copy B cat >;file.copy C cat file file.copy & D cat file >;file.copy & 87.在DNS 配置文件中,用於表示某主機別名的是: B 。 A NS B CNAME C NAME D CN 88.可以完成主機名與IP 地址的正向解析和反向解析任務的命令是: A 。 Anslookup B arp C ifconfig D dnslook 89.下列變量名中有效的shell 變量名是: C 。 A -2-time B _2$3 C trust_no_1 D 2004file 90.qmail 是 B 。 A 收取郵件的協議 B 郵件服務器的一種 C 發送郵件的協議 D 郵件隊列 92.已知某用戶stud1,其用戶目錄為/home/stud1。分頁顯示當前目錄下的所有文件的 文件或目錄名、用戶組、用戶、文件大小、文件或目錄權限、文件創建時間等信息的命令是 D 。 A more ls –al B more –al ls C more < ls –al D ls –al | more 93.關於進程調度命令, B 是不正確的。at--定期執行程序的調度命令 A 當日晚11 點執行clear 命令,使用at 命令:at 23:00 today clear B 每年1 月1 日早上6 點執行date 命令,使用at 命令:at 6am Jan 1 date C 每日晚11 點執行date 命令,crontab 文件中應為:0 23 * * * date D 每小時執行一次clear 命令,crontab 文件中應為:0 */1 * * * 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 配置設備的工作參數 B 收集與網絡性能有關的數據 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:到達目標網絡經過的 路由器 數(跳數)。 16.試解釋apache 服務器以下配置的含義: (1)port 1080 (2)UserDir userdoc (3)DocumentRoot ―/home/htdocs‖ (4)<Directory /home/htdocs/inside>; Options Indexes FollowSymLinks AllowOverride None Order deny,allow deny from all allow from 192.168.1.5 </Directory>; (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 查本機有哪些網卡設備__
Copyright © Linux教程網 All Rights Reserved