初次使用樹莓派并不總是那么容易,因為你可能還沒有使用命令行的習慣。然而,終端命令是必不可少的,而且通常比通過圖形用戶界面(GUI)操作更高效。那么,有哪些重要的命令是你應該知道的呢?
有相當多的命令,下面我們將按類別介紹57個最常用的命令:
目錄
文件管理
網絡命令
系統更新
包管理
系統管理
樹莓派操作系統命令
雜項命令
高級命令
這份列表是基于我與樹莓派和Linux打交道的一般經驗整理的。我們使用系統的方式各不相同,你可能會用到一些這里沒有列出的命令。然而,本文的目標不是列出所有命令,而是向你介紹一些重要的命令。讓我們開始吧。
文件管理
這些是每個Linux初學者都應該學習的基本命令。
你可能已經知道這些命令,所以這部分內容可以作為復習。
Linux文件組織結構是一棵樹,從根目錄開始:/
在根目錄下創建的每個子文件夾都可以通過/來訪問。
例如:/var/log ? log是/var的子文件夾,var是/的子文件夾。
如果你沒有權限訪問某個文件或目錄,別忘了使用sudo(sudo可以讓你對接下來的命令擁有管理員權限)。
cd :更改目錄,進入文件樹中的指定文件夾。
cd/home/pat
ls:列出當前或指定文件夾中的文件和目錄。
ls/home/patls-latr /home/pat

