界面右侧也可寻此目录

文章目录

  • 第1讲 Ubuntu终端操作与shell命令
  • 第2讲 Ubuntu软件安装笔记
  • 第3讲 Ubuntu文件系统结构笔记
  • 第4讲 Ubuntu磁盘文件
  • 第5讲 Ubuntu压缩与解压缩
  • 第6讲 Ubuntu用户与用户组
  • 第7讲 Ubuntu文件权限管理
  • 第8讲 Linux 连接文件
  • 第9讲 vim编辑器
  • 第10讲 Linux C编程
  • 第11讲 make工具和Makefile的引入
  • 第12讲 Makefile基本语法
  • 第13讲 make工具和Makefile的引入

第1讲 Ubuntu终端操作与shell命令

一、Ubuntu终端操作
打开终端进行命令行操作
二、Shell命令
1、目录信息查看命令ls
ls -a 显示目录所有文件及文件夹,包括隐藏文件,比如以.开头的
ls -l 显示文件及文件夹的详细信息
可以试一下 ls -al

2、目录切换命令cd
cd / 进入根目录
cd …/ 返回上一级
cd …/…/返回上一级的上一级
cd ~换回到用户文件夹

3、当前路径显示命令pwd

4、系统信息查看命令uname
uname -a 显示详细系统信息

5、清理屏幕命令clear

6、显示文件内容命令cat
cat 后面接文件路径

7、切换用户身份命令sudo
sudo su切换到超级用户
sudo su lh(用户名) 切换到普通用户
sudo 命令 以超级用户身份运行某项命令

8、文件拷贝命令cp
cp a.c b.c 拷贝a.c并重命名为b.c

9、切换用户命令su
10、移动文件命令mv
mv a.c b.c 将a.c重命名为b.c
mv test test1 将test文件夹重命名为test1
mv a.c test 将a.c文件移动到test文件夹里面去

11、创建文件夹命令mkdir
mkdir test 创建名为test的文件夹

12、创建文件命令touch
例如:touch a.c

13、删除命令rm
rm a.c 删除a.c文件
rm test(一个文件夹) -rf 无视文件夹下文件的权限,直接彻底删除该文件夹

14、目录删除命令rmdir
rmdir test(一个文件夹) 删除该文件

15、显示网络配置信息命令ifconfig
16、重启命令reboot
17、关机命令poweroff

18、系统帮助命令man
man printf 查看printf详细的使用方法

19、数据同步写入磁盘命令sync

19、查找文件命令find
find -name a.c 找出名为a.c的文件的路径

21、查找内容命令grep
grep -nr “123” / 在根目录下查找“123”相关文件目录
-n 列数编号
-i 忽略大小写区别
-r 查找目录

22、文件夹大小查看命令du
du test -sh 查看test目录大小

23、磁盘空间检查命令df
24、使用gedit打开某个文件命令gedit
gedit a.c 打开a.c文件

25、当前的系统进程查看命令ps
26、进程实时运行状态查看命令top
27、文件类型查看命令file

第2讲 Ubuntu软件安装笔记

一、Ubuntu软件安装方法
1、通过APP Store安装
使用apt工具安装软件,需要sudo,也就是root权限。

2、使用APT工具安装
使用apt包管理工具,apt可以自动下载,配置,安装。

3、deb软件包安装
使用dpkg命令安装deb软件包,命令如下:
sudo dpkg -i xxxx.deb
在windows下,我们安装的是.exe文件,在Ubuntu就有一个.deb。
安装网易云音乐,

4、自己下载程序源码编译安装
Make
Make install

5、其他安装方法
QT扩展名是.run

第3讲 Ubuntu文件系统结构笔记

