嵌入式学习之Linux基础——Shlle命令
一、Linux基础
1. Linux优点
开源、免费、稳定、安全、可移植性强
2. 打开终端
ctrl+alt + t
3. inux的文件系统结构
- windows:文件系统结构有分盘
- linux:没有分盘,只有一个大的目录 – 根目录(‘/’)
- 根目录下文件夹每一个都有其固定作用
- bin:存放的二进制文件名和可执行的程序
- dev:存放设备文件
- home:家目录,用户默认的工作路径
真正使用的工作路径为/home/xxx
4. 基本的shell命令
- shell是一个命令行解释器,它能够将用户输入的shell命令翻译成操作系统能够识别的语言
- 绝对路径:从根目录出发表示的一个路径
- 相对路径:从当前路径位置出发表示的一个路径
pwd
-
pwd:显示当前用户所在位置的绝对路径
用法:pwd + 回车pwd
ls
-
ls:显示当前用户所在路径下的所有文件(不包含隐藏文件)
- 用法:ls + 回车
ls
- ls -a:显示当前用户所在路径下的所有文件(包含隐藏文件)
ls -a
以 .(点)开头的文件都是隐藏文件
-
‘.’(一个点):代表当前路径
-
‘…’(两个点):代表当前路径的上一级路径
-
ls -l:显示当前目录下的所有文件的详细信息
-
ls -l一个文件信息的前10个字符代表了文件的类型和权限
ls -l
drwxr-xr-x- 前10个字符中,第一个字符代表文件类型
- linux中一共有7种文件类型:
- ‘-’ --> 普通文件
- ‘d’ --> 目录文件
- ‘c’ --> 字符设备文件
- ‘b’ --> 块设备文件
- ‘l’ --> 符号链接文件
- ‘p’ --> 管道文件
- ‘s’ --> 套接字文件
- 注意:每种不同的操作系统,支持的文件类型不同
- 后9个字符代表文件的存储权限(可读 r、可写 w、可执行 x)
例:test.c -->权限为:rw - r - - r - -
(1)、文件权限的每一位上,如果有权限,则用二进制1表示,如果没有权限,则用二进制0表示
(2)、-rw - r - - r - - :(二进制)110 100 100 :(0:八进制):0644
(3)、前3个字符:用户的使用权限(u)
(4)、中间3个字符:用户组的使用权限(g)
(5)、后3个字符:其他用户的使用权限(o)
(6)、linux中一般用8进制数据表示一个文件的存储权限
cd
-
cd:目录跳转
cd
touch
-
touch:以不打开的方式创建一个文件,如果文件以存在,则会修改时间戳
touch
cat
-
cat:显示指定文件的内容
cat
rm
-
rm:删除指定文件
rm
cp
-
cp: 复制文件
cp
mv
-
mv:移动文件或重命名
mv
mkdir
-
mkdir:创建一个目录文件
mkdir
rmdir
-
rmdir:删除一个目录(空目录)
rmdir
ctr + l
-
清屏:clear 或者 ctrl + l
ctrl + l
Tab键
- Tab按键:命令补全
二、vim编辑器
- 进入编辑器shell命令:vi或者vim+文件夹:打开一个文件进行文件编辑,如果文件不存在则会会创建一个文件打开。
- vim编辑器中的三种模式:命令行模式、编辑模式、底行模式
命令行模式
进入编辑器默认的处于工作模式
(1)、端口底部左边只显示文件名称,表示在命令行模式,当移动光标左下角就会消失
(2)、在命令行模式下不能进行输入数据,但是可以进行复制、粘贴、剪切、撤销等操作
- nyy:复制光标以及光标以下的n行数据
- ndd:剪切光标以及光标一下的n行数据
- p:将复制或者剪切的内容粘贴到光标的下一行
- u:撤销上一步的操作
编辑模式(插入模式)
编辑文本
(1)、在命令行模式下输入i、a、o(大小写都行)
(2)、在编辑模式下按Ese切换到命令行
(3)、i:在光标当前位置插入
(4)、a:在光标后一个位置插入
(5)、o:在光标下一行插入
底行模式
对文本进行保持、退出等操着
在命令行模式下输入冒号(:):进入编辑模式
- q:退出文件
- w:保存文件
- wq:保存并退出
- x:保存并退出
- q!:不保存强制退出
- wq!:强制保存退出
编译
-
c程序在运行之前要进行编译
编译:将用户写的代码翻译成计算机能够识别的二进制程序 -
gcc编译工具:
(1)、shell命令:gcc + c文件名
例:gcc test.c
编译成功则不会出现报错
编译失败则源文件代码出现错误(2)、在编译之后会在当前目录生成一个名为a.out(默认)的二进制可执行程序,ls查询。
(3)、执行二进制文件
./a.out
(4)、更改二进制可执行文件:gcc +文件名 -o +自定义的二进制可执行文件名
例:gcc test.c -o aa
(5)、执行二进制文件:.(点)+/+可执行的二进制文件名
(6)、./可执行的二进制文件名
例:./aa
(7)、权限不够:输入sudo chmod 0777 +文件名sudo chmod 0777 test.c //或 sudo chmod a+x test.c