樹莓派 - Linux Shell



Shell(在樹莓派中稱為 Bash)是向樹莓派發出指令的文字方式。本章,我們將學習樹莓派中的 Linux shell。首先,我們將瞭解如何開啟 shell 視窗。

開啟 Shell 視窗

您可以透過以下兩種方式之一開啟 shell 視窗:

  • 螢幕頂部有一個終端圖示,帶有 >_ 提示符。單擊它,您將獲得一個 shell 視窗。

  • 另一種方法是使用應用程式選單的“附件”部分。您可以在那裡找到“終端”。

以上兩種方法都將在桌面上開啟一個 shell 視窗。

理解提示符

提示符如下所示:

pi@raspberrypi ~ $

它包含大量資訊。讓我們看看各個部分:

pi

它表示登入使用者的使用者名稱。

raspberrypi

它表示機器的主機名,即其他計算機在連線到它時用於識別的名稱。

波浪號 (~)

波浪號告訴使用者他們正在檢視哪個目錄。這個水平的波浪線表示主目錄,這個符號的存在表明我們正在該目錄中工作。

美元符號 ($)

它表示普通使用者,而不是全能的超級使用者。# 符號表示超級使用者。

列出檔案和目錄

當您啟動 shell 視窗時,您將從主目錄開始。

要檢視主目錄中的資料夾和檔案,您需要發出以下命令:

pi@raspberrypi ~ $ ls

輸出

輸出如下:

Desktop Downloads Pictures python_games Videos
Documents Music Public Templates

發出 **ls 命令** 後,您可以看到檔案和資料夾。

眾所周知,Linux 區分大小寫,因此命令 LS、Ls、ls 和 lS 都是不同的。

更改目錄

您可以看到上面的輸出,它們都是藍色的,這意味著它們都是目錄。我們可以進入這些目錄並檢查它們包含哪些檔案。更改目錄的命令是 **cd**。您需要將 cd 命令與要檢視的目錄的名稱一起使用。

樹莓派中更改目錄的示例如下:

pi@raspberrypi ~ $ cd Pictures

查詢有關檔案的資訊

查詢有關特定檔案資訊的命令是 **file**。您需要在命令後加上檔名以檢查該檔案的資訊。

請檢視以下在樹莓派中查詢檔案資訊的示例:

pi@raspberrypi ~ /Pictures $ file leekha.png aarav.png
leekha.png: PNG image data, 50 x 85, 8-bit/color RGBA, noninterlaced
aarav.png: PNG image data, 100 x 150, 8-bit/color RGBA, noninterlaced

我們也可以對目錄使用 file 命令。它也會提供一些有關目錄的資訊:

pi@raspberrypi ~ $ file Pictures Desktop
Pictures: directory
Desktop: directory

父目錄

前面,我們使用 cd 命令更改為當前工作目錄內的目錄。但是有時,我們需要轉到父目錄,即當前工作目錄上方的目錄。

此命令為 cd..(cd 加兩個點),如下所示:

pi@raspberrypi ~ /Pictures $ cd..
pi@raspberrypi ~ $

波浪號表示您的主目錄。

目錄樹

下圖顯示了樹莓派計算機上目錄樹的一部分:

Directory Tree

目錄及其用途如下:

bin

Bin(二進位制檔案的縮寫)包含一些小的程式,它們在 shell 中的行為類似於命令。例如,ls 和 mkdir。

boot

此目錄包含作業系統的核心,即 Linux 核心。它還包含包含樹莓派計算機技術設定的配置檔案。

dev

此目錄包含裝置列表。例如,磁碟和網路連線等裝置。

etc

此目錄用於各種配置檔案。這些配置檔案適用於計算機上的所有使用者。

home

這是使用者可以預設儲存或寫入檔案的目錄。

lib

該目錄包含不同作業系統程式使用的各種庫。

lost+found

如果檔案系統損壞並部分恢復,則使用此目錄。

media

您連線可移動儲存裝置(例如 USB 金鑰),它會自動被識別。所有詳細資訊都將儲存在 media 目錄中。

mnt

mnt 代表掛載,將儲存我們自己掛載的可移動儲存裝置的所有詳細資訊。

root

它保留供 root 使用者使用,作為普通使用者,我們無權更改此目錄。

相對路徑和絕對路徑

shell 使樹莓派使用者能夠透過指定路徑直接到達該位置。

我們有以下兩種型別的路徑:

相對路徑

這有點像從使用者現在所在位置向目錄提供方向。

絕對路徑

另一方面,絕對路徑就像街道地址。無論使用者在哪裡,此路徑都完全相同。這些路徑是從根目錄測量的。因此,它們以斜槓 (/) 開頭。

例如,我們知道 pi 目錄的絕對路徑是 /home/pi。

現在,使用以下命令直接轉到此目錄:

cd /home/pi

如果要轉到根目錄,可以使用以下命令:

cd /

高階列出命令

我們可以使用列出命令 (ls) 檢視當前工作目錄之外的任何目錄內部,如下所示:

