前言:
树莓派是一个完整的Linux计算机,对于Linux新手来说,初次使用树莓派的Raspberry Pi OS系统会遇到很多问题,其中比较主要的一个就是不了解各种Linux命令,所以为了之后能够更好地学习树莓派,我们需要先对Linux系统有一个简单的认识,我先分享我在树莓派的开发时遇到的一些Linux命令。
第二章: 树莓派的Linux系统及Linux命令
2.1 Linux系统
Linux创始人: 林纳斯 托瓦兹
Linux 诞生于1991年,作者上大学期间,因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用, 于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型, 当时他21岁,后来经过全世界网友的支持, 现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。
Linux系统由以下两部分组成:
内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。
系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。
Linux的内核是免费、开源的,这也就代表了:(1)任何人都可以获得并修改内核,并且自行集成系统级程序。(2)其中提供了内核+系统级程序的完整封装,称之为Linux发行版。常见的、知名的Linux发行版如下:
其中,我们Raspberry Pi5使用的就是Debian 12版本的系统,别名bookworm。
2.2 图形化、命令行
对于操作系统的使用,有2种使用形式:
不论是Windows还是Linux亦或是MacOS系统,都是支持这两种使用形式,其中:
•图形化:使用操作系统提供的图形化页面,以获得图形化反馈的形式去使用操作系统。
•命令行:使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统。
树莓派的Linux系统的图形化和命令行
对于习惯了使用Windows系统的我们来说,图形化是大多数人使用计算机的第一选择,但是在Linux操作系统上,这个选择被反转了。无论是企业开发亦或是个人开发,使用Linux操作系统,多数都是使用的:命令行。
这是因为:
•Linux从诞生至今,在图形化页面的优化上,并未重点发力。所以Linux操作系统的图形化页面:不好用、不稳定。
所以为了之后能够更好的学习和使用树莓派,我们就需要对一些命令做一个提前了解。
2.3 Linux命令
在这里我就简单介绍一下我们使用树莓派的过程中会涉及到的一些系统管理的操作,如:关机重启、查看与终止进程、增减用户、修改密码和管理服务等基础命令。
2.3.1 关机重启
在Linux中,我们可以使用命令来快速对系统进行关机、重启等操作,由其是重启,我们在更改某些配置的时候会频繁的重启计算机以完成更新配置,所以记住这几个命令可以大大提高我们的效率。
1.重启
sudo reboot
2.关闭系统并且切断电源
sudo poweroff
3.定时关机
sudo shutdown -h xx:xx #xx:xx为我们的关机具体时间,如:09:14 表示在上午9点14分关机
4.关闭系统
sudo halt
在这几条命令中我们需要注意的有关闭系统的halt命令,这条命令与poweroff命令不一样,该命令会在树莓派关机前停止所有的CPU功能。执行的时候:结束应用进程、执行sync系统调用、文件系统写操作完成后就会停止内核。推荐使用这条命令来关机。
2.3.2 查看与终止进程
我们的程序运行在操作系统中,是被操作系统所管理的。为管理运行的程序,每一个程序在运行的时候,便被操作系统注册为系统中的一个:进程。并且系统会为每一个进程都分配一个独有的:进程ID(进程号)。
在Windows系统中我们可以通过使用任务管理器来查看我们的进程,在我们树莓派的Raspberry Pi OS系统中也有一些简单的命令可以查看正在运行的进程。
首先是ps命令,我们可以通过ps命令查看Linux系统中的进程信息。语法:
ps [-l -e -f]
选项:-l,显示出当前bash下相关进程的全部信息
选项:-e,显示出全部的进程
选项:-f,以完全格式化的形式展示信息(展示全部信息)
其中从左到右分别是:
对于ps 命令来说也有一定的缺陷,那就是它只能显示进程某一时刻的信息。如果我们想要获取系统进程的动态信息可以借助top命令:
top命令不但可以实时的显示进程动态,还可以提供一个交互界面,我们可以根据自己的需要,个性化定制自己的输出,更清楚地了解进程的实时状态。
如果要查找指定进程号ID,还可以使用pidof命令,例如:查找nginx的进程号:
pidof nginx
13312 5371
2.3.3 结束进程
如果想要结束某个进程,可以使用kill命令,后面接上该进程的PID,语法如下:
kill -9 进程ID
选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。
2.3.4 用户管理
无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。
root用户(超级管理员):
root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。
如上面的重启中我们在命令前面加了sudo命令,具体区别在于:
树莓派的Raspberry Pi OS系统和一般的linux系统不太一样,树莓派的系统一般不会自动启动root用户,一般我们可以直接在命令前面加sudo来表示我们是用超级管理员的身份来执行代码:
sudo 其他命令
我们可以通过以下方式来启用树莓派的root用户:
1:设置密码
sudo passwd root
然后系统会要求我们输入两次密码(无提示,直接输就完事了)
2.切换root用户
su - root
其中su命令的语法为:
su - 用户名
在我们得知root密码的时候,可以通过su命令切换到root得到最大权限,但是事实上不建议长期使用root用户,避免带来系统损坏。我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。语法:
sudo 其他命令
2.3.5 文件管理
cd 切换工作目录
当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录,我们可以通过cd命令,更改当前所在的工作目录。cd命令来自英文:Change Directory。其语法:
cd [linux路径]
•cd命令无需选项,只有参数,表示要切换到哪个目录下
pwd 查看当前工作目录
我们可以通过pwd命令,来查看当前所在的工作目录。pwd命令来自:Print Work Directory。其语法:
pwd
•pwd命令,无选项,无参数,直接输入pwd即可。
mkdir命令创建新的文件夹
通过mkdir命令可以创建新的目录(文件夹),mkdir来自英文:Make Directory。其语法:
mkdir -p [Linux路径]
nano命令创建和打开文件
当我们需要新建一个文件的时候,可以直接使用树莓派自带的nano编辑器。其语法:
nano 文件名 #如:nano helloworld.txt
•如果当前目录下不存在该文件,就自动创建
•如过存在,就打开该文件
cp命令复制文件文件夹
cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy。其语法:
cp [-r] 参数1 参数2
mv移动文件或文件夹
mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move。其语法:
mv 参数1 参数2
rm删除文件、文件夹
rm命令可用于删除文件、文件夹。rm命令来自英文单词:remove。其语法:
rm [-r -f] 参数1 参数2 ....参数N
结尾:
到这里本章就差不多结束了,在本章中我们提前了解了什么是linux系统以及一些linux系统的常用命令,实时上以上提到的大部分命令不只是在树莓派中,基本在大多数linux系统中都是通用的。大家如何有使用其他linux系统开发的场景,以上命令基本都可以使用,且功能一样。在使用树莓派前,这些命令我们应该尽量多掌握。树莓派开机前的知识就了解到这里,下一章我将开始对树莓派进行开机,正式使用我们的树莓派啦!