1、有文件file1php
一、查詢file1 裏面空行的所在行號html
awk ‘{if($0~/^$/)print NR}’ filenode
ormysql
grep -n ^$ file |awk ‘BEGIN{FS=」:」}{print $1}’linux
或者用grep -n ^$ /usr/local/httpd/conf/httpd.conf | awk -F: '{print $1}' 便可ios
二、查詢file1 以abc 結尾的行web
grep abc$ file1sql
三、打印出file1 文件第1 到第3 行shell
sed -n ’1,3p’ file1數據庫
head -3 file1
2、如何將本地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
3、crontab
在11 月分內,天天的早上6 點到12 點中,每隔2 小時執行一次/usr/bin/httpd.sh 怎麼
實現
0 6-12/2 * 11 * /usr/bin/httpd.sh
4、編寫個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
5、簡述raid0 raid1 raid5 三種工做模式的工做原理及特色。
RAID 0:連續以位或字節爲單位分割數據,並行讀/寫於多個磁盤上,所以具備很高的數據
傳輸率,但它沒有數據冗餘,所以並不能算是真正的RAID 結構。RAID 0 只是單純地提升
性能,並無爲數據的可靠性提供保證,並且其中的一個磁盤失效將影響到全部數據。所以,
RAID 0 不能應用於數據安全性要求高的場合。
RAID 1:它是經過磁盤數據鏡像實現數據冗餘,在成對的獨立磁盤上產生互爲備份的數據。
當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,所以RAID 1 能夠提升讀取性能。RAID
1 是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,
系統能夠自動切換到鏡像磁盤上讀寫 ,而不須要重組失效的數據。簡單來講就是:鏡象結
構,相似於備份模式,一個數據被複制到兩塊硬盤上。
RAID10:高可靠性與高效磁盤結構
一個帶區結構加一個鏡象結構,由於兩種結構各有優缺點,所以能夠相互補充。
主要用於容量不大,但要求速度和差錯控制的數據庫中。
RAID5:分佈式奇偶校驗的獨立磁盤結構,它的奇偶校驗碼存在於全部磁盤上,任何一個
硬盤損壞,均可以根據其它硬盤上的校驗位來重建損壞的數據。支持一塊盤掉線後仍然正常
運行。
6、oracle 數據庫備份方式
物理備份:開啓網絡監聽,備份數據庫文件。
RMAN 備份:經過表空間文件在RMAN 模式對ORACLE 數據備份。
7、如何查看佔用端口8080 的進程
lsof -i:8080
8、請寫出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 的模式下。
9、你使用過監控軟件嗎?說說其特色
使用nagios 對服務器進行監控,其特色可實時實現手機短信、電子郵件、MSN、飛信報警。
使用cacti 對流量進行監控。
10、你對如今運維工程師的理解和以及對其工做的認識
運維工程師在公司當中責任重大,須要保證時刻爲公司及客戶提供最高、最快、最穩定、最
安全的服務。運維工程師的一個小小的失誤,頗有可能會對公司及客戶形成重大損失,所以
運維工程師的工做須要嚴謹及富有創新精神。
11、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 的配置,到相應的配置文件進行查詢,將結果返回給請求
的客戶端。
12、經過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 ,主要看是否這些命令都
使用了。
十3、如何用mysql 命令進行備份和恢復?以test 庫爲例,建立一個備份,並再用此備份
進行恢復。
mysqldump -u root -p test > test.sql
mysql -u root -p test < test.sql
//主要考對方msqldump > test.sql 和 mysql < test.sql
十4、你認爲在系統調優方面都包括哪些工做,以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 系統運行了多少時間?
二、監控主機執行: 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 任意一種
三、[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 任意一種.
四、[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 使用,內存使用,負載狀況等.
五、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
5、多選題
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 查看本機當前的流量