【普考必考】每個使用者都應知道的 Linux 基本命令

linux-154766_1280

1999年當我正在翻譯全方位研習LINUX網路實務這本書時,開始接觸Linux系統至2003年後就不太在Linux系統上精進了,現在使用Ubuntu也僅是開著而已,沒想到2014年後普考已經把一些 Linux基本命令納入考試範圍中,這著實令人振奮,所以大叔就再一次整理相關的命令給各位熟悉一下。

在聽到 Linux 的時候,你是否會把它想成是一​​個複雜的作業系統,只有程式設計師才能使用,但其實一點都不可怕。

Linux 是完整的開放原始碼軟體 Unix 作業系統系列的一個支派,它們的基礎是 Linux 核心,包括所有最流行的 Linux 系統,如 Ubuntu、Fedora、Mint、Debian 等,更準確地說,它們被稱為發行版(distributions 或是 distros)。

1991年 Linux 首次發佈以來,由於開放原始碼的特性,一直受到歡迎,而且可以以自己的名義自由修改和重新發佈。

在操作 Linux 作業系統時,您需要使用 shell — 一個讓您可以存取作業系統服務的界面,大多數 Linux 發行版使用圖形使用者界面 (GUI) 作為它們的 shell,主要是為了方便使用者使用。

話雖如此,建議使用命令列界面 (CLI),因為它更強大、更有效,需要透過 GUI 進行多步驟過程的任務可以透過在 CLI 中鍵入命令在幾秒鐘內完成。

因此,如果您正在考慮使用 Linux,那麼學習基本的命令列將大有幫助,在這篇文章中,將學習35 個基本的 Linux 命令,這些命令無疑會幫助新手操縱 Linux 。

linux 用途

Linux 的用途非常廣泛,從全球大型的超級電腦、資料中心的伺服器(Server);小至手機、平板電腦、智慧電視、家庭網路設備(如:路由器、分享器等),都可以見到 Linux 的影子。

而採用 Linux 系統像是美國政府機構及機關的 NASA(美國太空總署) 衛星系統及國防系統;全球知名企業像是 Google、Facebook、Instagram、Amazon(亞馬遜公司)、YouTube以及中國大陸的百度(Baidu)、QQ 等大型企業的伺服器都是採用 Linux 作業系統(《科技阿宅王》的網站伺服器也是採用 Linux 系統喔)。

而現代最常使用的智慧型手機、平板電腦的作業系統 Android (中文又稱「安卓」),也是以 Linux Kernel(Linux 核心)為基底所開發的,除了手機、平板電腦外, Linux 也很常用於嵌入式裝置(Embedded system),像是全球知名網路設備製造商「思科(Cisco)」旗下網路產品的路由器(Router)、硬體式防火牆(Firewall)及各大廠牌的數位相機的韌體等都是採用 Linux 系統。

在桌機或筆記型電腦方面,可直接上網進行 Linux 下載(多數發行版本為免費)並安裝至電腦硬碟或 USB 隨身碟(USB 可隨身攜帶,任何電腦即插即用),一般用途上與 Windows、macOS上並無區別,基本的上網(Firefox、Google Chrome)、音樂播放(如:deadbeef)、影片播放(如:SMPlayer)、影像處理(如:GIMP)、向量繪圖(如:InkScape)、影片剪輯(如: shotcut)、錄音編輯(如:audacity)、文書處理(如:LibreOffice)、螢幕錄影(如:OBS)、3D動畫製作(如:Blender)等皆有對應的應用軟體且可以「免費使用」。

–本段落引用自科技阿宅王

大叔看linux 用途,主要還是應用於網絡伺服器(各種各樣的網絡服務解決方案),科學運算(各種各樣的科研項目解決方案)、軟體開發平台,嵌入式系統(日常生活中各種各樣的智能電器),對一般適應於Windows作業系統操作的人來說,習慣不好改變,還是有段適應時間要走。

Linux 基本命令

在我們看這些命令之前,需要先開啟命令列,如果還不確定這個命令列介面,查看 CLI 教學。

雖然這些步驟會跟你使用的 Linux版本有些差異,通常你可以在圖形使用者介面例如 GNOME 桌面上的 Utilities 部份找到命令列。

基本的 Linux命令如下:

1. pwd 命令

使用 pwd 命令找出目前工作的目錄(資料夾)的路徑,這個命令會傳回絕對(完整)的路徑,基本上是以斜線 (/)開始,絕對路徑的範例是這樣 /home/username

★103 年 – 電腦軟體應丙級用學科03:系統軟體使用 1-100#17702

