天天看點

EduCoder Linux作業系統

Linux是一個自由、免費、源碼開放的作業系統,最初是由芬蘭人李納斯·托瓦茲(Linus Torvalds)在赫爾辛基大學上學學習Minix作業系統時出于個人愛好而編寫的一個簡易系統核心。

将其開發的核心釋出到開源新聞討論區,随後吸引了大量的開源愛好者加入其中不斷貢獻想法和代碼,推動Linux系統不斷發展,并圍繞Linux核心形成了一個具有衆多衍生版本、持續發展的生态系統,應用遍及各行各業的,尤其在伺服器作業系統等領域占據主導地位。

對Linux系統的使用是程式員必須掌握的基本技能之一,本實訓主要通過一個個的關卡來帶領大家學習和掌握Linux的基本使用等。

EduCoder Linux作業系統

第1關:Linux初體驗

  • 任務描述
  • 相關知識
    • Linux目錄結構介紹
    • Linux使用者介紹
    • Linux 常用指令介紹
      • pwd指令
      • cd指令
      • ls指令
  • 程式設計要求
  • 評測說明

歡迎進行

Linux

世界,當你下載下傳、安裝了某個

Linux

發行版(筆者喜歡使用

Ubuntu

),體驗了

Linux

桌面并安裝了一些你喜愛和需要的軟體之後,應該去了解下

Linux

真正的魅力所在:指令行。每一個

Linux

指令其實就是一個程式,借助這些指令,我們可以辦到非常多的事情。

你的第一個任務就是切換目前工作目錄為根目錄

/

,列出根目錄下所有的檔案資訊。

Linux

檔案系統目錄結構的了解是學習和掌握

Linux

系統的基礎。

Linux

檔案系統是樹形層次結構,具體如下圖所示。

EduCoder Linux作業系統

Linux

使用者通常分為兩類:

  • 管理者使用者(

    root

    );
  • 普通使用者(類似

    Windows

    上的普通使用者)。

Linux

登入系統後,預設目前所在目錄為使用者主目錄,類似

Windows

登入系統後,預設的所在目錄為桌面。

  • 管理者(

    root

    )登入系統後預設目錄為

    /root

  • 普通使用者登入系統後預設目錄為

    /home/username

    username

    為使用者名。 例如:筆者用普通使用者

    fzm

    登入系統後,那麼目前所在目錄為。

    /home/fzm

pwd(Print Working Directory )

:顯示目前所在目錄。

例如:筆者用普通使用者

fzm

登入系統後,那麼目前所在目錄為

/home/fzm

EduCoder Linux作業系統

cd(Change Directory)

: 切換目前目錄。

常用特殊目錄表示:

  • cd 進入使用者主目錄;
  • cd ~ 進入使用者主目錄;
  • cd - 傳回進入此目錄之前所在的目錄;
  • cd .. 傳回上級目錄(若目前目錄為”/“,則執行完後還在”/“;”..”為上級目錄的意思);
  • cd ../.. 傳回上兩級目錄;
  • cd !$ 把上個指令的參數作為

    cd

    參數使用。

例如:切換目前目錄為

/bin

目錄。

EduCoder Linux作業系統

ls(list)

: 列出指定目錄清單資訊,如果沒有參數預設列出目前目錄下的所有檔案和檔案夾(隐藏檔案和檔案夾除外)。

常見

ls

指令選項:

  • -l:以長格式顯示目錄下的内容清單。輸出的資訊從左到右依次包括檔案名,檔案類型、權限模式、硬連接配接數、所有者、組、檔案大小和檔案的最後修改時間等;
  • -a:顯示所有檔案和檔案夾(包括隐藏檔案/檔案夾)。

例如:顯示根目錄下所有檔案和檔案夾。

EduCoder Linux作業系統

根據右側視窗指令行内的提示,在

Begin - End