pi@raspberrypi ~ $ ls /boot

有幾個高階選項,我們可以與 ls 命令一起使用。

這些選項在以下表格中給出:

選項 說明
-1

此選項為 1 而不是 l,它以單列而不是以行為單位輸出結果。

-a

使用此選項的 ls 命令將顯示所有檔案。所有檔案還包括隱藏檔案。

-F

此選項將在檔名旁邊新增一個符號。它將這樣做以指示檔案型別。如果您使用此選項,您會在目錄名稱後面看到一個 /,在可執行檔案後面看到一個 *。

-h

此選項是 human-readable 的縮寫。它使用千位元組、兆位元組和千兆位元組來表示檔案大小。

-l

此選項將以長格式顯示結果。它顯示有關檔案許可權、上次修改日期、大小的資訊。

-m

此選項將結果列為以逗號分隔的列表。

-R

此選項是遞迴選項。它還將列出當前工作目錄中的檔案和目錄,開啟子目錄(如果有)並列出它們的結果。

-r 這是反向選項,將以反向順序顯示結果。
-S 此選項將按大小排序結果。
-t

此選項將根據上次修改的日期和時間排序結果。

-X

此選項將根據副檔名排序結果。

此外,我們將學習與樹莓派中的 Linux Shell 相關的其他重要方面。

長列表格式

長格式是 **ls** 命令最有用的格式之一,因為它為我們提供了有關檔案的附加資訊。

您可以使用 ls 命令和長列表選項,如下所示:

pi@raspberrypi ~ $ ls -l
total 65
-rw-r--r-- 1 pi pi 256 Feb 18 22:45 Leekha.txt
drwxr-xr-x 2 pi pi 4096 Jan 25 17:45 Desktop
drwxr-xr-x 5 pi pi 4096 Jan 25 17:50 Documents
drwxr-xr-x 2 pi pi 4096 Jan 25 17:52 Downloads
drwxr-xr-x 2 pi pi 4096 Jan 25 17:53 Music
drwxr-xr-x 2 pi pi 4096 Jan 25 17:45 Pictures
drwxr-xr-x 2 pi pi 4096 Jan 25 17:45 Public
drwxr-xr-x 2 pi pi 4096 Jan 25 17:54 Templates
drwxr-xr-x 2 pi pi 4096 Jan 25 17:54 Videos

從上面的輸出中,很容易理解每一行都與一個檔案或目錄相關,其名稱在右側,上次修改的日期和時間在其旁邊。

數字 256、4096 表示檔案的大小。您可以看到一些檔案和目錄具有相同的大小。

此輸出的其餘部分顯示許可權,即誰被允許使用該檔案以及使用者被允許對該檔案或目錄執行的操作。

許可權

檔案的許可權分為以下三類:

所有者

這是建立檔案的人。此許可權包括檔案所有者可以執行的操作。

這些是屬於有權使用該檔案的組的人員。此許可權包括組所有者可以執行的操作。

世界

這些被稱為世界許可權,即每個人都可以對該檔案或目錄執行的操作。

在樹莓派中,我們有兩種主要型別的檔案。一種是具有 **連字元 (-)** 的普通檔案,另一種是具有 **d** 的目錄。

許可權型別

現在讓我們瞭解所有者、組和世界分別擁有的不同型別的許可權:

  • **讀取許可權** - 此許可權允許使用者開啟並檢視檔案內容或列出目錄。

  • **寫入許可權** - 此許可權允許使用者更改檔案內容。它允許使用者在目錄中建立或刪除檔案。

  • **執行許可權** - 此許可權允許使用者將檔案視為程式並執行它。它還允許使用 **cd** 命令進入目錄。

less 命令

ls 命令會淹沒資訊,有時您甚至無法注意到它,因為它比我們理解或看到的速度更快地掠過我們的眼睛。為了避免這種情況或解決這個問題,我們可以使用一個名為 **less** 的命令。

此命令將獲取我們的列表並使我們能夠一次一屏地瀏覽它。要使用此命令,我們需要在列表 (ls) 命令後使用 |(管道字元)。

樹莓派中 less 命令的示例如下:

ls -RXF | less

less 命令也可以用於檢視文字檔案的內容。

為此,我們需要提供檔名作為引數,如下所示:

less /boot/config.txt

加快 Shell 的使用速度

在這裡,我們將學習一些加快 shell 使用速度的技巧:

  • 如果您想重寫命令,則可以避免重寫,因為 shell **保留歷史記錄**,即您之前輸入的命令。

  • 如果您想重用最後一個命令,只需使用 **兩個感嘆號** 並按 Enter 鍵即可。

  • 您也可以透過點選向上箭頭按順序調出之前的命令。

  • 類似地,您也可以透過點選向下箭頭反向瀏覽命令歷史記錄。

  • Shell還會猜測使用者想要輸入的內容,並自動完成。

使用重定向建立檔案

檔案重定向意味著您可以將命令的結果傳送到檔案,而不是傳送到螢幕。為此,我們需要使用>(大於)符號以及要將輸出傳送到的檔名。

