Linux系统管理篇——用户管理
添加新用户并建立主目录12$ sudo uesradd -m john ##添加用户叫john并建立主目录$ sudo passwd john ##更改john的密码
添加用户命令行工具12$ useradd john ##添加用户john$ passwd john ##john设置密码
1$ sudo useradd -g users john ##创立john并指定属于users组
1$ sudo useradd -s /bin/bash mike ##建立mike用户并指定登陆后使用bash作为Shell
1$ sudo groupadd newgroup ##在系统中太内疚newgroup的组
记录用户操作12$ history$ history 10 ##记录了最近用的10条指令
删除用户12$ sudo uesrdel mike ##删除用户mike$ sudo userdel -r john ##删除john删除其主目录
管理用户账号
查看用户信息1$ id hanfeng ...
Linux系统管理篇-压缩与解压缩
gzip压缩工具1234$ gzip gztest ##压缩gztest$ gzip -d gztest ##解压缩gztest$ gzip -r gztest ##对文件夹压缩$ gzip -rd gztest.gz ##对文件夹解压缩
gzip 虽然对文件夹进行压缩,但是不能提供打包服务,只对文件夹内部的文件进行单独压缩。
bzip2压缩工具12$ bzip2 -z a.c ##压缩$ bzip2 -d a.c.bz2 ##解压缩
tar打包工具tar工具提供打包服务,就是将多个文件打包。常用参数-f归档 ,-c创建新归档创建压缩文件,-x:从文档中解压缩
-j:使用bzip2压缩格式,-z 使用gzip压缩格式 -v 打印命令执行过程
1234$ tar -vxjf xxx.tar.bz2 ##解压缩$ tar -vcjf xxx.tar.bz2 xxx ##压缩$ tar -vxzf xxx.tar.gz ##解压缩$ tar -vczf xxx.tar.gz xxx ##压缩
Linux系统管理篇-软件包管理
管理.deb软件包查看已安装的软件包 OpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。SSH协议族可以用来进行远程控制, 或在计算机之间传送文件。而实现此功能的传统方式,如telnet(终端仿真协议)、 rcp ftp、 rlogin、rsh都是极为不安全的,并且会使用明文传送密码。OpenSSH提供了服务端后台程序和客户端工具,用来加密远程控件和文件传输过程中的数据,并由此来代替原来的类似服务。
12$ dpkg -l | grep openssh ##查找openssh的版本信息$ dekg -s openssh ##查看哪些文件是openssh带来的
安装卸载软件包123$sudo dpkg -i xxx.deb ##安装xxx$sudo dpkg --remove opera ##删除opera浏览器
管理RPM软件包安装软件包1$ sudo rpm -i -v -h dump-0.4b41-1.src.rpm ##-i是安装命令-v显示正在执行工作-h打印提醒进度
升级安装包
1$ sudo rpm - ...
Linux系统管理篇——磁盘管理
磁盘管理三个常用的命令fdisk、du、dfdf:检查文件系统的整体磁盘使用量
du:检查磁盘空间使用量
fdisk:用于磁盘的分区
1$ df [-ahikHTm][目录或文件名] ##具体参数可以查看 df --help
1$ du [-ahskm] 文件或目录名称 ##具体参数可以查看 du --help
1$ fdisk [-l] 装置名称 ##fdisk是Linux的磁盘分区表操作工具
若仅有 fdisk -l 时, 则系统将会把整个系统内能够搜寻到的装置的分区均列出来。
linux操作系统将所有的设备都看作文件,它将整个计算机的资源都整合成一个大的文件目录。我们要访问存储设备中的文件,必须将文件所在的分区挂载到一个已存在的目录上,然后通过访问这个目录来访问存储设备。挂载就是把设备放在一个目录下,让系统知道怎么管理这个设备里的文件,了解这个存储设备的可读写特性之类的过程。fsck(file system check)用来检查和维护不一致的文件系统。
若系统掉电或磁盘发生问题,可利用fsck命令对文件系统进行检查。
1fsck [-t 文件系统] [- ...
Linux系统管理篇——文件目录管理指令
linux系统不存在盘这个概念,用户通过操作目录来实现磁盘读写,Linux需要首先建立一个根‘“/”文件系统,并在这个文件系统中建立一系列空目录,然后将其他硬盘分区中的 文件系统挂载到这些目录中。
用户间共享文件12345678##新建一个名为workgroup的用户组$ sudo groupadd workgroup##新建用户,并归入workgroup组$sudo useradd -G workgroup lucy $sudo passwd lucy ##为用户lewis设置登录密码$sudo useradd -G workgroup lewis$sudo passwd lewis ##为用户peter设置登录密码
建立文件和目录12345$ cd ~ ##进入用户主目录$ mkdir document picture ##新建两个目录$ mkdir ~/picture/temp ##在主目录下新建名为temp的目录##如果没有中间的目录也就无法在下面创建一个新的文件或目录为此,使用-p选项$ mkdir -p ~/ ...
Linux系统管理篇——基本指令
基本命令浏览文件硬盘123$ cd / ##进入根目录$ ls ##列出文件和目录$ cat animal.c ##查看animal.c
在输入文件名时候,只用输入前面几个字符按下TAB,Shell会自动补全。如果不止一个,shell会以列表形式全部打印出来。
查看目录和文件1$ pwd ##显示当前目录
改变目录123$ cd .. ##进入/usr子目录$ cd ../.. ##进入根目录即/目录$ cd ##回到用户主目录
列出目录123$ ls -a ##查看目录下的所有文件包含隐藏文件$ ls -1 ##查看文件的各种属性$ ls -F ##区分目录下文件类型
列出目录12$ dir ##和ls一样$ vdir ##相当于ls-1
查看文本文件123$ cat bool。c ##查看bool.c文件的内容$ cat bool.c data.c ##查看bool.c data.c 文件内容,可以查看不只一 ...
stm32实战篇
实战第一篇跑马灯第一篇没什么好说的,没什么新鲜的东西,就是使用cubemx进行建立工程,新建led.c和led.h文件,对引脚进行赋予高低电平,此次不一样的是在led.h文件中对相应的IO口用英文做了宏定义,防止以后进行重复混乱调用。
1234567891011121314151617#ifndef __LED_H__#include "main.h"#define LED1_PIN GPIO_PIN_8#define LED1_GPIO_PORT GPIOA#define LED2_PIN GPIO_PIN_2#define LED2_GPIO_PORT GPIODvoid LED_RED_ON(void);void LED_RED_OFF(void);void LED_GRE_ON(void);void LED_GRE_OFF(void);#endif
实战第二篇按键检测硬件消抖首先是硬件的设计,按下按键不会立即响应,有波纹信号,不方便检测需要进行滤波消抖。可以利用电容的放电延迟达到消除抖动的目的,这样只需要检测引脚的电 ...
stm32系统学习
stm32主系统由四个去驱动单元和四个被动单元构成。
四个驱动是内核DCode总线;系统总线;通用DMA1;通用DMA2
四被动单元是AHB到APB的桥:连接所有APB的设备;内存FLASH;内部SRAM;FSMC
① ICode 总线:该总线将 M3 内核指令总线和闪存指令接口相连,指令的预取在该总线上面完成。② DCode 总线:该总线将 M3 内核的 DCode 总线与闪存存储器的数据接口相连接,常量加载和调试访问在该总线上面完成。③ 系统总线:该总线连接 M3 内核的系统总线到总线矩阵,总线矩阵协调内核和 DMA 间访问。④ DMA 总线:该总线将 DMA 的 AHB 主控接口与总线矩阵相连,总线矩阵协调 CPU 的DCode 和 DMA 到 SRAM,闪存和外设的访问。⑤ 总线矩阵:总线矩阵协调内核系统总线和 DMA 主控总线之间的访问仲裁,仲裁利用轮换算法。⑥ AHB/APB 桥:这两个桥在 AHB 和 2 个 APB 总线间提供同步连接,APB1 操作速度限于36MHz,APB2 操作速度全速。
stm32的5个时钟源
用来配置时钟树
①HSI 是高速内部时钟, ...
stm32最小系统板制作
此次制作使用的为立创EDA,主要是快速上手制板,没有选择AD。
首先了解stm32最小系统电路构成如下:
复位电路、电源电路、SWD/JTAG下载接口、晶振电路(时钟电路)、启动选择电路、stm32构成。
关于启动选择电路可以查看以下链接来了解。
Boot模式选择 STM32中BOOT模式配置的作用_qq_22010549的博客-CSDN博客_stm32f103boot设置](https://blog.csdn.net/qq_22010549/article/details/123425814))
可以将boot0和boot1的两个分别设计单刀双制开关接3.3V和GND
主闪存模式是用flash,使用串口下载,或者可以选择使用SWD,或者将串口接一个板载USB电路,使用usb接口来进行下载。
本款设计芯片选择stm32f103RCT6芯片。
晶振电路分别使用两种晶振8MHz晶振提供外部时钟和32.768KHz内部晶振为RTC提供时钟信号。
复位电路由电容、电阻、开关组成,电路采用手动复位的方式,当开关闭合时电路导通,RSET为芯片的复位引脚信号,此时芯片复位引脚接通GND,芯 ...
arm-linux -ld、-objcopy和obdump
arm-linux-ld用于将多个目标文件、库文件连接成可执行文件。
-T 直接指定代码段、数据段、bss段的起始地址,只用于连接Bootloader、内核等没有底层软件支持的软件
连接操作系统应用程序时候,无需-T,默认连接。
1.直接指定代码段、数据段、bss段的起始地址
123-Ttext startaddr-Tdata startaddr-Tbss startaddr
startaddr分别代表代码段、数据段、bss段的起始地址
eg:
1arm-linux-ld -Ttext 0x000000 -g led_on.o -o led_on_elf
代表代码段运行地址为0x000000,没有定义数据段、bss段起始地址所以被放入代码段的后面
2.使用连接脚本设置地址
arm-linux-objcopy被用来复制一个目标文件的内容到另一个文件中,可用不同于源文件的格式来输出目的文件,即可以进行格式转换。
1、input-file、outfile分别是输入目标文件和输出目标文件,如果没有明确指定outfile,将创建一个临时文件来存放结果,用input-file的名字来命名。
2 ...