在 Linux 作業系統下,使用何種指令可以顯示目前的目錄?
(A)makdir
(B)fg
(C)pwd
(D)cat

 

2. cd 命令

要操作 Linux 檔案和目錄,可以使用 cd 命令,需要完整的路徑或是目錄的名稱,且視你現在是位在哪個工作目錄而定。

如果你是在 /home/username/Documents ,你想要進到 Photos,這是 Documents 的子目錄,你就可輸入這樣命令即可: cd Photos

另一個情境就是如果你想要切換到全新的目錄,像是 /home/username/Movies,在這裡你必須在 cd 命令後打出完整的目錄: cd /home/username/Movies

有一些捷徑可以幫你少打幾個字:

  • cd .. (有兩個點點) 移動到上一層目錄
  • cd 直接到 home 資料夾,例如 home/aaa 之類的,aaa是你的使用者帳號
  • cd- (有連字號)移動到你前一個使用的目錄

附帶說明一下,Linux的 shell 是有分大小寫的,所以你必須輸入正確的目錄名稱。

★106 年公務人員普通考試試題

在 Linux 作業系統中,若需變換工作路徑,需下達的指令為:(A)pwd (B)cd (C)mkdir (D)ls

 

3. ls 命令

ls 命令用來檢視目錄的內容,預設情況下會顯示你目前工作目錄的內容。

如果你想要看其他目錄的內容,輸入 ls 跟目錄的路徑,例如輸入 ls /home/username/Documents 檢視 Documents目錄的內容。

幾種常見的用法如下:

  • ls -R 會列出子目錄裡所有的檔案
  • ls -a 會顯示隱藏檔
  • ls -al 會列出有詳細資訊的檔案及目錄,這些資訊像是權限、大小、擁有者…等等。

★103年地方政府公務人員四等考試試題

在Unix系統中,下列何者可列出目前路徑中所有的檔案?(A)使用vi命令 (B)使用ls命令 (C)使用mount命令 (D)使用man命令

 

4. cat 命令

cat (concatenate的縮寫)是Linux中最常用的指令之一,它用在標準輸出(stdout)上列出檔案內容,要執行這個命令,輸入 cat 及檔案名稱包括副檔名,例如: cat file.txt

這裡有其他使用 cat 命令的方法:

  • cat > filename 建立新檔
  • cat filename1 filename2>filename3 連結兩個檔案(1 跟 2),然後儲存至一個新檔 (3)
  • 轉換檔案大小寫 cat filename | tr a-z A-Z >output.txt

★Linux運維工程師常見面試題匯總

在/home/stud1/wang 目錄下有一檔案file,使用 D 可實現在後台執行命令,此命令將file 檔案中的內容輸出到file.copy 檔案中。

A cat file >;file.copy

B cat >;file.copy

C cat file file.copy &

D cat file >;file.copy &

 

5. cp 命令

使用 cp 命令從目前的目錄複製檔案到不同的目錄,例如,命令 cp scenery.jpg /home/username/Pictures 會從你目前的目錄建立一個 scenery.jpg 備份到 Pictures 目錄。

★103 年 – 電腦軟體應丙級用學科03:系統軟體使用 101-210#17711

在 Linux 作業系統下,使用何種指令可以複製檔案或目錄?
(A)mkdir
(B)cp
(C)alias
(D)echo

6. mv 命令

mv 命令最主要的用途是移動檔案,雖然他也可以用來重新命名檔案。

mv 使用的參數跟 cp 命令類似,你需要輸入 mv 檔案名稱,以及目的目錄,例如,mv file.txt /home/username/Documents

要重命名檔案,Linux 命令是 mv oldname.ext newname.ext

★崑山科技大學電通期中考

下列那一個指令可以將目錄 old 更名為 new?(A) mkdir old new。(B) rmdir old new。 (C) mv old new。(D) cp old new。

 

7. mkdir 命令

使用 mkdir 命令建立新的目錄 — 輸入 mkdir Music 會建立一個叫做 Music 的目錄。

mkdir 命令也有其他的用法:

  • 要在另一個目錄裡產生新的目錄,Linux 命令是 mkdir Music/Newfile
  • 使用 p (parents) 選項會在兩個現有目錄之間建立新的目錄,例如, mkdir -p Music/2020/Newfile 會產生新的“2020” 目錄且其目錄下有Newfile目錄。

★全國高級中等學校 105 學年度工業類科學生技藝競賽筆試題目

Linux 作業系統中,可以使用下列哪個指令新增目錄?(A)mkdir (B)ls (C)ifconfig (D)mkfs 。

