初次使用树莓派并不总是那么容易,因为你可能还没有使用命令行的习惯。然而,终端命令是必不可少的,而且通常比通过图形用户界面(GUI)操作更高效。那么,有哪些重要的命令是你应该知道的呢?
有相当多的命令,下面我们将按类别介绍57个最常用的命令:
目录
文件管理
网络命令
系统更新
包管理
系统管理
树莓派操作系统命令
杂项命令
高级命令
这份列表是基于我与树莓派和Linux打交道的一般经验整理的。我们使用系统的方式各不相同,你可能会用到一些这里没有列出的命令。然而,本文的目标不是列出所有命令,而是向你介绍一些重要的命令。让我们开始吧。
文件管理
这些是每个Linux初学者都应该学习的基本命令。
你可能已经知道这些命令,所以这部分内容可以作为复习。
Linux文件组织结构是一棵树,从根目录开始:/
在根目录下创建的每个子文件夹都可以通过/来访问。
例如:/var/log ⇒ log是/var的子文件夹,var是/的子文件夹。
如果你没有权限访问某个文件或目录,别忘了使用sudo(sudo可以让你对接下来的命令拥有管理员权限)。
cd : 更改目录,进入文件树中的指定文件夹。
cd /home/pat
ls: 列出当前或指定文件夹中的文件和目录。
ls /home/patls -latr /home/pat

mkdir : 在当前或指定文件夹中创建一个新的子文件夹。
mkdir myfoldermkdir /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 /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 /var/log/syslog
你可以使用-n指定要显示的行数。
tail -n20 /var/log/syslog
最后,我最喜欢的是使用-f选项实时显示新行。
tail -f /var/log/syslog
head /home/pat/file.txthead -n20 /home/pat/file.txt
grep : Grep是一个强大的文本搜索工具。你可以使用它来搜索文件中的内容,或者过滤另一个命令或脚本的输出。
基本用法:
grep dhcp /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页面以了解你可以用它做什么。
man grep
你也可以阅读我在这里写的关于grep的专门文章。
nano :Nano是一个文本编辑器。要详细介绍它需要一整篇文章(我已经写过了,点击这里阅读更多内容)。
它允许你编辑文件,并使用(CTRL + O,回车,CTRL + X)保存更改。
nano /home/pat/myscript.sh
你可以在屏幕底部找到所有可用操作。
rm :删除文件。对于文件夹,添加选项-rf(递归和强制)
rm monscript.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地址(如果已连接)。
ip a

这是查找树莓派地址的最简单方法,但当你无法访问它时,还有其他解决方案(正如我在这篇文章中解释的那样)。
https://raspberrytips.com/find-current-ip-raspberry-pi/
ping :向网络上的另一个IP发送ping数据包,以检查主机是否在线。
ping 192.168.1.1
ip link set
sudo ip link set eth0 up
ip link set
sudo ip link set wlan0 down
顺便说一下,如果你不使用Wi-Fi接口,禁用它是个好主意。你可以在这篇文章中找到更多永久解决方案,但这个命令是一种快速的方法。
文件传输和远程连接
wget : 这个命令允许你从互联网下载文件。
wget https://wordpress.org/latest.zip
ssh @:SSH是一种网络协议,为你提供了一种安全连接到远程计算机的方式。
ssh root@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)。
sudo apt update

apt upgrade:如果需要,更新所有已安装的包。
sudo apt upgrade
rpi-update:仅在你知道你在做什么时使用。
这个命令将更新你树莓派上的一切(固件、包等),并可能破坏某些东西。
rpi-update
包管理
之后,你可能想在树莓派上安装新的包。
https://raspberrytips.com/install-apps-raspberry-pi/
以下是你需要知道的命令:
apt install : 安装指定的包。
sudo apt install phpmyadminsudo apt install vim htop
apt remove : 删除先前选择的包。
sudo apt remove vim
apt search
sudo apt search myadminsudo apt search php

