IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 嵌入式系统基本概念&&Linux常用命令 -> 正文阅读

[系统运维]嵌入式系统基本概念&&Linux常用命令

1. 嵌入式系统

以计算机应用为中心,以计算机技术为基础的,软硬件可裁剪的,对功能、性能、体积、可靠性等有严格要求的专用计算机系统。
PS:
linux系统:开源的
UNIX系统:不开源
IOS系统,基于UNIX开发的
Android 基于Linux开发

现在主流基于linux的系统的发行版本

  • centos、Ubuntu、Deepin(国产)、RedHat、Debian、Gentoo、Kali Linux、Arch Linux、Suse

2. 嵌入式层次图

-----------应用层--------
(用户空间) --> (0-3G)
应用程序App glibc [0-3G]
或者通过shell命令 shell脚本→命令行解释器→系统调用

-------------(系统调用swi)----------
(内核空间) —> [3-4G]
内核层:
5大功能:

  1. 文件管理:虚拟文件系统VFS
  2. 内存管理:内存的分配和回收
  3. 网络管理:网络协议栈
  4. 进程管理:linux是分时多任务的操作系统(时间片轮转,上下文切换)
  5. 设备管理:linux一切皆文件 bsp-lcd

设备驱动的管理 字符设备驱动:按照字节流来访问,并且顺序访问的设备就属于字符设备驱动。

块设备驱动:按照block(512字节)来访问的设备,可以顺序访问,也可以无序访问的设备。

网卡设备驱动:接收网络协议栈发来的数据,将这些向网线上收发即可。网卡驱动没有设备文件。

-------------------硬件层---------------------

硬件名驱动类型
LED si7006(温湿度传感器) LCD TOUCHSCREEN(触摸屏) camera字符设备驱动
emmc 硬盘 (Nor NAND)Flash u盘块设备驱动
dm9000网卡设备驱动

PS:
命令行解释器是一个单独的软件程序,它可在用户和操作系统之间提供直接的通讯。命令行解释器是解释器的一种,用于对命令行进行解释执行。

3. Linux常用命令

命令解释
ls -al显示所有文件的详细信息
ls -lh带单位显示文件大小
ls -i查看当前目录下文件的inode节点号
cd -返回上一次所在目录
pwd显示当前目录的绝对路径
mkdir -p a/b/c嵌套创建目录(创建了a目录,在其下创建了b目录,在b目录下创建了)
rmdir删除一个空目录文件
touch a创建a文件,如果a文件存在,则更新a文件的时间戳
rm -r删除目录文件
rm -rf 或者 rm -r强制删除目录或者文件,不加提示信息,如普通用户删除root用户创建的文件
cp dir1 dir2 -r复制目录

普通用户删除root用户创建的文件的提示信息
在这里插入图片描述

4. vim操作

命令操作
命令行模式
ngg光标回到第n行
ctrl r反撤销
shift zz保存并退出
低行模式
:x保存并退出
:vsp a分屏显示文件a
ctrl i右切换文件
ctrl h左切换文件
:/a在打开的所有文件中高亮显示an查找下一个,N查找上一个
:noh取消高亮
:%s/a/b/g将文件内所有a替换为b
:m,ns/a/b/g将第m行到第n行所有a替换成b
:set number设置行号
:set nonumber不显示行号

5. GNU工具

GNU下重要软件

  • Emacs代码编辑器工具
  • GNU C (gcc)
  • GNU C Library (glibc)
  • Bash shell

GUN & GPL

  • GNU = GNU is Not Unix 一个组织
  • GPL = General Public License 一个开源产品协议,在开源产品的基础上二次开发,必须公开源码

6. Linux软件包

.deb(ubuntu) .rpm(RedHat)

.deb软件包中包含 可执行程序,man手册,说明文档,配置信息等

6.1 Linux软件包命名规则

软件名版本号修订版本号架构(64位→amd64,32位→i386)后缀名(决定用在哪个发行版本上)
sl_3.03-17build2_amd64.deb

6.2 安装命令

离线安装dpkg

命令作用
sudo dpkg -i xx离线安装软件包xx
sudo dpkg -l xx查看 软件xx的版本
sudo dpkg -L xx查看软件xx的安装路径
sudo dpkg -r xx卸载软件xx(软件配置信息会保留)
sudo dpkg -P xx完全卸载软件

在线安装 apt-get

先检查软件的依赖,如果发现软件有依赖的其他软件,一并安装到自己的系统中

命令操作
sudo apt-get update更新下载源
sudo apt-get install xx安装软件xx
sudo apt-get install -f xx强制安装xx
sudo apt-get download xx只下载不安装xx
sudo apt-get source xx下载xx的源码
sudo apt-get remove xx卸载软件xx
sudo apt-get clean清理安装包(安装包默认路径 /var/cache/apt/archives)

PS:
由于用户所在的位置不同,访问服务器的时候,速率也不同。可以选择访问最快的服务器自己使用
比如选择清华镜像服务器:

  1. 找到软件 software & update
  2. 选择Ubuntu Software标签
  3. 从Download from中选择Other
  4. 在弹出提示框中选择China下的mirrors.tuna.tsinghua.edu.cn,然后点击choose Server
  5. 输入root用户密码
  6. 完成
  7. 在Software & Update界面,左下角有一个Revert按钮,用来恢复原来配置