8. rmdir 命令

如果你需要刪除目錄,使用 rmdir 命令,但是 rmdir 只允許你刪除空目錄。

★臺南市 105 學年度市立國民小學暨幼兒園教師聯合甄選 資訊專業知能科(含台南文史) 試題

在 Linux 中,想要刪除某個檔案目錄,要執行下列哪一個指令? (A) del (B) mkdir (C) rmdir (D) deldir

9. rm 命令

rm 命令用來刪除目錄及裡面的內容,如果你只想要刪除目錄 — 就用 rmdir — 語法: rm -r

注意: 要小心使用這個命令,再次確認你在什麼目錄裡,因為這會刪除所有的檔案,而且無法回復。

★106 年公務人員普通考試試題

在 Linux 作業系統中,刪除檔案的指令為:(A)mv (B)rm (C)cp (D)kill

10. touch 命令

touch 命令允許你建立一個空白檔案,例如,輸入 /home/username/Documents/Web.html 會在 Documents 目錄下產生一個 Web 的 HTML檔。

★Linux運維工程師常見面試題匯總

建立一個新文件可以使用的命令為 D 。

 

A chmod

B more

C cp

D touch (指令改變檔案的時間記錄。)

 

11. locate 命令

使用這個命令來 locate 檔案,就像是 Windows的搜尋命令一樣,如果你不記得檔案的正確名稱,你可以使用 –i  參數在命令後,這樣可以搜尋不分大小寫的檔案。

要搜尋兩個字以上檔名的檔案,使用星號 (*),例如,locate -i school*note 命令會搜尋任何檔名含有文字”school”和”note”的任何檔案,不論大小寫。

★105 年 – 12000 電腦硬體裝修 乙級 工作項目 03:儀表、軟體及一般工具 1-100#39306

下列何者不是 Linux 作業系統環境中,尋找檔案或目錄之指令?
(A)slocate
(B)look
(C)find
(D)locate。

答案:(B)

12. find 命令

類似 locate 命令,使用 find 也可以搜尋檔案和目錄,不同的是你可以使用 find 命令來找目錄裡面的檔案。

例如: find /home/ -name notes.txt 命令會搜尋 home目錄及子目錄裡一個叫 notes.txt 的檔案。

其他使用 find 的方法:

  • 要找目前目錄裡的檔案,使用 find . -name notes.txt
  • 要找目錄,使用 / -type d -name notes. txt

★桃園大眾捷運股份有限公司 108 年度新進人員招募甄試試題

下列哪一個指令不能搜尋檔案? (A)where (B)which (C)locate (D)find

答案:(A)

13. grep 命令

另一個每天都會用到的命令就是 grep,讓你搜尋特定檔案的文字內容。

例如: grep blue notepad.txt 會搜尋notepad.txt檔中的 blue這個字,包含找到的字的那一行會完全顯示。

★Linux認證 筆試 基本題

如何在文件中查找顯示所有以”*”打頭的行? A). find * file
B). wc -l * < file
C). grep -n * file
D). grep ‘^*’ file

答案:(D)

14. sudo 命令

這是“SuperUser Do”的縮寫,這個命令允許你執行需要管理員或是 root權限的工作,但是日常使用不建議使用這個命令,因為如果下錯指令時很容易造成災害

 

15. df 命令

使用 df 命令來取得系統磁碟空間的使用報告,以百分比及 KB顯示,如果你想要MB的報表,輸入 df -m

★技檢◆電腦軟體應用-丙級題庫 105 年 – 11800電腦軟體應用#84747

在 Linux 作業系統中,想要顯示目前已掛載檔案系統磁碟的 inode 使用狀況指令為何?
(A)su –I
(B)du –I
(C)free –i
(D)df –i

 

16. du 命令

如果你想要檢查檔案或是目錄用了多少空間,輸入 du (Disk Usage縮寫) 命令,但是磁碟使用的報表示會顯示磁碟 block區塊數而不是一般的大小格式,如果想以 byte、kb、mb等格式顯示,輸入 -h 參數到命令列中。

★常見linux筆試題

怎樣瞭解您在當前目錄下還有多大空間? A. Use df B. Use du / C. Use du . D. Use df

答案:(C)

17. head 命令

head 命令用來檢視文字檔的第一列,預設會顯示前十列,但是可以改辦你要顯示的列數,例如,想要顯示前五列就輸入head -n 5 filename.ext

18. tail 命令

這個命令跟 head 命令類似,但這不是顯示前面十列的內容,tail 命令會顯示文字檔最後十列的內容,例如,輸入 tail –n  5 filename.ext。

 

