Linux之Ubuntu学习记录 一

Shell 的一些常见命令

ls的一些常见用法

2021/6/16 补充 以 . 开头的文件如“.vscode”,用ls是看不见的,需要用“ls -a”
“ls”,查看当前文件夹下的文件
“ ls 文件名/* ” 查看指定文件夹下的文件

网络信息查看

ifconfig

文件操作与用户权限切换

“ls”命令用来打印出当前目录下的所有文件和文件夹。
“ls -1”同样是打印出当前目录下的所有文件和文件夹,但同时会列出文件和文件夹的详细信息
“ls /目录”打印出指定目录的文件和文件夹。
==Pwd :==用来显示当前目录的绝对路径,不需要任何的参数。
使用“sudo su”才能切换到最高权限用户root,注意”su + 用户名”可以将切换到指定用户下,不加“用户名”默认切换成root,不过此时如果是普通用户,需要用“sudo”提一下权限,才能切换。
“touch ”文件名”用来创建一个新的文件
”mkdir”用来创建文佳夹
文件以及目录的删除命令
在这里插入图片描述
不过常用“rmdir”命令直接删除文件夹,当遇到文件夹无法删除的情况时便可以考虑“rm”命令

文件名自动补全命令

当我们输入文件的首字母之后,按下TAB键,系统会自动补全文件名。如果有首字母相同的文件,则无法补全,此时再次按下TAB键就会得到,可以选择的文件名

软件配置与更新

用==“ifconfig”==显示和配置网络属性命令
软件的安装命令“sudo apt-get intstall 软件名称”
软件更新命令“sudo apt-get upgrade package-name”
软件卸载命令“sudo apt-get remove package-name”

Vim文本编辑器常用命令

vim中常用的基础配置,见下链接(如:与windows共享剪贴板
set clipboard+=unnamed)
点击进入vim常用基础配置

常用命令a来进入文本输入模式
在这里插入图片描述
在这里插入图片描述
一般用“wp”进行保存文档并退出

用“:/”命令可以对指定内容在文本中进行搜索

根目录下一些重要文件的说明

在这里插入图片描述

“cp”复制文件命令常见的一些用法

touch a.c   //首先在本目录下创建一个 a.c文件
cp a.c  b.c  //复制a.c,并将其更名为b.c
cp  a.c b.c  /test2  //将a.c b.c 复制到文件夹test2中

复制文件夹,通用命令
cp 文件夹1名/* ./文件夹2名 -rf
例:

cp  3_ledc_stm32/* ./4_leds/ -rf

“mv”移动文件命令的常见用法

mv a.c b.c  //移动a.c到当前文件下,并重命名为d.c
mv  a.c b.c   /文件所在地/     //将本文件夹下的文件 移动到其他文件夹下

文件压缩命令

“zip”和“unzip”这两个命令只适用于.zip格式的压缩和解压
/* 当可执行文件没有执行权利时,呈现为白色,当被赋予执行权利之后,变成绿色*/

tar 【参数】 【压缩文件名】 【被压缩文件名】   //注意先后顺序,被压缩文件名在后面

tar  -vcjf   tast1.tar.bz2   tast1    //压缩为.bz2格式
tar  -vczf   tast.tar.gz      tast1    //压缩为.gz格式

文件删除

使用/* sudo rm 文件名 -rf */基本上可以对所以的文件以及文件夹进行删除了

文件权限管理

Linux的磁盘管理

chmod 777 文件名 //可以给文件赋予可执行权利

gcc的使用

gcc 的常用命令格式为
gcc main.c -o main / /生成链接文件
./main //最后进行编译

其参数选择如下
在这里插入图片描述
GCC编译器的编译流程是:预处理,编译,汇编和链接 。预处理就是展开所以的头文件,替换程序中的 宏,解释条件编译并添加到文件中去。编译是将预处理后的代码编译成汇编代码。汇编,就是汇编程序生成二进制文件。 链接是将生成的多个二进制文件链接在一起。

何为Mikefile

首先创建一个Mikefile的文件,在文件内输入(main.c input.c calcu.c 的三个C文件开始已经创建)

  1 main: main.o input.o calcu.o
  2     gcc -o main main.o input.o calcu.o
  3 main.o: main.c
  4 input.o : input.c
  5     gcc -c input.c
  6 calcu.o : calcu.c
  7     gcc -c calcu.c
  8 
  9 clean:
 10     rm *.o
 11     rm main
~                   

Make的执行过程

1、make命令会在当前目录下查找以Makefile命名的文件
2、当找到Makefile文件以后 就会按照Makefile中定义的规则去编译最终的目标文件
3、当发现目标文件不存在,或者目标所依赖的文件比目标文件新(也就是最后修改时间比目标文件晚)的话就会执行后面的命令来更新目标
这就是make的执行过程,make工具就是在Makefile中一层一层的查找依赖关系,并执行相应的命令。

/其具体内容,暂时不写了,以后用得多了,有自己的体验了再写/
不过说工程编译的过程,有利于更好的理解Makefile的作用,我们可以通过它写一个适合自己工程的IDE
无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这就是链接(link)。
编译时,只要所有的语法正确,编译器就可以编译出中间目标文件。一般来说,每个源文件都应该对应于一个中间目标文件(O文件或是OBJ文件)。
链接时,主要是链接函数和全局变量,所以,我们可以使用这些中间目标文件(O文件或是OBJ文件)来链接我们的应用程序。链接器并不管函数所在的源文件,只管函数的中间目标文件(Object File),在大多数时候,由于源文件太多,编译生成的中间目标文件太多,而在链接时需要明显地指出中间目标文件名,这对于编译很不方便,所以,我们要给中间目标文件打个包,在Windows下这种包叫“库文件”(Library File),也就是 .lib 文件,在UNIX下,是Archive File,也就是 .a 文件。

Linux下交叉编译常见的Makefile命令

objs      := star.o main.o   //“ := ”类似于C 语言中的 #define ,起到的是替换作用
ld        := arm-linux-gnueabinf-ld  // 链接命令,生成.elf文件
gcc       := arm-Linux-gnueabinf-gcc  //编译命令有,用来生成.o文件
objcopy   := arm-linux-gnueabinf-objcopy  // 将.elf文件转换成目标文件.bin文件
objdump   := arm-linux-gnueabinf-objdump  //生成反汇编文件  .dis文件

查看Ubuntu下的外接设备

命令: ls /dev/sd*

VS code 保存所有文件快捷键

Ctrl +shift + s

VS code 头文件配置方法

问题:VS code 出现找不到头文件的错误

解决步骤:
1、在工作区下创建一个文件名为 .vscode 的文件夹
在这里插入图片描述

2、按下ctrl+shift+p,进入配置搜索界面
在这里插入图片描述
3、在搜索界面输入 c/c++:Edit configurations(JSON)/一般输入c/c++ :Edit 后面就会跟着出来/
4、点击进入如步骤三的选项后,会在文件 .vscode 下自动生成文件 {} c_pp_Properties.json
在这里插入图片描述
然后以这样的格式配置好头文件路径就可

VS code 对本文件进行搜索

快捷键: ctrl + f

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值