嵌入式学习--LinuxDay01

1 Linux

1.1 Linux起源

https://mp.weixin.qq.com/s?__biz=MzkzNzAwNDAzNQ==&mid=2247483775&idx=1&sn=fc5ab0d0ac067f6605906888b40e05bb&chksm=c2975c13f5e0d505fe3074729088341552275cbfa0f95ff8a0b4627b1003493c1011077e2f89&mpshare=1&scene=23&srcid=0902yXFHTAa1jzL68pTXNIWX&sharer_sharetime=1662117806737&sharer_shareid=b33de6e893f06376514acc7d36a0a351#rd

1. linux是什么?

系统内核

2. linux的优点?

模块化程度高硬件支持广泛安全稳定可移植性良好

3. ubuntu是什么?

linux的发行版

操作系统 = 内核 + 应用 + 硬件驱动

windows         NT

ubuntu           linux

Andriod         linux

Mac Os         unix

1.2查看系统版本

1)查看ubuntu版本

sudo lsb_release -a

cat /etc/issue

2)查看内核版本

uname -r

cat /proc/version

5.4.0-150-generic

5:主版本号

4:次版本号

0:修订版本号

150:5.4.0第150次微调

generic:通用版本

1.3分层结构

应用层 程序、命令

内核层 五大功能:进程管理、设备管理、网络管理、内存管理、文件系统管理

1. 进程管理 进程:程序的一次执行过程

2. 设备管理 设备驱动

3. 网络管理 TCP UDP

4. 内存管理 malloc free

5. 文件系统管理

/home 存放用户信息

/etc 配置文件 passwd 存放用户信息 init.d 存放所有服务的启动脚本

/dev 设备文件

/bin 二进制文件

/boot 存放linux内核和系统的启动文件

/mnt 挂载目录

/lib 库文件

/proc 进程相关的信息文件

硬件 鼠标、键盘

1.4 关机重启命令

sudo shutdown -h now 立即关机

sudo shutdown -r now 立即重启

sudo reboot now 立即重启

sudo shutdown -h 时间 提示语句:定时关机

sudo shutdown -r 时间 提示语句:定时重启

shutdown -c 取消操作

2.linux安装工具

2.1软件包的安装

2.1.1软件包的管理机制

常见软件包的后缀:

windows       .exe

andriod        .apk

ubuntu         .deb

redhat          .rpm

debian : deb软件包的管理机制

redhat : rpm的管理机制 Redhat Pakeage Manager

查看Ubuntu的管理机制

sudo vi /etc/apt/sources.list 源

2.1.2软件包的分类

二进制软件包: xxx.deb

源码包: xxx.dsc 源码、二进制文件、配置文件、说明文档

二进制软件包和源码包的区别?

二进制包里面包括了已经经过编译,可以马上运行的程 序。你只需要下载和解包(安装)它们以后,就马上可以使用。

源代码包里面包括了程序原始的程序代码,需要在你的计算机上进行编译以后才可以产生可以运行程 序,所以从源代码安装的时间会比较长。

2.1.3软件管理工具

在Debian的linux发行版本下,采用dpkg和apt两种包管理工具。

dpkg与apt工具的区别:

dpkg : 离线安装,安装本地包,不需要网络;不能检查包的依赖关系,不关系仓库内的软件

apt: 在线安装,通过仓库获取软件包资源,解决依赖关系,把依赖包一起安装,不能安装本地包

2.2dpkg工具

dpkg -i 软件包的全称

sudo dpkg -i 软件包全称 : 安装软件

sudo dpkg -s 软件包名 :检查软件的安装状态

运行: 软件包名称

sudo dpkg -L 软件包名 :显示软件包的安装路径

sudo dpkg -r 软件包名 :卸载软件

sudo dpkg -P 软件包名:完全卸载软件,重新下载不会保留上次的配置

2.3apt

2.3.1apt-get

源头:/etc/apt/sources.list

默认下载路径: /var/cache/apt/archives

sudo apt-get install 软件包名: 安装软件包

例如:sudo apt-get install oneko

运行:oneko

sudo apt-get remove 软件包名:卸载软件

sudo apt-get --purge remove 软件包名:完全卸载软件

sudo apt-get update:下载更新软件包列表信息

sudo apt-get upgrade:将系统所有软件包升级到最新版本

sudo apt-get clean:清空安装包的存放路径

练习:oneko figlet bastet cmatrix

应用:figlet 123

oneko

bastet

2.3.2apt-cache

sudo apt-cache show 软件包名:获取二进制软件包的详细描述信息

sudo apt-cache policy 软件包名 : 获取软件包当前的安装状态

sudo apt-cache depends 软件包名:获取该软件包的依赖信息

sudo apt-cache rdepends 软件包名:获取所有依赖于该软件包的软件包

网络配置

1)桥接模式:编辑->虚拟网络编辑器->更改设置->选择vmnet0->桥接模式->桥接的网络适配器(根据主机的网络连接进行选择,当然选择自动也可以)->确定。

如果自动不行也可以找到对应的网络适配器。

2)虚拟机->设置->网络适配器->选择桥接模式

1. nat模式

1)编辑->虚拟网络编辑器->更改设置->选择vmnet8->nat模式->确定。

2)虚拟机->设置->网络适配器->选择nat模式