下面是使用重定向在樹莓派中建立檔案的示例:

ls > ~/gaurav.txt

還有其他命令,我們可以用它們來線上顯示內容。這些命令解釋如下:

echo 命令

echo 命令顧名思義,會在螢幕上顯示我們在它後面寫入的任何內容。此命令最好的用途是解決數學問題。您需要將表示式放在兩對括號之間,並在前面加上美元符號。

下面是 echo 命令的示例:

echo $((5*5))

date 命令

date 命令顧名思義,會在螢幕上顯示當前日期和時間。

cal 命令

cal 命令(cal 代表計算器)將顯示當前月份的日曆,並突出顯示今天。藉助-y選項,您可以檢視全年的日曆。

建立和刪除目錄

在這裡,我們將瞭解如何在樹莓派中建立和刪除目錄。讓我們從學習建立目錄開始。

建立目錄

在您的主目錄下建立目錄的命令是mkdir

在下面的示例中,我們將建立一個名為AI_Python的目錄:

mkdir AI_Python

您也可以使用一個命令建立多個目錄,如下所示:

pi@raspberrypi ~ $ mkdir AI_Python Machine_Learning Tutorialspoint
pi@raspberrypi ~ $ ls
Downloads AI_Python Machine_Learning Tutorialspoint Desktop Pictures Documents Public

刪除目錄

如果要刪除空目錄,可以使用rmdir命令,如下所示:

pi@raspberrypi ~ $ rmdir AI_Python

另一方面,如果要刪除非空目錄,則需要使用rm -R命令,如下所示:

pi@raspberrypi ~ $ rm -R Machine_Learning

刪除檔案

我們可以使用 rm 命令刪除檔案。

刪除檔案的語法如下:

rm options filename

在下面的示例中,我們將刪除一個名為leekha.txt的文字檔案:

pi@raspberrypi ~ $ rm leekha.txt

與 mkdir 一樣,rm 命令不會告訴我們它正在做什麼。

要了解其功能,我們需要使用詳細(-v)選項,如下所示:

pi@raspberrypi ~ $ rm -v leekha.txt
removed 'leekha.txt'

我們也可以一次刪除多個檔案,如下所示:

pi@raspberrypi ~ $ rm -v leekha.txt gaurav.txt aarav.txt
removed 'leekha.txt'
removed 'gaurav.txt'
removed 'aarav.txt'

樹莓派萬用字元

一個目錄包含許多具有相似檔名的檔案,如果您想刪除一組這樣的檔案,則無需透過輸入每個檔名來重複該命令。在 shell 中,萬用字元將為我們完成這項工作。

下表提供了我們可以用於樹莓派的萬用字元的快速參考:

萬用字元 含義 示例 說明
? 表示任何單個字元。 pic?.jpg 此示例表示檔案以 pic 開頭,副檔名開始前之後恰好有一個字元。
* 表示任意數量的字元。 *pic* 此示例表示檔名中包含單詞 pic 的任何檔案。
[…] 此萬用字元將匹配括號中任何一個字元。 [gla]* 此示例表示所有以字母 g、l 或 a 開頭的檔案。
[^…] 此萬用字元將匹配括號之間以外的任何單個字元。 [^gla]* 此示例表示所有不以字母 g、l 或 a 開頭的檔案。
[a-z] 此萬用字元將匹配指定範圍內的任何單個字元。 [x-z]*.png 此示例表示所有以字母 x、y 或 z 開頭並以 .png 副檔名結尾的檔案。
[0-9] 此萬用字元將匹配指定範圍內的任何單個字元。 Pic[1-5]*.png 此示例表示它將匹配 pic1.png、pic2.png、pic3.png、pic4.png 和 pic5.png。

下面的示例將刪除所有以字母lee開頭的檔案:

rm –vi lee*

複製檔案

複製檔案是我們想要執行的基本操作之一。

此命令為 cp,其用法如下:

cp [options] copy_from copy_to

在這裡,我們需要將copy_from替換為您要複製的檔案,將copy_to替換為您要複製到的位置。

示例

讓我們來看一個使用該命令複製相應檔案的示例。

假設您想將leekha.txt檔案從/desktop目錄複製到home目錄,您可以使用cp命令,如下所示:

cp /Desktop/leekha.txt ~

我們還可以指定現有資料夾的路徑來發送檔案,如下所示:

cp /Desktop/leekha.txt ~/doc/

移動檔案

如果您想將檔案從一個位置移動到另一個位置,而不是建立檔案的副本,則可以使用 mv 命令,如下所示:

mv ~/Desktop/leekha.txt ~/Documents

以上命令將名為leekha.txt的檔案從桌面目錄移動到文件目錄。這兩個目錄都在主目錄中。

重啟樹莓派

藉助以下命令,我們可以重新啟動樹莓派,而無需斷開和重新連線電源:

sudo reboot

關機樹莓派

藉助以下命令,我們可以安全地關閉樹莓派:

sudo halt
廣告
© . All rights reserved.