部分好玩的软件

命令安装的软件
sudo apt-get install sl小火车应用程序
sudo apt-get install oneko一个小猫
sudo apt-get install bastet俄罗斯方块 终端字体缩小点就能玩
sudo apt-get install frozen-bubble泡泡龙
sudo apt-get install kolourpaint4画图板
sudo apt-get install xawtv打开摄像头的软件

7. 打包压缩命令

Linux中可压缩的格式

格式后缀
gzip.gz
bzip2.bz2
xz.xz

压缩速度:gz > bz2 > xz
压缩率:gz < bz2 < xz

命令操作
gzip xx将xx文件压缩成.gz格式
gunzip xx.gz.gz文件解压缩
bzip2 xx将xx文件压缩成.bz2格式
bunzip2 xx.bz2.bz2文件解压缩
xz xx将xx文件压缩成.xz格式
unxz xx.xz.xz文件解压缩

打包归档
格式
tar 参数 生成的包.tar 源目录
tar参数
通用解压命令
tar -xvf 文件名
在这里插入图片描述
注意:
c/x v j z J 这些参数顺序可以改变,唯一需要注意 f 只能放在最后

8. 查看文件内容

命令操作
cat xx查看xx文件内容
cat -n xx带行号查看xx文件内容
head xx显示xx文件前10行内容
head -n 5 xx or head -5 xx显示xx文件前5行
tail xx显示xx文件后10行
tail -n 5 xx or tail -5 xx显示文件后5行
tail -f xx动态监测文件内容更新情况
|管道描述符,将前一个命令的结果作为后一个命令的参数
head -16 xx | tail -4显示xx文件前16行中后四行的内容
more xx以百分比形式显示xx文件内容,回车键向下滚动, q退出
less xx以百分比形式显示文件内容,回车键向下滚动,q退出,向上滚动,向下滚动

9. 常用文件操作

命令操作
wc
wc xx统计文件内容的信息
在这里插入图片描述行数 单词数 字符数 文件名
wc -l xx统计xx文件的行数
wc -w xx统计xx文件的单词数
wc -c xx统计文件的字符数
wc -l *.c统计当前目录下,所有.c结尾文件的行数
grep检索文件内容
grep "string" xx在xx文件中查找含string的行
grep -n "string" xx查找结果带行号显示
grep -i "string" xx查找时,不区分大小写
grep -v "string" xx查找不包含string的行
grep -w "string" xx严格精确查找,结果中string不能带前缀或者后缀
grep "world" * -nR查找当前目录及子目录下所有文件中包world的行,带行号显示
grep "^string" xxstring开头
grep "*string$" xxstring结尾
grep "^string$" xx只有string
find查找文件
find ./ -name xx or find -name xx当前目录及子目录找xx文件
find -type f根据文件类型查找(bsp-lcd),f为普通文件
find -type f | xargs grep -n "string" --color=auto查找当前目录及其子目录下所有包含“string”的文件 --color=auto 自动高亮
cut按行按分隔符处理
cut -d : 1 xx在xx文件中以:为分隔符,取第一个
cut -d \" 1,2 xx在xx文件中以:为分隔符,取第一个和第二个,采用"分割时,需要用反斜杠\来转义

PS:

使用find时,注意find -name *.c执行时,命令行解释器会将其翻译成find -name a.c b.c d.c这样会导致find命令参数错误,可以使用find -type f | grep ".c$"来查找所有.c文件

10. 通配符

符号作用
*匹配任意长度任意字符
?只通配一个字符
[abc]通配abc
[1-5]通配15中任意一个
[^abc] or [^a-c]通配除abc外任意一个字符
[a-c]通配a, b, c中任意一个字符,但有的计算机也会匹配到A, B, C

PS:
最后一条的结果,产生的原因是本地语序,一般本地语序是aAbBcCdD...,可以修改环境变量来取消本地语序export LC_ALL=C,取消后的语序为abcd...z ABCD...Z,这样用[a-c]通配时,就只会通配abc

11. 文件权限

使用ls -l查看文件信息时有:
drwxr-xr-x 3 top top 4096 Oct 2 15:54 ./
在这里插入图片描述

文件类型当前用户权限同组用户权限其他用户权限该目录下有几个目录,如果是文件默认为1所属用户所属组文件大小(字节)时间戳(最后一次修改时间)文件名
drwxr-xr-x1stustu4096Oct 2 15:54./

PS: ./表示当前目录文件

修改文件权限

只有文件所属用户和root用户可以修改权限
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

12. 软链接与硬链接

软链接
ln -s 被链接的文件(绝对路径) 软链接文件
-s参数,表示生成软链接,symbolic
软链接相当于快捷方式,创建一个文件,链接到源文件,我们就可以通过软链接文件去访问源文件
Ps:

  1. 生成的软链接文件用绝对路径,如果用相对路径时,移动软链接文件,链接破裂,链接文件不可用。
  2. 当软连接创建位置不在当前目录时,源文件也应该用绝对路径,否则用软链接找不到源文件。
  3. 当被链接的文件移动或者删除时,链接文件就会失效