一、根目录“/”
Linux下“/”就是根目录!所有的目录都是由根目录衍生出来的。
二、Ubuntu文件系统结构
/bin 存放二进制可执行文件,这些命令在单用户模式下也能够使用。可以 被root和一般的账号使用。
/boot Ubuntu内核和启动文件,比如vmlinuz-xxx。gurb引导装载程序。
/dev 设备驱动文件
/etc 存放一些系统配置文件,比如用户账号和密码文件,各种服务的起始地址。
/home 系统默认的用户主文件夹,一般创建用户账户的时候,默认的用户主文件夹都会放到此目录下。
/lib 存放库文件
/media 此目录下放置可插拔设备,比如SD卡,或者U盘就是挂载到这个目录中。
/mnt 用户可使用的挂载点,如果要挂载一些额外的设备,那么就可以挂载到此处。
/opt 可选的文件和程序存放目录,给第三方软件放置的目录。
/root root用户目录,也就是系统管理员目录。
/sbin 和/bin类似,也是存放一些二进制可执行文件。sbin下面的一般是系统开机过程中所需要的命令。
/srv 服务相关目录。比如网络服务。
/sys 记录内核信息,虚拟文件系统。
/tmp 临时目录
/var 存放一些变化的文件,比如日志文件
/usr usr不是user的缩写,而是UNIX Software Resource的缩写,存放于系统用户有关的文件,会占用很大的存储空间!
/proc 虚拟文件系统,数据放置到内存中,存放系统运行信息
三、绝对路径和相对路径
绝对路径:从根目录“/”算起的路径。
相对路径:相对于目前路径的文件名写法,比如./home/zzk。不是以“/”开头的就行。
. 代表当前路径,也可以用 ./ 表示
两个. 代表上一层目录,也可以用 两个.+/ 表示

第4讲 Ubuntu磁盘文件

一、Ubuntu磁盘文件
/dev/sd*文件,此类文件是磁盘设备文件,并不能直接访问磁盘,必须要将磁盘挂载到某一个目录下才可以访问。
/dev/sdb和/dev/sdb1是U盘的设备文件。
/dev/sdb表示U盘,/dev/sdb1表示U盘的第一个分区。
二、磁盘和目录的容量查询命令
df:列出文件系统的整体磁盘使用量。主要查看个文件系统的使用量,
du:评估文件系统的磁盘使用量,主要查看单个文件的大小。
三、磁盘挂载与卸载,分区和格式化、
1、磁盘的挂载和卸载
mount和umount命令

2、磁盘分区
fdisk命令

3、磁盘格式化
磁盘分区创建好以后就可以格式化磁盘,使用命令mkfs。如:
mkfs -t vfat /dev/sdx

第5讲 Ubuntu压缩与解压缩

一、Linux下常用的压缩格式
Linux下常用的压缩扩展名有:.tar、.tar.bz2、.tar.gz。
二、Windows下7ZIP软件的安装
因为Linux下很多文件是.bz2,.gz结尾的压缩文件,因此需要在windows下安装7ZIP软件。
三、gzip压缩工具
.gzip工具负责压缩和解压缩.gz格式的压缩包。
gzip xxx //压缩
gzip -d xxx.gz //解压缩

gzip对文件夹进行压缩
gzip -r xxx     //对文件夹进行压缩
gzip -rd xxx.gz //对文件夹进行解压缩gzip虽然可以对文件夹进行压缩,但是并不能提供打包的服务,只是对文件夹中的所有文件进行了单独的压缩。

四、bzip2压缩工具
和gzip类似,只是bzip2工具负责压缩和解压缩.bz2格式的压缩包。
bzip2 -z xxx //压缩
bzip2 -d xxx.gz //解压缩

五、tar打包工具(重点)
tar工具参数:
-f,使用归档文件或 ARCHIVE 设备
-c:创建新归档,创建压缩文件
-x:从图档中解出文件,解压缩
-j:使用bzip2压缩格式。
-z:使用gzip压缩格式
-v:打印出命令执行过程。

tar工具提供打包服务,就是将多个文件打包,比如
tar -vcf test.tar test //将test打包成test.tar
tar -vxf test.tar //解包

上面的tar命令只提供了打包和解包的功能,tar在提供打包和解包的同时使用gzip/bzip2进行压缩,实现类似windwos下winRAR软件的命令。
1、对.tar.bz2进行压缩和解压缩
tar -vxjf xxx.tar.bz2   解压缩
tar -vcjf xxx.tar.bz2 xxx 压缩2、对.tar.gz进行压缩和解压缩
tar -vxzf   xxx.tar.gz      //解压缩
tar -vczf xxx.tar.gz xxx    //压缩

六、其他格式的压缩和解压缩
1、.rar格式
需要先安装rar:sudo apt-get install rar
rar x xxx.rar //解压缩
rar a xxx.rar xxx //压缩

2、.zip格式
zip格式压缩使用“zip“命令:
zip -rv xxx.zip xxx zip格式解压缩使用“unzip”命令:
unzip -v xxx.zip

第6讲 Ubuntu用户与用户组

