Linux基础知识点小结

编程入门 行业动态 更新时间:2024-10-22 07:26:02

Linux基础<a href=https://www.elefans.com/category/jswz/34/1770093.html style=知识点小结"/>

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基础知识点小结

本文发布于:2024-03-10 05:34:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1727121.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:知识点   小结   基础   Linux

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!