知识点小结"/>
Linux基础知识点小结
1、目录结构
/lib
/home
/boot /proc /usr /var /mnt /root
2、-普通文件 d目录文件 l链接文件 p管道文件 c,b设备文件 s套接字
3、权限:chomd r 4 w 2 x 1 - 0
4、基本命令:
文件:ls(显示当前目录下的文件)
touch(新建普通文件)
rm(删除普通文件)
rmdir(删除空目录)
cp(拷贝)mkdir(创建目录文件) mv(重命名) more(分屏幕显示,百分比查看) vi/vim(文本编辑) find (查找文件) grep(tail (查看日志文件) cat(合并文件cat file1->file(将file1文件合并到file 中)) less(查看尾几行文件)head(查看头几行)wc(统计文件数目) ctrl+c(终止进程)ctrl+d(停止输入) ctrl+z(停止进程,还可恢复)lib(库文件) root(管理员) dev(设备文件)tar gzip(解压压缩文件)
进程:ps -ef(查看进程)
kill pid(结束进程)
&(在后台运行程序)
jobs(显示后台和挂起的进程任务)
kill -9 pid(强制结束进程)
kill -stop pid(挂起进程)
pstree(以树状图显示进程)
top 显示不同进程对内存,cpu的使用情况(动态显示正在运行中的进程)
管理:halt init 0 …… useradd(添加用户)
passwd(显示当前工作目录绝对路径)
reboot(重启)shutdown(立即关机)
ldd(可查看可执行程序用到哪些共享库)
网络:ifconfig netstat(查看进程连接端口号)
topdump(进行抓包)
ltrace(跟踪库函数)
ifconig 查看网卡信息
编译:gcc(c语言语法)/g++(按c++语法,默认不连接c++标准库,需要手动指定)
调试:gdb l,b,n,b,p,c,s,finish,q(具体可见另外一博客)ps -elf(显示当前线程)
监测:taskset 命令 -p 掩码(让进程在指定cpu上运行,让一个进程固定在一个cpu上运行)top(产看负载及内部信息)lsof(列出当前系统打开的所有文件描述符) free(显示当前系统运行统计信息) ipcrm -s/-q/-m id 根据id分别删除信号量,消息队列,共享内存)ipcs -s/-q/-m 分别显示系统的信号量,消息队列,共享内存
安装软件:sudo apt install 软件包
卸载软件:sudo apt remove 软件包
打包文件:filename.tar 压缩文件:filename:gz 解压文件:tar [zcvf] 压缩文件
查看Linux内存使用情况:cat /prc/meminfo 查看cpu占用情况:cat /proc/cpuinfo
查看内核版本:cat /proc/version 或者 name -a
5、库文件:预先编译好的方法的集合
libxx.a 静态库 可执行程序用到的方法
程序在链接的过程中,链接器从库文件中取得所需的代码,复制到生成的可执行文件中。因此,静态库是在程序的链接阶段被复制到程序当中,和程序的执行过程没有任何关系。
libxx.so 共享库 可执行程序不包含用到的方法,只做标记
动态库在链接过程中并没有被加载到程序当中,而程序在运行时被系统动态加载到内存当中供程序使用。
1.同样的程序,使用静态库比使用共享库,程序更大。
2.静态库在编译链接时,就可加入到可执行程序中,共享库是在运行程序时动态装载。
3.目标主机没有静态库,程序可以运行,没有共享库运行不了。
4.共享库升级后,程序不需要重新编译,可以直接被使用,静态库需要重新编译,链接新方法。
静态库和共享库的区别:
静态库的可执行文件中包含了库代码的一份完整的拷贝,因此,当它被多次使用时就会有多份没用的拷贝在内存中,所以比较占内存,而动态库系统只需载入一次动态库,不同的程序可以得到内存当中相同的动态库的副本,因此会节省很多内存。
5、makefile管理工具
功能:关系到整个工程的编译规则,也可在执行操作做系统的命令,实现自动化编译整个工程3提高编译效率(只会编译修改的和依赖于修改的哪些文件)
编写步骤:现有5个文件,分别为:main.c test1.h test2.h test1.c test2.c
编写makefile文件,名称为makefile过程如下:
main:main.o test1.o test2.o
gcc -o main main.o test1.o test2.o
main.o:main.c test1.h test2.h
gcc -c main.c
test1.o:test1.c test1.h
gcc -c test1.c
test2.o:test2.c test2.h
gcc -c test2.c
clean:rm -f *.o main
执行命令:make 姐可以生成可执行文件main,如果要删除可执行文件及所有的中间目标文件,只需要执行下make clean
**clean不是一个文件,它只是一个动作的名字。
make和makefile的联系:
make是一个命令,makefile是一个文件,当makefile文件写好后,只需要一个make命令就可以将makefile文件运行起来。
更多推荐
Linux基础知识点小结
发布评论