ubuntu的基本使用
一.ubuntu的基本操作
ctrl+alt+t:启动终端
ctrl+shift++:终端字体变大
ctrl+-:终端字体变小
ctrl+shift+c/v:终端复制/粘贴文本
cat/etc/issue:查看操作系统的版本
tab键:自动补齐
上下键:历史命令
二.linux常用的shell命令
1. linux@ubuntu:~$:命令提示符
解释:用户名 @ 主机名:
~:表示是家目录,会发生变化,例如;/ 表示根目录
$:表示当前用户是普通用户 #:表示当前用户是系统管理员
2. ls:查看当前目录(文件夹)下的文件名
ls -a:查看当前目录下的所有文件,包含隐藏文件(以.开头)
ls -l:查看当前目录下的文件的详细信息,别名:ll

解释:类型 用户权限 组用户 其他用户
d(目录类型) rwx r-x r-x
-(普通文件)
1:硬连接数,对于文件,文件的内容,有几个文件名关联
linux linux:文件或者目录的创建者,组用户名
426:文件的大小,单位为字节。
Apr 22 18:02:文件最后的修改时间 月 日 时 分
3. man:帮助手册
使用方法:man ls:查看ls命令的帮助,查看命令有哪些选项
4. 创建目录命令:mkdir
使用方法:mkdir 20260422 //创建目录,目录名为20260422
5. 删除目录命令:rmdir
使用方法:rmdir 20260422 //删除20260422这个目录,注意:目录必须是空才可删除成功
6. 目录切换指令:cd
使用方法:cd 20260422 //进入20260422这个目录
cd .. //返回上一层目录
cd / //进入根目录
cd 或者 cd ~ //进入家目录
7. 创建一个空白文件:touch
使用方法:touch aaa //创建一个名为aaa的空白文件,如果文件存在则更新时间戳
8. 删除文件:rm
使用方法:rm aaa //删除aaa这个文件夹
rm -fr 20260422 //删除名为20260422这个目录,-f表示直接删除,不询问y/n,-r表示删除目录。
9. 显示当前路径:pwd
使用方法:pwd
10. 文件复制:cp
使用方法:cp ../test.c test.c //复制上层目录的test.c文件并命名为test.c。
注意:源文件必须存在,目标文件不存在则创建,存在则覆盖。
cp ../20260422/ . -av //将上层目录为20260422的所有文件,复制到本层,目录名不变
11. 移动/剪切文件:mv
使用方法:mv test.c 20260422/ //将test.c移动到20260422这个目录下
12. 查看文本文件内容:cat
使用方法:cat test.txt
三.vim的使用
使用vim的方法:1. vi test.c或者vim test.c进入vim
2. 按i键,进入编辑状态
3. 按esc退出编辑状态,再输入:wq 保存并退出,也可使用 q! 进行不保存退出。
vim的其他命令:
yy:复制当前行
dd:删除/剪切当前行
p:粘贴
u:撤回上一次操作
3yy:从当前行向下复制3行
5dd:从当前行向下删除5行
3p:粘贴3次
:3,10y:3到10行复制
:2,5d:2到5行删除
/ok:查找,会高亮,n:向下查找 N:向上查找
gg:光标跳到文件开头
GG:光标跳到文件结尾
gg v GG:文件全选操作
=:自动格式化代码
四.gcc编译器
gcc test.c :编译源文件,生成可执行文件,文件名是a.out
gcc test.c -o test :将可执行文件命名为test
./a.out :执行当前目录下的a.out文件
gcc编译的四个过程:预处理,编译,汇编,链接
预处理:gcc test.c -E -o test.i :生成test.i文件
编译:gcc test.c -S -o test.s :生成test.s文件
汇编:gcc test.c -c -o test.o :object,生成test.o文件
链接:gcc test.c -o test :生成可执行文件

四个过程详细说明:
1. 预处理:在编译前,做一些准备工作,生成的文件后缀是.i。例如:处理# 号开头的指令。
1、将#include包含的头文件的内容粘贴到对应的位置。
2、完成所有#define的替换
3、处理条件编译,例如#if #endif等
4、删除注释
2. 编译: 1、把预处理那步处理好的文件,编译为汇编文件,注意这里还不是机器指令二进制码。
2、还会进行语法,语义的检查。
3、文件后缀为.s
3.汇编: 1、把汇编文件转换为 obj文件(目标文件),二进制 ,文件后缀为.o。
2、任然不可执行,因为缺少库函数的地址,符号未解析。如果需要查看的话,需要使 用命令:od -t x1 1.o |less
od:专门查看二进制的文件。
-t:指定格式输出。
x1:十六进制显示,每一个字节隔开。

|:管道,连接2个命令
less:显示的内容满一页自动停止,按空格显示下一页,按q退出。
4. 链接:把需要使用的外部库函数,与a.out 内部,发生关联关系。当a.out 运行起来后,直到在系统的那个位置,找到对应函数的实现。
1、合并多个.o文件
2、链接系统库/动态库/静态库
3、解析符号引用,为变量、函数等分配真实的内存地址
4、整理代码段数据段,生成操作系统可以加载的完整可执行程序
openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构
更多推荐



所有评论(0)