一、嵌入式、Linux背景
嵌入式:硬件与软件相结合
定制、为硬件设计相关代码来进行操作,代码测试,烧进板子,通过语音、图像、按钮等操作方式来调用。
操作系统种类:
Dos
Windows
Unix
Mac
Chmod os
Android->华为、小米、中兴等等
iOS
介绍一下Linux:
结构:一棵倒置的树
/bin (binary) 可执行二进制或脚本
/boot (boot) 引导程序文件
/dev (devices) 系统的设备文件
/etc (etcetera) 程序的配置文件
/home (home) 用户目录
/lib (libraries) 函数库
/root (root) 根用户(超级用户)的主目录
Linux的主要特点:
完全免费:用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。
安全性:Linux采取了许多安全技术措施,其中有对读、写进行权限控制、审计跟踪、核心授权等技术,这些都为安全提供了保障。
多用户:可以被不同用户使用,每个用户对自己的资源有特定的权限,互不影响。
多任务:同时执行多个程序,而同时各个程序的运行互相独立。
独立性和可移植性都是说可以适应不同环境,内核都是一样的。
基本了解完Linux特点和背景,我们来安装一下虚拟机,安装下Linux系统。
Windows:必选图形界面,上手容易,有文件拓展名,不区分大小写
Linux:可选图形界面,需要有编程基础者使用,不使用文件拓展名,区分大小写
终端,命令驱动
命令组成:command【options】【parameter】
命令字 选项 参数
命令字:决定了主要操作是什么(命令名称)
参数:指命令的操作对象
选项: 指该操作的一些执行方式
打开终端:
ctrl + alt + t或ctrl + shift+ n(在已经打开一个终端的前提下)
关闭终端:
exit或alt+F4或CTRL+d
调整终端
放大:Ctrl+shift+“+”
缩小:Ctrl+“-”
sudo passwd改密码失败可以su root切到超级用户再去改密码
$普通用户 #超级用户
/绝对路径 pwd查看当前目录的绝对路径
man man介绍手册 man+函数名 查看被查函数 按q退出手册
sudo adduser 用户名 添加新用户 su 用户名 切换用户
userdel 用户名 删除此用户 先su root切换到超级用户再删除
cat /etc/passwd查看用户 查看设置过密码的用户 etc是配置文件
cd(change directory) 查看命令 cd . 查看当前的工作目录cd .. 查看上一级的工作目录
cd – 查看上一次的工作目录cd ~ 查看当前系统登陆的用户家目录
ls 命令 //查看当前工作目录里的内容ls
语法:ls 可选参数 可选的文件
-a 显示所有的文件,包括隐藏
-l 详细输出文件夹中的内容
-h 人类可读方式输出
ls -lh ls -hl
--full-time完整的时间格式输出
-t 根据最后修改时间排序
-r 逆转排序
ls -tr
-d 显示文件夹本身内容,不输出其中内容
-S(大写) 针对文件大小进行排序,默认从大到小
-F 特殊后缀输出
以/结尾的就是文件夹
以*结尾的就是可执行文件
以@结尾的就是软链接,就是快捷方式
普通文件类型结尾什么都没有
查看文件内容 cat 文件名
创建目录 mkdir 目录名 创建一个空目录
mkdir -p 目录/子目录 先创建目录,在创建子目录
mkdir -v 目录名 创建目录之后显示信息
创建一个新的空白文件 touch 文件名
复制文件或目录 cp
语法格式:
cp 源文件 目标目录 复制源文件到目标目录下
cp -a 源目录 目标目录 复制整个目录到目标目录
cp -a 源目录/. (这里有一个空格)目标目录:复制整个目录的文件到目标目录
重命名: mv 源文件 目标名称文件
源文件移动到目标目录: mv 源文件 目标目录
查看权限命名:
chmod
作用:改变指定文件或目录的操作权限
用法:
用三位8进制数表示操作权限
chmod 三位8进制数 需要改变权限的带路径的文件或目录名
用特殊字母和符号表示相应权限操作
a:所有用户
u:主人
g:小组用户
o:其他用户
+:启用相应权限
-:去除相应权限
=:设置成指定权限
r:读权限 4
w:写权限 2
x:可执行权限 1
chmod a+x 需要改变权限的带路径的文件或目录名
chmod o-w 需要改变权限的带路径的文件或目录名
chmod u=w 需要改变权限的带路径的文件或目录名
备注:加上-R选项,可以告诉chmod命令同时将指定目录下的所有内容以及后代子孙目录下的所有内容的权限都进行修改
如果发现没有权限执行相应命令,可以在命令前加上sudo,表示临时以超级用户的身份来执行该命令
修改用户权限
Linux打包和解包的命令,最左边是类型,打包后面dir dir1是要打包的文件
C语言代码的编译过程
? 预处理 编译 汇编语言 链接
f1.c f1.i f1.S f1.o
预处理:处理.c文件中#开头的语句
编译:将c语言语句翻译成同功能的汇编指令
汇编:将汇编指令翻译成cpu的二进制指令
链接:按特定规则将所有目标文件打包成与操作系统相匹配的可执行文件
vi/vim 文件名.c
编译:gcc 文件名.c -o 文件名
或者 gcc 文件名.c 生成a.out,./a.out
打印输出:./可执行文件名
按esc,换成命令模式
命令模式换成插入模式 i
同时按shift和: 换成底部命令
w 保存不退出
wq 保存退出
q! 不保存退出
强制加!
tab:命令补齐键 可以补齐命令字或者文件名或者目录名
按esc,命令模式下,光标放在想复制的那一行,按yy复制一行,按nyy复制从光标开始往下数n行,
调到想要位置,按p粘贴;按dd剪切一行,按ndd剪切从光标开始往下数n行;还原u;回溯 ctrl+r;ctrl+v,d删除
命令中止 ctrl+c
代码内已有名字补全 ctrl+n
//注释一行
/* */多行注释;多行注释不能相互嵌套
对齐:按esc,然后 gg + = + G,即可对齐
标签:文件,基础,用户,命令,Linux,权限,目录 From: https://blog.csdn.net/weixin_58415237/article/details/142313939