mkdir :在當前或指定文件夾中創建一個新的子文件夾。
mkdirmyfoldermkdir/home/pat/myfolder
cp :將文件或目錄復制到另一個位置(要復制整個目錄,需要添加“-r”參數以實現遞歸復制)。
cp test.txt/home/pat/Documents/cp/home/pat/test.txt /home/pat/Documents/cp-r/home/pat/test//home/pat/Documents/
- mv :將文件或目錄移動到另一個位置。
mv/home/pat/test.txt /home/Documents/mv/home/pat/test/ /home/Documents/
cat :顯示指定文件的全部內容。
cat/home/pat/README.txt
more :逐頁顯示指定文件的內容(按回車或空格繼續,按q退出)。
more /var/log/syslog
- tail :tail命令允許你顯示文件的末尾部分,這對于查看日志文件中的新條目非常有用。
tail/var/log/syslog
你可以使用-n指定要顯示的行數。
tail-n20 /var/log/syslog
最后,我最喜歡的是使用-f選項實時顯示新行。
tail-f /var/log/syslog
- head :與tail相同,但用于顯示文件的開頭部分。
head/home/pat/file.txthead-n20 /home/pat/file.txt
grep :Grep是一個強大的文本搜索工具。你可以使用它來搜索文件中的內容,或者過濾另一個命令或腳本的輸出。
基本用法:
grepdhcp /var/log/syslog
如我所說,你可以在文件或腳本輸出上使用它:
cat/var/log/syslog | grep dhcp/home/pat/myscript.sh | grep errorls-latr | grep php
最后,grep有很多選項可以使用,比如正則表達式或者在搜索字符串之前(-B)、之后(-A)或周圍(-C)顯示行的選項。
你還可以使用-v來顯示除了輸入字符串之外的所有內容。
grep'dhcp|dns'/var/log/sysloggrep-A2 -B4'Fatal error'/var/log/apache/error.loggrep-v'Notice'/var/log/apache/error.log
如果你喜歡這個工具,我建議你閱讀man頁面以了解你可以用它做什么。
mangrep
你也可以閱讀我在這里寫的關于grep的專門文章。
nano:Nano是一個文本編輯器。要詳細介紹它需要一整篇文章(我已經寫過了,點擊這里閱讀更多內容)。
它允許你編輯文件,并使用(CTRL + O,回車,CTRL + X)保存更改。
nano /home/pat/myscript.sh
你可以在屏幕底部找到所有可用操作。
rm:刪除文件。對于文件夾,添加選項-rf(遞歸和強制)
rmmonscript.shrm-rf /home/pat/scripts/
如果你在使用這個命令時使用了sudo,請格外小心。在系統文件夾上使用它會在沒有任何警告信息的情況下刪除所有內容,并且可能在幾秒鐘內破壞你的系統。
tar -c:你可以使用tar將文件存儲到歸檔文件中。它通常與gzip一起使用以壓縮文件。
tar -cvfz archive.tar.gz /home/pat/Documents/mydirectory
-c:創建歸檔文件
-v:詳細輸出
-f:后面是歸檔文件的文件名
-z:使用gzip壓縮文件
查看我在這里寫的關于tar的完整文章。
https://raspberrytips.com/tar-linux-command/
tar -x:相同的命令,但用于解壓文件。
tar-xvfz archive.tar.gz
-x:解壓歸檔文件
find:顧名思義,find對于在樹莓派上定位文件非常有用。
find/home/pat -iname*.tar.gz
有很多選項可以幫助你找到正確的文件(大小、最后修改日期等)。
pwd:Pwd讓你知道你當前所在的目錄。
pwd
tree:另一個分析你在文件樹中當前位置的好工具。它會顯示整個下級樹(見下面的示例)。
tree
pat@rpitips:/var/log $ tree . |-- alternatives.log |-- alternatives.log.1 |-- alternatives.log.2.gz |-- apt ||-- eipp.log.xz ||-- history.log ||-- history.log.1.gz ||-- history.log.2.gz ||-- term.log ||-- term.log.1.gz |`-- term.log.2.gz
網絡命令
在首次安裝樹莓派操作系統后不久,你將需要一些命令來幫助你配置網絡(特別是如果你使用的是精簡版或通過SSH連接)。
網絡配置
默認情況下,樹莓派3B+有兩個接口(以太網和Wi-Fi)。以太網被分配為eth0,Wi-Fi被分配為wlan0。在下面的某些命令中,你需要使用這些名稱。
ip address:顯示你當前的網絡配置,主要是你的IP地址(如果已連接)。
ipa

這是查找樹莓派地址的最簡單方法,但當你無法訪問它時,還有其他解決方案(正如我在這篇文章中解釋的那樣)。
https://raspberrytips.com/find-current-ip-raspberry-pi/
ping :向網絡上的另一個IP發送ping數據包,以檢查主機是否在線。
ping192.168.1.1
ip link set
sudo iplinkseteth0 up
ip link set
sudo iplinksetwlan0 down
順便說一下,如果你不使用Wi-Fi接口,禁用它是個好主意。你可以在這篇文章中找到更多永久解決方案,但這個命令是一種快速的方法。
文件傳輸和遠程連接
wget :這個命令允許你從互聯網下載文件。
wgethttps://wordpress.org/latest.zip
ssh @:SSH是一種網絡協議,為你提供了一種安全連接到遠程計算機的方式。
sshroot@192.168.1.201
SSH對于遠程控制樹莓派(或任何Linux計算機)非常有用,閱讀這篇文章以了解關于它的所有信息:
scp @::scp可以通過SSH將文件傳輸到遠程計算機。
scp test.txt root@192.168.1.201:/root/
rsync @::rsync幾乎做同樣的事情,但使用了增量比較算法和一些優化,以更快地傳輸文件。
rsync test.txt root@192.168.1.201:/root/rsync -auzr /home/pat/Documents/*/home/pat/backups/Documents/
如你所見,你也可以使用rsync進行本地文件同步。
我通常使用這個命令來備份我的樹莓派(正如這里所解釋的)。我將所有這些重要文件發送到我的本地NAS(我正在使用這個設備)。這只需要幾秒鐘,之后我就知道我是安全的了。
系統更新
配置好網絡后,你將需要更新系統以獲取每個默認安裝包的最新版本。
在樹莓派操作系統上,以及通常在所有Linux發行版上,你安裝的每個應用或命令都有一個包。所有可用包的列表被稱為倉庫。安裝后,你需要定期更新這個倉庫和所有包以保持系統安全。
https://raspberrytips.com/security-tips-raspberry-pi/
這些命令解釋了如何做到這一點。我們將需要sudo來執行所有這些命令:
apt update:為你在配置中擁有的每個倉庫下載最新版本(/etc/apt/sources.list)。
sudoapt update

apt upgrade:如果需要,更新所有已安裝的包。
sudoapt upgrade
rpi-update:僅在你知道你在做什么時使用。
這個命令將更新你樹莓派上的一切(固件、包等),并可能破壞某些東西。
rpi-update
包管理
之后,你可能想在樹莓派上安裝新的包。
https://raspberrytips.com/install-apps-raspberry-pi/
以下是你需要知道的命令:
apt install :安裝指定的包。
sudoapt install phpmyadminsudo apt install vim htop
apt remove :刪除先前選擇的包。
sudo aptremovevim
apt search
- : 在包列表(倉庫)中搜索包名。
sudo aptsearchmyadminsudo aptsearchphp

dpkg -l:列出系統上所有已安裝的包。你可以使用grep來查找特定的包。
dpkg-ldpkg -l | grep myadmin
系統管理
以下是你經常用來管理樹莓派系統的命令:
reboot:顧名思義,這個命令將立即重啟樹莓派。
sudoreboot
shutdown -h now:這是立即停止樹莓派的命令。
sudoshutdown -h now
你可以用具體時間替換“now”(shutdown -h 12:05)。不要使用電源開關來停止你的樹莓派,你應該使用這個命令或這里和那里解釋的其他方法之一來正確操作。
service :這個命令允許你啟動或停止服務。
serviceapache2 startservice apache2 stop
有時根據服務不同還有其他選項,例如:
serviceapache2 reloadservice apache2 restart
不要輸入任何操作來查看所有可用操作:
serviceapache2
作為參考,你也可以使用systemctl來達到同樣的目的,在樹莓派操作系統上你可以選擇,但在某些系統上只有systemctl。
update-rc.d :在Debian上,這個命令允許你管理系統啟動或停止服務。
要啟動服務:
sudo update-rc.d sshenable
要禁用服務啟動:
sudoupdate-rc.d-fssh remove
-f選項用于強制刪除符號鏈接。這個命令僅適用于服務。要在啟動時啟動其他腳本或命令,你必須編輯/etc/rc.local文件。
sudo nano /etc/rc.local
ps:這個命令顯示樹莓派上所有正在運行的進程。
顯示所有內容的基本命令是:
psaux
你也可以顯示由特定用戶啟動的進程:
ps-u pi
這將給你一個如下所示的列表:

進程ID(PID)對于其他命令停止進程可能很有用(下一個命令)。
kill :kill命令允許你終止一個進程。你需要進程ID來做到這一點(見上一個命令)。
kill12345
有時你可能需要使用-9選項來強制停止所有相關命令。
例如,如果你在腳本中運行了20個命令并殺死了它,它將繼續執行下一行,而不是退出程序,除非你使用-9選項。
kill-912345
你也可以使用killall來停止一個程序的所有實例。
killallphp
這個命令將立即停止請求的進程,無論正在進行什么操作。這不是一個干凈的停止。
你不知道腳本正在做什么,所以它可能會損壞數據或破壞文件。
這應該作為最后一步使用,如果可能的話,在非關鍵進程上使用。
htop:這個工具是top的替代品。它比top更用戶友好,有顏色和動態負載條
htop
df:顯示分區列表,以及每個分區的磁盤空間使用情況和可用空間。
dfdf-h
-h選項用于人類可讀的格式。
vcgencmd measure_temp:你可能記不住這個命令,但它可以顯示當前的CPU溫度。
vcgencmdmeasure_temp
樹莓派操作系統命令
這篇文章中的大多數命令基本上都是Linux命令。
但樹莓派操作系統有一些獨有的命令,我將在這里介紹。
這些并不都是必不可少的,但即使你精通Linux,也可能不知道它們:
raspi-config:這個工具允許你通過終端或SSH連接管理所有配置。
sudoraspi-config

rpicam-still:如果你在攝像頭模塊上插入了攝像頭,這個命令會拍攝一張照片并將其保存為圖像文件。
rpicam-still -o image.jpg
注意:在舊版的樹莓派操作系統上,命令是libcamera-still或raspistill。對于下一個命令,舊命令是libcamera-vid和raspivid。
rpicam-vid:相同的命令,但它從攝像頭捕獲視頻。
rpicam-vid -o video.h264 -t10000
-t參數是捕獲時間,以毫秒為單位。
注意:raspividyuv/raspiyuv命令也已被rpicam-vid取代。因此,要獲取原始YUV視頻流,你需要一個像這樣的命令:
rpicam-vid -t10000--codec yuv420 -o test.data
raspi-gpio:這個命令允許你管理樹莓派的GPIO引腳,這些引腳通常與配件一起使用。你可以設置或獲取值。
raspi-gpiogetraspi-gpioget20raspi-gpioset20a5raspi-gpioset20op pn dh
rpi-update:僅在你知道你在做什么時使用。這將在你的樹莓派上更新一切(固件、包等),并可能破壞某些東西。
sudorpi-update
雜項命令
以下是一些我無法歸類到其他類別的其他有用命令:
history:Linux將你輸入的任何命令存儲在歸檔文件中。History就是用來顯示這個列表的命令。
history

你也可以清除所有歷史記錄。
history-c
或者清除一個特定的條目。
history-d12
閱讀我在這里寫的關于“history”命令的指南,了解更多細節和所有選項。
https://raspberrytips.com/history-linux-command/
crontab:Cron是一種在樹莓派上安排任務的工具。Crontab是你輸入每個要運行的任務行的文件。
crontab-l
crontab-e
-l選項用于顯示行。
-e選項用于編輯行。
你可以在前面使用sudo以root權限安排任務運行。
如果需要更多信息,我有關于這個主題的完整教程。
https://raspberrytips.com/schedule-task-raspberry-pi/
screen:這個工具允許你讓某件事情在后臺運行,即使你關閉了會話。
screen -s
screen -r
-s選項用于使用以下名稱啟動一個新的屏幕。
-r選項用于恢復一個使用此名稱正在運行的屏幕。
如果你想的話,可以忘記名稱,將生成一個ID,使用screen -r來查找它,并使用screen -r 來恢復它。
只有一個屏幕在運行時,screen -r將直接恢復它。
高級命令
在最后一部分,我將介紹一些高級用戶命令,以幫助你更好地掌握樹莓派。如果你是Linux新手,你可能不需要知道這些命令,但如果你想節省時間或在樹莓派上更進一步,你應該了解這些命令。
awk:awk幾乎是一種編程語言,它允許你搜索字符串并轉換它們以不同的方式顯示。
因此,很難在幾行內總結所有可能性,但我會嘗試給你一些例子來理解它。
awk的基本語法是這樣的:
awk-F":"'{print$1}'/etc/passwd
/etc/passwd是要解析的文件。字段分隔符是“:”,所以我們在-F選項中使用它。
然后在程序字符串中,我們要求只顯示第一列。
所以這個命令將只顯示用戶名列表。
sed:sed允許你做與awk類似的事情。這個命令將把文本轉換為你想要的樣子。
與awk一樣,這是一個需要掌握的復雜命令,我在這里只做簡單介紹。
基本語法如下:
sed
已收藏!你需要知道的57個常用樹莓派命令!