Linux的初步了解及使用

一、什么是嵌入式开发?
以计算机应用为核心,软硬件可裁剪的专用计算机系统,对功耗,体积,成本,可靠性有要求的系统
unix:macos,ios
linux:安卓,ubuntu,redhat,deepin,centos
win:windows
鸿蒙OS
(在已有的硬件上移植操作系统)
优点:提高软件移植性
缺点:开发成本高
传统开发:软硬件的耦合度高

二、Linux的由来
1965年 300用户 mutils 贝尔实验室
1969年 汤姆森肯 贝尔 4周 unics
1973年 贝尔 c语言 unix —>大学实验室
1985年 自由软件 理查德 GUN组织 GPL开源协议
gcc,bash
1991年 林纳斯 i386电脑 Linux(类unix)

三 Linux的系统的层次
应用层
APP,makefile命令,脚本
内核层
内核层的五大功能:
文件管理:(通过文件系统对文件组织管理)
内存管理:(内存的申请和释放工作)
网络管理:(通过网路协议进行网络数据包的收发)
进程管理:(程序的一次执行过程,进程的创建,销毁,调度等)
设备管理:(设备驱动的管理)
硬件层
LED,Camera, 触摸屏,网卡,硬盘等
linux系统:分时,多任务,多用户的操作系统

在这里插入图片描述

CPU:
L1CACHE:大概是:1700GB/S
L2CACHE:大概是:200GB/S
内存:
ddr3:内存大概是10GB/S
ddr4: 内存大概是60GB/S
硬盘:机械硬盘(HDD):100MS/S
SATA: (SSD): 450MS/s
nvme (SSD): 2000ms/s

四 linux的目录结构
文件,文件夹 (目录)
在这里插入图片描述

五 命令行提示符的介绍
jsetc @ linux : /dev $
jsetc——用户名
@——分隔符
linux——主机名
/dev——当前所在的路径
$——表示权限 $:普通用户
#:管理员权限
~:用户目录的路径 (/home/jsetc)

六:linux的基本命令
-:后面一般跟属性
*:所有
6.1 ls
ls:显示当前所有的目录和文件
ls -a:显示所有的隐藏目录和文件
ls -l: 显示当前目录和文件的所有属性
ls -al:(ll)显示所有隐藏文件或者目录的属性

6.2 cd 命令
cd:(change dir)
cd 路径 //进入指定的目录
路径:
绝对路径:从根目录开始的路径
相对路径:从当前目录开始的路径(逻辑路径)
在这里插入图片描述6.3 pwd命令
显示当前用户所在的路径(绝对路径)
6.4 mkdir 命令
mkdir:(make dir):创建目录
用法:mkdir 目录名
mkdir 目录1 目录2
6.5 sudo命令
含义:以管理员权限运行
6.6 touch命令
功能:创建文件
touch 文件名
6.7 rm命令
功能:删除文件或者目录
用法:rm -rf: 递归强制删除
6.8 cp命令
功能:复制文件或者目录
用法:cp 源路径 目的路径
cp 源路径 目的路径 -r //复制的是一个目录
6.9 mv命令
功能:移动一个文件或者目录,改名字,剪切
用法:mv 源路径 目的路径
6.10 cat命令
功能:查看文件中的内容
用法:cat 文件
cat -n 文件名 //显示行号
6.11 su命令
功能:切换用户
sudo su 用户名
举例: 普通用户—>管理员 sudo su root
管理员 ---->普通用户 su jsetc
6.12 clear命令
功能:清屏(ctrl + l)
6.13 tab按键补齐
6.14 find 文件查找命令
find 路径 -name 文件名

七 vim编译器
vim编译器的三种模式:
命令行模式:ESC
yy:复制
p:粘贴
nyy:复制n行
u:撤销
dd:剪切
ndd:剪切n行
gg: 跳转到首行
G:跳转到尾行
ngg:跳转到第n行
shift +zz(或者ZZ):退出并保存
插入模式:在命令行模式下:输入 i
底行模式:在命令行模式下:输入:shift + :
w:保存
q: 退出
wq:保存并推出
q!:不保存退出
set nu:显示行号
set nonu:取消显示行号
vsp 文件名 :左右分屏打开多个文件
sp 文件名:上下分屏

