linux命令与makefile学习

Linux上有一句话:一切皆文件

普通文件-

目录文件d” (directory)

管道文件p” (piping)

链接文件l” (link)

img

文件权限

  • 当为 d 则是目录
  • 当为 - 则是文件;
  • 若是 l 则表示为链接文档(link file);
  • 若是 b 则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
  • 若是 c 则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。

接下来的字符中,以三个为一组,且均为 rwx 的三个参数的组合。其中, r 代表可读(read)、 w 代表可写(write)、 x 代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号 - 而已。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lCxg4woK-1667135348671)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221029162130898.png)]

img

每个文件的属性由左边第一部分的 10 个字符来确定(如下图)。

363003_1227493859FdXT

从左至右用 0-9 这些数字来表示。

0 位确定文件类型,第 1-3 位确定属主(该文件的所有者)拥有该文件的权限。

第4-6位确定属组(所有者的同组用户)拥有该文件的权限,第7-9位确定其他用户拥有该文件的权限。

其中,第 1、4、7 位表示读权限,如果用 r 字符表示,则有读权限,如果用 - 字符表示,则没有读权限;

2、5、8 位表示写权限,如果用 w 字符表示,则有写权限,如果用 - 字符表示没有写权限;第 3、6、9 位表示可执行权限,如果用 x 字符表示,则有执行权限,如果用 - 字符表示,则没有执行权限。

Linux 命令大全 | 菜鸟教程 (runoob.com)

通配符*

在这里插入图片描述

常用命令

pwd在这里插入图片描述
clear或者ctrl+l清屏
cat显示文件里面的内容
mkdir创建文件夹
find -name查找文件
cp拷贝
mv移动/同一级目录也可以通过该命令来改名字
file查看文件的实际类型
sudo让普通用户执行管理员权限[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pb7QJRKH-1667135101866)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221030095337121.png)]
ifconfiglinux中用于显示或配置网络设备
vilinux系统中常用的文本编辑器 进入后i 表示插入可以开始写东西,esc表示停止,ZZ(大写表示保存退出) :wq退出保存,:q!退出不保存[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zdJ2ZkRf-1667135101866)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221030105321529.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c3z8JmP9-1667135101866)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221030105439246.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mxfmJlyh-1667135101867)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221030112817381.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rFzfRuut-1667135101867)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221030112833555.png)][外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4VEd1bl0-1667135101867)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221030113336340.png)]在这里插入图片描述在这里插入图片描述在这里插入图片描述
编译gcc a.c -o hello 将a.c进行编译成中间文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2N5UskKv-1667135101868)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221030130417185.png)]在这里插入图片描述
运行当前路径./ 编译好的文件
其他路径/ 编译好的文件
sudosudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具

xshell远程登入

xftp文件传输

查看CPU/内存占用

指令效果
top查看cpu/内存
kill -9 (pid)结束进程
ps -ef查看进程ID
cat /proc/pid/status可以看到VmRSS(物理内存的大小)
ctrl+z进程暂停
bg进程挂在后台运行

makefile

gcc与g++区别:

gcc是GCC中的GUNC Compiler(C 编译器)

g++是GCC中的GUN C++ Compiler(C++编译器)

更准确的说法是:gcc调用了Ccompiler,而g++调用了C++ compiler

gcc和g++的主要区别

  1. 对于 .c和.cpp文件,gcc分别当做c和cpp文件编译(c和cpp的语法强度是不一样的); g++则统一当做cpp文件编译

  2. 使用g++编译文件时,g++会自动链接标准库STL,而gcc不会自动链接STL,在用gcc编译c++文件时,为了能够使用STL,需要加参数 –lstdc++ ,但这并不代表 gcc –lstdc++ 和 g++等价

  3. gcc在编译C文件时,可使用的预定义宏是比较少的

  4. gcc在编译cpp文件时/g++在编译c文件和cpp文件时(这时候gcc和g++调用的都是cpp文件的编译器),会加入一些额外的宏,这些宏如下:

#define__GXX_WEAK__ 1
#define __cplusplus 1
#define __DEPRECATED 1
#define GNUG 4
#define __EXCEPTIONS 1

#define private_extern extern

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RGlF9KHi-1667135101868)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221030202737867.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bv78OXWw-1667135101869)(C:\Users\钦子\AppData\Roaming\Typora\typora-user-images\image-20221030204342101.png)]

@表示makefile取消相关信息的回显

#表示makefile文件中的注释

一些命令
一、-g
-g可执行程序包含调试信息
-g为了调试用的
加个-g 是为了gdb 用,不然gdb用不到

二、-o
-o指定输出文件名
-o output_filename,确定输出文件的名称为output_filename,同时这个名称不能和源文件同名。如果不给出这个选项,gcc就给出预设的可执行文件a.out。
一般语法:
gcc filename.c -o filename
上面的意思是如果你不打 -o filename(直接gcc filename.c )
那么默认就是输出a.out.这个-o就是用来控制输出文件的。 ------用./a.out执行文件

三、-c
-c 只编译不链接
产生.o文件,就是obj文件,不产生执行文件

四、-D
其意义是添加宏定义,这个很有用。

当你想要通过宏控制你的程序,不必傻乎乎的在程序里定义,然后需要哪个版本,去修改宏。

只需要在执行gcc的时候,指定-D,后面跟宏的名称即可。

示例:

gcc test.c -o test -D OPEN_PRINTF_DEBUG

或者gcc test.c -o test -DOPEN_PRINTF_DEBUG

两者都是可以的。

五、-w
-w的意思是关闭编译时的警告,也就是编译后不显示任何warning,因为有时在编译之后编译器会显示一些例如数据转换之类的警告,这些警告是我们平时可以忽略的。

六、-W和-Wall
-W选项类似-Wall,会显示警告,但是只显示编译器认为会出现错误的警告。

-Wall选项意思是编译后显示所有警告

七、-O3
-O是大写字母O,不是数字0哦。

意思是开启编译优化,等级为三

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LV小猪精

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值