何紹華Linux操做系統第3版章節課後答案習題

文章目錄:html

擴展linux

1.Linux操做系統試題答案面試

2.Linux操做系統命令大全shell

3.Linux操做系統習題卷子編程

4.Linux操做系統複習資料ubuntu

5. Linux操做系統期末試題windows

6.Linux操做系統簡答題安全


第一章:初始Linuxbash

1.Linux是在_____版權協議下發行的,遵循______標準的操做系統內核服務器

2.Linux內核的做者是_____

3.請列舉至少五個Linux發行版

 4.簡述Linux內核和Linux發行版的區別


第二章:安裝Linux 操做系統

1.Linux能夠經過_____、_____和_____等多種介質進行安裝

2.Red Hat Enterprise Linux 提供的引導安裝程序有_____和_____

3.試比較圖形化安裝模式和文本安裝模式的特色


第三章:圖形界面與命令行

1.X Window 是一套基於_____架構的視窗系統,於1984年在麻省理工學院(MIT)計算機科學研究室開始開發。

2.X Window由____、____和____三部分組成。

3.下面不是KDE組件的程序是 ()

4.下面不是Linux桌面的有() 

5.列舉經常使用的Linux Shell,至少四種 

6.簡述如何從GNOME切換到虛擬終端 

7.如何在虛擬終端使用幫助


第四章:文件管理與經常使用命令

1.Linux 下的文件能夠分爲五種不一樣的類型,分別是:____、____、____、____和____

2.一般,root文件的主目錄爲____

3.用於存放系統配置文件的目錄是()

4.一般,Linux 下的可執行程序位於下列哪些目錄? () 

5.Linux 下重命名文件能夠用下列哪一個命令() 

6.Linux下移除目錄可用以下哪些命令?() 

7.比較文件的異同可使用哪些命令? 

8.要使默認的新文件能夠由建立者和同組用戶讀寫,但不可由非同組用戶讀取或寫入,則應該設定umask爲多少?

9.下列命令中,沒法對文件進行壓縮的是()

10.將當前用戶主目錄打包成tar.gz格式備份,並將該文件權限設爲666 

11.在當前目錄下建立backup目錄,並將上題中的tar.gz 文件解壓縮到該目錄 

12.上題中,要顯示含權限信息的backup目錄內容可用下面哪一個命令?()


第五章:用戶與用戶組權限

1.下面哪些文件和用戶組帳號有關() 

2.root 的UID一般爲____

3.刪除用戶使用的命令是()

4.默認狀況下,root 用戶組屬於如下哪一個用戶組?() 

5.普通用戶如何修改密碼? 

6.如何爲新增用戶指定用戶主目錄? 

7.刪除一個用戶組,會刪除該用戶組下的用戶嗎? 


第六章:軟件包管理

1.RPM軟件包管理能夠完成查詢、____、____、____、驗證,以及源代碼分發等多項任務,極大地方便了Linux的使用

2.RPM軟件包文件名中通常包括____、____、發行號和____等信息

3.查詢RPM軟件包的命令爲() 

4.什麼是軟件包的依賴關係? 

5.如何測試軟件包可否正確安裝?

6.rpm-Uvh能夠用於安裝新軟件嗎? 

7.卸載軟件包時的依賴關係是怎麼產生的? 

8.爲何要爲RPM軟件包添加數字簽名?簡述實現方法


第七章:Linux磁盤管理

1.請列舉5種Linux支持的文件系統

2.在Red Hat Enterprise Linux 7.3下,第2塊IDE硬盤的第1個擴展分區對應的設備名稱是什麼?

3.Linux下掛載分區和windows有何不一樣?

4.下面能查看磁盤空間使用率的有____

5.能夠將分區格式化爲vfat的命令有____

6.簡述對磁盤進行配額管理的意義何方法


第八章:Linux編程

1.vi有3種基本工做模式:____、____和____

2.從命令模式轉換到編輯模式的方法是什麼?

3.若是未進行指定輸出文件名,gcc編譯出來的程序後綴是一個名爲____的可執行文件

4.下面Linux程序中哪個是調試器?

5.爲何要使用make和Makefile?

6.簡述經過編譯源代碼安裝程序的方法


第九章:進程管理

1.一般在操做系統中,進程至少要有3種基本狀態,分別爲____、____和____

2.在Linux系統中,進程的執行模式劃分爲____和____

3.什麼是守護進程

4.指定週期性執行的計劃任務須要使用下面的哪些命令?

5.下面哪些快捷鍵能夠迅速終止前臺運行的進程?

6.簡述PS命令和top命令的區別

7.簡述kill和killall的區別


第十章:shell編程

1.簡述輸入/輸出重定向和管道的含義

2.簡述shell裏雙引號(‘’)、單引號(‘)、倒引號(·)之間的區別

3.下面哪些是合法的變量名?

4.下面哪一種是正確的賦值方法?

5.試比較shell程序和C程序語法上的異同

6.編寫一個shell腳本,計算100之內不是5整數倍的數字的和

7.編寫一個shell腳本,自動將用戶主目錄下全部小於5KB的文件打包成tar.gz(提示:須要配合使用ls和grep命令)


第十一章:Linux服務器配置

1.什麼是DNS服務器?

2.從命令行模式轉換到編輯模式的方法是什麼?

3.下面不是KDE組件的程序是____

4.下面不是Linux桌面的有____

5.請例舉經常使用的Linux shell,至少4種

6.如何從GNOME切換到虛擬終端?

7.如何在虛擬終端使用幫助?


擴展

25個Linux相關的網站

ubuntuhttps://linux.ubuntu.org.cn/

1.Linux操做系統試題答案

linux試題與答案【8頁】

linux系統編程試卷(答案)【9頁】

Linux課後習題答案【9頁】

《Linux操做系統》部分習題答案【12頁】

linux操做系統答案【20頁】

linux試題及答案要點【25頁】

2.Linux操做系統命令大全

linux命令大全【4頁】
linux命令大全【6頁】
linux命令大全【11頁】
linux命令大全【12頁】
linux命令大全【17頁】
linux命令大全【49頁】
linux命令大全【58頁】
LINUX命令大全文檔【63頁】
LINUX命令大全【119頁】
Linux命令大全【136頁】








3.Linux操做系統習題卷子

linux1-5習題1

linux基礎試題

linux操做練習題

linux操做練習題

Linux考試題附答案

Linux期末考試模擬試題

Linux基本操做練習題整理

LINUX教程試題及答案【4頁】

Linux測試題(含答案)【5頁】

linux操做習題0附答案【7頁】

Linux 基本操做練習題【9頁】

linux試題及答案【11頁】

Linux筆試題及答案【13頁】

Linux試題及答案【15頁】

LINUX試題及參考答案【17頁】

大學考試的LINUX試題及參考答案【38頁】

4.Linux操做系統複習資料

linux操做系統複習資料【3頁】

Linux操做系統課後習題答案及複習要點【4頁】

Linux操做系統期末複習題 【4頁】

LINUX複習題參考答案【10頁】

linux複習資料孟林【12頁】

Linux課複習資料【15頁】

Linux期末複習(有參考答案)【15頁】

最新linux複習資料【40頁】

5. Linux操做系統期末試題

Linux 教程-期末複習試題及參考答案【3頁】
《Linux教程》期末試卷及答案【3頁】
南京大學《Linux教程》課程期末試卷附答案)【5頁】
《Linux教程》期末試題及參考答案【5頁】
西安交通大學《Linux教程》課程期末試卷及答案【7頁】
Linux教程-期末複習試題及答案【8頁】
北京大學《Linux教程》期末試卷試題及答案【10頁】
Linux_期末考試試題2套(含答案)【13頁】
Linux_期末考試試題8套(含答案)【36頁】







6.Linux操做系統簡答題

linux簡答題【2頁】

linux面試題(簡答題部分)【4頁】

Linux筆試題(簡答題)【6頁】

linux簡答題【6頁】

Linux簡答題【8頁】

Linux簡答題【9頁】

第一章:初始Linux

1.Linux是在_____版權協議下發行的,遵循______標準的操做系統內核

答案:GNU         POSIX

2.Linux內核的做者是_____

答案:Linus Torvalds

3.請列舉至少五個Linux發行版

答案:

Fedora Core/RedHat Enterprise Linux; SuSE Linux/Open SuSE; 
Mandriva Linux; Ubuntn Linux; Debian; Slackware ; Gentoo

 4.簡述Linux內核和Linux發行版的區別

答案:發行版是爲了安裝方便,將各類軟件集合起來,與操做系統核心(Linux)內核一塊兒包裝在一塊

第二章:安裝Linux 操做系統

1.Linux能夠經過_____、_____和_____等多種介質進行安裝

答案:光盤安裝、硬盤安裝、網絡安裝

2.Red Hat Enterprise Linux 提供的引導安裝程序有_____和_____

答案:光盤啓動安裝和虛擬機啓動安裝

3.試比較圖形化安裝模式和文本安裝模式的特色

答案:

圖形化安裝模式

文本安裝模式

安裝速度相對較慢

安裝速度相對較快

鼠標操做方便

鍵盤操做

提示較多

提示較少

第三章:圖形界面與命令行

1.X Window 是一套基於_____架構的視窗系統,於1984年在麻省理工學院(MIT)計算機科學研究室開始開發。

答案:服務器/客戶端

2.X Window由____、____和____三部分組成。

答案:服務器(Server)、客戶端)(Client)、通訊協議(XProtocal)

3.下面不是KDE組件的程序是 ()

A Konqueror B Nautilus C KOffice D KDevelop

答案:B

4.下面不是Linux桌面的有() 

A KDE      B  GNOME     C  XFCE   D Bash

答案:D

5.列舉經常使用的Linux Shell,至少四種 

答案:Bourne Shell  ; C Shell  ;Korn   Shell  ; POSIX Shell  ;  Bourne  Again  Shell

6.簡述如何從GNOME切換到虛擬終端 

答案:使用GNOME終端仿真器  單擊「應用程序」|「系統工具」|「終端」命令

7.如何在虛擬終端使用幫助

答案:「使用man命令」,使用「info」命令

第四章:文件管理與經常使用命令

1.Linux 下的文件能夠分爲五種不一樣的類型,分別是:____、____、____、____和____

答案:普通文件,目錄文件,連接文件,設備文件、管道文件

2.一般,root文件的主目錄爲____

答案:/root

3.用於存放系統配置文件的目錄是()

A /etc B /home C /var D /root

答案:A

4.一般,Linux 下的可執行程序位於下列哪些目錄? ()

A /bin  B /home  C /sbin  D /usr/bin  E/var   F /usr/bin 

答案:F

5.Linux 下重命名文件能夠用下列哪一個命令()

A .re      B . Is    C.mv     D.copy 

答案:C

6.Linux下移除目錄可用以下哪些命令?() 

A . mv  B.del  C. rm  D.deltree  E . redir   F. mkdir 

答案:ACF

7.比較文件的異同可使用哪些命令? 

答案:comm  diff  命令

8.要使默認的新文件能夠由建立者和同組用戶讀寫,但不可由非同組用戶讀取或寫入,則應該設定umask爲多少?

 答案:022

9.下列命令中,沒法對文件進行壓縮的是()

A.tar  B.less  C.mv   D.bzip2  E.gzip  F. Is  G .zip  H. Locate  I .cat  

答案:BCFHI

10.將當前用戶主目錄打包成tar.gz格式備份,並將該文件權限設爲666 

答案:  tar –cf etc.tar.gz                    chmod  666  etc.tar.gz

11.在當前目錄下建立backup目錄,並將上題中的tar.gz 文件解壓縮到該目錄 

答案: mkdir backup    tar-xf etc.tar.gz

12.上題中,要顯示含權限信息的backup目錄內容可用下面哪一個命令?()

 A. Is./backup   B. Is-A./backup   C . Is-la ./backup   D . Is –r./backup

答案:B

第五章:用戶與用戶組權限

1.下面哪些文件和用戶組帳號有關() 

