一、知识归纳
(1)第一章主要介绍了Unix/Linux系统的基本概念和术语,包括进程、线程、文件系统、系统调用等,主要是引进Linux和Unix的概念和基本知识,例如Unix/Linux文件系统采用树形组织结构以及Ubuntu和Linux的系统管理。
(2)第二章主要介绍了Unix/Linux系统中的文本编辑器Vim,包括Vim的三种操作模式、命令模式、插入模式和末行模式,以及一些常用的编辑命令和操作技巧。还介绍了C语言中的函数调用和链接库。
(3)我最有收获的是知道了在Linux系统中,使用静态链接库和动态链接库的方法。
静态链接库的使用:
编译时指定静态链接库的路径和名称,例如:gcc -o myprogram myprogram.c -L/path/to/library -lmylibrary
执行编译命令后,生成可执行文件myprogram,其中静态链接库的代码已经被复制到可执行文件中。
运行可执行文件:./myprogram
动态链接库的使用:
编译时不需要指定动态链接库的路径和名称,只需要指定库的名称即可,例如:gcc -o myprogram myprogram.c -lmylibrary
执行编译命令后,生成可执行文件myprogram,其中动态链接库的引用被记录在可执行文件中,但动态链接库的代码并未被复制到可执行文件中。
运行可执行文件时,需要确保动态链接库的路径正确,可以通过以下方式设置动态链接库的路径:
在系统环境变量LD_LIBRARY_PATH中添加动态链接库的路径:export LD_LIBRARY_PATH=/path/to/library:$LD_LIBRARY_PATH
或者将动态链接库的路径添加到/etc/ld.so.conf文件中,然后运行sudo ldconfig命令更新动态链接库缓存。
运行可执行文件:./myprogram
(4)苏格拉底挑战
1.Linux有关知识点
2.Linux中链接库的知识点
二、问题与解决
问题:
(1)Linux命令行提示我的权限不够
(2)命令行创建文件失败
解决方案:
三、实践
点击查看代码
gzip filename //压缩文件
gzip -d filename.gz //解压文件
cat filename //查看文件内容