八 gcc编译器
下载命令: sudo apt-get install gcc
编译第一个代码:
gcc hello.c -o hello //-o:更改可执行文件名
8.1 gcc编译过程
预处理(-E)
预处理:头文件的展开,宏的替换,条件编译等。

gcc -E hello.c -o hello.i

编译(-S)
编译:进行语法检查,如果代码有语法错误,会报错,编译结束,生成汇编文件

gcc -S hello.i -o hello.s

汇编(-c)
汇编:将汇编文件转换成二进制文件,还没有链接到库,不可执行

gcc -c hello.s -o hello.o

链接
将所有的.o文件链接生成可执行文件

gcc hello.o -o hello

九 安装软件
(1)ubuntu deb
(2)redhat rpm
sl      _     3.03 -   17        build2_amd64    .deb|              |       |              |软件名       主版本   修订版本      架构(64位)

离线安装:dpkg:在安装软件的时候,如果有依赖,这些依赖程序不会被安装

sudo dpkg -i 软件包名    //安装软件
在终端上输入软件的名字    //执行软件
sudo dpkg -r 软件名     //卸载软件(会保留配置文件)
sudo dpkg -p 软件名     //完全卸载  
sudo dpkg -l 软件名     //查看软件的安装状态
sudo dpkg -L 软件名    //列举这个软件相关的所有路径
sudo dpkg -s sl       //查看软件的安装状态(更详细)

虚拟机网络配置
在线安装

apt-get,在线安装如果有依赖程序,这些依赖的程序会被一并安装上去
选择软件源:

sudo apt-get update   //更新软件源
sudo apt-get install -f //更新软件依赖
sudo apt-get install gcc
sudo apt-get install net-tools
sudo apt-get install oneko
sudo apt-get install cowsay
sudo apt-get install cmatrix
sudo apt-get install frozen-bubble

sudo apt-get remove 软件名
sudo apt-get download 软件名
sudo apt-get clean   //清除目录下/var/cache/apt/archives的安装包

补充:
[1]压缩命令

压缩的对象是文件(目录不能被压缩)
ubuntu上的压缩文件的格式 .gz .bz2 .xz

gzip/gunzip     ------>xxx.gz
bzip2/bunzip2   ------>xxx.bz2
xz/unxz         ------->xxx.xz
压缩前:
    -rwxrw-r-- 1 jsetc jsetc 6848 114 16:09 seqlist.c*
gzip:
    -rwxrw-r-- 1 jsetc jsetc 1845 114 16:09 seqlist.c.gz*
bzip2:
    -rwxrw-r-- 1 jsetc jsetc 1934 114 16:09 seqlist.c.bz2*
xz:
    -rwxrw-r-- 1 jsetc jsetc 1800 114 16:09 seqlist.c.xz*

压缩率: xz > gzip >bzip2
压缩速率:xz < gzip < bzip2
使用方法:
gzip/gunzip 文件名
注意:压缩和解压缩文件会被替换
[2] 打包(归档
归档的对象是一个目录
将一个目录归档成一个文件,或者将这个归档后的文件重新释放变成一个目录

tar 命令
-c:创建归档文件
-x:释放归档文件
-z:压缩成gzip格式
-j:压缩成bzip2格式
-J:压缩成xz格式
-v:显示过程
-f:后跟的是文件的名字

1.归档
tar -cf hello.tar hello //将hello的目录打包成hello.tar文件
tar -xf hello.tar //将hello.tar拆成hello目录
2.打包并压缩成gzip格式
tar -czf tongxunlu.tar.gz tongxunlu
3.打包并压缩成bzip2格式
tar -cjf tongxunlu.tar.bz2 tongxunlu
4.打包并压缩成xz格式
tar -cJf tongxunlu.tar.xz tongxunlu
5.拆包(解压缩)
tar -xvf 压缩包 //万能拆包命令
tar -xvf 压缩包 -C 路径
【3】chmod
功能:修改文件的权限
用法:

chmod 权限 文件名
chmod 777 文件名
u:usr 当前用户权限
g:group 同组用户其他用户权限
o:other:其它用户权限
a:all:所有用户
chmod o+x 文件名  //给其它用户加上可执行权限
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值