最好不要改根目录下的东西,在root home等下面建立东西,这样不会改变虚拟机原有的那些设置
cat ls wc 三种对比:
Wc中统计1.c里面的行数,字节数,字数
软,硬链接
硬链接不能是文件夹,且和原文件没区别,
软链接可以是文件夹ln -s 1 1.1 变成可写
Tar解压缩
[root@localhost ~]# tar -cvf dym.tar dym
dym/
[root@localhost ~]# tar -czvf dym.gz dym
dym/
[root@localhost ~]# tar -czvf dym.zg dym
注意如果带文件格式一定要正确
编译器gcc(注意:gcc里面的编译步骤:预处理成.i,编译成汇编语言.s,汇编翻译成机器语言.O,链接得到一个可执行的二进制文件这四个步骤是一个承载关系,若前面的一个有改动之后的也要改变)
调试器Gdb
gcc -g fun.c -o test生成一个可执行的文本文件,然后通过命令gdb test来进入调试
l只能显示十行的内容,若想显示前十行的内容需要l 1
b设置断点(断点一般设置的是有用的比如设置变量那儿这样执行能找到出错点)
i b查看断点信息
c继续执行
d+编号 删除改断点(不加全部删除断点)
Clear+行号删除断点
P +变量名 显示变量值
s进入调用函数
return 退出调用函数
n只在主函数进行
q退出gdb
Cp
如果目标文件不存在,复制的是源文件这个里面的内容
如果目标文件存在,复制的是这个文件到目标文件里面
Make
- 没有用到makefile
但是当文件特别多的时候这种就比较麻烦,这个时候就用到了makefile(能将一个分散的程序识别放在一起)
Makefile里面的内容:
(3)能自动识别只要看到一个.o文件自动把.c文件加在依赖关系中
Makefile中
*.o删除所有包括.o的文件
执行完再make会显示这个可行文件时最新的,如果这个时候进入例如add.c文件再保存退出就相当于这个文件更新了,那么再make就只执行add.C这个文件(相当于很多文件如果其中某项出了问题那么makefile会自动有这个功能只操作这一项)
- 当遇见很多文件可以用一个变量代替
OBJECTS=sub.c add.c operator.c #定义变量
$(OBJECTS) #使用变量
进入makefile然后写
注意划线部分,进入makefile里面改变的只是这个makefile里面的设置,要更新还是operator这个可执行文件里面的,例如进入add.C这个文件里面。