前言
本章节主要介绍一下linux下进行嵌入式开发的常用命令,如果你有这个基础,那么跳过即可。
个人理解,在linux中,我认为最重要的一点是要牢记一点,linux中一切皆文件,我们执行着一些命令的本质与在window双击桌面图标进入应用并没有什么两样,只是界面更加不友好而已,特别是在我学完arm的虚拟文件系统后,更加深刻的理解了这点。
目录
1.linux文件系统
1.1linux文件系统结构作用
- / 根目录
- /bin 存放用户命令
- /etc 系统配置
- /lib 库文件
- /mnt 挂在文件,类似于u盘,硬盘
- /var 日志
- /boot 引导启动文件
- /home 家目录 --用户只有在家目录才有最高权限
- /root linux最高权限用户
- /dev 设备文件
- /usr 系统资源文件,内核源码
1.2 linux文件类型
- 普通文件(-)
- 目录文件(d)
- 字符设备文件(c)
- 块设备文件(b)
- 符号连接文件(l)
- 套接字文件(s)
- 管道文件(p)
1.3 系统输入成功打开的三个文件
这部分操作的主要目的便是可以通过重定向将你想输入、输出的内容导入文件中,比如所sudo cat /etc/passwd > pa.txt 便是将这个命令的输出结果重定向输出到pa.txt文件中。(id代表着这个文
1.3.1 标准输入
打开终端是默认打开,只有这个打开了我们才能输入命令
第一个打开的文件,id为0
1.3.2 标准输出
命令的显示结果,显示再标准输出文件中,默认输出在终端
id1
1.3.3标准错误输出
命令出错的时候,显示在标准错误输出中
id 2
1.3.4重定向
标准输入重定向
0< 或者直接写<
标准输出重定向
1> 或者直接写>
标准错误输出重定向
2>或者直接写>
2.linux常用命令
[] 中的参数都是可选参数
sudo
作用:使用超级用户权限执行命令
语法:sudo 命令
案例:
sudo /etc/shadow
说明:使用后会提示输入密码
su
作用:切换用户身份
语法:su - 用户名
案例:
su - root #切换为root用户,作用和su -相同
ls
作用:查看目录下文件
语法:ls [-l -h -i -d]
-l:显示文件的长格式信息
-h:配合-l,以更加人性化的方式显示文件大小
-a:显示隐藏文件、
-i:查看文件的inode节点信息,inode类似于身份证
-d:查看目录长格式信息
长格式信息格式:
权限 硬链接个数 所有者 所属组 文件大小 修改时间
touch
作用:创建文件
语法:touch 文件1 文件2 ...
mkdir
作用:创建目录
语法:mkdir 目录1 目录2 ...
案例:mkdir mk1 #创建单个目录mk1
mkdir mk1 mk2 #创建多个目录mk1和mk2
cp
作用:复制,将path1复制到path2
语法:cp [-r] path1 path2
案例:
touch text1
mkdir mk1
cp text1 ./mk1
rm
作用:删除文件
语法:rm [-r] 文件名
-r:可选,删除文件夹使用
注意!!!
使用这个命令一定要做好备份,或者要反复确认思考,删除后将不可恢复
案例:
cp file1 file2 #备份
rm file1
mv
作用:修改文件名和移动文件的位置
语法:mv 参数1 参数2
参数1 被移动的
参数2 移动到的位置
案例:
mkdir mk
mv a.txt ./mk/ #将文件a.txt移动到mk目录下
mv a.txt b.txt #将a.txt重命名为b.txt
cat
作用:查看文件内容
语法:cat 文件路径
案例:
cat /etc/shadow #查看用户配置信息
less
作用:进入文件浏览模式,按页显示
语法:less 文件路径
浏览模式中:/key 查找文件中的key
?key 从后往前查找key
推出浏览模式:q
stat
作用:显示文件的元信息
语法:stat 文件名
file
作用:查看文件类型
语法:file 文件名
wc
作用:统计文件信息
语法:wc [-c -m -l -w] 文件路径
-c:统计bytes
-m:统计字符数量
-l:统计行数
-w:统计单词数量
du
作用:查看文件占磁盘空间大小
语法:du [-s -h] 参数
-s:进行汇总计算
-h:显示单位
注:文件大小的单位是字节,磁盘空间分配的最小单位是大块,1大块==4k==8小块
grep
作用:过滤关键字
语法:grep [-n] 关键字 文件路径
-n:再结果中显示匹配的行号
案例:
grep bsp file1 #查看所有关键字包含bsp的进程
|
作用:将符号左边的结果,作为符号右边的输入
语法:cat 文件名1 | gerp 关键词 文件路径
案例:
ps -aux | grep bsp #查看所有包含关键字bsp的进程
locate
作用:查找文件位置
语法:locate 路径 [-l -n -r] 文件名
-i:忽略大小写
-n:指定显示结果数量
-r:使用正则表达式进行搜索
find
作用:搜索文件位置
语法:find 路径 [-name -type -size n[c w b k M G]] 参数
参数:支持通配符*
-type:其中文件类型
-size:
+n
:大于n
的文件
-n
:小于n
的文件
n
:等于n
的文件单位:
c
:字节
w
:字(2字节)
b
:块(512字节)
k
:千字节(1024字节)
M
:兆字节(1024 KB)
G
:吉字节(1024 MB)
vim
作用:文本编译器(类似于记事本)
语法:vim file1 file2 ...
下载:
sudo apt install vim # Debian/Ubuntu
sudo yum install vim # CentOS/RHEL基本操作模式
普通模式(Normal Mode):默认模式,用于导航和编辑。按
Esc
返回此模式。插入模式(Insert Mode):输入文本。通过
i
、a
、o
等键进入。命令行模式(Command Mode):按
:
进入,执行保存、退出等命令。导航
h
、j
、k
、l
:左、下、上、右移动光标。
w
/b
:向前/向后跳转单词。
gg
/G
:跳转到文件首/尾。编辑
i
:在光标前插入。
a
:在光标后插入。
dd
:删除当前行。
yy
:复制当前行。
p
:粘贴。保存与退出
:w
:保存文件。
:q
:退出 Vim。
:wq
:保存并退出。
:q!
:强制退出不保存当然,这只是最基本的使用,我们可以通过编辑~/.vimrc文件设置自己的偏好来解锁更加便捷的功能,具体的话直接搜索vim配置即可,也可以搜索史上最牛的vim配置配置一些具有特效的vim。^_^~~
man
作用:打开手册
语法:man 参数
案例:
man ls
man cp
后续使用:用于查看c或者c++中的一些函数的使用
history
作用:查看历史命令
语法:history
!命令
作用:执行上一条以参数开头的命令
语法:!参数
例:!g 执行上一条以g开头的命令
打包压缩指令
如果命令执行后出现命令为没有找到命令,大概率是系统没有下载这些解压软件,使用命令执行后建议执行的命令可以直接下载。
压缩
tar
作用:压缩问价,格式为tar
语法:tar [-z -c -v -f] 压缩包 被压缩1 被压缩2 ...
-z:表示使用gzip,可以不写
-c:创建包
-v:创建过程可视化
-f:后跟包名
zip
作用:压缩文件,格式为zip
语法:zip [-r -c -v -f] 压缩包 被压缩1 被压缩2 ...
-r:被压缩的文件包含文件夹
-c:创建包
-v:创建过程可视化
-f:后跟包名
压缩包(压缩格式)
.bz2
语法:tar cvjf 压缩包名称 被压缩文件1 被压缩文件2 ...
-j:压缩包格式为.tar.bz2
.gz
语法:tar cvzf 压缩包名称 被压缩文件1 被压缩文件2 ...
-z:压缩包格式为.tar.gz
.xz
语法:tar cvJf 压缩包名称 被压缩文件1 被压缩文件2 ...
-J:压缩包格式为.tar.zx
解压
tar压缩包
语法:tar xvf 压缩包
x:解压缩
zip压缩包
语法:unzip [-d] 压缩包