19. diff 命令

difference的縮寫,diff 命令一列一列地比較兩個檔案,分析檔案後,會產出不一樣的那幾行,程式設計師通常用來確認程式的版本而不是重寫整個原始碼。

最簡單的命令格式是 diff file1.ext file2.ext

★習題

Linux中,在diff命令中,-i 參數表示的意思是?
A、忽略空格造成的不同
B、忽略空行造成的不同
C、忽略大小寫的變化
D、使用綱要輸出格式
答案:C

 

20. tar 命令

tar 命令是最常用來講檔案歸檔到 tarball 最常用的明令之一— tarball 是 Linux 常見的檔案格式類似 zip 格式,壓縮的功能是可選的。

這個命令還滿複雜的,功能有新增新的檔案到存在的歸檔中、列出歸檔的內容、從歸檔中解壓縮出來以及很多其他的功能,其他更多更能可以參考 practical examples

下列哪個指令無法將指定檔案正確解壓縮?(A) tar -zxvf foo.tar.gz (B) tar -Zxvf picture.tar.Z (C) tar -bxvf linux-2.4.20.tar.bz2 (D) tar -zxf foo.tar.gz

答案:(C)

21. chmod 命令

chmod 是另一個  Linux 命令,用來改變檔案和目錄的讀取、寫入及執行的權限,這個命令有點複雜,你可以閱讀 這篇完整的英文教學 來正確地操作。

★98 年 – 金門縣98 學年度國民中學正式教師暨代理代課新聘教師甄選#763

下列何者為Linux 用於變更檔案權限的指令?
(A)chmod
(B)cat
(C)man
(D)ifconfig

 

22. chown 命令

在 Linux裡,所有的檔案都會有一個使用者擁有,chown 命令允許你變更檔案的擁有者到另一個使用者名稱,例如,chown linuxuser2 file.ext 可以讓 linuxuser2 變成 file.ext的擁有者。

★109 年 – 109-1 技術士技能檢定學科測試試題-丙級:11800電腦軟體應用#85325

下列哪個 Linux 指令無法用來改變檔案的權限?
(A)bc
(B)chown
(C)chgrp
(D)chmod。

答案:(A)

23. jobs 命令

jobs 命令會顯示所有目前工作及狀態,一個工作就是在 shell 啟動的程序。

 

24. kill 命令

如果你的程式沒有回應,就可以使用 kill 命令來手動中斷,這個命令會送出一個信號給這個不正常的程式讓它自己中斷。

64種信號 可以使用,但通常只要用到這兩種即可:

  • SIGTERM (15) — 請求程式停止執行並給予時間讓它儲存所有的進度,如果你在輸入 kill 命令時沒有指定信號,那麼預設就會使用這個。
  • SIGKILL (9) — 強迫程式立即中斷,沒有儲存的進度會遺失。

除了知道信號之外,你也需要知道要 kill 的程式的行程識別碼(PID),只要輸入命令 ps ux,就可以知道。

知道你想要使用什麼信號以及程式的 PID,輸入下面的語法:

kill [signal option] PID

★以下關於 kill 指令的敘述何者正確?(A) 執行 kill ftp 指令可以刪除目前正在執行的 ftp 程序 (B) 用 kill -9 指令都無法刪除的程序, 可改用 kill –15 指令強制刪除 (C) 若用 kill -9 指令都無法刪除的程序, 可以重開機將其刪除 (D) 若用 kill -15 指令都無法刪除的程序, 就只能重開機才能將其刪除了

答案:(C)

25. ping 命令

使用 ping 命令來檢查伺服器的連線狀態,例如,只要輸入ping google.com,這個命令會檢查你是否能夠連線到 Google,也可以量測回應的時間。

★107 年公務人員普通考試試題

我們通常會使用 ping 指令測試網路是否通順,請問 ping 所送出的封包屬於下列何者? (A)ICMP  (B)UDP  (C)TCP  (D)RARP

26. wget 命令

Linux 命令列超級好用 — 你甚至可以透過 wget 命令的幫助從網路上下載檔案,要這樣做,只要輸入 wget 後面跟著下載的連結即可。

27. uname 命令

uname 命令就是 Unix Name 的縮寫,會印出你的 Linux 系統的詳細資訊像是機器名稱、作業系統及核心…等等。

★105 年 – 12000 電腦硬體裝修 乙級 工作項目 03:儀表、軟體及一般工具 101-200#39302

在 Linux 系統中,uname -a 可查詢何種系統資訊?
(A)CPU
(B)Memory
(C)Kernel
(D)Host name。