一、Linux用户
Linux是一个多用户操作系统,不同的用户拥有不同的权限。可以查看和操作不同的文件。 Ubuntu有三种用户:
1、初次创建的用户。
2、root用户
3、普通用户。
初次创建的用户权限比普通用户多,但是没有root用户多,初次创建的用户可以创建普通用户。

Linux用户记录在/etc/passwd这个文件内。
Linux用户密码记录在/etc/shadow这个文件内。
每个用户都有一个ID,叫做UID。

二、Linux用户组
为了方便管理,将用户进行分组。这样就可以设置非本组人员不能访问某些文件。每个用户可以属于多个不同的组。

用户:家里有你、弟弟、妹妹个人,每个人都有自己的房间,你们三个人都是用户,你们都不能随便的乱翻别人的房间。
用户组:你们三个都是一个家庭的,也就是属于同一个用户组,你们三个可以共用厨房,书房等空间。

因此:
用户和用户组的存在就是为了控制文件的访问权限的。
每个用户组都有一个ID,叫做GID。用户组信息存储在/etc/group文件中。

三、创建用户和用户组
1、图形化界面创建
要使用图形化界面创建用户和用户组的话就需要安装gnome-system-tools这个工具:
sudo apt-get install gnome-system-tools
2、命令创建用户和用户组
添加用户:adduser命令,adduser 用户名
用户查询:finger命令,finger 用户名
修改用户密码:passwd命令,passwd 用户名
删除用户:deluser命令,deluser 用户名

添加用户组:addgroup命令,addgroup 用户组名
显示组内用户名:groups命令,groups 用户组名
删除用户组:delgroup命令,delgroup用户组名

第7讲 Ubuntu文件权限管理

一、Ubuntu/Linux文件权限
文件权限是指不同的用户或用户组对某个文件拥有的权限,文件的权限分为三种:
r:读
w:写
x:可执行。
文件描述形式如下:

-rw-rw-r—就是文件权限,第一位表示文件类型,剩下的每三位表示一组权限。分别对应拥有者权限、拥有者所在组权限、其他用户权限。
可以使用二进制表示文件权限。
r=4
w=2
x=1a.c文件信息:
  • rw- rw- r–,a.c所属用户拥有读写权限无可执行权限。组内其他用户拥有读写权限无可执行权限,其他用户仅有可读权限。

二、Ubuntu/Linux文件权限修改
1、修改文件权限命令
chmod命令

2、修改文件所属用户
chown命令

第8讲 Linux 连接文件

一、Linux连接文件
Linux有两种连接文件:符号连接(软连接)和硬链接,符号链接类似Windows下的快捷方式。硬链接通过文件系统的inode连接来产生新文件名,而不是产生新文件。
inode:记录文件属性,一个文件一个inode。inode相当于文件ID,查找文件的时候要先找到inode,然后才能读出文件的内容。
二、ln命令
ln命令用于创建连接文件:
ln [选项] 源文件 目标文件
选项:-s 创建符号链接(软连接)
-f 强制创建连接文件,如果目标存在,那么先删除掉目标文件,然后再建立连接文件。
三、硬连接
硬链接是多个文件都指向同一个inode,硬链接知识点:
①、具有相同inode的多个文件互为硬链接文件,创建硬链接相当于文件实体多了入口。
②、对于硬链接文件,只有删除了源文件以及对应的所有硬连接文件,文件实体才会被删除。
③、根据硬链接文件的特点,我们可以通过给文件创建硬连接的方式来防止文件误删除。
④、不论修改源文件还是连接文件,另一个文件的数据都会被改变。
⑤、硬连接不能跨文件系统。
⑥、硬连接不能连接到目录。
因为以上这些限制,硬链接其实不常用。
四、符号连接(软连接)
符号连接类似Windows下的快捷方式,符号链接也叫做软连接,软连接要用的多。符号连接相当于创建了一个独立的文件,这个文件会让数据读取指向它连接的哪个文件的文件名。软连接的特点:
①、可以连接到目录。
②、可以跨文件系统。
③、删除源文件以后,软连接文件也就“打不开了”。
④、符号连接文件通过->来指示具体的连接文件。
⑤、符号连接要使用绝对路径,否则连接出问题。

第9讲 vim编辑器

一、vim编辑器
Linux系统都会自带vi编辑器,但是vi编辑器太难用了!所以建议大家安装vim编辑器,安装命令:
sudo apt-get install vim
二、vim编辑器三种工作模式
vi xxx 使用vi编辑器打开文件。

