华清远见学习笔记—Level1—Day1—必备Linux命令和C语言基础

本专栏为个人在华清远见嵌入式linux学习期间的笔记,希望能与各位读者共同进步!


前言

必备Linux命令和C语言基础:

通过今天课的学习,学员可以熟悉linux系统的一些重要命令,在linux下进行C语言程序的编写、编译及调试。


一、环境安装

1.Linux文件系统是树形结构,弱分区,重文件。

2.常用EXT4分区格式。

3.基础分区:

		/       根分区  
        /boot   启动分区  
		/swap   交换分区(常用物理内存的两倍)   
		/home   家分区

二、文件和目录相关命令

1.嵌入式开发基本上都基于Linux系统+C语言。

2.文件系统层次结构标准FHS:

		/bin   二进制文件(命令)
		/boot  存放的系统启动时要用到的程序
		/dev   包含了所有linux系统中使用的外部设备
		/etc   系统管理要用的各种配置文件和子目录
		/lib   存放系统动态链接共享库
		/home  普通用户的主目录
		/root  根用户(超级用户)的主目录

3.linux常用命令:

	pwd  	显示当前位置
	ls   	列出目录内容 -a 显示全部文件 -l 长格式详情显示 -R 递归显示
	cd   	进入目录
	df -T   查看文件系统的信息
    cat  	打印文件内容 -s 多个空行合并成一个空行显示 -b 加行号显示
	nl   	加行号打印文件内容  效果同 cat -b
	head 	打印文件前n行 可跟-n为参数 n为数字 默认n=10
    tail 	打印文件后n行 可跟-n为参数 n为数字 默认n=10
	cp   	复制命令 cp 源文件 目标文件 -i 覆盖时交互提示 -r 文件夹递归
	mv   	移动命令(可改名) mv 源文件 目标文件
	touch	创建文件或更新时间戳
    rm   	删除文件  -i 交互询问 -r 删除目录 
    mkdir 	创建文件夹 -p 级联创建

4.文件的权限:

权限类型应用于目录应用于文件
读r读取目录或子目录内容的权限查看文件的权限
写w创建、修改或删除文件或子目录允许修改文件
执行x进入目录的权限允许允许程序
-无权限无权限
权限顺序
用户(创建者)同组用户其他用户

三、vi编辑器的使用

1.vi 后跟文件名 有则打开文件,无则创建文件。

2.vi 有三种模式:

命令行模式	最初进入vi时的模式,可以复制粘贴
插入模式		进行文件编辑,按ESC键可以回到命令行模式
底行模式		可以进行文件的保存、退出、查找、替换、列出行号等 

3.vi 模式切换和命令

	a  	 		插入模式当前位置后一个字符位置插入
	i  	 		插入模式当前位置插入
	o 	 		插入模式当前行下方空行插入
	A 	 		插入模式当前行行尾插入
	I 	 		插入模式当前行行首插入
	O 	 		插入模式当前行上方空行插入
    键盘ESC   	进入命令状态
    :! command 	在vi中执行外部命令command,按回车键返回vi
    [N]x 		删除从光标位置开始的连续N个字符
    [N]dd  		删除从光标位置开始的连续N行
    [N]yy  		复制从光标位置开始的连续N行
    p 			粘贴复制的文本到光标下面一行的位置
	P			粘贴复制的文本到光标上面一行的位置
	u			取消上一次操作
    :q			退出没有修改的文件,若修改了未保存则无效
    :q!			强制退出,不保存修改
    :w			保存文件
    :x			保存并退出
    :wq			保存并退出 等同于:x
    :x file		另存为file,不退出
    :r file		读入file的内容插入到光标位置

4.vi 光标命令

	h			向左移动光标
	j			向下移动光标
	k			向上移动光标
	l			向右移动光标
	:N			移动光标到第N行
	1G			移动光标到文件的第一行
    G			移动光标到文件的最后一行
 :set number    显示行号
 :set nonumber	不显示行号

5.vi 查找命令

	/string 	查找string处的字符串   n继续查找 N反向继续查找  支持正则表达式

6.vi 替换命令

	:范围 s/old/new		省略范围默认当前行
	:.,$ s/old/new		从当前行到尾行
	:1,$ s/old/new		从头到尾行(全文)
	:% s/old/new		从头到尾行(全文)
	:范围 s/old/new/g	加g为全部替换  不加换第一个

7.vi 精准复制剪切命令

	y0			将光标至行首的字符拷入剪贴板
	y$			将光标至行尾的字符拷入剪贴板
	d0			将光标至行首的字符剪切入剪贴板
	d$			将光标至行尾的字符剪切入剪贴板
    n,m y		n行到m行复制
    n,m d		n行到m行剪切或删除

四、基础知识

1.冯·诺依曼结构

	输入设备  存储器  运算器  控制器  输出设备

2.程序设计步骤

	编辑 → 编译 → 链接 → 执行、调试

五、数据的表示

1.计算机只识别二进制

计算机只能识别0、1的数据形式,能够进行算术运算得到明确数值概念的信息称为计算机数值数据,
其余的信息称为非数值数据。

2.数值数据的四种进制表示

数值数据可以表示为十进制、二进制、十六进制、八进制。

3.基数与位权

基数是指该进位制中允许选用的基本数码的个数;而位权的大小是以基数为底,数字所在位置的序号为指数的整数次幂。

4.字符数据

字符数据在机器内也被变换成二进制编码的形式。国际上普遍采用的一种编码是美国国家信息交换标准代码,简称为ASCII码。

查看命令:man ASCII

5.原码、反码、补码

正数的原码、反码、补码是相同的;负数的原码首位为符号位,0正1负,反码符号位不变,其余位取反,补码为反码加1。

例:

十进制5正数负数
原码0000010110000101
反码0000010111111010
补码0000010111111011

六、程序的编译和调试

1. gcc(GNU Compiler Collection)

gcc(GNU Compiler Collection)是GNU推出的多平台编译器,可将C、C++源程序编译连接成可执行文件,支持以下后缀:

	.c 			c语言源代码
	.h			程序所包含的头文件 	
	.i			已经预处理过的C源代码文件
	.s	 		汇编语言源代码文件
	.o	 		编译后的目标文件

2. gcc 编译命令

	-o			输出可执行文件
	-c			只要求编译器输出目标代码(.o文件),而不必输出可执行文件
	-g			用于调试

./hello 查看输出结果

3. 代码调试

	__FILE__ 		显示文件名
	__LINE__ 		显示当前执行行号
	__FUNCTION__	显示当前函数名

总结

这是进入嵌入式Linux的第一课,必须要熟练掌握,就跟勇士出发去打怪之前必须去村口的铁匠铺买的剑一样,如果熟练掌握,往后必将所向披靡,如果掌握不熟练,可能会连连挫败,故应多次回来查看巩固。

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值