答案:A,C,D

28. top 命令

這個有點像是 Windows的工作管理員, top 命令會顯示正在執行的程序以及每個程序使用多少 CPU,這用來監控系統資源的使用非常好用,特別是有些程序佔用太多資源時就需要知道哪個程序需要中斷。

★105 年 – 12000 電腦硬體裝修 乙級 工作項目 03:儀表、軟體及一般工具 101-200#3930

在 Linux 系統中,下列何者可以觀察 CPU 的相關資訊?
(A)sar
(B)top
(C)cpustat
(D)vmstat。

答案:A,B,D

29. history 命令

如果你使用 Linux 有一陣子的話,你很快就會發現每天會執行到好幾百個命令,這樣子的話如果你想要看看你之前輸入過什麼命令的話,執行 history 命令相當好用。

★Linux 的 shell 操作環境中支援下列那些功能?(複選) (A)提供 alias 別名設定功能 34 (B)按 TAB 鍵可以指令補齊 (C)可用?號查詢指令補齊 (D)提供 history 歷史命令功能,方便使用者操作

答案:A,B,D

30. man 命令

有些 Linux 命令是不是會搞混?不用擔心,可以透過使用 man 命令就可以很容易學習如何使用正確的命令,例如,輸入 man tail 就會顯示 tail 命令的指導手冊。

★學校期末考

Linux系統要查看其他指令用途及說明,下列指令何者正確?

(A)more (B)man (C)make (D)mkdir

31. echo 命令

這個命令用來移動一些資料到檔案中,例如,如果你想要新增字串 “Hello, my name is John” 到一個叫做 name.txt的檔案中,你可以輸入 echo Hello, my name is John >> name.txt

★執行「echo $?」時會顯示「1」。這是代表了什麼意思? (A) 現在登入中的使用者只有一人  (B) 這個 echo 指令的引數只有一個 (C) 之前所執行的指令傳回錯誤 (D) shell 變數「?」中的值為 1

答案:(C)

32. zip, unzip 命令

使用 zip 命令來壓縮你的檔案到 zip壓縮檔,使用 unzip 命令來解壓縮檔案。

★如何將 myfile.zip 檔解壓縮至現行目錄的 mydir 子目錄下?(A) unzip myfile.zip mydir (B) unzip myfile.zip -d mydir (C) unzip -u myfile.zip mydir (D) unzip myfile.zip -r mydir

答案:(B)

33. hostname 命令

如果你想知道主機/網路的名稱只要輸入 hostname,在後面增加 -i 可以顯示網路的 IP 位址。

34. useradd, userdel 命令

因為 Linux 是一種多人系統,這意思是同時可以有一個以上的人可以在相同的系統上操作, useradd 用來建立一個新的使用者,而 passwd 用來新增該使用者帳號的密碼,要新增一個叫做 John 的人員,輸入 useradd John ,然後輸入密碼 passwd 123456789。

要移除一個使用者跟建立一個新的帳號類似,就輸入 userdel UserName

★若要建立或更改UNIX密碼,應使用下列那一個指令(1)passwd (2)pwd (3)password (4)add pwd

答案:(1)

額外的要訣和技巧

如果螢幕上顯示太多過去的命令而顯的雜亂無章時,使用 clear 命令可以清除。

使用 TAB 鍵可以自動完成你要輸入的,例如如果你要輸入 Documents,開始時輸入一個命令(像是 cd Docu,然後敲入 TAB 鍵) ,你會看到螢幕自動完成剩下的文字而顯示 cd Documents

Ctrl+CCtrl+Z 用來停止任何執行中的命令, Ctrl+C 會停止和中斷命令,而 Ctrl+Z 只會暫停命令。

如果你不小心使用 Ctrl+S 凍結了命令,可以使用 Ctrl+Q 來還原。

Ctrl+A 移到指令開頭,而 Ctrl+E 移到指令結尾。

你可以用 “;”來分隔很多命令,例如 Command1; Command2; Commzzzzand3,或如果您只想在第一個命令成功時執行下一個命令使用 &&

總結

基本的 Linux 命令可幫助使用者輕鬆有效地執行任務,記住一些基本命令可能需要一段時間,但透過大量練習,沒有什麼是不可能的。

最後,了解並掌握這些基本的 Linux 命令,無疑對你的工作或考試大有裨益,祝你好運!

感謝你看到這裡,很快就可以離開了,但最好的獎勵行動就是按一下幫我分享或留言,感恩喔~

點我分享到Facebook

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *