1. 程式人生 > 實用技巧 >樹莓派瞭解Linux基本命令

樹莓派瞭解Linux基本命令

本節我們來了解一些基本的Linux命令(在樹莓派上操作),看完之後,當你再面對Linux黑黑的命令框時至少不會不知所措,你可以用這些基本的命令完成一些需要的操作,比如查詢、編輯、檢視檔案,檢視基本的系統資訊,上傳、下載檔案。因為樹莓派Raspberry PI OS的圖形化介面已經比較人性化了,跟Windows介面也很接近,凡是不能雙擊解決的問題,那就右鍵再點選解決,所以此處就不再贅述了。圖形化介面操作倒騰就行了,不怕,出了問題還可以系統重刷,不然怎麼叫折騰呢。

保安三問(圖片來源於網路)

當你登入到Linux系統上後,首先就是常說的“保安三問”之人生哲學問題:我是誰?我在哪兒?我要幹什麼?

這不只是人生哲學問題,當你面對作業系統的時候,這是首先要解決的問題,不然你就什麼也做不了了。

1 我是誰?

這個問題通過whoami命令即可獲得,如下執行後我們得到pi,即當前的使用者。也許有人就問了,我還不知道自己是誰了,這也要單獨執行命令麼?就像我們之前說的,命令列中@之前的就是當前使用者,所以這麼說你也可以不用執行命令直接看到。但是當我們有需要通過指令碼命令執行時就有必要通過命令列確定當前的使用者。

pi@raspberrypi4:~ $ whoami
pi

使用者是後續一切操作的前提,Linux系統是一個多使用者系統,支援多個使用者同時使用,使用者名稱(賬號)就是使用者在系統中的唯一標識,系統通過賬戶實現對使用者的管理,管理使用者的許可權、分組等。

Linux系統中的賬戶包括使用者賬戶(又分為普通使用者賬戶和超級使用者賬戶/管理員賬戶)和組賬戶(標準組和私有組)。

2 我在哪裡?

這個問題可以通過pwd命令來獲得,獲取當前使用者所在的目錄,如下執行得到我們當前所在的位置是/home/pi目錄,即根目錄home下的pi資料夾下。

在命令提示符中“:”與“$”之間即是當前使用者所在的目錄,這裡有一個~表示當前使用者的使用者目錄,即使用者pi的使用者目錄/home/pi

pi@raspberrypi4:~ $ pwd
/home/pi

Linux系統下的目錄結構與我們常見的Windows系統其實都是樹結構的,只是目錄的功能分類不一樣,Windows系統相關執行檔案多放在C盤,而Linux系統根目錄則是如下:

pi@raspberrypi4:/ $ ll
總用量 80
drwxr-xr-x   2 root root  4096 5月  27 12:01 bin
drwxr-xr-x   4 root root  3584 1月   1  1970 boot
drwxr-xr-x  17 root root  3980 11月 21 20:55 dev
drwxr-xr-x 121 root root 12288 11月 21 20:42 etc
drwxr-xr-x   3 root root  4096 9月  26  2019 home
drwxr-xr-x  16 root root  4096 9月  26  2019 lib
drwx------   2 root root 16384 9月  26  2019 lost+found
drwxr-xr-x   3 root root  4096 11月  8  2019 media
drwxr-xr-x   2 root root  4096 9月  26  2019 mnt
drwxr-xr-x   4 root root  4096 9月  26  2019 opt
dr-xr-xr-x 187 root root     0 1月   1  1970 proc
drwx------  19 root root  4096 11月 16 15:19 root
drwxr-xr-x  30 root root   900 11月 22 12:30 run
drwxr-xr-x   2 root root  4096 8月  12 12:38 sbin
drwxr-xr-x   2 root root  4096 9月  26  2019 srv
dr-xr-xr-x  12 root root     0 1月   1  1970 sys
drwxrwxrwt  17 root root  4096 11月 22 12:09 tmp
drwxr-xr-x  11 root root  4096 10月 13 23:54 usr
drwxr-xr-x  12 root root  4096 12月  7  2019 var

上述命令llls -l別名,用來顯示當前目錄下有哪些檔案、資料夾,我們通過在根目錄下使用該命令獲得根目錄下的檔案目錄。樹莓派中這個是預設添加了別名的,有的Linux系統預設沒有這個命令別名,可以通過alias命令手動在/etc/bashrc中新增alias ll='ls -l'

乍一看,這麼多目錄還是有點眼暈啊,我們可以簡單列一下,系統目錄下的檔案不要隨便亂改哦(當然是你有管理員許可權的時候)。

  • bin 存放二進位制可執行檔案(lscatmkdir等)
  • boot 存放用於系統引導時使用的各種檔案
  • dev 用於存放裝置檔案
  • etc 存放系統配置檔案
  • home 存放所有使用者檔案的根目錄
  • lib 存放跟檔案系統中的程式執行所需要的共享庫及核心模組
  • mnt 系統管理員安裝臨時檔案系統的安裝點
  • opt 額外安裝的可選應用程式包所放置的位置
  • proc 虛擬檔案系統,存放當前記憶體的對映
  • root 超級使用者目錄
  • sbin 存放二進位制可執行檔案,只有root才能訪問
  • tmp 用於存放各種臨時檔案
  • usr 用於存放系統應用程式,比較重要的目錄/usr/local 本地管理員軟體安裝目錄
  • var 用於存放執行時需要改變資料的檔案

在知道了我們在哪裡之後,我們如果想去哪裡該如何操作呢?可以通過cd命令(Change Directory)來改變目錄,到達我們想去的目錄。

pi@raspberrypi4:~ $ cd /home/pi/Documents/
pi@raspberrypi4:~/Documents $ 

上述命令我們通過命令跳轉到了~/Documents目錄。

此外常用的目錄地址簡寫:

./  代表當前目錄
../  代表當前目錄的上一層目錄
/  代表根目錄
~/  代表使用者目錄

3 我要幹什麼?

這裡我們介紹一些常用的操作檔案操作命令,建立、剪下、複製、編輯、查詢等操作。

pi@raspberrypi4:~ $ mkdir folder
pi@raspberrypi4:~ $ cd folder/
pi@raspberrypi4:~/folder $ touch file.txt
pi@raspberrypi4:~/folder $ nano file.txt

首先,我們通過mkdir命令在使用者目錄下建立了一個名為folder的資料夾,然後進入到該資料夾目錄下,通過touch命令建立了一個名為file.txt的空檔案。然後我們通過nano命令,一個類似於記事本的命令列文字編輯程式,開啟該空檔案,介面就是下方這樣。

  GNU nano 3.2                              file.txt

test
this is a test file.
當然,也是可以輸入中文的。












                                     [ 已讀取 3 行 ]
^G 求助        ^O 寫入        ^W 搜尋        ^K 剪下文字    ^J 對齊        ^C 遊標位置
^X 離開        ^R 讀檔        ^\ 替換        ^U 還原剪下    ^T 拼寫檢查    ^_ 跳行        

上述編輯器介面下方是功能鍵提示,表示Ctrl鍵,M表示Alt鍵。因此,G表示的就是同時按下Ctrl鍵和G鍵。通過組合鍵Ctrl+X關閉該檔案,會提示是否儲存修改,輸入“y”,儲存退出檔案。

pi@raspberrypi4:~/folder $ cp file.txt file_cp.txt
pi@raspberrypi4:~/folder $ mv file.txt file_mv.txt
pi@raspberrypi4:~/folder $ mv file_mv.txt ../file.txt
pi@raspberrypi4:~/folder $ ll
總用量 4
-rw-r--r-- 1 pi pi 66 11月 22 20:22 file_cp.txt
pi@raspberrypi4:~/folder $ rm file_cp.txt
pi@raspberrypi4:~/folder $ ll
總用量 0

上述,cp將檔案file.txt複製到了本目錄下的file_cp.txtmv將檔案file.txt移動到本目錄下file_mv.txt(相當於重新命名操作),mv將檔案file_mv.txt移動到上一級目錄下,並重命名為file.txt。通過ll命令檢視本目錄下只剩下file_cp.txt一個檔案了,通過rm命令將file_cp.txt刪除,然後檢視本目錄下已經沒有檔案了。

pi@raspberrypi4:~/folder $ mv ../file.txt ./
pi@raspberrypi4:~/folder $ ll
總用量 4
-rw-r--r-- 1 pi pi 66 11月 22 20:12 file.txt
pi@raspberrypi4:~/folder $ cat file.txt
test
this is a test file.
當然,也是可以輸入中文的。
pi@raspberrypi4:~/folder $ find file.txt
file.txt
pi@raspberrypi4:~/folder $ find file*
file.txt

然後將移動到上一層目錄的檔案file.txt移動到本目錄下,通過cat命令可以直接檢視檔案內容,並輸出到命令列。此外,可以通過find命令查詢目錄下的相關檔案,搭配萬用字元“*”使用效果更好(你可能不一定記得目錄下的要查詢的檔名稱)。

此外,還有萬能的幫助命令,如果你對某個命令的使用不是太清楚,可以直接使用man命令查詢幫助,比如man nano來檢視nano的幫助檔案描述(不過都是英文的)。

NANO(1)                         General Commands Manual                         NANO(1)

NAME
       nano - Nano's ANOther editor, an enhanced free Pico clone

SYNOPSIS
       nano [options] [[+line[,column]] file]...

DESCRIPTION
       nano  is  a small and friendly editor.  It copies the look and feel of Pico, but
       is free software, and implements several features  that  Pico  lacks,  such  as:
       opening  multiple  files,  scrolling  per line, undo/redo, syntax coloring, line
       numbering, and soft-wrapping overlong lines.

       When giving a filename on the command line, the cursor can be put on a  specific
       line  by  adding  the  line number with a plus sign (+) before the filename, and
       even in a specific column by adding it with a comma.

       As a special case: if instead of a filename a dash (-) is given, nano will  read
       data from standard input.

EDITING
       Entering text and moving around in a file is straightforward: typing the letters
       and using the normal cursor movement keys.  Commands are entered  by  using  the
       Control  (^)  and the Alt or Meta (M-) keys.  Typing ^K deletes the current line
       and puts it in the cutbuffer.  Consecutive ^Ks will put all  deleted  lines  to‐
       gether  in  the  cutbuffer.   Any cursor movement or executing any other command
       will cause the next ^K to overwrite the cutbuffer.  A ^U will paste the  current
       contents of the cutbuffer at the current cursor position.
 Manual page nano(1) line 1 (press h for help or q to quit)

4 小 結

  • whoami 檢視當前使用者
  • pwd命令檢視使用者的當前目錄
  • 可用 cd 命令來切換目錄
  • .表示當前目錄
  • .. 表示當前目錄的上一級目錄(父目錄)
  • ~ 表示使用者主目錄的絕對路徑名
  • ls 顯示檔案或目錄資訊
  • mkdir 當前目錄下建立一個空目錄
  • rmdir 要求目錄為空
  • touch 生成一個空檔案或更改檔案的時間
  • cp 複製檔案或目錄
  • mv 移動檔案或目錄、檔案或目錄改名
  • rm 刪除檔案或目錄
  • cat 檢視文字檔案內容
  • man 檢視幫助命令

本小節主要了解Linux系統下的基本檔案操作命令,當你在面對這個黑黑的框框的時候,是不是有點躍躍欲試呢。下一節,我們將通過虛擬機器搭建一個Linux環境,以便趁熱試試手(而不用先急著入手樹莓派)。

歡迎關注我的公眾號,持續更新中~~~