A. /etc/password   B. /etc/shadow  C. /etc/shadow  D. /etc/gpassword

答案:AB

2.root 的UID一般爲____

答案:0

3.刪除用戶使用的命令是()

 A、delusr  B . userdel    C.  usrdel   D. delete  user

答案:B

4.默認狀況下,root 用戶組屬於如下哪一個用戶組?() 

A. user   B. admin  C. root   D. system 

答案:C

5.普通用戶如何修改密碼? 

答案:使用不帶參數的passwd命令修改本身的口令

6.如何爲新增用戶指定用戶主目錄? 

答案:使用命令行方式:usermod –d home_dir  
        使用圖形界面管理:選定[用戶管理者]中的[用戶]標籤下要修改的用戶,雙擊該區域或者單擊工具欄中的[屬性]按鈕,在彈出的[屬性對話框]中單擊[用戶數據]標籤,在[主目錄]中輸入相應文件名便可

7.刪除一個用戶組,會刪除該用戶組下的用戶嗎? 

答案:會 

第六章:軟件包管理

1.RPM軟件包管理能夠完成查詢、____、____、____、驗證,以及源代碼分發等多項任務,極大地方便了Linux的使用

答案:安裝、卸載、升級

2.RPM軟件包文件名中通常包括____、____、發行號和____等信息

答案:軟件名稱、版本號、硬件平臺

3.查詢RPM軟件包的命令爲() 

A. rpm-q   B . rpm-s    C. rpm-I   D. rpm-query

答案:A

4.什麼是軟件包的依賴關係? 

答案:要求在只有安裝特定的軟件包以後才能正常安裝該軟件包。 

5.如何測試軟件包可否正確安裝?

答案:選用測試安裝,實際上並未安裝,若是沒有顯示錯誤信息再實際安裝

6.rpm-Uvh能夠用於安裝新軟件嗎? 

答案:不能。rpm-Uvh是用於軟件包的升級,即用新版本軟件包代替舊版本軟件包 

7.卸載軟件包時的依賴關係是怎麼產生的? 

答案:若是存在其餘軟件包依賴於用戶要卸載的軟件包,卸載時會產生錯誤信息,即卸載軟件包時的依賴關係

8.爲何要爲RPM軟件包添加數字簽名?簡述實現方法

答案: 爲了提升Linux下軟件的安全性,RPM軟件包還可使用數字簽名的身份認證技術。軟件包增長數字簽名後,其餘用戶能夠經過校驗其簽名辨其真僞,從而判斷軟件包是否原裝和是否被修改過。 
實現方法: rpm—resign  rpm1  [rpm2] 用於爲rpm軟件包從新簽名 
rpm—addsign  用於爲rpm包添加數字簽名

第七章:Linux磁盤管理

1.請列舉5種Linux支持的文件系統

答案:

好比Btrfs、baiJFS、ReiserFS、ext、ext二、ext三、ext四、ISO9660、XFS、Minx、MSDOS、UMSDOS、VFAT、NTFS、HPFS、NFS、SMB、SysV、PROC等
一、ext
        專門爲linux核心作的的第一個文件系統。單個文件最大限制:未知;該文件系統最大支持2GB的容量。
二、ext2
         由Rémy Card設計,用以代替ext,是LINUX內核所用的文件系統。單個文件最大限制2TB;該文件系統最大支持32TB的容量。
三、ext3
         一個日誌文件系統。單個文件最大限制16TB,該文件系統最大支持32TB的容量。
四、ext4
        Theodore Tso領導的開發團隊實現,Linux系統下的日誌文件系統。單個文件最大限制16TB,該文件系統最大支持1EB的容量。
五、JFS2
       一種字節級日誌文件系統,該文件系統主要是爲知足服務器的高吞吐量和可靠性需求而設計、開發的。單個文件最大限制16TB,該文件系統最大支持1PB的容量。

       注意事項:這裏僅對這些文件系統的當文件大小的最大限制和文件系統的最大容量進行了說明,並無說明其性能的對比狀況。

2.在Red Hat Enterprise Linux 7.3下,第2塊IDE硬盤的第1個擴展分區對應的設備名稱是什麼?

答案:第二塊IDE硬盤hdb

第一塊IDE硬盤hda;第二塊IDE硬盤hdb;第三塊IDE硬盤hdd

3.Linux下掛載分區和windows有何不一樣?

答案:結構上不一樣:linux使用的樹形結構;windows 使用的交叉式【待補充】

4.下面能查看磁盤空間使用率的有____

A .mount        B.umount        C.df           D.fdisk  -l

答案:C

5.能夠將分區格式化爲vfat的命令有____

A .mkfs.vfat        B.mkvfatfs        C.mkfs -t vfat           D.mkfs.ext2

答案:C

6.簡述對磁盤進行配額管理的意義何方法

答案:

(1)意義:保護系統有效利用磁盤空間;
(2)方法:按用戶進行限制和對用戶組進行限制,包括硬限制和軟限制

第八章:Linux編程

1.vi有3種基本工做模式:____、____和____

答案:通常模式、編輯模式、指令模式

VIMç¼è¾å¨æåª3ç§å·¥ä½æ¨¡å¼

2.從命令模式轉換到編輯模式的方法是什麼?

答案:

i 在光標所在位置的前面插入字符
I 在當前行的最前面插入字符
A 在當前行的最後面插入字符
o 容許咱們從現有行以後開始一個新行
O 容許咱們從現有行以前插入一個新行

3.若是未進行指定輸出文件名,gcc編譯出來的程序後綴是一個名爲____的可執行文件

答案:a.out

4.下面Linux程序中哪個是調試器?

A .vi        B.gcc        C.gdb           D.make

答案:C

5.爲何要使用make和Makefile?

答案:

make makefile
make和makefile的關係是:make是一個命令工具,是一個解釋makefile中指令的命令工具,通常來講,大多數的IDE都有這個命令
根據Makefile文件編譯源代碼、鏈接、生成目標文件、可執行文件

makefile定義了一系列的規則來指定,哪些文件須要先編譯,哪些文件須要後編譯,哪些文件須要從新編譯,甚至於進行更復雜的功能操做,由於 makefile就像一個Shell腳本同樣,其中也能夠執行操做系統的命令。

makefile帶來的好處就是--「自動化編譯」,一旦寫好,只須要一個make命令,整個工程徹底自動編譯,極大的提升了軟件開發的效率。

6.簡述經過編譯源代碼安裝程序的方法

答案:

經過官方網站下載最新版本的源代碼
解包軟件dao tar zxf xxxx.tgz
配置 cd xxx
./configure ....
編譯 make
安裝與卸載 make install
make uninstall
清理 make clean
Linux程序包管理--源碼編譯的原理和基本方法

第九章:進程管理

1.一般在操做系統中,進程至少要有3種基本狀態,分別爲____、____和____

答案:運行狀態、就緒狀態、等待狀態

2.在Linux系統中,進程的執行模式劃分爲____和____

答案:用戶模式、內核模式

3.什麼是守護進程

答案:守護進程(Daemon Process),也就是一般說的 Daemon 進程(精靈進程),是 Linux 中的後臺服務進程。它是一個生存期較長的進程,,沒有控制終端,一般獨立於控制終端而且週期性地執行某種任務或等待處理某些發生的事件。

4.指定週期性執行的計劃任務須要使用下面的哪些命令?

A. at B. cron C. cronjob D. batch

答案:B

5.下面哪些快捷鍵能夠迅速終止前臺運行的進程?

A.Ctrl+A      B. Ctrl+C       C. Ctrl+Q       D. Ctrl+Z 

答案:B

6.簡述PS命令和top命令的區別

答案:

 

ps命令

top命令

實時性 系統在過去執行的進程的靜態快照,也就是說ps命令可以查看剛剛系統的進程信息 反應的是系統進程動態信息,默認10s更新一次,能夠用ps -d指定屏幕刷新的延遲時間
交互性 容許用戶輸入控制命令, 容許用戶輸入控制命令,top命令的模式下輸入n5,就顯示如圖的此時的5個最活躍的進程,top會持續運行直到用戶按下"q",退出top
在Linux系統中ps和top命令都是用來查看進程信息的
  查看進程的瞬間信息 持續地監視進程的信息
  只是查看進程,關注點在於查看須要查看的進程 只是查看進程;還能夠監視系統性能,如平均負載,cpu和內存的消耗;另外top還能夠操做進程,如改變優先級(命令r)和關閉進程(命令k);主要看cpu,內存使用狀況,及佔用資源最多的進程由高到低排序,關注點在於資源佔用狀況

7.簡述kill和killall的區別

答案:

  kill killall
殺死進程對象

進程ID

kill -9 proc_id

進程名子

killall -9 proc_name

第十章:shell編程

1.簡述輸入/輸出重定向和管道的含義

答案:bash shell提供了一些特殊的操做符來將某個命令的輸出重定向到另外一個位置

輸出重定向:把<右邊的文件的內容輸入到<左邊的命令中

大於號(>)會將命令的結果以新建或覆蓋的方式重定向到一個文件中。

雙大於號(>>)會將命令的結果以追加的方式重定向到一個文件中

輸入重定向把運行>左邊命令得出的結果輸入到>右邊的文件中

小於號(<)會將文件的數據重定向到命令

qaperf@hzbxs-perftest13:~/linsa$ wc < dd.txt
 5  5 24

雙小於號(<<)稱爲內聯輸入重定向,它的含義是容許你在命令行而不是在文件中指定輸入重定向的數據

qaperf@hzbxs-perftest13:~/linsa$ wc << endflag
> test string 1
> test string 2
> endflag
 2  6 28

如上圖,<<指定wc命令的輸入數據爲下面的

test string 1

test string 2

其中endflag是自定義約定好的輸入結束標誌

管道:將「重定向」又向前推了一步。經過一個「|」,將一個命令的輸出鏈接到另外一個命令的輸入

管道(|)能夠將一個命令的輸出做爲另外一個命令的輸入

linux系統會同時運行管道兩邊的命令,在系統內部將他們鏈接起來,在一個命令產生輸出的同時,輸出會被當即送往第二個命令,傳輸數據不會使用任何中間文件或緩衝區區域

在ls查看文件列表時,經常使用管道|分頁命令more來分屏顯示內容,以防止輸出數據在屏幕上一閃而過

2.簡述shell裏雙引號(‘’)、單引號(‘)、倒引號(·)之間的區別

答案:

單引號

單引號中的字符串 Shell 不會作任何處理,在須要保持字符串原樣不變的時候使用

 

將單引號中的值如出一轍的輸出

#! /bin/bash
a=yveshe
echo '$a'   #將單引號中的值如出一轍的輸出,輸出結果爲: $a

 

雙引號

雙引號中的字符串 Shell 會進行處理,若其中含有能夠求值的部分,會被 Shell 替換爲求值的結果,其中包含變量、表達式或命令。

 

將變量的值輸出

#! /bin/bash

a=yveshe
echo "$a"   #將變量a的值輸出,輸出結果爲: yveshe

 

倒引號

倒引號比較特殊,它通常用來引用一條命令,而且將這個命令的輸出結果(輸出到標準輸出上)做爲這個字符串最終的值,做用於符號「$()」相同。

 

在反引號中或者在$()符號中的命令的輸出會被看成字符串的實際內容。若是反引號引用的命令出如今雙引號字符串中,這部分也會被替換爲命令的輸出

 

命令替換是指shell可以將一個命令的標準輸出插在一個命令行中任何位置。shell中有兩種方法做命令替換:把shell命令用反引號或者$(...)結構括起來,其中,$(...)格式受到POSIX標準支持,也利於嵌套。

 

和$()是同樣的。在執行一條命令時,會先將其中的 ``,或者是$() 中的語句看成命令執行一遍,再將結果加入到原命令中從新執行

 

倒引號中是放置的是要執行的shell命令

#! /bin/bash

echo `pwd`   #倒引號中是放置的是要執行的shell命令,在/root下執行時輸出結果爲: /root