硬链接
ln 被链接的文件 软连接文件
相当于给源文件起一个别名,源文件与硬链接文件的inode号都是相同的。

13. 用户管理相关

添加新用户

命令操作
sudo adduser xx添加新用户xx,会提示添加用户信息

注意:
新增用户没有sudo权限,需要在/etc/sudoers文件中添加
/etc/sudoers 是只读的 应该先增加写权限 再修改
复制一份有权限的用户的记录,把名字改成新用户就可以了
修改后 记得将写权限去掉

切换用户

命令操作
su xx切换到xx用户
su - xx切换用户同时,加载用户的环境变量
exit退出当前用户
sudo passwd xx修改用户xx的密码
sudo deluser xx删除用户
id xx查看用户信息
sudo usermod -c "string" 用户名将用户的描述信息更改为string
sudo usermod -d /home/hello 用户名将用户的家目录改为/home/hello(需要将用户的隐藏配置文件都移过去)
sudo usermod -l 新用户名 用户名修改用户名
sudo usermod -g 新的组名 用户名修改用户所属于的组

14. 磁盘相关

磁盘类型

  • FAT32 不能存 > 4G 的文件
  • NTFS 可以存 > 4G 的文件
  • ext4 Linux用的文件系统
命令操作
sudo fdisk -l查看系统挂载的磁盘信息
sudo df -h查看磁盘使用情况
sudo mount /dev/sdb2 ~/temp/dev/sdb1挂在到 ~/temp

查看磁盘的其他操作
sudo fdisk /dev/sda1
输入m

帮助:
DOS (MBR)
a 开关 可启动 标志
b 编辑嵌套的 BSD 磁盘标签
c 开关 dos 兼容性标志
常规
d 删除分区
F 列出未分区的空闲区
l 列出已知分区类型
n 添加新分区
p 打印分区表
t 更改分区类型
v 检查分区表
i 打印某个分区的相关信息
杂项
m 打印此菜单
u 更改 显示/记录 单位
x 更多功能(仅限专业人员)
脚本
I 从 sfdisk 脚本文件加载磁盘布局
O 将磁盘布局转储为 sfdisk 脚本文件
保存并退出
w 将分区表写入磁盘并退出
q 退出而不保存更改
新建空磁盘标签
g 新建一份 GPT 分区表
G 新建一份空 GPT (IRIX) 分区表
o 新建一份的空 DOS 分区表
s 新建一份空 Sun 分区表

15. 环境变量

存在系统中的变量,保存系统启动或者系统运行相关的一些配置信息

命令操作
env查看已有环境变量

OLDPWD记录上一次所在路径
HOME记录家目录路径
PATH记录可执行文件路径

修改环境变量

1、export
export PATH=$PATH:/home/stu/test/bin
临时修改只对当前终端有效
2、修改家目录的.bashrc文件
export PATH=$PATH:/home/stu/test/bin放入.bashrc文件,然后注销再登录或者执行命令source .bashrc,就会对当前用户生效
3、x修改系统加载文件
/etc/environment 或者 /etc/profile
这两个文件在系统启动时会执行,会对所有用户有效
重启或者执行命令source /etc/profile 或者 source /etc/environment生效

16. 关机与重启

命令操作
sudo shutdown -h now立即关机
sudo shutdown -h 10:3010:30关机
sudo shutdown -h 55分钟后关机
sudo shutdown -r now立即重启
sudo reboot立即重启
sudo shutdown -c取消关闭计划
sudo shutdown -h or sudo shutdown -r默认在一分钟后执行

17. 网络

Ubuntu设置网络方式

1、图形化界面
右上角在这里插入图片描述进入网络设置,添加相关参数,一般选自动,也可以选择手动设置,然后应用,退出。

2、配置文件设置静态IP
Ubuntu18.04版本后,不再使用/etc/network/interfaces这个文件
改用/etc/netplan下的配置文件01-network-manager-all.yaml
执行命令
sudo vi /etc/netplan/01-network-manager-all.yaml
该文件有严格的格式要求,缩进控制,冒号后必须加空格,gateway4不加方括号[]

# Let NetworkManager manage all devices on this system
network:
	version: 2
	renderer: NetworkManager
	ethernets:
		ens37:
			addresses: [192.168.0.54/24]
			gateway4: 192.168.0.1
			nameservers:
				addresses: [8.8.8.8,114.114.114.114]
			dhcp4: no
			optional: no

注意:
第六行的ens37指的是所使用的网卡,要跟自己所用的网卡号相同,可以通过左上角三个方块的图标查看。
第七行是IP地址
第八行是网关
第十行是DNS域名解析服务器地址
在这里插入图片描述

命令操作
ifconfigLinux查看网络信息
ipconfigwindows查看网络信息
sudo service network-manager restart重启网络管理服务
ping www.baidu.com测试访问www.baidu.com网站
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-03 17:25:02  更:2021-10-03 17:27:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 17:16:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码