树莓派5(Raspberry Pi 5)学习记录2

前言:

       树莓派是一个完整的Linux计算机,对于Linux新手来说,初次使用树莓派的Raspberry Pi OS系统会遇到很多问题,其中比较主要的一个就是不了解各种Linux命令,所以为了之后能够更好地学习树莓派,我们需要先对Linux系统有一个简单的认识,我先分享我在树莓派的开发时遇到的一些Linux命令。

第二章: 树莓派的Linux系统及Linux命令

2.1 Linux系统 

Linux创始人: 林纳斯 托瓦兹

Linux 诞生于1991年,作者上大学期间,因为创始人在上大学期间经常需要浏览新闻和处理邮件,发现现有的操作系统不好用, 于是他决心自己写一个保护模式下的操作系统,这就是Linux的原型, 当时他21岁,后来经过全世界网友的支持, 现在能够兼容多种硬件,成为最为流行的服务器操作系统之一。

Linux系统由以下两部分组成:

Linux 系统内核
系统级应用程序

内核提供系统最核心的功能,如:调度CPU、调度内存、调度文件系统、调度网络通讯、调度IO等。

系统级应用程序,可以理解为出厂自带程序,可供用户快速上手操作系统,如:文件管理器、任务管理器、图片查看、音乐播放等。

 Linux的内核是免费、开源的,这也就代表了:(1)任何人都可以获得并修改内核,并且自行集成系统级程序。(2)其中提供了内核+系统级程序的完整封装,称之为Linux发行版。常见的、知名的Linux发行版如下:

其中,我们Raspberry Pi5使用的就是Debian 12版本的系统,别名bookworm。

2.2 图形化、命令行

对于操作系统的使用,有2种使用形式:

图形化页面使用操作系统
以命令的形式使用操作系统

不论是Windows还是Linux亦或是MacOS系统,都是支持这两种使用形式,其中:

图形化:使用操作系统提供的图形化页面,以获得图形化反馈的形式去使用操作系统。

命令行:使用操作系统提供的各类命令,以获得字符反馈的形式去使用操作系统。

Windows 系统的图形化和命令行:

      树莓派的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,以完全格式化的形式展示信息(展示全部信息)

其中从左到右分别是:

UID :进程所属的用户 ID
PID :进程的进程号 ID
PPID :进程的父 ID (启动此进程的其它进程)
C :此进程的 CPU 占用率(百分比)
STIME :进程的启动时间
TTY :启动此进程的终端序号,如上图中显示的 ? ,表示非终端启动
TIME :进程占用 CPU 的时间
CMD :进程对应的名称或启动路径或启动命令

  对于ps 命令来说也有一定的缺陷,那就是它只能显示进程某一时刻的信息。如果我们想要获取系统进程的动态信息可以借助top命令:

 top命令不但可以实时的显示进程动态,还可以提供一个交互界面,我们可以根据自己的需要,个性化定制自己的输出,更清楚地了解进程的实时状态。

如果要查找指定进程号ID,还可以使用pidof命令,例如:查找nginx的进程号:

pidof nginx
13312 5371
 2.3.3 结束进程

如果想要结束某个进程,可以使用kill命令,后面接上该进程的PID,语法如下:

kill -9 进程ID

选项:-9,表示强制关闭进程。不使用此选项会向进程发送信号要求其关闭,但是否关闭看进程自身的处理机制。

2.3.4 用户管理

无论是WindowsMacOSLinux均采用多用户的管理模式进行权限管理。

Linux 系统中,拥有最大权限的账户名为: root (超级管理员)
而在前期,我们一直使用的账户是普通的用户

root用户(超级管理员):

root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。

如上面的重启中我们在命令前面加了sudo命令,具体区别在于:

普通用户的权限,一般在其 HOME 目录内是不受限的
一旦出了 HOME 目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

树莓派的Raspberry Pi OS系统和一般的linux系统不太一样,树莓派的系统一般不会自动启动root用户,一般我们可以直接在命令前面加sudo来表示我们是用超级管理员的身份来执行代码:

sudo 其他命令

我们可以通过以下方式来启用树莓派的root用户:

1:设置密码

sudo passwd root

然后系统会要求我们输入两次密码(无提示,直接输就完事了)

2.切换root用户

su - root

其中su命令的语法为:

su - 用户名
- 符号是可选的,表示是否在切换用户后加载环境变量, 建议带上
参数:用户名,表示要切换的用户,用户名也可以省略,省略表示切换到 root
切换用户后,可以通过 exit 命令退回上一个用户,也可以使用快捷键: ctrl + d
使用普通用户,切换到其它用户 需要输入密码 ,如切换到 root 用户
使用 root 用户切换到其它用户, 无需密码 ,可以直接切换