其中倒引號能夠在雙引號裏面使用,好比

echo "'pwd'"
echo `ls`
會先執行 ls 獲得xx.sh等,再替換原命令爲:
echo xx.sh
最後執行結果爲
xx.sh

 

3.下面哪些是合法的變量名?

A、kitty     B 、bOOK  C、Hello World    D 、Olympic_game   E 、2cat    F 、%goods       G 、if      H 、_game

答案:ABDH

4.下面哪一種是正確的賦值方法?

A、a=abc     B、a =abc     C、a=       abc    D、a="abc"

答案:A

5.試比較shell程序和C程序語法上的異同

答案:

要實現的功能

C語言編程

Linux Shell腳本編程

程序/腳本的參數傳遞

int main(int argc, char** argv)

{

if (argv != 4) {

    printf( 「Usage: %s arg1 arg2 arg3」, argv[0] );

    return 1;

}

 

printf(「arg1:%s/n」,argv[1]);

printf(「arg2:%s/n」,argv[2]);

printf(「arg3:%s/n」,argv[3]);

return 0;

}

#!/bin/sh

 

if [ $# -lt 3 ]; then

    echo "Usage: `basename $0` arg1 arg2 arg3" >&2

    exit 1

fi

 

echo "arg1: $1"

echo "arg2: $2"

echo "arg3: $3"

exit 0

int main(int argc, char** argv)

{

    int i;

for (i=1; i<=argc;i++) {

printf(「arg:%s/n」,argv[i]);

}

return 0;

}

#!/bin/sh

 

while [ $# -ne 0 ]

do

    echo "arg: $1"

    shift

done

邏輯/數值運算

if (d == 0)

if [ "$D" -eq "0" ] ; then

if (d != 0)

if [ "$D" -ne "0" ] ; then

if (d > 0)

if [ "$D" -gt "0" ] ; then

if (d < 0)

if [ "$D" -lt "0" ] ; then

if (d <= 0)

if [ "$D" -le "0" ] ; then

if (d >= 0)

if [ "$D" -ge "0" ] ; then

字符串比較

if (strcmp(str,」abc」)==0) {

}

if [ "$STR" != "abc" ]; then

fi

輸入和輸出

scanf(「%d」,&D);

read D

printf( 「%d」, D);

echo –n $D

printf( 「%d」,D);

echo $D

printf( 「Press any to continue...」);

char ch=getchar();

printf( 「/nyou pressed: %c/n」, ch );

#!/bin/sh

 

getchar()

{

SAVEDTTY=`stty -g`

stty cbreak

dd if=/dev/tty bs=1 count=1 2> /dev/null

stty -cbreak

stty $SAVEDTTY

}

 

echo -n "Press any key to continue..."

CH=`getchar`

echo ""

echo "you pressed: $CH"

 

read D <&3

程序/腳本的控制流程

if (isOK) {

    //1

} else if (isOK2) {

    //2

} else {

    //3

}

if [ isOK ]; then

    #1

elif [ isOK2 ]; then

    #2

else

    #3

fi

switch (d)

{

case 1:

printf(「you select 1/n」);

break;

case 2:

case 3:

printf(「you select 2 or 3/n」);

break;

default:

printf(「error/n」);

break;

};

case $D in

1) echo "you select 1"

    ;;

2|3) echo "you select 2 or 3"

    ;;

*) echo "error"

    ;;

esac

for (int loop=1; loop<=5;loop++) {

     printf( 「%d」, loop);

}

for loop in 1 2 3 4 5

do

    echo $loop

done

do {

    sleep(5);

} while( !isRoot );

IS_ROOT=`who | grep root`

until [ "$IS_ROOT" ]

do

    sleep 5

done

counter=0;

while( counter < 5 ) {

printf( 「%d/n」, counter);

counter++;

}

COUNTER=0

while [ $COUNTER -lt 5 ]

do

echo $COUNTER

    COUNTER=`expr $COUNTER + 1`

done

while (1) {

}

while :

do

done

break;

break或break n,n表示跳出n級循環

continue;

continue

函數與過程的定義

void hello()