一般模式(指令模式):默认模式,用vi打开一个软件以后自动进入到此模式。
编辑模式:一般模式中无法编辑文件,要编辑文件就要进入编辑模式,按下“i、I、a、A、o、O、s、r”等就会进入到编辑模式。一般按下“a”进入编辑模式。按下ESC键可退出编辑模式。
命令行模式(底行模式):先进入到一般模式,然后输入:、/、?这三个中的任意一个就可以进入到命令行模式。
/xxx,表示在文件中查找xxx

三、保存退出
当文件编辑好以后,输入:wq来保存退出。:q退出,:q!不保存退出,:w保存。

四、其他操作方式
1、按下键盘上的上下左右键来控制光标。

一般模式下:
1、dd,删除光标所在行,ndd,删除光标所在行及其下n行。
2、u,撤销,恢复上一步。
3、. ,重复前一个操作。
4、yy,复制光标所在行
5,nyy,复制光标所在向下n行,比如10yy就是复制光标下10行。
6,p和P,p为复制到光标下一行,P复制到光标上一行。

第10讲 Linux C编程

一、编写C程序
使用VIM编辑器编写程序,也可以使用vscode。
1.1、设置vim编辑器
设置vim编辑器,一个TAB=4个字节。
设置vim编译器,显示行号。
1.2、编写C程序
二、编译C程序
使用gcc编译器编译C程序。
三、make工具和Makefile文件
make:一般说GNU Make,是一个软件,用于将源代码文件编译为可执行的二进制文件,make工具主要用于完成自动化编译。make工具编译的时候需要Makefile文件提供编译文件。
Makefile:make工具所使用的文件,Makefile指明了编译规则。

第11讲 make工具和Makefile的引入

一、make工具和Makefile文件的引入
当源码文件比较多的时候就不适合通过直接输入gcc命令来编译,这时候就需要一个自动化的编译工具.
make:一般说GNU Make,是一个软件,用于将源代码文件编译为可执行的二进制文件,make工具主要用于完成自动化编译。make工具编译的时候需要Makefile文件提供编译文件。
Makefile:make工具所使用的文件,Makefile指明了编译规则。
二、编写C程序
编写一个小型的含有多个.c文件的C程序。
三、使用make工具和Makefile文件编译

第12讲 Makefile基本语法

第13讲 make工具和Makefile的引入

一、shell脚本条件判断
shell脚本支持条件判断,虽然可以通过&&和||来实现简单的条件判断,但是稍微复杂一点的场景就不适合了。shell脚本提供了if then条件判断语句,写法
if 条件判断 ; then
//判断成立要做的事情
fi

还有if then else 语句,写法
if 条件判断 ; then
//条件判断成立要做的事情
else
//条件判断不成立要做的事情。
fi
或:
if 条件判断 ; then
//条件判断成立要做的事情
elif [条件判断]; then
//条件判断成立要做的事情
else
//条件判断不成立要做的事情。
fi

最后还有case语句
case $变量 in
“第1个变量内容”)
程序段
;; //表示该程序块结束!!
“第2个变量内容”)
程序段;;
“第n个变量内容”)
程序段
;;
esac

二、shell脚本函数
shell脚本也支持函数,函数写法如下:
function fname () {
//函数代码段
}

三、shell循环
shell脚本也支持循环,比如 while do done,表示当条件成立的时候就一直循环,直到条件不成立。
while [条件] //括号内的状态是判断式
do //循环开始
//循环代码段
done

还有另外一种until do done,表示条件不成立的时候循环,条件成立以后就不循环了,写法如下:
until [条件]
do
//循环代码段
done

for循环,使用for循环可以知道有循环次数,写法
for var in con1 con2 con3……
do
//循环代码段
done

for循环数值处理,写法
for((初始值; 限制值; 执行步长))
do
//循环代码段
done