在我们得知root密码的时候,可以通过su命令切换到root得到最大权限,但是事实上不建议长期使用root用户,避免带来系统损坏。我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。语法:

sudo 其他命令
在其它命令之前,带上 sudo ,即可为这一条命令临时赋予 root 授权
但是并不是所有的用户,都有权利使用 sudo ,我们 需要为普通用户配置 sudo 认证(默认的home用户不用配置)

2.3.5 文件管理

cd 切换工作目录

当Linux终端(命令行)打开的时候,会默认以用户的HOME目录作为当前的工作目录,我们可以通过cd命令,更改当前所在的工作目录。cd命令来自英文:Change Directory。其语法:

cd [linux路径]

       •cd命令无需选项,只有参数,表示要切换到哪个目录下

cd 命令直接执行,不写参数,表示回到用户的 HOME 目录

pwd 查看当前工作目录

我们可以通过pwd命令,来查看当前所在的工作目录。pwd命令来自:Print Work Directory。其语法:

pwd

 •pwd命令,无选项,无参数,直接输入pwd即可。

mkdir命令创建新的文件夹

通过mkdir命令可以创建新的目录(文件夹),mkdir来自英文:Make Directory。其语法:

mkdir -p [Linux路径]
参数 必填 ,表示 Linux 路径,即要创建的文件夹的路径,相对路径或绝对路径均可
-p 选项可选,表示自动创建不存在的父目录,适用于创建连续多层级的目录

nano命令创建和打开文件

当我们需要新建一个文件的时候,可以直接使用树莓派自带的nano编辑器。其语法:

nano 文件名 #如:nano helloworld.txt

      •如果当前目录下不存在该文件,就自动创建

      如过存在,就打开该文件

cp命令复制文件文件夹

cp命令可以用于复制文件\文件夹,cp命令来自英文单词:copy。其语法:

cp [-r] 参数1 参数2
-r 选项,可选,用于复制文件夹使用,表示递归
参数 1 Linux 路径,表示 被复制的文件或文件夹
参数 2 Linux 路径,表示要复制去的地方

mv移动文件或文件夹

mv命令可以用于移动文件\文件夹,mv命令来自英文单词:move。其语法:

mv 参数1 参数2 
参数 1 Linux 路径,表示被移动的文件或文件夹
参数 2 Linux 路径,表示要移动去的地方,如果目标不存在,则进行改名,确保目标存在

rm删除文件、文件夹

rm命令可用于删除文件、文件夹。rm命令来自英文单词:remove。其语法:

rm [-r -f] 参数1 参数2 ....参数N
cp 命令一样, -r 选项用于删除文件夹
-f 表示 force ,强制删除(不会弹出提示确认信息)
普通用户删除内容不会弹出提示,只有 root 管理员用户删除内容会有提示
所以一般普通用户用不到 -f 选项
参数 1 、参数 2 ...... 、参数 N 表示要删除的文件或文件夹路径,按照空格隔开

结尾:

       到这里本章就差不多结束了,在本章中我们提前了解了什么是linux系统以及一些linux系统的常用命令,实时上以上提到的大部分命令不只是在树莓派中,基本在大多数linux系统中都是通用的。大家如何有使用其他linux系统开发的场景,以上命令基本都可以使用,且功能一样。在使用树莓派前,这些命令我们应该尽量多掌握。树莓派开机前的知识就了解到这里,下一章我将开始对树莓派进行开机,正式使用我们的树莓派啦!

相关推荐

  1. 树莓5安装opencv

    2024-07-10 23:40:02       47 阅读
  2. 树莓5 Ubuntu 23.04 安装 DisplayLink 驱动

    2024-07-10 23:40:02       42 阅读

最近更新

  1. Log4j2原理及应用详解(十三)

    2024-07-10 23:40:02       0 阅读
  2. web学习笔记(八十二)uniapp

    2024-07-10 23:40:02       0 阅读
  3. git clone/push报错:HTTP Basic: Access denied

    2024-07-10 23:40:02       0 阅读
  4. 高等数学用到的初等数学

    2024-07-10 23:40:02       0 阅读
  5. JVM 在什么情况下会触发垃圾回收?

    2024-07-10 23:40:02       0 阅读
  6. Dubbo 的本地伪装

    2024-07-10 23:40:02       0 阅读

热门阅读

  1. 文心一言指令:快速入门手册

    2024-07-10 23:40:02       8 阅读
  2. 入门ARP协议

    2024-07-10 23:40:02       6 阅读
  3. 速盾:cdn 支持php吗?

    2024-07-10 23:40:02       8 阅读
  4. 【MySQL】MySQL索引失效场景

    2024-07-10 23:40:02       9 阅读
  5. Spark SQL

    Spark SQL

    2024-07-10 23:40:02      6 阅读
  6. windows node降级到指定版本

    2024-07-10 23:40:02       7 阅读