區域内進行指令行語句補充,具體任務如下:

  • 切換目前目錄到根目錄;
  • 列出根目錄下所有檔案和檔案夾(包括隐藏檔案/檔案夾)。

補充完指令行後,點選測評,平台會對你編寫的代碼進行測試,當你的結果與預期輸出一緻時,即為通過。

開始你的任務吧,祝你成功!

人若有志,萬事可為!

#!/bin/bash

#在以下部分寫出完成任務的指令
#*********begin*********#
cd /
ls -a
#********* end *********#

           

第2關:Linux常用指令

    • Linux檔案操作
      • 建立檔案
      • 删除檔案
    • Linux檔案夾操作
      • 建立檔案夾
      • 删除檔案夾
      • Linux檔案和檔案夾拷貝
      • Linux檔案和檔案夾移動/重命名

恭喜你已經通過了第一關的實訓,現在你掌握了

pwd

cd

ls

指令的基本使用方法。接下來你應該學會關于檔案和檔案夾的常用操作。

本關你的任務是建立一個檔案和一個檔案夾,并且将新建立的檔案拷貝到建立的檔案夾下并重新命名。

為了掌握本關知識,你需要掌握:

  • Linux

    檔案操作之建立檔案,删除檔案;
  • Linux

    檔案夾操作之建立檔案夾、删除檔案夾、檔案和檔案夾拷貝、移動/重命名。

Linux

系統中最常用的檔案操作有建立、删除檔案等。

建立檔案

linux中建立檔案的常用指令是

touch

,指令格式如下:

touch filename

有時可能需要建立一個空的檔案的情況。在這種情況下,可以使用

touch

指令來輕松建立一個空檔案。

例如:建立一個新的檔案

testfile

可以使用如下指令。

touch testfile

EduCoder Linux作業系統

如果想同時建立多個檔案也可以使用

touch

指令完成,具體格式如下:

touch file1 file2 ...

隻需将不同的檔案名用空格分隔即可完成建立多個檔案。

删除檔案

Linux

中常用的删除檔案的指令是

rm

,使用格式如下:

rm [指令選項] filename

常用指令選項:

  1. -f:強制删除檔案或目錄;

  2. -r或-R:遞歸處理,将指定目錄下的所有檔案與子目錄一并處理;

  3. -i:删除已有檔案或目錄之前先詢問使用者。

例如,删除我們剛剛建立的檔案

testfile

rm -f testfile

EduCoder Linux作業系統

Linux

中關于檔案夾的操作主要包括建立和删除等。

建立檔案夾

Linux

中建立檔案夾指令是

mkdir

,指令格式如下:

mkdir [指令選項] dirname

-p或--parents

若所要建立目錄的上層目錄目前尚未建立,則會一并建立上層目錄;

例如:我們新建立一個檔案夾

testdir

mkdir testdir

EduCoder Linux作業系統

因為新建立的檔案夾是一個空的檔案夾,是以使用

ls -l

顯示的結果是空。

Linux

中删除檔案夾的指令是

rmdir

或者

rm -r

rmdir [指令選項] dirname

-p或--parents:删除指定目錄後,若該目錄的上層目錄已變成空目錄,則将其一并删除;

例如:将剛剛新建立的檔案夾

testdir

删除可以使用如下指令。

rmdir testdir

EduCoder Linux作業系統

Linux

使用

cp

指令用來将一個或多個源檔案或者目錄複制到指定的目錄中,指令格式如下:

cp [指令選項] 源檔案 目的檔案

  1. -f:強行複制檔案或目錄,不論目标檔案或目錄是否已存在;

  2. -i:覆寫既有檔案之前先詢問使用者;

  3. -p:保留源檔案或目錄的屬性;

  4. -R/r:遞歸處理,将指定目錄下的所有檔案與子目錄一并處理。

例如:建立一個檔案

newfile

和一個檔案夾

newdir

,将

newfile

複制到

newdir

目錄下。具體指令如下。

  1. touch newfile

  2. mkdir newdir

  3. cp newfile newdir