如果还不行就试试关闭虚拟机然后还原默认设置

手动设置:

3.shell

3.1shell的基础知识

3.1.1概念

shell:命令行解释器

shell是贝壳的意思, 起保护作用。那linux的shell可以保护内核。

作用:负责把应用程序的输入命令信息解释给操作系统,将操作系统指令处理后的结果解释给应用程序。

3.1.2命令的执行过程

用户在命令行提示符下键入命令文本,开始与Shell进行交互。

接着,Shell将用户的命令或按键转化成内核所能够理解的指令

控制操作系统做出响应,直到控制相关硬件设备。

然后,Shell将输出结果提交给用户。

3.1.3shell分类

(1)Bourne Shell(简称sh):Bourne Shell由AT&T贝尔实验室的S.R.Bourne开发,也因开发者的姓名而得名。它是Unix的第一个Shell程序,早已成为工业标准。目前几乎所有的Linux系统都支持它。不过Bourne Shell的作业控制功能薄弱,且不支持别名与历史记录等功能。目前大多操作系统是将其作为应急Shell使用。

(2)C Shell(简称csh):C Shell由加利福尼亚大学伯克利分校开发。最初开发的目的是改进Bourne Shell的一些缺点,并使Shell脚本的编程风格类似于C语言,因而受到广大C程序员的拥护。不过C Shell的健壮性不如Bourne Shell。

(3)Korn Shell(简称ksh):Korn Shell由David Korn开发,解决了Bourne Shell的用户交互问题,并克服了C Shell的脚本编程怪癖的缺点。Korn Shell的缺点是需要许可证,这导致它应用范围不如Bourne Shell广泛。

(4)Bourne Again Shell(简称bash):Bourne Again Shell由AT&T贝尔实验室开发,是Bourne Shell的增强版。随着几年的不断完善,已经成为最流行的Shell。它包括了早期的Bourne Shell和Korn Shell的原始功能,以及某些C Shell脚本语言的特性。此外,它还具有以下特点:能够提供环境变量以配置用户Shell环境,支持历史记录,内置算术功能,支持通配符表达式,将常用命令内置简化。

3.1.4shell命令格式

命令名称 选项 参数

命令名称:必须有

选项 参数:可有可无,注意选项前有-

3.2历史记录命令

在家目录下的隐藏文件,通过vi打开:

.bash_history(默认存放2000条历史命令的文件)

.bashrc:定义HISTSIZE(使用history时默认显示的记录个数)和

HISTFILESIZE(.bash_history文件可以存放命令的个数)变量的脚本文件

history:查看历史命令,默认显示的命令行数根据HISTSIZE来定

echo $HISTSIZE :将变量的值显示在终端

HISTSIZE=500 : 修改环境变量的值

修改.bashrc文件中的HISTSIZE的值,将终端退出:可以永久修改

3.3起别名命令

alias : 查看所有起别名的命令

alias 新名字='原来的命令' :起别名

unalias 新名字 :取消别名

注意不要修改已经存在的命令

3.4linux特殊字符

3.4.1通配符

*              匹配所有字符

?            匹配一个字符

[...]           匹配[ ]中的一个字符

[..-..]         匹配指定的一个字符范围

[^...]          匹配除了其中指定字符外的一个字符

例如:

字符

含义

实例

*

匹配0个或多个任意字符

a*b,a与b之间可以有任意长度的字符,也可以没有。

例如:aabcb,ab,azxcb...

?

匹配一个任意字符

a?b,a与b之间必须但也只能存在一个字符,该字符可以是任意字符。

例如:aab,abb,acb...

[list]

匹配list中的任意单个字符

a[xyz]b,a与b之间必须但也只能存在一个字符,该字符只能是x或y或z。

例如:axb,ayb,azb

[!list]

匹配除list中的任意单个字符

a[!a-z]b,a与b之间必须但也只能存在一个字符,该字符不能是小写字母。

例如:aAb,a0b...

[^]

匹配除了指定的一个字符

ab[^z] , ab之后可以匹配除了z的任意字符。

例如: aba abc abf abG ab3...

[c1-c2]

匹配c1-c2间的任意单个字符

a[0-1]b,a与b之间必须但也只能存在一个字符,该字符只能是数字。

例如:a0b,a1b...

{string1,string2,...}

匹配string1、string2等中的一个字符串

a{abc,xyz,opq}b,a与b之间必须但也只能存在一个字符串,字符串只能是abc或xyz或opq。

例如:aabcb,axyzb,aopqb...

3.4.2管道

格式: command1 | command2

前一个命令的输出是后一个命令的输入

例如:

wc -l 文件名 : 显示文件的行数

wc -w 文件名:显示文件的单词的个数

wc -c 文件名:显示文件的字符的个数

显示当前路径下单词的个数(文件个数)

ls | wc -w

3.4.3输入输出重定向

标准输入 标准输出 标准出错

0                 1                 2

> file :输出重定向,新建模式

例如:

echo hello > file2.c

>> file :输出重定向,追加模式

例如:

echo 123 >> file2.c

2> file 或 &> file :将由错误命令产生的错误信息输出到文件中

>file 2>&1 :将输出重定向到文件,然后将错误重定向到输出,所以也到了文件

例如:

< file :输入重定向

例如:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值