dpkg -l:列出系统上所有已安装的包。你可以使用grep来查找特定的包。
dpkg -ldpkg -l | grep myadmin
系统管理
以下是你经常用来管理树莓派系统的命令:
reboot:顾名思义,这个命令将立即重启树莓派。
sudo reboot
shutdown -h now:这是立即停止树莓派的命令。
sudo shutdown -h now
你可以用具体时间替换“now”(shutdown -h 12:05)。不要使用电源开关来停止你的树莓派,你应该使用这个命令或这里和那里解释的其他方法之一来正确操作。
service : 这个命令允许你启动或停止服务。
service apache2 startservice apache2 stop
有时根据服务不同还有其他选项,例如:
service apache2 reloadservice apache2 restart
不要输入任何操作来查看所有可用操作:
service apache2
作为参考,你也可以使用systemctl来达到同样的目的,在树莓派操作系统上你可以选择,但在某些系统上只有systemctl。
update-rc.d : 在Debian上,这个命令允许你管理系统启动或停止服务。
要启动服务:
sudo update-rc.d ssh enable
要禁用服务启动:
sudo update-rc.d -f ssh remove
-f选项用于强制删除符号链接。这个命令仅适用于服务。要在启动时启动其他脚本或命令,你必须编辑/etc/rc.local文件。
sudo nano /etc/rc.local
ps:这个命令显示树莓派上所有正在运行的进程。
显示所有内容的基本命令是:
ps aux
你也可以显示由特定用户启动的进程:
ps -u pi
这将给你一个如下所示的列表:

进程ID(PID)对于其他命令停止进程可能很有用(下一个命令)。
kill : kill命令允许你终止一个进程。你需要进程ID来做到这一点(见上一个命令)。
kill 12345
有时你可能需要使用-9选项来强制停止所有相关命令。
例如,如果你在脚本中运行了20个命令并杀死了它,它将继续执行下一行,而不是退出程序,除非你使用-9选项。
kill -9 12345
你也可以使用killall来停止一个程序的所有实例。
killall php
这个命令将立即停止请求的进程,无论正在进行什么操作。这不是一个干净的停止。
你不知道脚本正在做什么,所以它可能会损坏数据或破坏文件。
这应该作为最后一步使用,如果可能的话,在非关键进程上使用。
htop:这个工具是top的替代品。它比top更用户友好,有颜色和动态负载条
htop
df:显示分区列表,以及每个分区的磁盘空间使用情况和可用空间。
dfdf -h
-h选项用于人类可读的格式。
vcgencmd measure_temp:你可能记不住这个命令,但它可以显示当前的CPU温度。
vcgencmd measure_temp
树莓派操作系统命令
这篇文章中的大多数命令基本上都是Linux命令。
但树莓派操作系统有一些独有的命令,我将在这里介绍。
这些并不都是必不可少的,但即使你精通Linux,也可能不知道它们:
raspi-config:这个工具允许你通过终端或SSH连接管理所有配置。
sudo raspi-config

rpicam-still:如果你在摄像头模块上插入了摄像头,这个命令会拍摄一张照片并将其保存为图像文件。
rpicam-still -o image.jpg
注意:在旧版的树莓派操作系统上,命令是libcamera-still或raspistill。对于下一个命令,旧命令是libcamera-vid和raspivid。
rpicam-vid:相同的命令,但它从摄像头捕获视频。
rpicam-vid -o video.h264 -t 10000
-t参数是捕获时间,以毫秒为单位。
注意:raspividyuv/raspiyuv命令也已被rpicam-vid取代。因此,要获取原始YUV视频流,你需要一个像这样的命令:
rpicam-vid -t 10000 --codec yuv420 -o test.data
raspi-gpio:这个命令允许你管理树莓派的GPIO引脚,这些引脚通常与配件一起使用。你可以设置或获取值。
raspi-gpio getraspi-gpio get 20raspi-gpio set 20 a5raspi-gpio set 20 op pn dh
rpi-update:仅在你知道你在做什么时使用。这将在你的树莓派上更新一切(固件、包等),并可能破坏某些东西。
sudo rpi-update
杂项命令
以下是一些我无法归类到其他类别的其他有用命令:
history:Linux将你输入的任何命令存储在归档文件中。History就是用来显示这个列表的命令。
history

你也可以清除所有历史记录。
history -c
或者清除一个特定的条目。
history -d 12
阅读我在这里写的关于“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
全部0条评论
快来发表一下你的评论吧 !