EduCoder Linux作業系統

Linux使用

mv

指令用來對檔案或目錄重新命名,或者将檔案從一個目錄移到另一個目錄中,指令格式如下:

mv [指令選項] 源檔案 目标檔案

  1. -f:強行複制檔案或目錄,不論目标檔案或目錄是否已存在;

  2. -i:覆寫既有檔案之前先詢問使用者;

  3. -p:保留源檔案或目錄的屬性;

  4. -R/r:遞歸處理,将指定目錄下的所有檔案與子目錄一并處理'。

newfile

newdir

newfile

剪切到

newdir

目錄下,并重新命名為

newfileCpy

。具體指令如下。

  1. touch newfile

  2. mkdir newdir

  3. mv newfile newdir/newfileCpy

EduCoder Linux作業系統

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

常用指令如下:

  1. d, Ctrl+D: 向檔案尾部翻半屏;

  2. u, Ctrl+U: 向檔案首部翻半屏;

  3. q: 退出;

  4. #:跳轉至第#行;

  5. home: 回到檔案首部;

  6. end:翻至檔案尾部。

指令的幫助檔案通常存放在

/usr/share/man

目錄下。

man

包含

9

個章節,章節用數字表示,分别是:

  1. 使用者指令

  2. 系統調用

  3. C庫調用

  4. 裝置檔案及特殊檔案

  5. 配置檔案格式

  6. 遊戲

  7. 雜項

  8. 管理類的指令

  9. Linux 核心API

如果查詢指令的時候不追加章節,則預設從第一個章節開始查詢,以此類推,直到找到對應要查詢的指令為止。

例如:使用

man

指令查詢

open

指令的使用方法。

man open

EduCoder Linux作業系統

如果想查詢系統庫函數的

open

函數的使用方法,則使用如下指令:

man 2 open

EduCoder Linux作業系統

man

搜尋指令 以

KEYWORD

指定的字元串為關鍵字,從目前位置向檔案首部搜尋,不區分字元大小寫;

  1. n: 下一個

  2. N:上一個

info

指令來查詢指令的幫助檔案。

info

頁面比

man page

編寫得要更好、更容易了解,也更友好,但

man page

使用起來确實要更容易得多。一個

man page

隻有一頁,而

info

頁面幾乎總是将它們的内容組織成多個區段(稱為節點),每個區段也可能包含子區段(稱為子節點)。

指令格式如下:

info [指令參數] command

常用指令參數選項:

  1. -d:添加包含info格式幫助文檔的目錄;

  2. -f:指定要讀取的info格式的幫助文檔;

  3. -n:指定首先通路的info幫助檔案的節點;

  4. -o:輸出被選擇的節點内容到指定檔案。

常見指令如下:

  1. ?鍵:它就會顯示info的常用快捷鍵;

  2. N鍵:顯示(相對于本節點的)下一節點的文檔内容;

  3. P鍵:顯示(相對于本節點的)前一節點的文檔内容;

  4. U鍵:進入目前指令所在的主題;

  5. M鍵:敲M鍵後輸入指令的名稱就可以檢視該指令的幫助文檔了;

  6. G鍵:敲G鍵後輸入主題名稱,進入該主題;

  7. L鍵:回到上一個通路的頁面;

  8. SPACE鍵:向前滾動一頁;

  9. BACKUP或DEL鍵:向後滾動一頁;

  10. Q:退出info。

例如:我們使用

info

來查詢

info

的幫助手冊。

info info

EduCoder Linux作業系統

whatis

用來顯示指令的簡短描述。

whatis command

whatis

ls

的使用方法。

EduCoder Linux作業系統

Begin - End

  • 使用man查詢

    C

    庫中的

    fopen

    函數使用方法。

#!/bin/bash

#在以下部分寫出完成任務的指令
#*********begin*********#
man 3 fopen
#********* end *********#

           

繼續閱讀