{

    printf( 「hello/n」 );

}

//函數調用

hello();

hello()

{

    Echo 「hello」

} 或者

function hello()

{

    Echo 「hello」

}

#函數調用

hello

函數的參數和返回值

int ret = doIt();

if (ret == 0) {

    printf( 「OK/n」 );

}

doIt

if [ 「$?」 –eq 0 ] ; then

echo 「OK」

fi

或者

RET = doIt

if [ 「$RET」 –eq 「0」 ] ; then

echo 「OK」

fi

int sum(int a,int b)

{

return a+b;

}

int s = sum(1,2);

printf(「the sum is: %d/n」, s);

sum()

{

    echo -n "`expr $1 + $2`"

}

S=`sum 1 2`

echo "the sum is: $S"

bool isOK() { return false; }

if (isOK) {

    printf( 「YES/n」 );

} else {

    printf( 「NO/n」 );

}

isOK()

{

    return 1;

}

if isOK ; then

    echo "YES"

else

    echo "NO"

fi

6.編寫一個shell腳本,計算100之內不是5整數倍的數字的和

答案:

代碼實現

#!bai/bin/sh
a=0
for((i=1;i<=$1;i++))
do
if [[ i%5 -ne 0 ]]
then
a=$((a+i))
fi
done
echo $a
1 #! /bin/bash
2 sum=0
3 for i in `seq 1 100`; do
4 sum=$[$i+$sum]
5 done
6 echo $sum

 測試結果

$ ./test.sh 100
4000
$ ./test.sh 98
3901

7.編寫一個shell腳本,自動將用戶主目錄下全部小於5KB的文件打包成tar.gz(提示:須要配合使用ls和grep命令)

答案:

#!/bin/bash
home_path='/home/yifan/maying/shell'  #指定home路徑
cd ${home_path}

ls -l | grep ^- | awk '{if($5<5*1024)print $9}' | xargs tar -czf backup.tar.gz

第十一章:Linux服務器配置

1.什麼是DNS服務器?

答案:

DNS(Domain Name Server,域名服務器)是進行域名(domain name)和
與之相對應的baiIP地址 (IP address)轉換的服務器。


DNS中保存了一張域名(domain name)和與之相對應的IP地址 (IP address)的表,
以解析消息的域名。 域名是Internet上某一臺計算機或計算機組的名稱,
用於在數據傳輸時標識計算機的電子方位(有時也指地理位置)。


域名是由一串用點分隔的名字組成的,一般包含組織名,並且始終包括兩到三個字母的後綴,
以指明組織的類型或該域所在的國家或地區。

什麼是dns服務器

DNS服務器是什麼意思?

2.從命令行模式轉換到編輯模式的方法是什麼?

答案:

i 在光標所在位置的前面插入字符
I 在當前行的最前面插入字符
A 在當前行的最後面插入字符
o 容許咱們從現有行以後開始一個新行
O 容許咱們從現有行以前插入一個新行

3.下面不是KDE組件的程序是____

A 、Konqueror             B、Nautilus           C、KOffice             D、KDevelop

答案:B

4.下面不是Linux桌面的有____

A 、KDE            B、GNOME          C、XFCE            D、Bash

答案:D

5.請例舉經常使用的Linux shell,至少4種

答案:Bourne Shell ; C Shell ;Korn Shell ; POSIX Shell ; Bourne Again Shell

6.如何從GNOME切換到虛擬終端?

答案:

第一步,在Ubuntu登陸界面選擇賬號,輸入密碼;
第二步,進入Ubuntu主界面;
第三步,ctrl+alt+f2~f6
第四步,進入命令行界面;
第五步,輸入登陸帳戶與密碼,回車;
第六步,成功登陸,如圖所示;
第七步,要想回到桌面界面,按下組合鍵ctri+alt+f7
第八步,可成功回到桌面界面。

如何從圖形界面切換到命令界面

7.如何在虛擬終端使用幫助?

答案:man命令 好比你想查看ls命令的用法,終端輸入man ls 好比想查看socket系統調用,man 2 socket

相關文章
相關標籤/搜索