Linux基本命令篇的習題解答

來源:互聯網
上載者:User

1. 練習cmd --help, help cmd, man cmd, info cmd, 比較其不同, 找到命令的使用方法.

答: 經過我的測試, 以ls為例, ls --help有中文協助, 一次性顯示完成並推出.

help ls的結果bash: help: 沒有匹配 "ls" 的說明主題. 嘗試"help help", 或者"man –k ls" 或"info ls"

man ls與info ls返回結果基本一致.

 

2. ls命令的-l, -a的含義是什麼? 用ls命令以時間排序列出檔案及目錄.

答: –l的含義為使用較長格式列出資訊.

-a的含義是不隱藏任何以 . 字元開始的項目.

以時間排序的命令是ls –l –s –t, 或者ls –lst

 

3. 練習cat, less, more命令, 並簡述其區別.

答: less跟cat的區別是less是分屏顯示. more跟less的區別是more不能用上方向鍵回選, 翻到最後自動結束. cat不管檔案多大, 全部顯示, 自動結束.

 

4. 簡述cat命令的工作原理

答: 這裡需要先解釋一下shell的概念, Linux系統的shell作為作業系統的外殼,為使用者提供使用作業系統的介面。它是命令語言、命令解釋程式及程式設計語言的統稱。它擁有自己內建的shell命令集,shell也能被系統中其他應用程式所調用。使用者在提示符下輸入的命令都由shell先解釋然後傳給Linux核心。

    使用者輸入了cat命令之後, Shell先檢查命令是否是內部命令, 如果不是, 再檢查是否是一個應用程式(比如Linux本身的公用程式ls, rm; 或商業程式, 如xv; 或自由軟體, 如emacs). 然後Shell在環境變數的PATH裡按順序搜尋這個應用程式. 如果成功找到命令, 該內部命令或應用程式將被系統調用並傳給Linux核心.

 

5. cd-, cd, .. , . 命令各完成什麼功能?

答: cd命令使使用者目前的目錄迴歸到使用者的家目錄.

cd -命令使使用者回到上一次他所在的目錄. 這題我之前答錯了,這裡用紅色標出. 比如一個使用者進了一個很深的目錄, 不小心敲了一個cd回到了家目錄. 如何回去剛才的目錄呢? 就要用cd - 命令了.

.代表目前的目錄

..代表目前的目錄的上一級目錄.

 

6. 查看電腦cpu, memory, hard disk的基本資料.

答:  查看CPU資訊使用命令cat /proc/cpuinfo

查看記憶體資訊用命令cat /proc/meminfo

查看硬碟, 第一種sudo fdisk –l

第二種是df –lh

第三種點擊應用程式->附件->磁碟流量分析器

 

7. 將/var/log目錄下所有檔案打包壓縮, 拷貝到隨身碟.

答: 使用下面的指令序列:

tar cvf /var/log/* dest.tar .

gzip  dest.tar

ls –lh dest.tar.gz

cp dest.tar.gz /dev/sdc

#解壓過程如下

gunzip dest.tar.gz #解壓但不拆包

gzip dest.tar #再次壓縮

tar xvfz dest.tar.gz #解壓

 

8. 使用cp命令備份你的/boot/grub/menu.lst檔案.

答: cp /boot/grub/menu.lst ./menu.bak.lst

 

9. 使用date命令更改你的系統時間; reboot電腦之後, 系統是否使用新的時間?

答: sudo date –s 07/23/2000

sudo date –s 12:00:00

注意,這裡說的是系統時間,是linux由作業系統維護的。
在系統啟動時,Linux作業系統將時間從CMOS中讀到系統時間變數中,以後修改時間通過修改系統時間實現。為了保持系統時間與CMOS時間的一致性,Linux每隔一段時間會將系統時間寫入CMOS。由於該同步是每隔一段時間(大約是11分鐘)進行的,在我們執行date -s後,如果馬上重起機器,修改時間就有可能沒有被寫入CMOS,這就是問題的原因。如果要確保修改生效可以執行如下命令。
#clock -w
這個命令強制把系統時間寫入CMOS。

該問題答案抄自http://blog.csdn.net/guoguo1980/archive/2008/03/11/2167523.aspx 

 

10. fdisk, cfdisk查看硬碟分區資訊.

答: sudo fdisk –l

sudo cfdisk

查看各個分區的佔用率還可以使用df命令.

 

11. 如何查看系統中那些佔有cpu較多的進程?

答: 命令top

 

12. 如何強行殺死系統中不要的進程.

答: 先使用top或ps命令找出我們想要殺掉的進程的PID, 然後使用kill [PID]

第二種方法, 如果我們知道進程名, 我們使用pkill [進程名]殺掉該進程.

第三種方法, 輸入xkill命令, 然後讓滑鼠的小x選中視窗來殺掉該進程.

 

13. 使用route del -net..命令刪除default gw, 之後ping LAN中的一個IP, 是否可以ping通.

答: 該題目我不知道是不是弄錯了, 經查看route沒有del這個開關. 有delgroup, 有delpart, 有deluser, 沒有del這個命令. 不過從ping的原理來看, 應該是可以ping通的. 主機先把目的ip地址跟自己的子網路遮罩進行比較, 經過比較之後會算出這個IP地址是屬於區域網路的, 於是直接將資料包發送出去, 不需要經過網關. 在ping外網的ip的時候, 才需要經過網關.

 

14. 簡述firefox串連www.google.com的過程

答: 主機的firefox進程先向dns伺服器發出請求, 請求解析www.google.com的ip地址, dns給出了Google的ip地址之後, 主機會拿該ip地址跟子網路遮罩比較, 得出是外網地址, 所以將目的地址設定為Google的ip地址, 把資料包的物理地址設定為網關的物理地址. 這樣網關會接收到這個請求的資料包, 然後將資料發送出去. 網關接受到Google的回應之後, 會查看資料包的目的主機部分, 然後會把資料包轉寄給主機.

 

15. 如何查看Ubuntu版本的資訊?

答: cat /etc/issue

查看核心版本, uname –a

 

16. user1執行sudo passwd命令, 更改的是哪個使用者的密碼?

答: 修改的是自己的密碼. 使用者執行passwd的時候不需要有sudo來提升許可權, 因為使用者有許可權修改自己的口令. 如果要修改其他人的口令, 則必須擁有超級使用者的許可權, 並且要制定被重設密碼的使用者的使用者名稱. 例如: sudo passwd sam

 

17. user1執行sudo mount命令, 需要輸入哪個使用者的密碼才能執行?

答: 輸入的是user1的密碼. 詳情請參考另一篇文章《Sudo 和 Root 帳號》.

 

18. ls –l /bin/ls, 查看並簡單描述-rwxr-xr-x的含義.

答:  開頭的第一個字母, 如果是-說明是一個檔案,開頭是d說明是一個檔案夾. 在這裡可以看出這是一個非目錄.

r代表讀, w代表寫, x代表執行. 對於檔案來講x代表可執行, 對於目錄來講x代表目錄可以進入.

頭第二個到第五個字母代表主人的許可權, 中間三個代表使用者組的許可權, 後三個代表其他使用者的許可權.

詳解如下, 主人可以讀, 可寫, 可執行, 使用者組可讀, 不可寫, 可執行, 其他使用者可讀, 不可寫, 可執行.

 

海明老師的這十八道習題挺狠, 我花了一整個下午和晚上才做完. 誰讓咱菜呢? 呵呵,還是蠻有收穫的.

如果有做錯的地方, 誠懇的歡迎您指正.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.