嵌入式linux开发笔记——Ubuntu的使用相关推荐

  1. 嵌入式linux开发笔记: gcc选项

    fatal error: sys/cdefs.h No such file or directory 解决方案   在64位的ubuntu系统,使用gcc想编译出32位的应用程序,需要使用gcc  - ...

  2. 嵌入式Linux开发——解决uboot无法使用nfs服务从ubuntu中下载文件(TTT、cannot mount等错误)

    前言: 最近在学习正点原子嵌入式Linux开发板uboot的移植实验,移植完之后想测试网络部分的驱动能否工作正常.最后经过测试发现tftp可以正常下载,nfs却一直报错无法下载文件,最后也是折磨了两天 ...

  3. 嵌入式linux编程,嵌入式Linux学习笔记 - 嵌入式Linux基础知识和开发环境的构建_Linux编程_Linux公社-Linux系统门户网站...

    注:所有内容基于友善之臂Mini2440开发板 一.嵌入式Linux开发环境的构建 嵌入式开发一般分为三个步骤: 1.编译bootloader,烧到开发板 2.编译嵌入式Linux内核,烧到开发板 3 ...

  4. 嵌入式系统开发笔记0_0:目录

    本系列文章将向大家介绍嵌入式系统开发的各方面知识. 本系列文章所介绍的知识和内容,除电路图设计外,其它均采用开源系统,所以你不会在这个系列文章中看到Keil.IAR等软件. 本系列文章涉及C.C++. ...

  5. 嵌入式linux编译环境搭建,嵌入式Linux开发环境搭建

    整理下嵌入式Linux开发环境搭建过程笔记. 一.制作u-boot.bin文件: tar xjf u-boot-1.1.6.tar.bz2 cd u-boot-1.1.6 patch -p1 < ...

  6. 嵌入式开发linux工具,嵌入式Linux开发入门之MfgTool工具的使用

    介绍嵌入式linux开发的环境搭建: 一.PC端环境搭建 2.Ubuntu装好后,在终端安装minicom工具,安装命令:sudo apt-get install minicom 注:该工具在后面烧录 ...

  7. Linux学习之云服务器搭建嵌入式Linux开发环境

    Linux学习之云服务器搭建嵌入式Linux开发环境 第一步:购买云服务器 进入腾讯云官方网站腾讯云官方网站 选择云+校园云+校园 进入控制台 将云服务器系统设置为Ubuntu系统 使用Xshell6 ...

  8. 嵌入式Linux开发环境搭建-4-嵌入式编程基础知识

    嵌入式Linux开发环境搭建-4-嵌入式编程基础知识 1.安装代码编辑器 2.交叉编译工作使用 1.安装代码编辑器 参考文档 ubuntu几款好用的代码编辑器_百度经验 安装sublime text ...

  9. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(一) 嵌入式Linux开发基本概念以及开发流程介绍

    文章目录 1.linux开发初了解 1.1 嵌入式Linux开发的基本概念 1.1.1关于Git的背景介绍 1.1.2关于repo的背景介绍 1.1 3 一些关于此背景知识的介绍 1.1.4关于Lin ...

最新文章

  1. 如何优雅地在 Java 8 中处理异常
  2. gensim models.word2vec – Word2vec embeddings API
  3. 实例讲解sed的9种常见用法
  4. Java8 LocalDateTime获取时间戳(毫秒/秒)、LocalDateTime与String互转、Date与LocalDateTime互转
  5. 【大话数据结构算法】快速排序算法
  6. commit git idea 速度慢_关于Git,这篇文章还不够吗?
  7. sqlite3 查询表时,表头与列对齐显示
  8. 【JUC】第四章 JUC 辅助类、读写锁
  9. Linux_防火墙入门01:以太网的诞生与演变历程
  10. h2数据库文件.mv.db
  11. 人行261号文关于电子账户的解读
  12. Word操作之插入图片自动更改大小
  13. 华为微型计算机,8英寸华为平板M5青春版今日发布
  14. 【python】python异步抓取网站数据【详细过程】
  15. QCon旧金山2016大会,议题发布及研讨会一瞥
  16. 华科计算机博导刘云生论文,华科论文式要求.doc
  17. 国内专利下载网站推荐
  18. 爬取金山词霸在线翻译
  19. 忽略了导热硅脂等于祸害电脑
  20. matlab 一条水平线,matlab画一条水平线

热门文章

  1. 各种有意思的Github项目收集,不断更新
  2. 唯一登录、联合登录、单点登录——唯一登录
  3. 天台人满为患,不如来看下这个Ramnit蠕虫DesktopLayer.exe分析
  4. wlh机器人_恐怖谷理论,人类对仿真机器人的天生恐惧
  5. C++900行代码实现中国象棋游戏规则以及相关功能
  6. 最新优秀开源:车牌识别、车型分析、车流统计、违停检测统统行
  7. centos安装cerebro
  8. 软件下载传送门(个人习惯自用记录)
  9. chfs http 文件共享服务
  10. 水水水水水水水水水水水水水水水水水水水