Linux是一個自由、免費、源碼開放的作業系統,最初是由芬蘭人李納斯·托瓦茲(Linus Torvalds)在赫爾辛基大學上學學習Minix作業系統時出于個人愛好而編寫的一個簡易系統核心。
将其開發的核心釋出到開源新聞討論區,随後吸引了大量的開源愛好者加入其中不斷貢獻想法和代碼,推動Linux系統不斷發展,并圍繞Linux核心形成了一個具有衆多衍生版本、持續發展的生态系統,應用遍及各行各業的,尤其在伺服器作業系統等領域占據主導地位。
對Linux系統的使用是程式員必須掌握的基本技能之一,本實訓主要通過一個個的關卡來帶領大家學習和掌握Linux的基本使用等。

第1關:Linux初體驗
- 任務描述
- 相關知識
- Linux目錄結構介紹
- Linux使用者介紹
- Linux 常用指令介紹
- pwd指令
- cd指令
- ls指令
- 程式設計要求
- 評測說明
歡迎進行
Linux
世界,當你下載下傳、安裝了某個
Linux
發行版(筆者喜歡使用
Ubuntu
),體驗了
Linux
桌面并安裝了一些你喜愛和需要的軟體之後,應該去了解下
Linux
真正的魅力所在:指令行。每一個
Linux
指令其實就是一個程式,借助這些指令,我們可以辦到非常多的事情。
你的第一個任務就是切換目前工作目錄為根目錄
/
,列出根目錄下所有的檔案資訊。
對
Linux
檔案系統目錄結構的了解是學習和掌握
Linux
系統的基礎。
Linux
檔案系統是樹形層次結構,具體如下圖所示。
Linux
使用者通常分為兩類:
- 管理者使用者(
);root
- 普通使用者(類似
上的普通使用者)。Windows
Linux
登入系統後,預設目前所在目錄為使用者主目錄,類似
Windows
登入系統後,預設的所在目錄為桌面。
- 管理者(
)登入系統後預設目錄為root
;/root
- 普通使用者登入系統後預設目錄為
,/home/username
為使用者名。 例如:筆者用普通使用者username
登入系統後,那麼目前所在目錄為。fzm
。/home/fzm
pwd(Print Working Directory )
:顯示目前所在目錄。
例如:筆者用普通使用者
fzm
登入系統後,那麼目前所在目錄為
/home/fzm
cd(Change Directory)
: 切換目前目錄。
常用特殊目錄表示:
- cd 進入使用者主目錄;
- cd ~ 進入使用者主目錄;
- cd - 傳回進入此目錄之前所在的目錄;
- cd .. 傳回上級目錄(若目前目錄為”/“,則執行完後還在”/“;”..”為上級目錄的意思);
- cd ../.. 傳回上兩級目錄;
- cd !$ 把上個指令的參數作為
參數使用。cd
例如:切換目前目錄為
/bin
目錄。
ls(list)
: 列出指定目錄清單資訊,如果沒有參數預設列出目前目錄下的所有檔案和檔案夾(隐藏檔案和檔案夾除外)。
常見
ls
指令選項:
- -l:以長格式顯示目錄下的内容清單。輸出的資訊從左到右依次包括檔案名,檔案類型、權限模式、硬連接配接數、所有者、組、檔案大小和檔案的最後修改時間等;
- -a:顯示所有檔案和檔案夾(包括隐藏檔案/檔案夾)。
例如:顯示根目錄下所有檔案和檔案夾。
根據右側視窗指令行内的提示,在
Begin - End
區域内進行指令行語句補充,具體任務如下:
- 切換目前目錄到根目錄;
- 列出根目錄下所有檔案和檔案夾(包括隐藏檔案/檔案夾)。
補充完指令行後,點選測評,平台會對你編寫的代碼進行測試,當你的結果與預期輸出一緻時,即為通過。
開始你的任務吧,祝你成功!
人若有志,萬事可為!
#!/bin/bash
#在以下部分寫出完成任務的指令
#*********begin*********#
cd /
ls -a
#********* end *********#
第2關:Linux常用指令
-
- Linux檔案操作
- 建立檔案
- 删除檔案
- Linux檔案夾操作
- 建立檔案夾
- 删除檔案夾
- Linux檔案和檔案夾拷貝
- Linux檔案和檔案夾移動/重命名
- Linux檔案操作
恭喜你已經通過了第一關的實訓,現在你掌握了
pwd
、
cd
和
ls
指令的基本使用方法。接下來你應該學會關于檔案和檔案夾的常用操作。
本關你的任務是建立一個檔案和一個檔案夾,并且将新建立的檔案拷貝到建立的檔案夾下并重新命名。
為了掌握本關知識,你需要掌握:
-
檔案操作之建立檔案,删除檔案;Linux
-
檔案夾操作之建立檔案夾、删除檔案夾、檔案和檔案夾拷貝、移動/重命名。Linux
Linux
系統中最常用的檔案操作有建立、删除檔案等。
建立檔案
linux中建立檔案的常用指令是
touch
,指令格式如下:
touch filename
有時可能需要建立一個空的檔案的情況。在這種情況下,可以使用
touch
指令來輕松建立一個空檔案。
例如:建立一個新的檔案
testfile
可以使用如下指令。
touch testfile
如果想同時建立多個檔案也可以使用
touch
指令完成,具體格式如下:
touch file1 file2 ...
隻需将不同的檔案名用空格分隔即可完成建立多個檔案。
删除檔案
Linux
中常用的删除檔案的指令是
rm
,使用格式如下:
rm [指令選項] filename
常用指令選項:
-
-f:強制删除檔案或目錄;
-
-r或-R:遞歸處理,将指定目錄下的所有檔案與子目錄一并處理;
-
-i:删除已有檔案或目錄之前先詢問使用者。
例如,删除我們剛剛建立的檔案
testfile
rm -f testfile
Linux
中關于檔案夾的操作主要包括建立和删除等。
建立檔案夾
Linux
中建立檔案夾指令是
mkdir
,指令格式如下:
mkdir [指令選項] dirname
-p或--parents
若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄;
例如:我們新建立一個檔案夾
testdir
mkdir testdir
因為新建立的檔案夾是一個空的檔案夾,是以使用
ls -l
顯示的結果是空。
Linux
中删除檔案夾的指令是
rmdir
或者
rm -r
rmdir [指令選項] dirname
-p或--parents:删除指定目錄後,若該目錄的上層目錄已變成空目錄,則将其一并删除;
例如:将剛剛新建立的檔案夾
testdir
删除可以使用如下指令。
rmdir testdir
Linux
使用
cp
指令用來将一個或多個源檔案或者目錄複制到指定的目錄中,指令格式如下:
cp [指令選項] 源檔案 目的檔案
-
-f:強行複制檔案或目錄,不論目标檔案或目錄是否已存在;
-
-i:覆寫既有檔案之前先詢問使用者;
-
-p:保留源檔案或目錄的屬性;
-
-R/r:遞歸處理,将指定目錄下的所有檔案與子目錄一并處理。
例如:建立一個檔案
newfile
和一個檔案夾
newdir
,将
newfile
複制到
newdir
目錄下。具體指令如下。
-
touch newfile
-
mkdir newdir
-
cp newfile newdir
Linux使用
mv
指令用來對檔案或目錄重新命名,或者将檔案從一個目錄移到另一個目錄中,指令格式如下:
mv [指令選項] 源檔案 目标檔案
-
-f:強行複制檔案或目錄,不論目标檔案或目錄是否已存在;
-
-i:覆寫既有檔案之前先詢問使用者;
-
-p:保留源檔案或目錄的屬性;
-
-R/r:遞歸處理,将指定目錄下的所有檔案與子目錄一并處理'。
newfile
newdir
newfile
剪切到
newdir
目錄下,并重新命名為
newfileCpy
。具體指令如下。
-
touch newfile
-
mkdir newdir
-
mv newfile newdir/newfileCpy
Begin - End
區域内進行代碼補充,具體任務如下:
- 在目前目錄下建立一個新的檔案(名稱為
);newfile
- 在目前目錄下建立一個新的檔案夾(名稱為
newdir
- 将
檔案複制一份到newfile
目錄下并命名為newdir
newfileCpy
你認為自己行就一定行,每天要不斷向自己重複。
#!/bin/bash
#在以下部分寫出完成任務的指令
#*********begin*********#
touch newfile
mkdir newdir
cp newfile newdir/newfileCpy
#********* end *********#
第3關:Linux 查詢指令幫助語句
-
- Linux man指令
- Linux info指令
- Linux whatis指令
恭喜你已經通過了第二關的實訓,現在你掌握了
Linux
常用指令的基本使用方法,
Linux
中有上千個指令,背指令這條路是相當的坎坷;如果不背的話,那咱們就查指令呗。這時候就要祭奠出指令神器
man
與
info
本關你的任務是學會離線在
Linux
系統上查詢指令的使用方法。
linux中使用
man
指令來查詢指令的幫助檔案,指令格式如下:
man [章節] command
常用指令如下:
-
d, Ctrl+D: 向檔案尾部翻半屏;
-
u, Ctrl+U: 向檔案首部翻半屏;
-
q: 退出;
-
#:跳轉至第#行;
-
home: 回到檔案首部;
-
end:翻至檔案尾部。
指令的幫助檔案通常存放在
/usr/share/man
目錄下。
man
包含
9
個章節,章節用數字表示,分别是:
-
使用者指令
-
系統調用
-
C庫調用
-
裝置檔案及特殊檔案
-
配置檔案格式
-
遊戲
-
雜項
-
管理類的指令
-
Linux 核心API
如果查詢指令的時候不追加章節,則預設從第一個章節開始查詢,以此類推,直到找到對應要查詢的指令為止。
例如:使用
man
指令查詢
open
指令的使用方法。
man open
如果想查詢系統庫函數的
open
函數的使用方法,則使用如下指令:
man 2 open
man
搜尋指令 以
KEYWORD
指定的字元串為關鍵字,從目前位置向檔案首部搜尋,不區分字元大小寫;
-
n: 下一個
-
N:上一個
info
指令來查詢指令的幫助檔案。
info
頁面比
man page
編寫得要更好、更容易了解,也更友好,但
man page
使用起來确實要更容易得多。一個
man page
隻有一頁,而
info
頁面幾乎總是将它們的内容組織成多個區段(稱為節點),每個區段也可能包含子區段(稱為子節點)。
指令格式如下:
info [指令參數] command
常用指令參數選項:
-
-d:添加包含info格式幫助文檔的目錄;
-
-f:指定要讀取的info格式的幫助文檔;
-
-n:指定首先通路的info幫助檔案的節點;
-
-o:輸出被選擇的節點内容到指定檔案。
常見指令如下:
-
?鍵:它就會顯示info的常用快捷鍵;
-
N鍵:顯示(相對于本節點的)下一節點的文檔内容;
-
P鍵:顯示(相對于本節點的)前一節點的文檔内容;
-
U鍵:進入目前指令所在的主題;
-
M鍵:敲M鍵後輸入指令的名稱就可以檢視該指令的幫助文檔了;
-
G鍵:敲G鍵後輸入主題名稱,進入該主題;
-
L鍵:回到上一個通路的頁面;
-
SPACE鍵:向前滾動一頁;
-
BACKUP或DEL鍵:向後滾動一頁;
-
Q:退出info。
例如:我們使用
info
來查詢
info
的幫助手冊。
info info
whatis
用來顯示指令的簡短描述。
whatis command
whatis
ls
的使用方法。
Begin - End
- 使用man查詢
庫中的C
函數使用方法。fopen
#!/bin/bash
#在以下部分寫出完成任務的指令
#*********begin*********#
man 3 fopen
#********* end *********#